# Install from Existing Linux (Русский)

Это руководство является объединением и обновлением трех предыдущих существующих и очень схожих между собой руководств по установке, размещенной в этой вики. Оно посвящено всем тем, кто хочет установить Arch Linux из под любого другого Linux -- будь то LiveCD или другой предустановленный дистрибутив.

## Введение

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.gz
    tar xzvf pacman-*.pkg.tar.gz

### Установка требуемых файлов на хост

Если вы не против того, что немного намусорите в хосте, вы можете распаковать все загруженные архивы в вашей корневой директории, запустив распаковку от root:

    cd /
    for f in /tmp/archlinux/pacman-*pkg.tar.gz
    do
      tar xzf $f
    done

1. Если вы устанавливаете с LiveCD Ubuntu 9.10 (или других версий), вам нужно больше чем просто файлы pacman (разделяемые библиотеки) для его использования. Используйте скрипт, описанный Lucky [тут], для получения/установки на ваш дистрибутив!
2. Кроме того, вы можете собрать пакеты для вашего дистрибутива используя утилиту alien. За подробностями обратитесь к странице man этой утилиты. Пакеты созданные таким образом, могут быть установлены в ваш хост с использованием обычного менеджера пакетов, доступного тут же. Этот подход обеспечивает более лучшую интеграцию для хоста вашей linux среды. Для debian-подобных просто выполнить следующую команду:

       cd /tmp/archlinux
       alien -d pacman-3.3.3-1-i686.pkg.tar.gz
       alien -d pacman-mirrorlist-20101223-1-any.pkg.tar.gz

   на RPM-подобных системах необходимо заменить параметр "-d" на "-r".

   Теперь, созданные пакеты могут быть установлены с использованием стандартного менеджера пакетов в вашем linux.

3. В Fedora 12, все перечисленные методы установки pacman не работают, но с прекрасным скриптом, описанным [тут], он скачивает и всё устанавливает. У меня он чудесным образом заработал.

4. В Gentoo: просто размаскируйте pacman добавлением `sys-apps/pacman` в `/etc/portage/package.keywords`. Теперь просто запустите `emerge -av pacman`.

   Здесь также есть более детальное руководство.

5. Более старые методы обсуждаются тут.

### Конфигурирование системы хоста

Настройте ваш `/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 с небольшими изменениями и дополнениями.

Categories:

- Русский
- Getting and installing Arch (Русский)