Внимание, эту статью я писал для личного пользования.
Она не может служить заменой официальному руководству, это всего лишь заметка о моём опыте по установке Debian из Linux.
Заметка позволит вам установить Debian из другой Linux-системы, но в случае вопросов сверяйтесь с официалиным руководством.
Для начала определимся, кому такая установка вообще подходит. Если вы уже имеете какой-либо Linux(Live CD, загрузочный USB или установленный дистрибутив), и при этом занимаетесь своими делами в этой системе, и вам неохота записывать загрузочный диск, ждать пока установится новая система, и т.д. - этот способ для вас.
Плюсы данного подхода:
- Вы остаётесь в своей системе, можете смотреть видео, общаться, читать книжку или создавать программу, и при этом устанавливать систему.
- Вам не нужно иметь инсталляционный носитель.
- Это очень гибкий способ установки, и вы её контролируете от начала и до загрузки готовой системы.
- Вы можете сразу установить все нужные дополнительно вам пакеты.
Минусы данного похода:
- Установка может занять больше времени.
- Все действия и их порядок абсолютно зависят от вас. Будьте осторожны, ведь можно накосячить:)
- Руководства по установке и настройке различных аспектов могут не соответствовать современным реалиям.
- Какая-то мелочь(при установке таким образом ArchLinux”a я всего лишь в конфигурационном файле забыл один восклицатеьный знак, в результате пол-часа не мог понять, почему не работает сеть)
Итак, у вас есть компьютер с местом на винте, операционная система Linux с подключеннием к интернету и желание установить Debian из вашего Linux?
Для начала надо подготовить разделы на винте. Есть много разных способов разбиения диска. Я удалил на своём винте пару разделов, и буду использовать неразмеченное место. Так-же вы можете использовать resize2fs, parted, gparted или ntfsresize для уменьшения какого-то из ваших разделов. А неразмеченное место выделить для debian.
Один раздел мы отдаём корню файловой системы. Кроме того, желательно выделить отдельный раздел для home, и раздел для подкачки.
Как изменять и создавать разделы, я думаю известно. Для новичков очень удобен Gparted, для продвинутых юзеров консольные утилиты. Результат по любому будет тем же.
Для установки Debian, и созданных на основе данного дистрибутива дистрибутивов, используют официальное средство развёртывания базовой системы - утилиту debootstrap.
Если вы используете Debian-based дистрибутив в качестве базового дистрибутива, с которого будет производится установка, вы должны установить данную программу командой:
apt-get update
apt-get install debootstrap
Кроме того можно использовать alien для конвертации deb-пакета в другие форматы пакетов, или просто распаковать данный пакет командой:
mkdir debootstrap
cd debootstrap
ar -x debootstrap_0.X.X_all.deb
cd /
zcat /full-path-to-debootstrap/debootstrap/data.tar.gz | tar xv
Создаю точку монтирования для корня файловой системы устанавливаемого Debian:
mkdir /mnt/debian
Монтируем нужный раздел в точку монтирования.
mount /dev/debianvg/debian /mnt/debian
Начинаем разворачивание базовой системы Debian в точку монтирования. Важно обратить внимание на архитектуру, вместо amd64 может быть alpha, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 или sparc. Часто это i386, реже arm, остальное вообще экзотика.
Вместо squeeze может быть другая ветка, например sid(unstable), или unstable/experimental/testing.
Вместо http://ftp.us.debian.org/debian выберите наиболее быстрое зеркало из ближайших к вам в списке зеркал http://www.debian.org/mirror/list.
debootstrap --arch amd64 squeeze /mnt/debian http://ftp.us.debian.org/debian
На всякий случай стоит подмонтировать эти части рабочей файловой системы в вашу устанавливаемую систему. Но данный шаг не является обязательным, если вы не будете устанавливать Grub.
mount -t proc proc /mnt/debian/proc
mount -t sysfs sys /mnt/debian/sys
mount -o bind /dev /mnt/debian/dev
LANG=C chroot /mnt/debian /bin/bash
nano /etc/network/interfaces
Прописываем адресса DNS и директиву поиска.
nano /etc/resolv.conf
Настраиваем имя хоста, где HostName - имя вашего хоста.
echo HostName > /etc/hostname
И создаём файл /etc/hosts вида описывающий хосты, примерно такого вида:
127.0.0.1 localhost
127.0.1.1 HostName
# 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
Где
HostName - всё тоже имя вашего хоста, остальное оставьте так, как в примере.
nano /etc/fstab
Пример:
# файл. система точка монтир. тип параметры дамп проход
/dev/debianvg/debian / ext4 defaults 0 1
/dev/disk/by-label/Seagate /mnt/Seagate ext4 defaults 0 2
/dev/debianvg/swap none swap sw 0 0
proc /proc proc defaults 0 0
/dev/debianvg/lucentcode /home ext4 rw,nosuid,nodev 0 2
Важно не забыть настроить proc, потому что иначе могут быть проблеммы с установкой и эксплуатацией системы.
Не забываем про команду mount -a, это смонтирует все файловые системы. Я как-то забыл это сделать после изменения fstab, в результате долго не мог понять что это у меня за проблеммы с установкой.
Настройка символических ссылок на CD-ROM:
cd /media
mkdir cdrom0
ln -s cdrom0 cdrom
cd /
ln -s media/cdrom
Редактируем /etc/default/rcS, настраивая аппаратные часы, я обычно указываю для них UTC, а локальное время с учётом часовых поясов -забота системы.
nano /etc/default/rcS
Настраиваем часовой пояс и т.д.
dpkg-reconfigure tzdata
Настраиваем локали, я использую UTF-8 для русского и английского языков. Ставьте локали для нужных вам языков, не стоит замусоривать систему поддержкой множества локалей.
aptitude install locales
dpkg-reconfigure locales
Настройка консольной клавиатуры , для вашей локали. Я указываю qwerty и американский английский.
aptitude install console-data
dpkg-reconfigure console-data
Ищем пакет linux-image, доступной версии.
apt-cache search linux-image
Устанавливаем ядрышко. Не стоит ставить сразу несколько разных ядер, у меня это привело к ошибке, лучше потом из готовой системы установить второе ядро.
aptitude install linux-image-2.6.32-5-amd64
Ставим нужные нам пакеты, для поддержки LVM2 и создания initramfs. Это нужно мне, но если вы используете обычные разделы, вам нет смысла ставить lvm2
aptitude install initramfs-tools lvm2 dmsetup
Задаём пароль для аккаунта root.
passwd root
Создаём пользователя, вместо username укажите своё имя пользователя.
adduser username
Я использую группу admin, которой указываю права, сходные с adm. Привычка, делать это не обязательно.
groupadd admin
Добавляем нашего пользователя к группе.
usermod -G admin username
Устанавливаем пакет sudo, и добавляем пользователя к группе sudo.
apt-get install sudo
usermod -G sudo username
Используем команду
chown lucentcode /home
для смены владельца директории, или
chgrp users /home
для смены группы владельцев директории.
И, наконец устанавливаем режим доступа к директории:
chmod 777 /home
aptitude install grub2
grub-install --rechek /dev/вашдиск
Если у вас несколько разных дистрибутивов и вы не хотите разводить беспорядок в вашем grub.cfg, то имеет смысл устанавливать несколько различных загрузчиков, и использовать chainload. Для этого сделайте отдельный раздел для загрузчика первого уровня, и используйте команду:
grub-install --boot-directory=/mnt/grub --no-floppy --recheck /dev/disk/by-label/grub
Где /mnt/grub - это каталог, в который вы подмонтируете ваш раздел. А /dev/disk/by-label/grub - это устройство, представляющее ваш раздел в каталоге /dev.
Затем для каждго из ваших дистрибутивов используйте команду:
grub-install --rechek /dev/раздел с корнем вашей системы
Или, если вы не хотите записывать grub2 в загрузочную область раздела:
grub-install --grub-setup=/bin/true --boot-directory=/boot --no-floppy --recheck /dev/раздел с корнем вашей системы.
Тогда для загрузки вашей системы надо будет в первичном загрузчике grub2(который на отдельном разделе) в grub.cfg прописать примерно следующее:
Вариант для загрузки меню второго уровня, в случае если вы не знаете, что грузить: загрузчик второго уровня, или core.img
menuentry "Наш Linux" {
set root=(ваш диск )
configfile /boot/grub/grub.cfg
}
Или используя chainload:
menuentry "Наш Linux" {
set root=(ваш диск )
chainloader +1
}
Используя core.img:
menuentry "Наш Linux" {
set root=(ваш диск )
multiboot /boot/grub/core.img
}
Установим драйвер для нашей видеокарты:
aptitude search nvidia
aptitude install nvidia-va-driver
Для установки gnome, установите его командой:
aptitude install gnome
Для установки KDE используем команду:
aptitude install kde
Как варианты, возможен выбор пакетов kde-full(его устанавливает оставленный для совместимости пакет kde), или установить kde-core. Последний вариант предпочтительней, т.к. вы получаете только основные пакеты, а затем установите только то, что вам нужно.
aptitude install xfce4
Возможно, вам больше по душе openbox, fxkb и tint2. Или другое, тоже минималистичное окружение - все они ставятся аналогично, и после перезагруки сразу будут вам доступны.
Установите остальные, нужные вам пакеты, перечисляя их через пробел.
aptitude install пакет1 пакет2 пакет3
Поздравляю, после перезагрузки у вы попадёте в простую(нет многих прикольных наворотов их сферы юзабилити, которые есть в некоторых других системах, вроде Ubuntu), но быструю и гибкую систему.
Вот моя система, после перезагрузки.