В этом разделе объясняется, как установить Debian GNU/Linux из существующей системы Unix или Linux без использования управляемой из меню программы установки, основанной на библиотеке ncurses, как это описывается в остальном руководстве. Это «междистрибутивное» HOWTO попросили пользователи, переходящие на Debian GNU/Linux из Redhat, Mandriva и SUSE. В этом разделе подразумевается наличие некоторого опыта работы с командами *nix и навигации по файловой системе. Здесь символ $
означает команду, вводимую в текущей пользовательской системе, а #
относится к команде, вводимой в Debian chroot.
Как только вы получите новую систему Debian, настроенную по вашим предпочтениям, вы можете перенести свои данные (если они есть) в неё и продолжать работу. Поэтому такая установка Debian GNU/Linux считается «с нулевым временем простоя» (zero downtime). Также это мудрый способ работы с аппаратурой, которая не может нормально работать с разными загрузочными или установочными носителями.
![]() |
Примечание |
---|---|
Так как это, по большей части, ручная процедура, вы должны помнить, что вам придётся сделать множество начальных настроек системы самостоятельно, которые также требуют больше знаний о Debian и Linux в общем, чем при выполнение обычной установки. Вы не должны ожидать, что эта процедура настроит вам систему так, как это делается при обычной установке. Также вы должны помнить,что эта процедура выполняет только основные этапы настройки системы. Может потребоваться дополнительная установка и/или настройка. |
With your current *nix partitioning tools, repartition the hard drive as needed, creating at least one filesystem plus swap. You need around 613MB of space available for a console only install, or about 2133MB if you plan to install X (more if you intend to install desktop environments like GNOME or KDE Plasma).
Затем создайте файловые системы на разделах. Например, чтобы создать файловую систему ext3 на разделе /dev/sda6
(это корневой раздел в нашем примере):
# mke2fs -j /dev/sda6
Чтобы создать файловую систему ext2, не указывайте параметр -j
.
Проинициализируйте и активируйте раздел подкачки (замените номер раздела на свой):
# mkswap /dev/sda5
# sync # swapon /dev/sda5
Смонтируйте один раздел как /mnt/debinst
(точка установки, она будет корневой (/
) файловой системой в вашей новой системе). Имя точки монтирования абсолютно произвольное.
# mkdir /mnt/debinst
# mount /dev/sda6
/mnt/debinst
![]() |
Примечание |
---|---|
Если вы хотите монтировать некоторые файловые системы (например, /usr) с отдельных разделов, то нужно создать и смонтировать эти каталоги вручную, перед тем как перейти к следующему этапу. |
Утилита, которой пользуется программа установки Debian и которая признана официальным способом установки базовой системы Debian является debootstrap. Она использует wget и ar, но зависит только от /bin/sh
и часто используемых инструментов Unix/Linux[23]. Установите wget и ar, если их ещё нет в системе, а затем загрузите и установите debootstrap.
Или вы можете использовать следующую процедуру установки вручную. Создайте рабочий каталог для распаковки в него .deb:
# mkdir work # cd work
Двоичный файл debootstrap расположен в архиве Debian (убедитесь, что вы выбрали правильный файл, соответствующий вашей архитектуре). Скачайте debootstrap .deb из пула, скопируйте пакет в рабочий каталог и извлеките из него файлы. Для установки файлов вам потребуются привилегии суперпользователя (root).
# ar -x debootstrap_0.X.X_all.deb # cd / # zcat /full-path-to-work/work/data.tar.gz | tar xv
Команда debootstrap может скачивать необходимые файлы прямо из архива. В примере ниже вы можете заменить http.us.debian.org/debian
на любой сервер-зеркало архива Debian, лучше всего использовать из наиболее близкой к вам сети. Список серверов http://www.debian.org/mirror/list.
Если у вас есть компакт-диск с stretch Debian GNU/Linux, смонтированный в /cdrom
, вы можете подставить URL типа file вместо http URL: file:/cdrom/debian/
Substitute one of the following for ARCH
in the debootstrap command: amd64
, arm64
, armel
, armhf
, i386
, mips
, mips64el
, mipsel
, powerpc
, ppc64el
, or s390x
.
# /usr/sbin/debootstrap --arch ARCH stretch \ /mnt/debinst http://ftp.us.debian.org/debian
If the target architecture is different than the host, you should add the --foreign
option.
Now you've got a real Debian system, though rather lean, on disk. chroot into it:
# LANG=C.UTF-8 chroot /mnt/debinst /bin/bash
If the target architecture is different from the host, you will need to first copy qemu-user-static to the new host:
# cp /usr/bin/qemu-ARCH-static /mnt/debinst/usr/bin # LANG=C.UTF-8 chroot /mnt/debinst qemu-ARCH-static /bin/bash
After chrooting you may need to set the terminal definition to be compatible with the Debian base system, for example:
# export TERM=xterm-color
Depending on the value of TERM, you may have to install the ncurses-term
package to get support for it.
If the target architecture is different from the host, you need to finish the multi-stage boot strap:
/debootstrap/debootstrap --second-stage
В данный момент /dev/
содержит только основные файлы устройств. Для следующих этапов установки могут потребоваться дополнительные файлы устройств. Есть несколько способов их создания; выбор более подходящего зависит от: a) системы, с которой производится установка; б) будет ли использоваться модульность ядро; в) используются в новой системе динамические (например, посредством udev
) или статические файлы устройств.
Некоторые доступные способы:
установка пакета makedev и создание используемого по умолчанию набора статических файлов устройств (после выполнения chroot)
# apt install makedev # mount none /proc -t proc # cd /dev # MAKEDEV generic
создание вручную только выбранных файлов устройств с помощью MAKEDEV
привязка смонтированного /dev имеющейся системы поверх /dev в устанавливаемой системе; заметим, что сценарии postinst некоторых пакетов могут пытаться создавать файлы устройств, поэтому данный параметр нужно использовать осторожно
Вам нужно создать файл /etc/fstab
.
# editor /etc/fstab
Вот пример, который можно изменить в соответствии с вашими условиями:
# /etc/fstab: информация о статических монтируемых файловых системах. # # файл. система точка монтир. тип параметры дамп проход /dev/XXX / ext3 defaults 0 1 /dev/XXX /boot ext3 ro,nosuid,nodev 0 2 /dev/XXX none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /media/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /media/cdrom iso9660 noauto,ro,user,exec 0 0 /dev/XXX /tmp ext3 rw,nosuid,nodev 0 2 /dev/XXX /var ext3 rw,nosuid,nodev 0 2 /dev/XXX /usr ext3 rw,nodev 0 2 /dev/XXX /home ext3 rw,nosuid,nodev 0 2
Выполните mount -a
для монтирования всех файловых систем, указанных в файле /etc/fstab
, а для монтирования определённой файловой системы выполните:
# mount /path # пример: mount /usr
В системах Debian точки монтирования для съёмных носителей расположены в /media
, но для обратной совместимости в /
созданы символические ссылки. Создайте их, если нужно. Пример:
# cd /media # mkdir cdrom0 # ln -s cdrom0 cdrom # cd / # ln -s media/cdrom
Вы можете монтировать файловую систему proc несколько раз и в произвольные места, хотя принято в /proc
. Если вы не использовали mount -a
, то перед тем как продолжить, убедитесь, что proc смонтирована:
# mount -t proc proc /proc
Команда ls /proc
теперь должна показывать, что каталог не пустой. Если это не так, можно смонтировать proc за пределами chroot:
# mount -t proc proc /mnt/debinst/proc
Настройка в третьей строке файла /etc/adjtime
имеет значение «UTC» или «LOCAL» и определяет как система должна интерпретировать аппаратные часы — установлены ли они по UTC или показывают местное время. Следующая команда позволяет указать это.
# editor /etc/adjtime
Пример:
0.0 0 0.0 0 UTC
Следующая команда позволяет указать часовой пояс.
# dpkg-reconfigure tzdata
Для настройки сети, отредактируйте /etc/network/interfaces
, /etc/resolv.conf
, /etc/hostname
и /etc/hosts
.
# editor /etc/network/interfaces
Здесь приведены некоторые простые примеры из /usr/share/doc/ifupdown/examples
:
###################################################################### # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # See the interfaces(5) manpage for information on what options are # available. ###################################################################### # We always want the loopback interface. # auto lo iface lo inet loopback # To use dhcp: # # auto eth0 # iface eth0 inet dhcp # An example static IP setup: (broadcast and gateway are optional) # # auto eth0 # iface eth0 inet static # address 192.168.0.42 # network 192.168.0.0 # netmask 255.255.255.0 # broadcast 192.168.0.255 # gateway 192.168.0.1
Enter your nameserver(s) and search directives in /etc/resolv.conf
:
# editor /etc/resolv.conf
A simple example /etc/resolv.conf
:
search hqdom.local nameserver 10.1.1.36 nameserver 192.168.9.100
Укажите DNS-сервер(ы) и директивы search в /etc/resolv.conf
:
# editor /etc/resolv.conf
Простой пример /etc/resolv.conf
:
search hqdom.local nameserver 10.1.1.36 nameserver 192.168.9.100
Укажите имя узла (от 2 до 63 символов):
# echo DebianHostName > /etc/hostname
И базовый /etc/hosts
с поддержкой IPv6:
127.0.0.1 localhost 127.0.1.1 DebianHostName # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Если у вас несколько сетевых карт, то вам нужно разместить имена драйверов в файле /etc/modules
в желаемом порядке. Позже при загрузке каждая карта будет связана с именем интерфейса (eth0, eth1 и т.д.) как вы и ожидали.
Debootstrap will have created a very basic /etc/apt/sources.list
that will allow installing additional packages. However, you may want to add some additional sources, for example for source packages and security updates:
deb-src http://ftp.us.debian.org/debian stretch main deb http://security.debian.org/ stretch/updates main deb-src http://security.debian.org/ stretch/updates main
Make sure to run apt update
after you have made changes to the sources list.
To configure your locale settings to use a language other than English, install the locales
support package and configure it. Currently the use of UTF-8 locales is recommended.
# apt install locales # dpkg-reconfigure locales
To configure your keyboard (if needed):
# apt install console-setup # dpkg-reconfigure keyboard-configuration
Заметим, что клавиатура не может быть настроена, пока работа производится в chroot, но настройка будет произведена после следующей перезагрузки.
Если вы намерены загружать эту систему, то вам скорее всего понадобится ядро Linux и системный загрузчик. Определите доступные пакеты с ядрами с помощью:
# apt search linux-image
Затем установите пакет с ядром, указав подходящий вам вариант.
# apt install linux-image-arch-etc
To make your Debian GNU/Linux system bootable, set up your boot loader to load the installed kernel with your new root partition. Note that debootstrap does not install a boot loader, but you can use apt inside your Debian chroot to do so.
Заметим, что это предполагает, что файловое устройство /dev/sda
было создано ранее. Есть другие методы установки grub2, но они здесь не описаны.
In case you can login to the system via console, you can skip this section. If the system should be accessible via the network later on, you need to install SSH and set up access.
# apt install ssh
Root login with password is disabled by default, so setting up access can be done by setting a password and re-enable root login with password:
# passwd # editor /etc/ssh/sshd_config
This is the option to be enabled:
PermitRootLogin yes
Access can also be set up by adding an ssh key to the root account:
# mkdir /root/.ssh # cat << EOF > /root/.ssh/authorized_keys ssh-rsa .... EOF
Lastly, access can be set up by adding a non-root user and setting a password:
# adduser joe # passwd joe
As mentioned earlier, the installed system will be very basic. If you would like to make the system a bit more mature, there is an easy method to install all packages with «standard» priority:
# tasksel install standard
Of course, you can also just use apt to install packages individually.
После установки все скаченные пакеты будут сохранены в каталог /var/cache/apt/archives/
. Вы можете освободить немного места запустив:
# apt clean