Я думаю Ваш /etc/network/interfaces
немного чрезмерно увеличен в размере.
Существует несколько точек для упоминания здесь:
default
- интерфейс? Это не имеет смысла мне, так как Вы уже полностью определили каждый интерфейс. eth0
Вы решаете поднимать его на a hotplug
- событие и на запуск Вашей системы. Как eth0
не является сменным, Вы не должны указывать обоих.Но давайте возвратимся к теме:
Я думаю для сменных устройств, которые всегда рекомендуется указать allow-hotplug
и опустите auto
строка файла конфигурации. Я попробовал бы следующее /etc/network/interfaces
:
auto lo
auto eth0
allow-hotplug wlan0
allow-hotplug wlan1
# pattern of an interface definition
#
# iface [name of physical/logical interface] [name of address family] [method to configure the interface]
# [option 1]
# [option 2]
# ...
# [option n]
iface lo inet loopback
iface eth0 inet static
address 192.168.2.201
netmask 255.255.255.0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface wlan1 inet static
address 10.0.0.1
netmask 255.255.255.0
Между прочим: у Вас есть какие-либо убедительные причины не пойти с инструментом автоматической настройки сети как wicd или networkmanager?
Основной командой для работы с deb-пакетами является dpkg-deb
.
Для распаковки пакета создайте пустой каталог и переключитесь на него, затем запустите dpkg-deb
для извлечения его управляющей информации и файлов пакета. Для восстановления пакета используйте dpkg-deb -b
.
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
Остерегайтесь, что если ваш скрипт не запущен от имени root, то на этапе извлечения будут повреждены права доступа к файлам и права собственности. Одним из способов избежать этого является запуск вашего скрипта под fakeroot
. Обратите внимание, что вам нужно запустить всю последовательность под fakeroot
, а не каждый dpkg-deb
по отдельности, поскольку именно процесс fakeroot
хранит в памяти права доступа к файлам, которые не могут быть созданы как есть.
fakeroot sh -c '
mkdir tmp
dpkg-deb -R original.deb tmp
# edit DEBIAN/postinst
dpkg-deb -b tmp fixed.deb
'
Вместо того, чтобы вмешиваться в права доступа, вы можете сохранить архив данных в целости и изменить только управляющий архив. dpkg-deb
не предоставляет способа сделать это. К счастью, deb packg находятся в стандартном формате: это архивы ar
. Поэтому вы можете использовать ar
для извлечения управляющего архива, изменения его файлов и повторного использования ar
для замены управляющего архива на новую версию.
mkdir tmp
cd tmp
ar p ../original.deb control.tar.gz | tar -xz
# edit postinst
cp ../original.deb ../fixed.deb
tar czf control.tar.gz *[!z]
ar r ../fixed.deb control.tar.gz
Вы должны добавить запись в журнал изменений и изменить номер версии номер , если вы что-то измените в пакете. Инфраструктура для работы с пакетами Debian предполагает, что если два пакета имеют одно и то же имя и одну и ту же версию, то это один и тот же пакет. Добавьте суффикс к части debian_revision в конце номера версии; по причинам сортировки суффикс должен начинаться с ~
, например, 1.2.3-4.1
становится 1.2.3-4.1~johnjumper1
.
Вместо использования утилит оболочки, вы можете использовать Emacs. Пакет dpkg-dev-el
(который является собственным исходным пакетом Debian) содержит режимы редактирования файлов .deb
и журналов изменений Debian. Emacs может использоваться в интерактивном режиме или с помощью скриптов.