Debian редактировать шаблон

Список ЧаВо

Вопросы

Ответы

В: Настройка сетевых интерфейсов через /etc/network/interfaces на ноутбуке
О: Для настройки сетевых интерфейсов на ноуте для использования в нескольких местах с разной адресацией и конфигурацией сетей нужно использовать возможность mapping стандартного дебиановского механизма ifupdown=. Делается это так:
  1. сначала из примера копируем скрипт /usr/share/doc/ifupdown/examples/ping-places.sh в /usr/local/bin и не забываем дать ему права на исполнение.
  2. далее создаем сам маппинг, для чего правим /etc/network/interfaces примерно до такого состояния:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0 eth1
mapping eth0
        script /usr/local/bin/ping-places.sh
        map 192.168.111.26/24 192.168.111.1 eth0-home
        map 192.168.100.26/24 192.168.100.1 eth0-work
#mapping eth1
iface eth0-work inet dhcp
        post-up ip ro add 192.168.0.0/16 via 192.168.100.254
#       post-up ip ro change default via 192.168.100.1
        post-up ip ro del default
        post-up ip ro add default via 192.168.100.1
        pre-down ip ro del 192.168.0.0/16 via 192.168.100.254
iface eth0-home inet dhcp
        post-up ip ro add 192.168.0.0/16 via 192.168.100.254
        pre-down ip ro del 192.168.0.0/16 via 192.168.100.254
iface eth1 inet dhcp
        wireless-essid default


Подробнее получается вот что:
  • mapping eth0 создает мап для первого езернета
  • script /usr/local/bin/ping-places.sh задает скрипт для проверки. Скрипт ping-places.sh принимает первым параметром IP-адрес для пробной установки на интерфейсе, вторым — адрес, который следует пропинговать. Если пропингуется, значит успешно и возвращаем 0 и печатаем третий параметр на stdout, иначе — не ноль.
  • map 192.168.111.26/24 192.168.111.1 eth0-home запускает проверочный скрипт с параметрами, перечисленными после слова map, последний параметр задает имя мапа. То есть если проверочный скрипт отработал и вернул 0, то считается что данный мап выбран и читается имя интерфейса для конфигурации, выведенное скриптом.

  • map 192.168.100.26/24 192.168.100.1 eth0-work проверка другого расположения.

после этих строк у нас уже выбран мап, позволяющий определить где мы находимся. посему далее описываем конфигурацию интерфейса для каждого из мест:
  • iface eth0-work inet dhcp получаем адрес от DHCP
  • post-up ip ro add 192.168.0.0/16 via 192.168.100.254 перенастравиваем роутинг
  • #post-up ip ro change default via 192.168.100.1 почему то изменение полученного от DHCP дефолта у меня не прошло, поэтому
  • post-up ip ro del default удаляем дефолт
  • post-up ip ro add default via 192.168.100.1 создаем заново через нужный нам шлюз
  • pre-down ip ro del 192.168.0.0/16 via 192.168.100.254 перед остановкой интерфейса сносим лишние маршруты

Аналогичным образом можно настраивать маппинги для других интерфейсов и для других целей, например для привязки сетевого интерфейса сервера к маку — чтоб не поплыли при добавлении карт и еще много чего.
В: Немного другая конфигурация интерфейсов для ноутбука с внешним скриптом окружения.
О: Немного подумав нашел более, на мой взгляд, "продвинутый" и элегантный способ выставить окружение при подключении к разным сетям.

Вместо отдельных строк в interfaces, запускающих и конфигурирующих при определении местоположения создаем отдельный скрипт, выставляющий окружение. Называем его, например, office. Далее при поднятии интерфейса запускаем этот скрипт с параметром start, при опускании — stop.
/etc/network/interfaces из предыдущего вопроса немного меняем в части скриптов после запуска и перед отключением интерфейсов:
iface eth0-work inet dhcp
        post-up /etc/network/office start
        pre-down /etc/network/office stop

Итак, выставлением окружения теперь занимается отдельный скрипт, в котором мы монтируем диски со внешних серверов, меняем произвольно роутинг и прочее. Подобным образом поступаем и с отстальными интерфейсами, где это нужно. Для этого просто копируем office в, например, home и модифицируем для соответствия домашней сети.
Конечно было бы намного красивее если бы хоумы монтировались при логине пользователя. Но это оставим как упражнение для читателей, хотя, быть может, и я сподоблюсь :). По крайней мере большинство ноутов используется одним человеком, посему моя схема подходит большинству.
Да. чуть не забыл. в файле, указанном как параметр credentials в команде mount, всего две строчки:
username=user
password=pass

Думаю создать такой файл вы сможете самостоятельно :)
В: Как собрать пакет ядра из сырых исходников?
О: Распаковать архив, зайти в корень дерева исходников. Сказать make oldconfig, ответить на вопросы.
Далее: fakeroot make-kpkg --append-to-version=-note-amd64 --revision=1.0 --initrd kernel_image
Эта команда соберет пакет. Его просто поставить через dpkg -i
Да, должны стоять пакеты kernel-package и fakeroot
Более полная сборка — с хидерами и прочим: make-kpkg binary
полный список целей для make-kpkg:
 Known Targets are:
===============================================================================
|     Targets                      |   Automatically builds                   |
===============================================================================
| clean                            |                                          |
| buildpackage                     | Builds the whole package                 |
| binary                           | Builds kernel_{source,headers,image,doc} |
|       binary-indep               |                                          |
|            kernel_source         |                                          |
|            kernel_doc            |                                          |
|            kernel_manual         |                                          |
|       binary-arch                |                                          |
|            kernel_headers        |                                          |
|            kernel_image          | Builds build                             |
|                           build  |                                          |
| modules                          |                                          |
| modules_image                    |                                          |
| modules_config                   |                                          |
| modules_clean                    |                                          |
| configure                        | If you wish to edit files                |
|                           debian | generated by make config                 |
| debian                           | Creates ./debian dir, and                |
|                                  | optionally patches the source            |
===============================================================================



В: Использование debootstrap (создание "песочниц")
О: debootstrap — отличнейшая вещь, позволяющая установить дебиан из уже установленного. весьма полезно, например для организации ia32-chroot на установленной AMD64-системе.
sudo debootstrap --arch i386 sid /var/chroot/debian-ia32/ http://ftp.debian.org/debianexternal link — и база от сида установлена в каталоге /var/chroot/debian-ia32. Далее туда chroot-имся и работаем как с обычным дебиан.
debootstrap не знает unstable — ему надо указывать конкретное название дистра. Например etch или sarge. Если все таки очень хочется unstable — то как правило он называется sid.
О дальнейшем обустройстве забутстрапленной системы хорошо написано в Debian AMD64 FAQexternal link
Чтобы не плутать и не путаться где мы находимся — в chroot или нет — в дебиане можно создать файл /etc/debian_chroot. Содержимое этого файла добавляется в промпт шелла. Например так:
(ia32-sid)baron@baron-note:/$ cat /etc/debian_chroot
ia32-sid
(ia32-sid)baron@baron-note:/$ 

В: Как узнать какой своп используется системой?
О: Очень просто:
cat /proc/swaps
В: Как настроить аутентификацию по RSA/DSA ключу для ssh?
О: Очень просто.
  1. Проверяем наличие ключа:
    ls ~/.ssh
    Пара ключей — секретный и открытый — лежат в файлах id_dsa и id_dsa.pub или id_rsa и id_rsa.pub для DSA и RSA соответственно. Если ключа еще нет — его надо сгенерить командой ssh-keygen.
  2. Ключ есть. Теперь его надо выложить на систему, куда мы хотим заходить. Для этого добавляем публичный ключ к списку авторизованных на удаленной системе. Список авторизованных ключей лежит в файле ~/.ssh/authorized_keys. Делаем это примерно так:
    cat ~/.ssh/id_dsa.pub | ssh <удаленный хост> 'cat - >> ~/.ssh/authorized_keys'

Вуаля. Все готово. Теперь для доступа к удаленной системе по ssh будет использоваться аутентификация по ключам. Думаю не стоит напоминать о важности хранения этих ключей в безопасном месте и исключении доступа к ним.
В: Как установить пакет из другого релиза testing, если например использутся unstable?
О: Нужно добавить строчку о нужном релизе в sources.list сделать apt-get update и установить пакет:
install -t testing ИМЯ_ПАКЕТА/testing
В: Как получить такой же набор пакетов при миграции с машины на машину?
О: Есть вариант клонирования, тогда скопируется диск с точностью до разметки.
Есть варианти другой. На мастере делаем:
dpkg --get-selections > list

файл list копируем на другую машину
dpkg --set-selections < list && apt-get dselect-upgrade

получаем такой же набор пакетов как на мастере
В: Как скачать все файлы с заданным расширением с определённой URL?
О: Для этого нуже wget
команда
wget -r -nd --accept=mpg URLexternal link

-r флаг рекруссии
-nd не создаём директорию
--accept=extensionsexternal link лист заданных расширейни файлов.
В: Есть ли программа для захвата экрана(видео) в Debian
О: Есть xvidcap.
для unstable добавляем:
echo "deb http://www.debian-multimedia.orgexternal link lenny main" >> /etc/apt/sources-list && apt-get update && sudo apt-get install xvidcap
для других дистрибутивов, смотрите на ftp дебиан-мультимедия
В: Как вставить background в загрузчик GRUB?
О: читаем подробности.
http://www.queervisions.com/arch/2007/04/9_grub_splash_i.htmlexternal link
В: Как настроить X11 forwarding через ssh
О: Довольно просто:

проверить /etc/ssh/sshd_config на стороне сервера на наличие:
X11Forwarding yes
X11DisplayOffset 10

на стороне клиента:
ssh -X user@server

далее командной строке запускаем нужное нам графическое приложение и наслаждаемся.
В: Как перекодировать имена файлов из одной кодировки в другую?
О: Я делал перекодирование из КОИ8 в юникод такой командой:
sudo find . -print | while read a ; do sudo mv $a `echo $a | iconv -f koi8` 2&>1 > /dev/null ; done

Предполагается что текущая локаль — уникод. Перенаправление в нулл — чтоб не ругалось просто и не тратило время на вывод. Баги — файлы и пути с пробелами не отрабатываются.
Но на самом деле этот путь — грабли. Не работает. Посему делаем вот что:
sudo apt-get install convmv

и этой командой (convmv) благополучно перекодируем.
В: подскажи....в какой пакет входит "что-то" в дебиане ?
О: dpkg -S `which что-то`
1 комментарий

Posted messages

Топ Впрятать всё
автор сообщение
mancubus
add-on
в: Tue 24 Jul 2007 [18:28 UTC] рейтинг: 0.00
чтобы такая конструкция работала нужно установить xbase-client, туда входит xauth, который овечает за возможность авторизации удалённого клиента у xserver.
PS: я использую ключики -XC
с--компрессия.



Страница: 1/1