У цьому розділі описано, як встановити Debian GNU/Linux з наявної системи Unix або Linux, не використовуючи програму встановлення за допомогою меню, як описано у решті частини посібника. Це «посібник з перехресного встановлення» було запитано користувачами, які переходять на Debian GNU/Linux з Red Hat, Mandriva та SUSE. У цьому розділі передбачається, що ви маєте певні навички введення команд *nix та навігації по файловій системі. У цьому розділі, $
символізує команду, яку потрібно ввести у поточній системі користувача, а #
- команду, яку потрібно ввести у Debian chroot.
Після того, як ви налаштували нову систему відповідно до ваших уподобань, ви можете перенести до неї наявні дані користувачів (якщо такі є) і продовжити роботу. Отже, це «нульовий час простою» Debian GNU/Linux встановлення. Це також розумний спосіб роботи з обладнанням, яке інакше не дружить з різними завантажувальними або інсталяційними носіями.
Примітка | |
---|---|
Оскільки це переважно ручна процедура, вам слід пам'ятати, що вам доведеться самостійно виконати багато базових налаштувань системи, що також вимагатиме більше знань про Debian і про Linux загалом, ніж при виконанні звичайного встановлення. Не варто очікувати, що в результаті цієї процедури ви отримаєте систему, яка буде ідентичною системі, встановленій за допомогою звичайної інсталяції. Ви також повинні пам'ятати, що ця процедура описує лише основні кроки з налаштування системи. Можуть знадобитися додаткові кроки з інсталяції та/або налаштування. |
За допомогою ваших поточних інструментів для роботи з розділами *nix, перерозподіліть жорсткий диск за потреби, створивши принаймні одну файлову систему плюс область підкачки. Вам потрібно близько 1012МБ вільного місця для встановлення лише консолі, або близько 2539МБ, якщо ви плануєте встановити X (більше, якщо ви маєте намір встановити середовища робочого столу, такі як GNOME або KDE Plasma).
Далі створіть файлові системи на розділах. Наприклад, створити файлову систему ext3 на розділі /dev/sda6
(це наш приклад кореневого розділу):
# mke2fs -j /dev/sda6
Щоб створити файлову систему ext2, пропустіть -j
.
Ініціалізуйте та активуйте підкачку (підставте номер розділу для передбачуваного розділу Debian підкачки):
# 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[21]. Встановіть 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 може завантажувати потрібні файли безпосередньо з архіву під час його запуску. Ви можете замінити будь-яке дзеркало архіву Debian на http.us.debian.org/debian
у наведеному нижче прикладі команди, бажано, щоб воно було близьким до вас у мережі. Дзеркала перераховані за посиланням http://www.debian.org/mirror/list.
Якщо у вас є інсталяційний образ trixie Debian GNU/Linux, змонтований за адресою /cdrom
, ви можете підставити URL-адресу файлу замість http URL: file:/cdrom/debian/
Замість ARCH
у команді debootstrap підставте один з наступних параметрів: amd64
,
arm64
,
armel
,
armhf
,
i386
,
mips64el
,
mipsel
,
ppc64el
,
riscv64
,
s390x
.
# /usr/sbin/debootstrap --arch ARCH trixie \ /mnt/debinst http://ftp.us.debian.org/debian
Якщо цільова архітектура відрізняється від хоста, слід додати параметр --foreign
.
Тепер у вас на диску є справжня система Debian, хоча і досить схудла. chroot в неї:
# LANG=C.UTF-8 chroot /mnt/debinst /bin/bash
Якщо цільова архітектура відрізняється від хоста, вам слід спочатку скопіювати qemu-user-static на новий хост:
# cp /usr/bin/qemu-ARCH-static /mnt/debinst/usr/bin # LANG=C.UTF-8 chroot /mnt/debinst qemu-ARCH-static /bin/bash
Після вкорінення вам може знадобитися встановити визначення терміналу, наприклад, щоб воно було сумісним з базовою системою Debian, наприклад:
# export TERM=xterm-color
Залежно від значення TERM, можливо, вам доведеться встановити пакунок ncurses-term
, щоб отримати його підтримку.
Якщо цільова архітектура відрізняється від хоста, вам потрібно завершити багатоетапне завантаження:
/debootstrap/debootstrap --second-stage
Наразі /dev/
містить лише найпростіші файли пристрою. Для наступних кроків інсталяції можуть знадобитися додаткові файли пристрою. Існує декілька способів зробити це, і те, який з них ви оберете, залежить від хост-системи, яку ви використовуєте для встановлення, від того, чи збираєтеся ви використовувати модульне ядро, і від того, чи збираєтеся ви використовувати динамічні (наприклад, за допомогою udev
) або статичні файли пристроїв у новій системі.
Ось кілька доступних варіантів:
встановіть пакунок makedev і створіть набір статичних файлів пристроїв за замовчуванням за допомогою (після chrooting)
# apt install makedev # mount none /proc -t proc # cd /dev # MAKEDEV generic
вручну створити лише певні файли пристрою за допомогою MAKEDEV
прив'язати монтування /dev з хост-системи до каталогу /dev у цільовій системі; зауважте, що скрипти постінсталяції деяких пакунків можуть спробувати створити файли пристроїв, тому цей параметр слід використовувати з обережністю
Вам потрібно створити /etc/fstab
.
# editor /etc/fstab
Ось зразок, який ви можете модифікувати під себе:
# /etc/fstab: статична інформація про файлову систему. # # file system mount point type options dump pass /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/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 # e.g.: 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 ззовні кореня:
# 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 -- конфігураційний файл для ifup(8), ifdown(8) # Дивіться сторінку інтерфейсів(5) для отримання інформації про те, які опції # доступні. ###################################################################### # Інтерфейс зворотного зв'язку більше не потрібен, але його можна використати, # якщо потрібно. # # auto lo # iface lo inet loopback # Для використання dhcp: # # auto eth0 # iface eth0 inet dhcp # Приклад статичного налаштування IP-адреси: (мережа, трансляція та шлюз необов'язкові) # # auto eth0 # iface eth0 inet static # адреса 192.168.0.42 # мережа 192.168.0.0 # мережева маска 255.255.255.0 # трансляція 192.168.0.255 # шлюз 192.168.0.1
Введіть ваш(і) сервер(и) імен та директиви пошуку в /etc/resolv.conf
:
# editor /etc/resolv.conf
Простий приклад /etc/resolv.conf
:
search example.com 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 # Для хостів з підтримкою IPv6 бажано вказати наступні рядки ::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 створить базовий файл /etc/apt/sources.list
, який дозволить встановити додаткові пакунки. Однак, можливо, ви захочете додати деякі додаткові джерела, наприклад, для пакунків з вихідними текстами та оновлень безпеки:
deb-src http://ftp.us.debian.org/debian trixie main deb http://security.debian.org/ trixie-security main deb-src http://security.debian.org/ trixie-security main
Не забудьте виконати apt update
після внесення змін до списку джерел.
Щоб налаштувати параметри локалі для використання мови, відмінної від англійської, встановіть пакет підтримки locales
і налаштуйте його. Наразі рекомендується використовувати локалі UTF-8.
# apt install locales # dpkg-reconfigure locales
Налаштувати клавіатуру (якщо потрібно):
# apt install console-setup # dpkg-reconfigure keyboard-configuration
Зверніть увагу, що клавіатуру не можна налаштувати у chroot, але її буде налаштовано під час наступного перезавантаження.
Якщо ви маєте намір завантажувати цю систему, вам, ймовірно, знадобиться ядро Linux та завантажувач. Визначте доступні попередньо запаковані ядра за допомогою:
# apt search linux-image
Потім встановіть обраний вами пакунок ядра, скориставшись назвою пакунка.
# apt install linux-image-arch-etc
Щоб зробити вашу Debian GNU/Linux систему завантажуваною, налаштуйте ваш завантажувач так, щоб він завантажував встановлене ядро з вашого нового кореневого розділу. Зауважте, що debootstrap не встановлює завантажувач, але ви можете використати apt у вашому Debian chroot для цього.
Зауважте, що це передбачає, що файл пристрою /dev/sda
було створено. Існують альтернативні методи встановлення grub2, але вони виходять за рамки цього додатка.
Якщо ви можете увійти в систему через консоль, ви можете пропустити цей розділ. Якщо згодом система буде доступна через мережу, вам потрібно встановити SSH і налаштувати доступ.
# apt install ssh
За замовчуванням root-логін з паролем вимкнено, тому налаштувати доступ можна, встановивши пароль і повторно увімкнувши root-логін з паролем:
# passwd # editor /etc/ssh/sshd_config
Цю опцію слід увімкнути:
PermitRootLogin yes
Доступ також можна налаштувати, додавши ключ ssh до облікового запису root:
# mkdir /root/.ssh # cat << EOF > /root/.ssh/authorized_keys ssh-rsa .... EOF
Нарешті, доступ можна налаштувати, додавши не root-користувача і встановивши пароль:
# adduser joe # passwd joe
Як згадувалося раніше, встановлена система буде дуже простою. Якщо ви хочете зробити систему більш зрілою, існує простий спосіб встановити усі пакунки з пріоритетом «стандартний»:
# tasksel install standard
Звісно, ви також можете скористатися командою apt для встановлення пакунків окремо.
Після встановлення у папці /var/cache/apt/archives/
буде багато завантажених пакунків. Ви можете звільнити трохи місця на диску під час бігу:
# apt clean