Установка Debian/Установка «основы» системы

После того, как целевые файловые системы — созданы, а устанавливающая система может взаимодействовать с зеркалом хранилища Debian (или, по меньшей мере, — его частичной копией на сменном носителе), приходит время подключать иерархию целевых ФС к некоторой директории основной и инициировать установку «основы» системы — debootstrap(8).

Подключение файловых систем править

Подключим созданные ФС, начиная с корневой, к иерархии /mnt, подобно:

# mount -- /dev/vgbakau-sys-i/lvroot  /mnt 
# mkdir -- /mnt/var 
# mount -- /dev/vgbakau-sys-i/lvvar /mnt/var 
# mkdir -- /mnt/var/cache 
# mount -- /dev/vgbakau-u-i/lvvarcache  /mnt/var/cache 
# mkdir -- /mnt/home 
# mount -o nodev -- /dev/vgbakau-u-i/lvhome /mnt/home 
# mkdir -p -- /mnt/home/public/storage 
# mount -o nodev -- /dev/vgbakau-u-i/lvstorage /mnt/home/public/storage 
# mkdir -- /mnt/boot 
# mount -o noexec,nosuid,nodev -U 7bfad579-8e0f-4ef7-bc58-fad76f5fc83d \
      -- /mnt/boot 
# 

На этом же этапе можно создать и файл fstab(5) целевой системы, подобный:

## device			mount point	type	options		d p
/dev/vgbakau-sys-i/lvroot	/		ext3	defaults	0 1
tmpfs				/tmp  		tmpfs	defaults	0 0
/dev/vgbakau-sys-i/lvvar	/var		ext3	defaults	0 2
/dev/vgbakau-u-i/lvvarcache	/var/cache	ext3	defaults	0 2
/dev/vgbakau-u-i/lvhome		/home		ext3	nodev		0 2
/dev/vgbakau-u-i/lvstorage	/home/public/storage	ext3	nodev	0 2

UUID=d66d7d66-4382-4019-b420-1c47c29f7263	none	swap	sw	0 0
UUID=7bfad579-8e0f-4ef7-bc58-fad76f5fc83d	/boot	ro,noexec,nosuid,nodev 0 2

В случае, если есть желание использовать корневую ФС, подключенную в режиме «только чтение» (что несколько повышает устойчивость системы к некоторым сбоям), следует учесть, что вне контекста задач установки и удаления программ (для чего, очевидно, переподключение ФС в режиме «чтение и запись» строго необходимо), может потребоваться запись в директорию /media/, а также файлы /etc/mtab, passwd(5), shadow(5) (например, при работе таких программ, как pmount(1), chfn(1), passwd(1), etc.)

При этом, для директории /media/ вполне можно использовать tmpfs:

tmpfs				/media		tmpfs	mode=0755	0 0

в то время как файл /etc/mtab заменим символьной ссылкой на /proc/mounts:

# ln -sf -- /proc/mounts /mnt/etc/mtab 

Что же касается таких файлов, как passwd(5) и shadow(5) — решением может быть применение LDAP и Kerberos, соответственно, — тем более, что такие системы скорее всего потребуются в многопользовательских окружениях и по другим причинам. (С другой стороны, необходимость в данных программах в «однопользовательском» случае возникает столь редко, что переподключение корневой ФС не составит сколь угодно существенной проблемы.)

Установка править

Выполним установку «основы» системы используя debootstrap(8), подобно:

# debootstrap \
      --keep-debootstrap-dir \
      --arch=amd64 \
      wheezy /mnt http://http.debian.net/debian/ \
      2>&1 | tee -- "$(mktemp -- "/mnt/.debootstrap.XXXXXXXX")" 

Включив в команду выше опцию --include= получим возможность установить дополнительные пакеты, подобно:

      --include=busybox,bzip2,diffutils,ed,file,less,patch,rsync\
,screen,time,tree,unzip,uuid-runtime,xutils-dev,xz-utils,zip,bc\
,dc,gawk \

Впрочем, этой опцией следует пользоваться с осторожностью, поскольку она обрабатывается вне контекста APT. Куда надежнее вызвать обычную # apt-get install после успешного завершения debootstrap(8), чему посвящен следующий раздел.

См. также править