diff --git a/create_offlinerepo.sh b/create_offlinerepo.sh
index 42be3adf9617fe49a8b8c02e6ae3bf7989bcceca..248e15bdb9149af8c81469e23a3020f09ee06a13 100755
--- a/create_offlinerepo.sh
+++ b/create_offlinerepo.sh
@@ -5,6 +5,7 @@ set -x
 
 iso_file="ubuntu-18.04.1-desktop-amd64.iso"
 workspace="/workspace"
+dest="archive"
 packages="vim htop"
 
 rm -rf "$workspace"/offlinerepo
@@ -12,9 +13,17 @@ mkdir -p "$workspace"/offlinerepo
 
 7z e -so "$iso_file" casper/filesystem.squashfs > "$workspace"/offlinerepo/filesystem.squashfs
 unsquashfs -no-xattrs -d "$workspace"/offlinerepo/squashfs-root "$workspace"/offlinerepo/filesystem.squashfs 
+
 apt-get -o Dir="$workspace"/offlinerepo/squashfs-root update
-apt-get -o Dir="$workspace"/offlinerepo/squashfs-root upgrade --print-uris -qq
-apt-get -o Dir="$workspace"/offlinerepo/squashfs-root install --reinstall --print-uris -qq $packages
 
-# TODO: dpkg-scanpackages ...
+{
+	apt-get -o Dir="$workspace"/offlinerepo/squashfs-root upgrade --print-uris -qq
+	apt-get -o Dir="$workspace"/offlinerepo/squashfs-root install --reinstall --print-uris -qq $packages
+} | cut -d"'" -f2 | while read url; do wget -nc -P "$dest" "$url"; done
+
+{
+	cd "$dest"
+	dpkg-scanpackages . | gzip > Packages.gz
+}
+
 # Maybe sort files into the usual directory structure ("pool/main/g/glib2.0...")