пятница, 29 апреля 2011 г.

Переименование всех файлов в каталоге с последующей нумерацией

В bash-e

i=0
for f in *; do mv "$f" "ttt$((i++)).jpg"; done

$f - имя файла
все файлы в каталоге будут иметь вид:
ttt1.jpg
ttt2.jpg
tttN.jpg
вот и все

воскресенье, 2 января 2011 г.

Cisco, VPN, NAT, Windows 7

Building configuration...

Current configuration : 1661 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname IUK_cisco
!
boot-start-marker
boot-end-marker
!
enable secret 5 $1$wixB$82DDRlCXmcLkf32EAZgK01
!
no aaa new-model
ip cef
!
!
ip auth-proxy max-nodata-conns 3
ip admission max-nodata-conns 3
!
!
ip name-server 212.112.103.3
vpdn enable
!
vpdn-group 1
! Default PPTP VPDN group
accept-dialin
protocol pptp
virtual-template 1
!
!
!
!
!
username testvpn password 7 151C0E031225
!
!
!
!
!
!
interface FastEthernet0/0
ip address 212.112.103.12 255.255.255.0
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
!
interface Serial0/0
no ip address
shutdown
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface Serial0/1
no ip address
shutdown
!
interface Virtual-Template1
ip unnumbered FastEthernet0/0
ip nat inside
ip virtual-reassembly
peer default ip address pool test
no keepalive
ppp encrypt mppe auto
ppp authentication ms-chap-v2 ms-chap callin
!
ip local pool test 192.168.10.1 192.168.10.2
ip default-gateway 212.112.103.1
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 212.112.103.1
!
no ip http server
no ip http secure-server
ip nat pool vpnpool 212.112.103.12 212.112.103.12 netmask 255.255.255.0
ip nat inside source list 100 interface FastEthernet0/0 overload
!
access-list 100 permit ip 192.168.10.0 0.0.0.255 any
!
!
control-plane
!
!
!
banner motd ^CW e l c o m e To I U K G a t e^C
!
line con 0
line aux 0
line vty 0 4
password 7 112A1C02031A2805172924162726212701
login
line vty 5
password 7 002716011053280F1C22437C060C111200
login
!
!
end

IUK_cisco#

четверг, 30 декабря 2010 г.

Cisco, VPN, Windows 7

Building configuration...

Current configuration : 1146 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Router
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
ip cef
!
!
ip auth-proxy max-nodata-conns 3
ip admission max-nodata-conns 3
!
!
vpdn enable
!
vpdn-group 1
! Default PPTP VPDN group
accept-dialin
protocol pptp
virtual-template 1
!
!
!
!
!
username логин password 0 пароль
!
!
!
!
!
!
interface FastEthernet0/0
ip address XXX.XXX.XXX.12 255.255.255.0
duplex auto
speed auto
!
interface Serial0/0
no ip address
shutdown
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface Serial0/1
no ip address
shutdown
!
interface Virtual-Template1
ip unnumbered FastEthernet0/0
peer default ip address pool test
no keepalive
ppp encrypt mppe auto
ppp authentication ms-chap-v2 ms-chap callin
!
ip local pool test 192.168.1.1 192.168.1.2
ip default-gateway 212.112.103.1
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 XXX.XXX.XXX.1
!
no ip http server
no ip http secure-server
!
!
!
control-plane
!
!
!
!
line con 0
line aux 0
line vty 0 4
login
!
!
end

пятница, 17 декабря 2010 г.

Печать с linux на принтер подключенный к Windows

Рецепт приготовления Win-принтера для печати из Linux 2

Автор:Aleksander N.Gorohovski

Статья была опубликована 1 февраля в 00:00, а последний раз правилась 3 мая в 19:47.

Статья была обновлена в феврале 2008 года.

Статья была обновлена в феврале 2008 года. Ее модернизировал Anatoly Akatyev (anatoly.akatyev на master-system dot ru).

1. Предисловие

Перед нами стоит задача печати документов на Win-принтере (Canon MF3110) из Linux (ALT Linux Desktop 4.0.x; далее — ALD 4). Canon MF3110 подключен (USB-подключение) и настроен на Win-компьютере (Windows XP). На другом компьютере с Linux (стандартная установка ALD 4) настроена Samba. Оба компьютера входят в локальную сеть и видят друг друга.

2. Скачиваем необходимые программы

Для решения поставленной задачи я использовал следующий софт:

Этот софт понадобится для настройки виртуального (физически не существующего, но корректно распознаваемого в Linux, например, HP LaserJet 4M Foomatic/Postsript) принтера на Win-компе, на который будем отправлять с Linux-компьютера (через Samba) задания, а он в свою очередь будет их «перенаправлять» (печатать) на реальный Win-принтер (Canon MF3110).

P.S. Не знаю, почему авторы других статей на эту тему рекомендовали дополнительно устанавливать еще и GSView — поставленная задача вполне решается предлагаемым минимумом софта.

3. Устанавливаем программное обеспечение

Здесь все операции выполняются на Windows-компьютере.

  • Разворачиваем Redirection Port Monitor redmon17.zip, например, в каталог: c:\redmon
  • Выполняем его установку: c:\redmon\setup.exe
  • Выполняем установку GhostScript: gs8.61w32.exe. По умолчанию GhostScript устанавливается в c:\Program Files\.

    Внимание! Мы установим gs8.61w32.exe в c:\gs\ и далее будем отталкиваться от этого.

4. Устанавливаем виртуальный принтер

Все операции по-прежнему выполняются на Windows-машине.

  • Открываем Блокнот (а еще лучше — редактор в Far) и создаем файл настроек параметров c:\gs\mswinpr.rsp для GhostScript, чтобы он мог работать с Win-принтером (Canon MF3110). В него скопируйте (или наберите руками) следующие строки:
    -IC:\gs\gs8.61\lib;C:\gs\fonts
    -sDEVICE=mswinpr2
    -dNOPAUSE
    -dSAFER
    -sPAPERSIZE=a4
    -sOutputFile="%printer%Canon MF3110"

    Редактировать следует только 1 и последнюю (6-ю) строку. Все остальные строки редактировать не нужно. Можете сделать copy-paste указанных выше строк. Первая строка -Ic:\gs\gs8.61\lib;c:\gs\fonts должна начинаться с дефиса и большой латинской буквы «Ай» (а не «1» или «l»)! Более подробную информацию по этим и другим настройкам можно получить из файлов документации GhostScript: c:\gs\gs8.61\doc\Use.htm и c:\gs\gs8.61\doc\Install.htm

    В последней строке следует указать имя вашего принтера. Например, если принтер называется Canon MF3110, то именно это и указываем. Для принтера LBP 810 строка выглядела бы так: -sOutputFile="%printer%Canon LBP810"

    В практике было как минимум 3 случая, когда обходился указыванием \\spool\Canon LBP810.

    Ошибка при указании имени принтера приведет к тому, что пользователя на Windows-машине придется постоянно указывать вручную принтер!

  • Добавляем в систему новый (виртуальный) дополнительный (к физически ранее установленному Canon MF3110) принтер: Пуск —> Настройка —> Принтеры —> Установка принтера. Появляются окна Мастера установки принтера, в которых выбираем:
    • Способ подключения — Локальный принтер. Затем…
    • Изготовитель — HP, Принтеры — HP LaserJet 4/4M PostScript. Затем…
    • Доступный порт — любой (LPT1: … LPT3:, потом его поменяем на RPT1:). Затем…
    • Название принтера — на свой вкус. Затем…
    • Напечатать пробную страницу — Нет.
  • В окне Принтеры выполняем правый щелчок мышкой по пиктограмме появившегося нового принтера HP LaserJet 4/4M PostScript и в выпавшем контекстном меню выбираем Свойства.
  • В появившемся окне диалога Свойства: HP LaserJet 4/4M PostScript выбираем вкладку Сведения, где выполняем:
    • Нажимаем кнопку Добавить порт…->Тип добавляемого порта: Другой -> Redirected Port.
    • В поле Порт указываем RPT1: (Redirected Port).
    • Нажимаем кнопку Параметры порта… и в появившемся окне диалога RPT1: Properties определяем:
      • В строке Redirect this port to the program: задаем: c:\gs\gs8.61\bin\gswin32c.exe. Именно gswin32c.exe, а не gswin32.exe!
      • В строке Arguments for this program are: задаем: @c:\gs\mswinpr.rsp -. Здесь после @c:\gs\mswinpr.rsp обязательно должен идти пробел, а за ним дефис! Иначе ваш реальный принтер распечатает страниц 30 мусора. Ранее файл c:\gs\mswinpr.rsp уже должен быть создан.
      • В строке Output: выбираем: Copy temporary file to printer.
      • В строке Printer: выбираем свой Windows-принтер (на который будет перенаправлена печать): Canon MF3110.
      • В строке Run: выбираем: Hidden (отказываемся от дополнительных всплывающих окон при печати).
      • Можно включить флажок Print Errors.
      • Можно определить файл лога (на любителя) через кнопку Log File, где в появившемся окне диалога RPT1: Log File Properties установить флажок Log File, а в строке Write standard output to the file: указать: c:\gs\logfile.txt.

      Все, с диалогом RPT1: Properties покончено.

    • Нажимаем кнопку Очередь… и в появившемся окне диалога Параметры очереди устанавливаем Отключить двусторонний обмен данными. Остальные значения можно оставить без изменения (т.е. Начинать печать после помещения в очередь первой страницы; Формат данных в очереди — RAW).

  • Теперь в окне диалога Свойства: HP LaserJet 4/4M PostScript выбираем вкладку PostScript, где нажимаем кнопку Дополнительно…. В появившемся окне диалога Дополнительные параметры PostScript сбрасываем (снимаем пометку) флажки:
    • Отправить Ctrl+D перед заданием;
    • Отправить Ctrl+D после задания.

    Остальные параметры можно оставить без изменения.

  • Теперь в окне диалога Свойства: HP LaserJet 4/4M PostScript выбираем вкладку Доступ, где указываем:
    • Общий ресурс;
    • Сетевое имя — HP (или другое на свой вкус).

    На этом можно считать, что работа по установке и настройкам виртуального принтера в Windows завершена. Осталось проверить печать через виртуальный принтер.

  • В окне диалога Свойства: HP LaserJet 4/4M PostScript выбираем вкладку Общие, где нажимаем кнопку Напечатать пробную страницу.

5. Установка доступа к Windows-принтеру из Linux

Здесь все операции выполняться на Linux-компьютере.

  • Если у вас ALT Master/Junior 2.2, тогда просто запустите: # printerdrake. Далее в диалогах укажите имя Windows-компьютера и принтер HP LaserJet 4M Foomatic/Postscript.
  • Если у вас ALD 4, тогда еще проще. Можно выполнить, например, из KDE: K -> Принтеры -> Добавить -> Добавить принтер/класс. В окнах диалога Мастера установки принтера задать:
    • Принтер SMB (Windows). Далее…
    • Далее…
    • Рабочая группа — <своя> (или кнопка Опрос); выбрать Windows-компьютер и принтер HP. Далее…
    • Задать производителя — HP; модель — HP LaserJet 4M. Далее…
    • HP LaserJet 4M (Foomatic + Postsript). Далее…
    • Далее…
    • Далее…
    • Далее…
    • Имя — HP (или свое). Далее…
    • Имя пользователя — root; пароль — **********.

  • Отправьте на печать какой-нибудь документ. Все должно работать превосходно!

6. Благодарности

  • Автору Redirection Port Monitor: Russell Lang, Ghostgum Software Pty Ltd., ghostgum.com.au
  • Авторам Ghostscript, ghostscript.com.
  • Рассылке Community ALT Linux и лично Alex Ogurtsov (aogurtsov@geeksforless.net) и еще Michael Shigorin (mike@altlinux.ru).
  • Авторам подобных статей на эту тему: Сеник Миколi (senyk_cw@mail.ru) и Игорю Чумак (zigoor@zmail.ru).

Кажется, перечистил всех :-)

P.S.

  • Надо признать, что в процессе решения этой задачи я потратил достаточное количество времени. Однако надеюсь на то, что этот документ позволит другим достигнуть желаемого результата гораздо быстрее.
  • По личным ощущениям, сравнивая печать на Win-принтере (Canon LBP-810) непосредственно из Win4Lin и через виртуальный HP LaserJet 4M, в последнем случае производительность несколько выше (+ неограниченная возможность прямой печати не только из Windows-приложений в Win4Lin, но и из Linux-программ).
  • Меня не покидает уверенность в том, что описанный рецепт на 100% будет работать с любым принтером независимо от способа подключения (USB/LPT).

среда, 24 ноября 2010 г.

[черновик] bash скрипты/команды.

Поиск файлов больше N байт, и их удаление
# find /dir -size +N -exec rm \{\} \;
Поиск файлов которые не изменялись N дней, и их удаление
# find /dir -ctime +N -exec rm \{\} \;

среда, 17 ноября 2010 г.

[черновик]Установка eyeOS с потдержкой OpenOffice

Ставит eyeOS
ставим openoffice 2.4! из репозитариев дебиана.

Если открыть eyeOS, и открыть какойнить док. документ, то выйдет сообщение о том, что нужна потдержка openoffice.

Смотрим в логе ошибок апача /var/log/apache2/error.log, и видим, что www-data не может соеденится к X дисплею :1.0

Проверка запускается ли офис от имени www-data
su www-data -c 'soffice "-accept=socket,host=localhost,port=2002;urp;" -headless -display :1.0'

Какой дисплей использовать eyeOSом указывается в следующем файле.
sudo nano /var/www/eyeOS/eyeOSe5de67b507/system/conf/system.xml

пятница, 17 сентября 2010 г.

Настройка VPN сервера на Ubuntu

На работе стоит Ubuntu как десктом. Передо мной возникла необходимость с дома подключатся к своей рабочей машине, и с работы подключатся к домашнему компьютеру. Последнее реализовать было не сложно, так как у рабочего компа был реальный IP адресс.

Решил, что самым простым решением будет организовать VPN соединение между двумя этими хостами. С дома я подключаюсь через виндовую подключалку по VPN, таким обраом машины должны были находятся в своей виртуальной сети.

На рабочей машине я поднял VPN как указано в http://linuxoids.ru/nastr/19-nastrojjka-vpn-servera-v-ubuntu-ili-debian.html этом мануале, изменил только имя пользователя и днс, соответственно на свои.

С дома подключается, и работает все нормально, могу ходить в интернет через рабочую тачку, и наоборот, с работы имеется доступ к домашней машине.

Структура следующая:
<Комп.Домашний> ----------------<Интернет>--------<Рабочий комп.>

Начнемс
Установим VPN сервер:
Код:
sudo apt-get install pptpd ipx ipxripd

Настройка VPN сервера.
Отредактируйте файл /etc/ppp/pptpd-options

Код:
name pptpd
refuse-pap
refuse-chap
require-mschap
require-mschap-v2
require-mppe-128
ms-dns 10.0.0.1 # Здесь указываем
ms-dns 10.0.0.2 # DNS сервера
proxyarp
nodefaultroute
lock
nobsdcomp
#IPX (todo)
ipx
ipx-network 4
ipx-node 1:0
ipx-routing 2
ipx-router-name Linux_router
ipxcp-accept-remote

Отредактируйте файл /etc/pptpd.conf

Код:

option /etc/ppp/pptpd-options
logwtmp
localip 172.16.16.1
remoteip 172.16.16.2-254

Теперь можно добавить пользователей, для этого отредактируйте файл /etc/ppp/chap-secrets

Код:
# Secrets for authentication using CHAP
# client server secret IP addresses
heiniken pptpd vladimir "*"

Мы добавили пользователя heiniken с паролем vladimir и с возможностью доступа с любого ip адреса.
Если хотите с определённого адреса то вместо * впишите ип адрес.

Перезапускаем VPN сервер

Код:
/etc/init.d/pptpd restart
На этом настройка VPN сервера закончена, осталось настроить фаервол и форвардинг пакетов.

Настройка фаервола

Создадим простой скрипт фаервола в домашней директории /home:

Код:
touch /home/vpn-firewall.sh
chmod +X /home/vpn-firewall.sh
gedit /home/vpn-firewall.sh

В открывшемся окне впишите:

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
iptables --flush
iptables --delete-chain
iptables --table nat --flush
iptables --table nat --delete-chain
iptables -P FORWARD ACCEPT
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables --table nat --append POSTROUTING --out-interface ИМЯ ВАШЕГО ИСХОДЯЩЕГО ИНТЕРФЕЙСА например eth0 -j MASQUERADE
echo vpn firewall loaded OK.

Пропишите этот скрипт в автозагрузку отредактировав файл /etc/rc.local
Должно получится следующее:

Код:

#!/bin/sh -e
/home/vpn-firewall.sh
exit 0

Запустите скрипт фаервола, он должен написать ”vpn firewall loaded OK.”

Код:
/home/vpn-firewall.sh

На этом настройка закончена, можете настраивать windows клиенты, никаких особенных параметров не требуется, просто создаете подключение vpn с адресом вашего сервера, на вкладке ”Безопасность” нужно снять галочку с пункта ”Требуется шифрование данных (иначе отключаться)”, а так же логином и паролем которые вы вписали в конфигурационный файл.

http://linuxoids.ru/nastr/19-nastrojjka-vpn-servera-v-ubuntu-ili-debian.html

В принципе, в файле /etc/ppp/pptpd-options я (как мне помнится) ничего не менял кроме ms-dns, такчто можно для начала попробовать запустить с "коробки"

Теперь, если на удаленной машине подключится к vpn, то на сервере, набрав ifconfig, мы должны увидеть приблизительно следующее:

ppp0 Link encap:Протокол PPP (Point-to-Point Protocol)
inet addr:172.20.0.1 P-t-P:172.20.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:1493 errors:0 dropped:0 overruns:0 frame:0
TX packets:805 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:209905 (209.9 KB) TX bytes:241250 (241.2 KB)

После проделанных манипуляций, нужно прописать маршрутизацию, а именно направить пакеты которые идут к клиенту в нужный шлюз. В нашем случае это 172.20.0.1

В /etc/ppp/ip-up.d/ создаем файл routing с текстом

#! /bin/sh
ping -c 1 172.20.0.1 && route add -net 172.0.0.0 netmask 255.0.0.0 dev ppp0

Спасибо товарищу AnrDaemon с forum.ubuntu.ru за предоставленную помощь.
http://forum.ubuntu.ru/index.php?topic=113757.0

И еще, нужно убедится что на клиенте в файрволе разрешено входящее подключение, ну а если проще, то отключите файрвол.

Теперь можно без проблем можно подключатся к удаленной машение с динамическим "серым" IP адрессом.