После установки свича в систему (Ubuntu)
sudo apt-get install vde2
создаем конфигурационный файл для портов на свиче, например, такой:
vim vde_switch1.cfg
port/create 1
port/create 2
port/create 3
port/create 4
port/create 5
port/create 6
vlan/create 2
vlan/create 3
port/setvlan 1 2
port/setvlan 2 2
port/setvlan 3 2
port/setvlan 4 2
port/setvlan 5 3
port/setvlan 6 3
здесь создаются 6 портов, 2 VLAN'а и эти порты раскидыватся 4 порта на 2й ВЛАН и 2 порта на 3й
порты не тегированные (в терминах cisco - это switchport access vlan 2 ... vlan 3 порты).
Свич можно запустить, например, такой командой (не требует спец прав):
vde_switch -s /tmp/switch1 -f /home/mik17/VDE/vde_switch1.cfg
указанные в файле команды можно вводить в консоли свича (приглашение vde$)
На сетевых интерфейсах виртуальных машин Virtual Box настраиваем:
Attached to: Generic Driver
Name: VDE
Advanced
...
Generic Properties: network=/tmp/switch1[1]
где network=/tmp/switch1 путь к запущенному VDE свичу, а [1] - номер порта
!ВАЖНО! Перед стартом виртуальных машин необходимо создать ссылку на библиотеку подключения VDE, иначе будет выведена примерно такая ошибка:
rtldrNativeLoad: dlopen('libvdeplug.so', RTLD_NOW | RTLD_LOCAL) failed: libvdeplug.so: cannot open shared object file: No such file or directory
Исправляется так:
sudo ln -sf /usr/lib/libvdeplug.so.2 /usr/lib/libvdeplug.so
пятница, 30 марта 2012 г.
четверг, 29 марта 2012 г.
TinyCore SSH сервер
Устанавливаем из консоли штатной утилитой OpenSSH сервер:
ab openssh
в выборе (у меня он был единственный) указываем номер нужного пакета (1)
будет выведена информация о пакете (версия, описание и пр.), выходим из этого экрана - q
Предложение на установку - i
пакет будет скачан с настроенного зеркала, зависимости разрешаются автоматически.
После окончания установки снова попадем на приглашение к установке - из него выходим - q
Проверяем, что демон попадает в автозагрузку
cat /mnt/sda1/tce/onboot.lst (должна быть запись openssh.tcz)
Копируем из примера конфигурационный файл
sudo cp /usr/local/etc/ssh/sshd_config.example /usr/local/etc/ssh/sshd_config
Стартуем сервис, при этом будут сгенерированны ключи
sudo /usr/local/etc/init.d/openssh start
Чтобы при перезагрузке не затирались наши правки, добавим каталог с настройками SSH в файл
/opt/.filetool.lst
строка - /usr/local/etc/ssh
Для запуска сервиса при старте системы добавляем запись в
/opt/bootlocal.sh
строка - /usr/local/etc/init.d/openssh start
Бэкапим всю конфиграцию (для сохранения изменений при перезагрузке)
/usr/bin/filetool.sh -b
ab openssh
в выборе (у меня он был единственный) указываем номер нужного пакета (1)
будет выведена информация о пакете (версия, описание и пр.), выходим из этого экрана - q
Предложение на установку - i
пакет будет скачан с настроенного зеркала, зависимости разрешаются автоматически.
После окончания установки снова попадем на приглашение к установке - из него выходим - q
Проверяем, что демон попадает в автозагрузку
cat /mnt/sda1/tce/onboot.lst (должна быть запись openssh.tcz)
Копируем из примера конфигурационный файл
sudo cp /usr/local/etc/ssh/sshd_config.example /usr/local/etc/ssh/sshd_config
Стартуем сервис, при этом будут сгенерированны ключи
sudo /usr/local/etc/init.d/openssh start
Чтобы при перезагрузке не затирались наши правки, добавим каталог с настройками SSH в файл
/opt/.filetool.lst
строка - /usr/local/etc/ssh
Для запуска сервиса при старте системы добавляем запись в
/opt/bootlocal.sh
строка - /usr/local/etc/init.d/openssh start
Бэкапим всю конфиграцию (для сохранения изменений при перезагрузке)
/usr/bin/filetool.sh -b
TinyCore добавление пользователей (sudoers)
Для добавления пользователей необходимо защитить от изменений файлы каталога /etc
в файл /opt/.filetool.lst добавляем строки
/etc/group
/etc/passwd
/etc/shadow
/etc/sudoers
Добавляем пользователя, которому позднее будут предоставлены права sudoer'а
sudo adduser -h /home/mik17 mik17
указываем для него пароль
Создадим пользователя, например, для запуска сервисов quagga
sudo adduser -D -H -s /bin/sh quagga
-D - не задается пароль
-H - не создается домашний каталог
-s - задается командная оболочка (login shell)
Наделяем пользователя mik17 большими правами
sudo visudo
добавляем строки
mik17 ALL=(ALL) ALL
сохраняем (стандартно для vi- Esc :wq)
Не забываем бэкапить все сделанные изменения
/usr/bin/filetool.sh -b
в файл /opt/.filetool.lst добавляем строки
/etc/group
/etc/passwd
/etc/shadow
/etc/sudoers
Добавляем пользователя, которому позднее будут предоставлены права sudoer'а
sudo adduser -h /home/mik17 mik17
указываем для него пароль
Создадим пользователя, например, для запуска сервисов quagga
sudo adduser -D -H -s /bin/sh quagga
-D - не задается пароль
-H - не создается домашний каталог
-s - задается командная оболочка (login shell)
Наделяем пользователя mik17 большими правами
sudo visudo
добавляем строки
mik17 ALL=(ALL) ALL
сохраняем (стандартно для vi- Esc :wq)
Не забываем бэкапить все сделанные изменения
/usr/bin/filetool.sh -b
Удаление SSH сигнатуры (отпечатка) при строгой настройке проверки подлинности сесии.
При смене ключей или при миграциях сервисов, когда на адрес с имеющейся сигнатурой переезжает другой сервак с SSH доступом, возможно такое сообщение от клиента:
**:~$ ssh IP
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
***
Please contact your system administrator.
Add correct host key in */.ssh/known_hosts to get rid of this message.
Offending key in */.ssh/known_hosts:10
RSA host key for IP has changed and you have requested strict checking.
Host key verification failed.
Так как мы точно уверены, что никакой MITM атаки нет, нужно затереть ненужную строку (некоторые советуют вообще удалить файл known_hosts, но это не тот метод...).
Для удаления строки (в данном случае, это 10я запись в файле - */.ssh/known_hosts:10) достаточно:
sed -i "10 d" ~/.known_hosts
Позже при первом удачном входе, нужная сигнатура будет добавлена.
**:~$ ssh IP
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
***
Please contact your system administrator.
Add correct host key in */.ssh/known_hosts to get rid of this message.
Offending key in */.ssh/known_hosts:10
RSA host key for IP has changed and you have requested strict checking.
Host key verification failed.
Так как мы точно уверены, что никакой MITM атаки нет, нужно затереть ненужную строку (некоторые советуют вообще удалить файл known_hosts, но это не тот метод...).
Для удаления строки (в данном случае, это 10я запись в файле - */.ssh/known_hosts:10) достаточно:
sed -i "10 d" ~/.known_hosts
Позже при первом удачном входе, нужная сигнатура будет добавлена.
суббота, 17 марта 2012 г.
Самые базовые настройки Cisco CSS (11500).
В сети опубликовано достаточно много статей по настройке балансировщиков (контент свичей) Cisco серии 11500, однако практически все они относятся не к базовой настройке (менеждмент интерфейса). В принципе, ниже будет памятка для ленивых (типа меня), кто избегает RTFM'а.
Параметры доступа на консоль стандартные для Cisco - 9600N8N1 (Speed (baud) = 9600, Data bits = 8, Stop bits = 1, Parity = None, Flow control = None)
Заводские логин и пароль:
username admin
password system
для смены логина admin
conf t
username-offdm новый_логин password новый_пароль
для смены сетевых параметров менеджмент интерфейса:
conf t
boot
ip addr новый_адрес
subnet mask маска_сети
gateway address адрес_шлюза (ГРАБЛИ! как показала практика, эта настройка работает странно - просто не работает, лучше для доступа к менеджмент интерфейсу указывать статические маршруты для заранее известных подсетей)
ip management route подсеть /префикс шлюз (например, ip management route 172.27.59.0 /24 172.27.56.86)
Далее можно добавить параметры времени (отображаются в running-config):
- из раздела глобальной конфигурации настраивается временная зона clock timezone MSD hour 4 after-UTC (MSD – Moscow Daylight Timezone), что соответствует зоне UTC+4 часа,
- также отключается переход на летнее/зимнее время no clock summer-time
Сохранение настроек: wr mem
Просмотр настроек:
sh boot
sh clock
sh run (куда ж без него...).
Параметры доступа на консоль стандартные для Cisco - 9600N8N1 (Speed (baud) = 9600, Data bits = 8, Stop bits = 1, Parity = None, Flow control = None)
Заводские логин и пароль:
username admin
password system
для смены логина admin
conf t
username-offdm новый_логин password новый_пароль
для смены сетевых параметров менеджмент интерфейса:
conf t
boot
ip addr новый_адрес
subnet mask маска_сети
gateway address адрес_шлюза (ГРАБЛИ! как показала практика, эта настройка работает странно - просто не работает, лучше для доступа к менеджмент интерфейсу указывать статические маршруты для заранее известных подсетей)
ip management route подсеть /префикс шлюз (например, ip management route 172.27.59.0 /24 172.27.56.86)
Далее можно добавить параметры времени (отображаются в running-config):
- из раздела глобальной конфигурации настраивается временная зона clock timezone MSD hour 4 after-UTC (MSD – Moscow Daylight Timezone), что соответствует зоне UTC+4 часа,
- также отключается переход на летнее/зимнее время no clock summer-time
Сохранение настроек: wr mem
Просмотр настроек:
sh boot
sh clock
sh run (куда ж без него...).
четверг, 8 марта 2012 г.
Guru Plug Server Plus (GPS+) восстановление (unbrick) и заливка Debian'а
В процессе игр с сабжем были использованы материалы по ссылкам:
http://bzed.de/posts/2010/05/installing_debian_on_the_guruplug_server_plus/
http://www.cyrius.com/debian/kirkwood/sheevaplug/install.html
http://plugcomputer.org/plugforum/index.php?topic=1648
http://www.newit.co.uk/forum/index.php/topic,410.0.html
Для подключения к консоли использовался "родной" JTAG адаптер.
После подключения интерфейсов и включения GPS+ есть 3 секунды для остановки загрузки и попадания в uBoot. То есть перед включением сервака проверяем, на какой интерфейс сел адаптер:
dmesg | grep tty
в моем случае он приземлился на ttyUSB0
screen /dev/ttyUSB0 115200
(не забываем, что выйти из сессии можно по комбинации Ctrl+a нажать k, потом согласиться с выходом - y).
Запускаем screen и включаем сервак, жмем любой баттон для входа в загрузчик (для этого всего 3 секунды!).
При успехе, попадаем в строку приглашения: Marvell>>
сразу просматриваем переменные окружения и версию загрузчика:
>> version
U-Boot 2009.11-rc1-00602-g28a9c08-dirty (Feb 09 2010 - 18:15:21)
>> printenv
bootcmd=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;
bootdelay=3
baudrate=115200
x_bootcmd_ethernet=ping 192.168.2.1
x_bootcmd_usb=usb start
x_bootcmd_kernel=nand read.e 0x6400000 0x100000 0x400000
x_bootargs=console=ttyS0,115200
x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
ethact=egiga0
ethaddr=***
eth1addr=***
stdin=serial
stdout=serial
stderr=serial
Environment size: 549/131068 bytes
по команде help выводятся доступные команды. В "моей" версии загрузчика не было части нужных команд, например, работы с устройствами с файловыми системами ext2-3-4. Так что загрузчик нужно обновить. Сделать это можно несколькими способами, в частности, с USB носителя (в FAT) или по сети с TFTP сервера.
Бинарник загрузчика использованный мной:
http://people.debian.org/~tbm/u-boot/2011.12-2/guruplug/u-boot.kwb
Выбор пал на сетевую загрузку, для чего были добавлены настройки:
setenv bootdelay 10
setenv ipaddr 172.17.18.248
setenv serverip 172.17.18.247
saveenv
tftpboot 0x0800000 u-boot.kwb
nand erase 0x0 0x60000
nand write 0x0800000 0x0 0x60000
reset
В результате получен девайс в новой версией загрузчика:
U-Boot 2011.12 (Jan 08 2012 - 21:46:50)
Теперь необходимо загрузить uImage и uInitrd, чтобы позднее начать сетевую загрузку и установку самой ОС. Это также можно сделать по сети (через TFTP) или с носителя.
Для разнообразия попробовал разобраться с носителем: в GPS+ есть слот для карт microSD, вот такую карточку на 8Гб и использовал (на нее же позднее ставится ОС).
Карта отформатирована в ext4 (через GParted).
!Помнить! После создания раздела и форматирования владельцем карты становится root, так что для возможности записи данных на карту нужно сменить владельца:
sudo chown mik17 /media/guruplug/
Нужные файлы доступны по ссылкам:
ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/netboot/marvell/sheevaplug/uImage
и
ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/netboot/marvell/sheevaplug/uInitrd
Записываем их в корень карточки и саму карту вставляем в GPS+.
На всякий случай повторно включаем поддержку USB устройств (заодно будет выполнен и поиск носителей):
>> usb start
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... Device NOT ready
Request Sense returned 02 3A 00
2 Storage Device(s) found
определяем, какой девайс - наша карта:
>> usb storage
Device 0: Vendor: Generic Rev: 9909 Prod: STORAGE DEVICE
Type: Removable Hard Disk
Capacity: not available
Device 1: Vendor: Generic Rev: 9909 Prod: STORAGE DEVICE
Type: Removable Hard Disk
Capacity: 7384.0 MB = 7.2 GB (15122432 x 512)
нас интересует Device 1, точнее его первый раздел.
Загружаем файлы с карточки:
>> ext2load usb 1:1 0x00800000 /uImage
Loading file "/uImage" from usb device 1:1 (usbdb1)
1435184 bytes read
>> ext2load usb 1:1 0x01100000 /uInitrd
Loading file "/uInitrd" from usb device 1:1 (usbdb1)
3172565 bytes read
Теперь добавляем в переменные окружения загрузку с карты памяти:
setenv bootargs_console console=ttyS0,115200
setenv bootcmd_usb 'usb start; ext2load usb 1:1 0x00800000 /uImage; ext2load usb 1:1 0x01100000 /uInitrd'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_usb; bootm 0x00800000 0x01100000'
saveenv
setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
Начинаем процесс установки !Важно! необходимо точно убедиться, что с сетевыми настройками нет проблем, так как сабж тянет установочные файлы из Инета.
bootm 0x00800000 0x01100000
В процессе установки задаются стандартные вопросы.
После установки "внезапно" выяснится, что имеющийся беспроводной интерфейс не видится, а в логах примерно такие сообщения:
can't load helper firmware
failed to load helper firmware
Для решения этой проблемы нужно загрузить файлы sd8688.bin и sd8688_helper.bin в /lib/firmware
Взять эти файлы можно по ссылкам:
http://git.infradead.org/users/dwmw2/linux-firmware.git/blob/8ad78631586495ca5738c78884c14bfaf29f633e:/libertas/sd8688.bin
и
http://git.infradead.org/users/dwmw2/linux-firmware.git/blob/8ad78631586495ca5738c78884c14bfaf29f633e:/libertas/sd8688_helper.bin
После перезагрузки беспроводной интерфейс появится.
http://bzed.de/posts/2010/05/installing_debian_on_the_guruplug_server_plus/
http://www.cyrius.com/debian/kirkwood/sheevaplug/install.html
http://plugcomputer.org/plugforum/index.php?topic=1648
http://www.newit.co.uk/forum/index.php/topic,410.0.html
Для подключения к консоли использовался "родной" JTAG адаптер.
После подключения интерфейсов и включения GPS+ есть 3 секунды для остановки загрузки и попадания в uBoot. То есть перед включением сервака проверяем, на какой интерфейс сел адаптер:
dmesg | grep tty
в моем случае он приземлился на ttyUSB0
screen /dev/ttyUSB0 115200
(не забываем, что выйти из сессии можно по комбинации Ctrl+a нажать k, потом согласиться с выходом - y).
Запускаем screen и включаем сервак, жмем любой баттон для входа в загрузчик (для этого всего 3 секунды!).
При успехе, попадаем в строку приглашения: Marvell>>
сразу просматриваем переменные окружения и версию загрузчика:
>> version
U-Boot 2009.11-rc1-00602-g28a9c08-dirty (Feb 09 2010 - 18:15:21)
>> printenv
bootcmd=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;
bootdelay=3
baudrate=115200
x_bootcmd_ethernet=ping 192.168.2.1
x_bootcmd_usb=usb start
x_bootcmd_kernel=nand read.e 0x6400000 0x100000 0x400000
x_bootargs=console=ttyS0,115200
x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
ethact=egiga0
ethaddr=***
eth1addr=***
stdin=serial
stdout=serial
stderr=serial
Environment size: 549/131068 bytes
по команде help выводятся доступные команды. В "моей" версии загрузчика не было части нужных команд, например, работы с устройствами с файловыми системами ext2-3-4. Так что загрузчик нужно обновить. Сделать это можно несколькими способами, в частности, с USB носителя (в FAT) или по сети с TFTP сервера.
Бинарник загрузчика использованный мной:
http://people.debian.org/~tbm/u-boot/2011.12-2/guruplug/u-boot.kwb
Выбор пал на сетевую загрузку, для чего были добавлены настройки:
setenv bootdelay 10
setenv ipaddr 172.17.18.248
setenv serverip 172.17.18.247
saveenv
tftpboot 0x0800000 u-boot.kwb
nand erase 0x0 0x60000
nand write 0x0800000 0x0 0x60000
reset
В результате получен девайс в новой версией загрузчика:
U-Boot 2011.12 (Jan 08 2012 - 21:46:50)
Теперь необходимо загрузить uImage и uInitrd, чтобы позднее начать сетевую загрузку и установку самой ОС. Это также можно сделать по сети (через TFTP) или с носителя.
Для разнообразия попробовал разобраться с носителем: в GPS+ есть слот для карт microSD, вот такую карточку на 8Гб и использовал (на нее же позднее ставится ОС).
Карта отформатирована в ext4 (через GParted).
!Помнить! После создания раздела и форматирования владельцем карты становится root, так что для возможности записи данных на карту нужно сменить владельца:
sudo chown mik17 /media/guruplug/
Нужные файлы доступны по ссылкам:
ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/netboot/marvell/sheevaplug/uImage
и
ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/netboot/marvell/sheevaplug/uInitrd
Записываем их в корень карточки и саму карту вставляем в GPS+.
На всякий случай повторно включаем поддержку USB устройств (заодно будет выполнен и поиск носителей):
>> usb start
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... Device NOT ready
Request Sense returned 02 3A 00
2 Storage Device(s) found
определяем, какой девайс - наша карта:
>> usb storage
Device 0: Vendor: Generic Rev: 9909 Prod: STORAGE DEVICE
Type: Removable Hard Disk
Capacity: not available
Device 1: Vendor: Generic Rev: 9909 Prod: STORAGE DEVICE
Type: Removable Hard Disk
Capacity: 7384.0 MB = 7.2 GB (15122432 x 512)
нас интересует Device 1, точнее его первый раздел.
Загружаем файлы с карточки:
>> ext2load usb 1:1 0x00800000 /uImage
Loading file "/uImage" from usb device 1:1 (usbdb1)
1435184 bytes read
>> ext2load usb 1:1 0x01100000 /uInitrd
Loading file "/uInitrd" from usb device 1:1 (usbdb1)
3172565 bytes read
Теперь добавляем в переменные окружения загрузку с карты памяти:
setenv bootargs_console console=ttyS0,115200
setenv bootcmd_usb 'usb start; ext2load usb 1:1 0x00800000 /uImage; ext2load usb 1:1 0x01100000 /uInitrd'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_usb; bootm 0x00800000 0x01100000'
saveenv
setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
Начинаем процесс установки !Важно! необходимо точно убедиться, что с сетевыми настройками нет проблем, так как сабж тянет установочные файлы из Инета.
bootm 0x00800000 0x01100000
В процессе установки задаются стандартные вопросы.
После установки "внезапно" выяснится, что имеющийся беспроводной интерфейс не видится, а в логах примерно такие сообщения:
can't load helper firmware
failed to load helper firmware
Для решения этой проблемы нужно загрузить файлы sd8688.bin и sd8688_helper.bin в /lib/firmware
Взять эти файлы можно по ссылкам:
http://git.infradead.org/users/dwmw2/linux-firmware.git/blob/8ad78631586495ca5738c78884c14bfaf29f633e:/libertas/sd8688.bin
и
http://git.infradead.org/users/dwmw2/linux-firmware.git/blob/8ad78631586495ca5738c78884c14bfaf29f633e:/libertas/sd8688_helper.bin
После перезагрузки беспроводной интерфейс появится.
четверг, 1 марта 2012 г.
TFTP сервер для Ubuntu (который можно вкл/выкл)
Для скачивания конфигов или заливки прошивок на сетевые девайсы полезно всегда иметь на разъездном буке ряд сервисов, в частности, TFTP сервер, но такой, чтобы он не весел постоянно запущенным (как atftpd). Для Windows очень долгое время я пользовался 3com_TFTP-Syslog-FTP-server'ом (как видно из названия, там же еще и FTP и Syslog). Долго искал аналогичную примочку по Линуха.
Понравился такой сервачок: http://code.google.com/p/tftpgui/ от Гугла, основанный на Python'е.
После скачивания и распаковки, на рабочем столе по правой кнопке мыши делаем Create Launcher / Type="Application in Terminal" / Name="TFTP_Server" / Command="sudo /~/Progs/tftpgui/tftpgui.py"
Конечно же в поле команды нужно будет указать путь распакованному файлу tftpgui.py (без кавычек).
Понравился такой сервачок: http://code.google.com/p/tftpgui/ от Гугла, основанный на Python'е.
После скачивания и распаковки, на рабочем столе по правой кнопке мыши делаем Create Launcher / Type="Application in Terminal" / Name="TFTP_Server" / Command="sudo /~/Progs/tftpgui/tftpgui.py"
Конечно же в поле команды нужно будет указать путь распакованному файлу tftpgui.py (без кавычек).
Подписаться на:
Сообщения (Atom)