Долгое время у меня на ноуте жила Ubuntu - сначала 8.04, потом 9.04, потом 10.04. А потом мне захотелось Rolling Release дистрибутив - чтоб больше уже никогда не заниматься установками и переустановками. Среди кандидатов рассматривались: * Gentoo - отличный дистрибутив, который я постоянно использую на работе, но заниматься сборками на ноуте не хотелось. * Calaculate - улучшенный отличный дистрибутив с предустановками и пресетами. Но опять - те же самые сборки из исходников. * Arch - очень подходит, собирать исходники почти не нужно, на нём я и остановился * Mint Debian (LMDE) - основанный на Debian-testing линукс, с deb-пакетами. С Linux Mint - я уже был немного знаком. Это допиленный и улучшенный клон Ubuntu, переживший уже несколько релизов, и, достаточно стабильный для использования. Однако Mint Debian - это клон Debian, с поддержой модели "постоянных обновлений", и его я как-то упустил из внимания. Mint Debian - оказался для меня удобен и привычен, однако простая установка меня не устраивала. Хотелось еще пошифровать всё, чтобы в случае потери ноута не париться. Однако установщик Mint - примитивен, и каких-либо вариантов не предлагает. Пришлось идти длинным путём, который однако, я уже хорошо себе представлял, поскольку много раз шифровал разделы в Arch. Для начала нужно поставить Mint Debian в какой-нибудь эмулятор, к примеру в VirtualBox, пользуясь его обычным установщиком и ничего не шифруя. К эмулятору желательно иметь доступ по IP-адресу. В процессе установки с помощью стандартного установщика я сделал три раздела на виртуальном жестком диске: sda1 ext2 /boot sda2 ext3 / sda3 swap По большому счету - это просто самая простая схема разбиения, и можно было сделать любую другую. В дальнейшем мы скопируем установленный Mint с виртуальной машины в наши шифрованные разделы. После установки необходимо доставить SSH и задать пароль для рута, чтобы в дальнейшем можно было вытащить установленную систему по SSH. $ sudo bash # apt-get update # apt-get install ssh reiserfsprogs lvm2 # passwd root Теперь можно приступить к установке реальной операционной системы. После загрузки LiveCD - нужно установить необходимые нам пакеты, которые в Mint по умолчанию не установлены: $ sudo bash # apt-get update # apt-get install reiserfsprogs lvm2 Затем очень рекомендуется очистить весь диск случайными данными. Делать это лучше так: # badblocks -c 10240 -wsvt random /dev/sda Можно конечно, использовать и /dev/random, но даже badblocks будет работать не один час, а /dev/random - скорее всего сутки и более. Теперь нужно сделать два линуксовых первичных раздела на реальном жестком диске: sda1 type=83 /boot sda2 type=83 Первый раздел - маленький. Там будет лежать ядро, предназначенное только для чтения, которое никак не шифруется. На втором разделе будет лежать LVM, в котором мы создадим все остальные разделы для нашей системы. Шифруем второй раздел с помощью LUKS. Это такая надстройка над dmcrypt, но пользоваться ей гораздо проще и удобней. # cryptsetup -c aes-xts-plain -s 512 luksFormat /dev/sda2 # cryptsetup luksOpen /dev/sda2 crypt В открытом шифрованном разделе создаём LVM-раздел: # lvm pvcreate /dev/mapper/crypt # lvm vgcreate lvm /dev/mapper/crypt # lvm lvcreate -L 10G -n root lvm # lvm lvcreate -L 500M -n swap lvm # lvm lvcreate -l 100%FREE -n home lvm Теперь делаем наши файловые системы # mkfs.ext2 /dev/sda1 # mkreiserfs /dev/mapper/lvm-root # mkreiserfs /dev/mapper/lvm-home # mkswap /dev/mapper/lvm-swap И монтируем всё в правильное дерево файлов: # mount /dev/mapper/lvm-root /mnt # mkdir /mnt/boot # mount /dev/sda1 /mnt/boot # mkdir /mnt/home # mount /dev/mapper/lvm-home /mnt/home Теперь выкачиваем установленную операционную систему из VirtualBox, к которому мы предусмотрительно сделали доступ по SSH rsync -avz --exclude=proc --exclude=sys --exclude=dev/pts -e ssh root@vhost:/ /mnt После этого виртуальную машину можно выключить - она больше не нужна. В /mnt/etc/crypttab пишем правильную строку: sda2_crypt /dev/sda2 none luks Поправляем также /mnt/etc/fstab: /dev/sda1 /boot ext2 defaults,ro 0 2 /dev/mapper/lvm-root / reiserfs noatime 0 1 /dev/mapper/lvm-home /home reiserfs noatime 0 2 /dev/mapper/lvm-swap none swap sw 0 0 proc /proc proc defaults 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0 Теперь нужно "переключиться" в установленную систему # cp /etc/resolv.conf /mnt/etc # mount --bind /dev /mnt/dev # chroot /mnt # mkdir /sys # mkdir /proc # mount -t sysfs none /sys # mount -t proc none /proc # mount -t devpts none /dev/pts чтобы доустановить необходимые пакеты: # apt-get update # apt-get install ssh reiserfsprogs lvm2 Необходимо также поставить grub в "правильное место": # update-initramfs -u # dpkg-reconfigure grub-pc И теперь завершаем в обратном порядке нашу затянувшуюся установку: # umount /dev/pts # umount /proc # umount /sys # exit # umount /mnt/dev # umount /mnt/home # umount /mnt/boot # umount /mnt # cryptsetup luksClose crypt Кроме указанных действий, перед тем, как перезагрузиться, можно еще попробовать сменить пароль на шифрованном разделе. Это очень полезная операция, поскольку вырабатывает навык решения проблем, связанных с некорректрой загрузкой или повреждением системы. Для смены пароля в LUKS необходимо всего лишь добавить новый ключ, а старый удалить: # cryptsetup luksAddKey /dev/sda2 # cryptsetup luksKillSlot /dev/sda2 0 И для проверки откроем и закроем шифрованный раздел: # cryptsetup luksDump /dev/sda2 # cryptsetup luksOpen /dev/sda2 crypt # cryptsetup luksClose crypt В итоге мы имеем шифрованный корень системы /, шифрованный swap (да, это параноидально), шифрованный /home. У нас также есть быстрая файловая система reiserfs, deb-пакеты и репозиторий Debian-testing, границы которого бесконечны. В общем и целом, Arch, конечно, потребовал бы вдвое меньше телодвижений, зато у нас полноценный и могучий Debian и неисчислимое количество приложений, упакованных в .deb! Кстати, в шифрованный раздел в пару кликов можно было бы установить и обычный Debian с помощью его обычного установщика. И Ubuntu - но только с помощью образа ubuntu- alternate, поскольку обычный ubuntu-gnome содержит такой же примитивный установщик, как и Mint Debian. Можно бы было шифровать отдельно разные разделы, и вообще не использовать LVM. Можно было бы сделать ключи электронными - и хранить их на отдельной секретной флешке. Варианты есть, много - и можно выбрать любой на выбор. (Хехе, а есть ли такой размах в вариантах установки Windows?) А вот теперь: # sync && reboot Всё! P.S. Добавление. На практике оказалось, что не всё так гладко. Если пароль для cryptsetup - буквенный, то при загрузке возникают обломы в виде ошибки: "no key available with this passphrase". Это означает, что keyboard layout загрузчика отличается от того, каким было выполнено шифрование. Проблему можно поискать и в гугле по словам: "cryptsetup keyboard layout". Решение: поменять layout на EN_US до шифрования (dpkg-reconfigure keyboard-configuration), в файле /etc/initramfs-tools/initramfs.conf указать KEYMAP=y А если клавиатура еще и USB, то в файл /etc/initramfs-tools/modules можно добавить: usbcore uhci_hcd ehci_hcd usbhid После чего пересобрать # update-initramfs -u
Linux/Windows Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor