From b1687a3d1d8ccecf2113506bd6c5cd1b97fa89b2 Mon Sep 17 00:00:00 2001 From: mmoebius/ALUG <fs11linux.20.masuefke@spamgourmet.com> Date: Sat, 29 Sep 2012 03:37:38 +0200 Subject: [PATCH] Script to create an offline APT repository Put all your .deb - files in a directory "pool" , say /path/to/debarchive/pool Run this on a shell: $ cd /path/to/debarchive $ bash mkdebarchive.sh * disconnect Network $ apt-get update $ apt-get install <stuff> * win, win and win again. TODO: Order of APT source files. /etc/apt/sources.list seems to be prefered over any /etc/apt/sources.list.d/foo.list . Maybe workaround: clear /etc/apt/sources.list; move contents to /etc/apt/sources.list.d/99original.list . --- shellscripte/usbrepo/mkdebarchive.sh | 70 ++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100755 shellscripte/usbrepo/mkdebarchive.sh diff --git a/shellscripte/usbrepo/mkdebarchive.sh b/shellscripte/usbrepo/mkdebarchive.sh new file mode 100755 index 0000000..1ae1809 --- /dev/null +++ b/shellscripte/usbrepo/mkdebarchive.sh @@ -0,0 +1,70 @@ +#! /bin/bash + +echo "mkdebarchive.sh (C) 2012 Mmoebius/ALUG License: GPLv3 GNU Public License" + +echo "Prerequisite: Alle .deb-Packete liegen in ./pool/" +test -d ./pool | exit 2 + +echo +echo "Scanne nach Packages" +dpkg-scanpackages -a noarch pool > Packages.noarch +dpkg-scanpackages -a amd64 pool > Packages.amd64 +dpkg-scanpackages -a i386 pool > Packages.i386 + +echo +echo "Erzeuge dist-Verzeichnisse" +mkdir -p dists/precise/lip/binary-amd64 +mkdir -p dists/precise/lip/binary-i386 + +echo +echo "Erzeuge Packages.bz2" +cat Packages.noarch Packages.amd64 | bzip2 -c9 > dists/precise/lip/binary-amd64/Packages.bz2 +cat Packages.noarch Packages.i386 | bzip2 -c9 > dists/precise/lip/binary-i386/Packages.bz2 + +echo +echo "Erzeuge './dists/precise/lip/binary-amd/Release'" +cat >dists/precise/lip/binary-amd64/Release <<EOF +Archive: precise +Version: 12.04 +Component: main +Origin: Ubuntu +Label: Ubuntu +Architecture: amd64 +EOF + +echo +echo "Erzeuge './dists/precise/lip/binary-i386/Release'" +cat >dists/precise/lip/binary-i386/Release <<EOF +Archive: precise +Version: 12.04 +Component: main +Origin: Ubuntu +Label: Ubuntu +Architecture: i386 +EOF + +echo +echo "Erzeuge './Release'" +cat >Release <<EOF +Origin: Ubuntu +Label: LIP Ubuntu Extra Packages +Suite: precise +Version: 12.04 +Codename: precise +Date: Wed, 30 Sep 2012 01:49:23 UTC +Architectures: amd64 i386 +Components: lip +Description: Ubuntu Precise 12.04 +EOF + +echo +echo "Erzeuge einen geeigneten Eintrag für APT in 'sources.list.d/01lip-stick-extra.list'" +echo "deb [ trusted=yes ] file:/${PWD#/} precise lip" > /etc/apt/sources.list.d/01lip-stick-extra.list + +echo +echo "User: Bitte gleich 'apt-get update' starten. Das sollte das Repository einbinden" +echo "In diesem Verzeichnis liegen noch 3 Packages.* -Dateien. Die können gelöscht werden" +echo "Ende." + +#end; + -- GitLab