Install from Existing Linux (Русский)
Это руководство является объединением и обновлением трех предыдущих существующих и очень схожих между собой руководств по установке, размещенной в этой вики. Оно посвящено всем тем, кто хочет установить Arch Linux из под любого другого Linux -- будь то LiveCD или другой предустановленный дистрибутив.
Contents
Введение
pacman в Arch Linux может быть настроен (ключ -r) для выполнения операций с любой директории, которая вам нравится, используя при запуске в качестве контекста к ключу "корень".
Это может пригодиться для сборки новых систем Arch Linux с нуля из других LiveCD или предустановленных дистрибутивов. Также, это может пригодиться для создания нового окружения chroot на "хост" системе, поддержке модели "golden-master" для разработки и распостранения, либо других весёлых тем, такие как rootfs-поверх-NFS для бездисковых машин.
В случае с x86_64 хостом, можно даже использовать i686-pacman при сборке 32-битного окружения chroot. Смотрите Arch64 - установка встроенной 32-битной системы.
Во всем руководстве, мы будем ссылаться на разделы как на /dev/hdxx или /dev/sdxx. Зависит от того, какой тип записи для разделов устройств используется в вашей системе. Обычно это:
Диск 1, Раздел 1: /dev/hda1 или /dev/sda1 Диск 1, Раздел 2: /dev/hda2 или /dev/sda2 Диск 2, Раздел 1: /dev/hdb1 или /dev/sdb1
и т.д.
Мы постараемся обозначать их как /dev/sdxx, но на самом деле, зависит от вашей системы и может выглядеть как /dev/hdxx.
В этой статье, "хостом" обозначим компьютер, который используется для выполнения установки, а "целью" назовем компьютер где вы хотите установить Arch. На самом деле, это может быть один и тот же компьютер. Хост не обязательно должен быть системой Arch -- это может быть система на базе Debian или Redhat. Секция, озаглавленная "Настройка хост системы", объясняет, как установить pacman на хост. Следующая секция, озаглавленная как "Настройка целевой системы", объясняет как использовать pacman с системы хоста при установки Arch на целевой системе. Следовательно, если на хостовой системе уже запущен Arch, вы можете сразу перейти к "Настройка целевой системы".
Настройка хост системы
Вам необходимо, установить на хост менеджер пакет в archlinux - pacman в вашем linux окружении. Дополнительно, вам необходимо получить список зеркал pacman, который используется для загрузки с них данных о доступных пакетах и их последующей загрузки.
Получение необходимых пакетов
Необходимо получить требуемые пакеты для вашего хоста. Примеры подразумевают, что вы используете окружение i686. Если у вас на хосте запущен 64-битный linux, тогда вы должны заменить все "i686" на "x86_64".
Номера версий могут отличаться. Проверьте сначала версии пакетов, после укажите их ниже. Номера версий можно узнать для pacman здесь, а для pacman-mirrorlist здесь. После проверки загрузите необходимые пакеты:
mkdir /tmp/archlinux cd /tmp/archlinux wget ftp://ftp.archlinux.org/core/os/i686/pacman-\*.pkg.tar.xz for f in pacman-*pkg.tar.xz do tar xf $f done
Установка требуемых файлов на хост
Если вы не против того, что немного намусорите в хосте, вы можете распаковать все загруженные архивы в вашей корневой директории, запустив распаковку от root:
cd / for f in /tmp/archlinux/pacman-*pkg.tar.xz do tar xf $f done
- Если вы устанавливаете с LiveCD Ubuntu 9.10 (или других версий), вам нужно больше чем просто файлы pacman (разделяемые библиотеки) для его использования. Используйте скрипт, описанный Lucky [тут], для получения/установки на ваш дистрибутив!
- Кроме того, вы можете собрать пакеты для вашего дистрибутива используя утилиту alien. За подробностями обратитесь к странице man этой утилиты. Пакеты созданные таким образом, могут быть установлены в ваш хост с использованием обычного менеджера пакетов, доступного тут же. Этот подход обеспечивает более лучшую интеграцию для хоста вашей linux среды. Для debian-подобных просто выполнить следующую команду:
cd /tmp/archlinux alien -d pacman-3.3.3-1-i686.pkg.tar.xz alien -d pacman-mirrorlist-20101223-1-any.pkg.tar.xz
на RPM-подобных системах необходимо заменить параметр "-d" на "-r".
Теперь, созданные пакеты могут быть установлены с использованием стандартного менеджера пакетов в вашем linux.
В Fedora 12, все перечисленные методы установки pacman не работают, но с прекрасным скриптом, описанным [тут], он скачивает и всё устанавливает. У меня он чудесным образом заработал.
- В Gentoo: просто размаскируйте pacman добавлением sys-apps/pacman в /etc/portage/package.keywords. Теперь просто запустите emerge -av pacman.
Здесь также есть более детальное руководство.
Более старые методы обсуждаются тут.
Конфигурирование системы хоста
Настройте ваш /etc/pacman.conf
как вам нужно и удалите ненужные зеркала с /etc/pacman.d/mirrorlist
. Кроме того, необходимо указать в списке несколько зеркал, так как могут возникнуть ошибки при синхронизации, если зеркал будет слишком мало. Возможно понадобится вручную указать IP адреса вместо полных имен в /etc/pacman.d/mirrorlist
, так как pacman для i686 может не получить информацию об адресах на системах x86_64.
Если вы устанавливаете с LiveCD и ваша система с малым количеством памяти RAM и swap (< 1 GB), не забудьте указать cahedir в /etc/pacman.conf
в новом разделе Arch (например /newarch/var/cache/pacman/pkg
). Иначе, вы можете столкнуться с нехваткой памяти для загрузки необходимых для установки пакетов.
Подготовка диска для Arch
Подготовте и примонтируйте раздел(ы) для новой системы Arch Linux. Если ваша система имеет GUI-утилиты для проведения операций над диском (gparted, cfdisk, diskdrake), то Вы можете их использовать в данной задаче.
Для создания файловой системы ext3 на разделе диска используйте команду
mkfs.ext3 /dev/hdXX
Для reiserfs:
mkreiserfs /dev/hdXX
Для создания раздела подкачки (swap):
mkswap /dev/hdXX
Прочие файловые системы чаще всего имеют свои варианты команды "mkfs", как приведённый выше пример для ext3: mkfs.ext3
.
После создания файловой системы примонтируйте корневой раздел новой системы в /newarch
(взято для простоты и будет использоваться далее в статье). При необходимости, смонтируйте остальные разделы в свои директории ("/home", "/var", "/usr" и т.д.).
Установка базовой системы
Обновление базы pacman
pacman.static -Sy -r /newarch
Команда pacman.static
не требует для работы каких-либо дополнительных библиотек, а ключ "-r" позволяет работать pacman'у в корнем системы, отличном от "/".
Данной командой Вы установите необходимый рабочий минимум системы
pacman.static -S bash pacman filesystem -r /newarch
Для установки всех базовых пакетов воспользуйтесь следующей командой
pacman.static -S autoconf automake bash bin86 binutils bison bzip2 coreutils cpio cracklib \ cryptsetup db dcron device-mapper dhcpcd dialog diffutils e2fsprogs ed file filesystem \ findutils flex gawk gcc gdbm gen-init-cpio gettext glibc grep groff grub gzip initscripts \ iputils jfsutils kbd kernel-headers klibc klibc-extras klibc-udev less libgcrypt libgpg-error \ libpcap libtool libusb licenses lilo logrotate lshwd lvm2 lzo2 m4 mailx make man man-pages \ mdadm mkinitcpio mktemp module-init-tools nano ncurses net-tools openssl pacman pam patch \ pciutils pcmciautils pcre perl popt ppp procinfo procps psmisc readline reiserfsprogs rp-pppoe \ sed shadow slocate sysfsutils syslog-ng sysvinit tar tcp_wrappers udev usbutils util-linux vim \ wget which wireless_tools xfsprogs zlib \ -r /newarch
Подготовка системы
Монтирование важных файловых систем в каталог Arch
mount /dev/ /newarch/dev/ --bind mount /sys/ /newarch/sys/ --bind mount /proc/ /newarch/proc/ --bind
Для работы сети отредактируйте файл /newarch/etc/resolv.conf
или замените его своим /etc/resolv.conf
cp /etc/resolv.conf /newarch/etc/
Вход в среду "chroot"
chroot /newarch /bin/bash
Создайте корректные узлы в /dev
cd /dev mknod -m 660 console c 5 1 mknod -m 660 null c 1 3
Установка ядра
Установка ядра производится при помощи того же pacman:
pacman -S kernel26
Если pacman выдает ошибку:
error: failed to commit transaction (not enough space on disk)
Попробуйте:
cat /proc/mounts > /etc/mtab && pacman -S grub
Кроме kernel26 существуют и другие сборки ядер: kernel26beyond, kernel26suspend2 и т.д. Для их установки необходимо подключить репозиторий extra в файле /etc/pacman.conf
, раскомментировав соответствующие строки. После этой операции необходимо выполнить pacman -Sy
.
Если Вы желаете установить ещё какое-либо программное обеспечение - воспользуйтесь нижеследующей командой
pacman -S _packagename_
Конфигурирование системы
Отредактируйте файл "/etc/fstab", добавив раздел "/", swap и прочие, если таковые имеются.
Отредактируйте файл "/etc/rc.conf" по желаниям и потребностям (:
Отредактируйте "/etc/locale.gen", раскомментировав необходимые Вам локали системы и сгенерируйте локали командой
locale-gen
Установка загрузчика
Отредактируйте конфигурационный файл загрузчика и установите его.
Инструкции по установке GRUB и LILO есть в данной вики.
Завершение установки
Перезагрузитесь в Вашу новую систему!
От автора
Данная статья является переводом статьи Install Arch from within another distro с небольшими изменениями и дополнениями.