Установка Arch без интернета

Описываю свой опыт, т.к. четких инструкций в сети не нашел. Необходимость возникла из-за плохого интернета. Весь процесс проходил на виртуальной машине.
Начало и продолжение установки читаем в https://wiki.archlinux.org/index.php/Beginners'_Guide_(Русский).

1.Cкачиваем пакеты и помещаем на диск\флешку, например в папку: /pkg а файлы *.db в папку /sync
Примечания:
- скачать можно либо все пакеты нужной категории из репозитория, например: http://mirror.yandex.ru/archlinux/
- либо через
pacman -Sp package_group_name > pkglist
создаем файл со списком url для загрузки указанных пакетов. А потом скачиваешь эти пакеты в любое место любой качалкой, умеющей брать список url из файла, например wget -i.
- проверяем имя, если качаем из под Windows, т.к. есть пакеты с некорректными для Windows символами.
2.Монтируем нашу флешку, например:
mkdir /localrepo
mount {указываем нашу флешку} /localrepo
Получаем все пакеты по адресу /localrepo/pkg и /localrepo/sync для датабазы.
3.Редактируем файл:
nano /etc/pacman.conf
указываем новые места для пакетов и датабазы, помним что нужно строчки разкомментировать:
	DBPath = /localrepo/
	CacheDir = /localrepo/pkg
Примечание: Лучше всего датабазы скопировать в /var/lib/pacman/sync и не менять DBPath, т.к. все загружаемые (и из локального репозитория тоже) пакеты будут копироваться в $DBPath/local, т.е. на нашу флешку если мы изменим данный параметр.
4.Редактируем файл
nano /etc/pacman.d/mirrorlist
и удаляем\комментируем все сервера, добавляем новый в самом начале, указывая на место расположения пакетов:
	Server = file:///localrepo/pkg
5.Всё, настройка закончена, запускаем установку:
pacstrap /mnt base base-devel
Если все сделали правильно наблюдаем следующее:
- получаем информацию при синхронизации, что core и т.д. is up to date,
- сколько пакетов в группе,
- список конкретных найденных для установки пакетов с номерами версий,
- видим начало установки, со счетом (установленных/всего для установки) пакетов в скобках.
6.Заходим
nano /mnt/etc/pacman.d/mirrorlist
и включаем онлайн репозитории для устанавливаемой системы, если нужно. Можно настроить и позже. Файл pacman.conf устанавливается стандартный.

Имеет ли смысл добавить это в Wiki? И в какое её место, если да?
А какой смысл ставить Арч, если его не получится постоянно обновлять?
Почему нет?
Таскаем обновления на флешке, сливаем в кэш, и можно обновляться – даже без репов :)
Natrio
Почему нет?
Таскаем обновления на флешке, сливаем в кэш, и можно обновляться – даже без репов :)
что то сливать еще, фи, носить локальное репу на перенсоном винте и все, две строки в пакмен конф и никаких безсмысленных копирований.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
А почему бы не смонтировать или не скопировать флешку туда, где пакмэн ищет пакеты /var/cache/pacman/pkg/ ? А уж *.db так 100% скопировать на их родное место. Или при установке в /mnt/var/cache/pacman/pkg и /mnt/var/lib/pacman/sync/ соответственно и ни чего не править по конфигам?
Зачем куда-то что-то копировать?
pacman -Syuw --dbpath <путь_к_папке> --cachedir <путь_к_папке>
и все дела. )
А почему бы не смонтировать или не скопировать флешку туда, где пакмэн ищет пакеты /var/cache/pacman/pkg/ ? А уж *.db так 100% скопировать на их родное место.
У меня они туда не хотели монтироваться туда. А про копирование db я так же упоминал.

pacman -Syuw –dbpath <путь_к_папке> –cachedir <путь_к_папке>
Эта команда заставит пакман скачивать пакеты и db, но только в указанное место, так? У нас же условия задачи, что интернета нет.
pacman -Syuw –dbpath <путь_к_папке> –cachedir <путь_к_папке>
Эта команда заставит пакман скачивать пакеты и db, но только в указанное место, так? У нас же условия задачи, что интернета нет.
Да, ошибся, если убрать w и немного подумать, то все получиться. )
Посвящается любителям Archlinux, которые хотят и без интернета его использовать.
Добавлять рано, так как оно не совсем работает - это про первый пост.
Предлагаю доработать и выложить в ВиКи, так как на буржуйком языке страницы устарели, а на руссом вообще нет.
Или можно поменять заголовок на - "Установка пакетов без интернета".
Пояснения:
Дело в том, что при выполнении нижеследующей команды происходит получение неполного списка пакетов:
pacman -Sp base > pkglist
К примеру, не хватает пакета archlinux-keyring (а их гораздо больше) для установки базовых пакетов.
Для возможности устновки Archlinux без интернета я сделал вот что:
1. Создаем список всех пакетов на установленной системе, без пакетов установленных руками или из AUR.
pacman -Qqs | grep -v "$(pacman -Qmq)" > pkglist
2. Создаем папку pkg и скачиваем в неё файлы.
pacman -Syw $(< pkglist) --cachedir ./pkg/
3. Затем копируем из рабочей системы файлы баз данных из каталога "/var/lib/pacman/sync" в каталог "pkg".
4. Дальше все шаги из первого поста, начиная с пункта 3.
5. После выполнения 5 пункта, из первого поста, необходимо скопировать базы данных пакетов и сами пакеты в свежеустановленную систему.
Это необходимо выполнить для позможности установки из arch-chroot.

Ну, а чтобы совсем не замарачиваться, после установки базовых пакетов, можно поставить все пакеты из полученного ранее списка.
Это и будет полная копия рабочей системы на другой машине:
pacman -S $(< pkglist)

Есть еще вариант, примерно аналогичный данному, но проверить его не получилось из-за отсутствия пакетов.
Вариант заключается в создании своего репозитория (custom), вот ссылка Installing_packages_from_a_CD_DVD_USB_stick
Как вариант, назвать можно, как - "перенос системы Archlinux", соответственно без конфигурационных файлов. Перенос конфигов - это отдельная тема.

PS
Систему поставил, работает!
в группе base многого нет. так что после установки будет не хватать некоторых видов подключения к сети, файловых систем и т.п.
так что проще скопировать установленную систему из установочного образа и подкорректировать загрузчик и некоторые конфиги...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.