[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Аналог debootstrap для udeb-пакетов



On Mon, 30 Jan 2017 22:50:12 +0300
Alexander Galanin <al@galanin.nnov.ru> wrote:

> Недавно понадобилось собрать нестандартный initramfs...
> захотелось узнать, как решать проблему разбора зависимостей и скачивания
> пакетов автоматически.

Решил задачку. Пришлось подглядеть, что именно делает multistrap, но
зато получился скрипт, который ещё и подписи пакетов валидирует.
Скачанные пакеты окажутся в packages/cache/archives, а распаковать их
можно через dpkg -x.

mkdir -p packages/cfg packages/cfg/conf packages/cfg/preferences.d packages/cfg/sources.list.d packages/state packages/cache

echo 'deb http://apt-proxy:9999/debian jessie main/debian-installer' > packages/cfg/sources.list
cp -r /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d packages/cfg
printf '' > packages/status

APT_OPTS="-o Apt::Architecture=armhf -o Apt::Default-Release=jessie -o Apt::Get::Download-Only=true -o Apt::Install-Recommends=false -o Apt::Install-Suggests=false -o Dir=$(pwd)/packages -o Dir::Etc=$(pwd)/packages/cfg -o Dir::Etc::Parts=$(pwd)/packages/cfg/conf -o Dir::Etc::Trusted=$(pwd)/packages/cfg/trusted.gpg -o Dir::Etc::TrustedParts=$(pwd)/packages/cfg/trusted.gpg.d -o Dir::Etc::PreferencesParts=$(pwd)/packages/cfg/preferences.d -o Dir::State=$(pwd)/packages/state -o Dir::State::Status=$(pwd)/packages/status -o Dir::Cache=$(pwd)/packages/cache"

apt-get $APT_OPTS update
apt-get $APT_OPTS -y install busybox-udeb e2fsprogs-udeb

-- 
Alexander Galanin


Reply to: