Как мне установить пакет, если компьютер не подключен к интернету?
evadim 6 ноября, 2008 - 00:25
На машине, на которой требуется установить пакет, выполняем команду
emerge -qpf имя-программы | sed '/^$/d;s/ .*$//' | sort -u > links.txt
Таким образом, у нас получается файл links.txt со списком ссылок.
Копируем links.txt на флешку, несём её на компьютер, где есть интернет, скачиваем файлы:
wget -c -i links.txt
Или закачиваем файлы в вашем любимом менеджере загрузок.
Копируем файлы обратно на флешку, идём к первой машине и копируем их в /usr/portage/distfiles/, продолжаем установку программы.
emerge -av имя-программы
»
- Для комментирования войдите или зарегистрируйтесь

Спасибо, это очень помогло.
Спасибо, это очень помогло. Вот другой вопрос: если с программами это проходит, то при "emerge -av gentoo-sources" он почему-то в нет тянеться, и лежащего там ядра в упор не видит. ???
должно работать, проверь все
должно работать, проверь все еще раз(в том числе и то, что файлы скачались вернр)
Да, точно -- там в названии
Да, точно -- там в названии версии оказалась ошибка: Gentoo искала 2.6.36, а у меня была 2.6.36.1
Может быть его просто вручную
Может быть его просто вручную распаковать, да и все?
Надо сказать, что у меня
Надо сказать, что у меня раньше так и было сделано (ведь я правильно понял: его в /usr/src/linux надо рапаковать?). Но почему то не запускался menuconfig (выдавал ошибку " ***Error: there no rules to make menuconfig" -- вроде так).
/usr/src/linux - обычно
/usr/src/linux - обычно ссылка на папку типа linux-"основная версия ядра"-"имя ядра"-r"доп" например linux-2.6.36-tuxonice-r2
Networkless-развёртывание, дерево portage
В актуальной редакции Handbook наблюдается вполне естественная и закономерная тенденция к отходу от привычного, не предъявляющего жёстких требований к наличию Сети в процессе установки в направлении утилиты
emerge-webrsync.Однако иногда бывает полезен именно старый сценарий.
Чтобы не рыться по архивным версиям документации отмечу здесь.
Подготовка:
1. Скачать необходимые файлы:
Или в более прогрессивном формате:
2. Проверить подпись и контрольную сумму.
Собственно развёртывание:
(уже в дереве разворачиваемой системы)
:wq
--
Live free or die
Я у себя прописал такой вот
Я у себя прописал такой вот alias в .bashrc:
При таком методе в файл
/tmp/upd.urlпопадают все ссылки на скачивание пакетов, что является гарантией того, что загрузятся все пакеты, даже те, которых нет на официальных зеркалах.Далее качать лучше так:
В принципе до недавних пор меня этот метод устраивал чуть более чем полностью. Но у данного метода есть фатальный недостаток: в файл
/tmp/upd.urlпопадают ссылки на скачивание пакетов, которые просто хотят пересобраться и сидя в кафешке с беспланым wifi я трачу дополнительное время на их загрузку. К тому же некоторые пакеты могут скачаться с другими именами (можно, конечно и переименовать, а можно и забыть). По этой причине написал скрипт:# cat /usr/local/bin/emerge-mkfetchscript#!/bin/bash SCRIPTNAME=downloader.sh SCRIPTPWD=/tmp cat<<EOF > $SCRIPTPWD/$SCRIPTNAME #!/bin/bash [ ! -d distfiles ] && mkdir distfiles EOF chmod 755 $SCRIPTPWD/$SCRIPTNAME FETCHCOMMAND="/bin/bash -c 'echo wget -nc \${URI} -O distfiles/\${FILE} >> $SCRIPTPWD/$SCRIPTNAME'" emerge --fetchonly $@На десктопе запускаю команду
emerge заканчивает свою работу с кучей ошибок, но файлик
/tmp/downloader.shтаки создался. Запускаем его в нужное время в нужном месте на любом линуксовом ноуте.Червон00кий.
На днях наступил с этим
На днях наступил с этим скриптом немножко на грабли (детские, да). Одного не пойму, почему
wgetсоздает пустые файлы с ключом-Oкогда сервер не доступен, на нем нет файлов и т.д.? Т. е. по поводу и без. Зачем? Это баг или фича? В общем протёр свои красные глазоньки и подредактировал его:#!/bin/bash SCRIPTNAME=downloader.sh SCRIPTPWD=/tmp cat<<EOF > $SCRIPTPWD/$SCRIPTNAME #!/bin/bash [ ! -d distfiles ] && mkdir distfiles wget_arg="-nc" EOF chmod 755 $SCRIPTPWD/$SCRIPTNAME FETCHCOMMAND="/bin/bash -c 'echo wget \${URI} -O distfiles/\${FILE} >> $SCRIPTPWD/$SCRIPTNAME'" emerge --fetchonly $@ sed -i 's/^wget /wget \$wget_arg /' $SCRIPTPWD/$SCRIPTNAME sed -i 's/ distfiles\/[^ ]*$/&; [ "$(stat -c %s&)" = "0" ] \&\& wget_arg="-c" || wget_arg="-nc"/' $SCRIPTPWD/$SCRIPTNAMEПрошу прощения, если кто-то тоже успел наступить на эти грабли.
Червон00кий.