sono andato ad approfondire e questa è la parte che rompe lxc
Codice: Seleziona tutto
@@ -66,8 +66,8 @@
\@^cdrom://@p
\@^local://@p
\@^https\{0,1\}://@p
- \@^ftps\{0,1\}://@p' $CONF/mirrors)
-. $CONF/slackpkg.conf
+ \@^ftps\{0,1\}://@p' ${ROOT}/$CONF/mirrors)
+. ${ROOT}/$CONF/slackpkg.conf
ERROR=""
# Set temporary directory
prima: . $CONF/slackpkg.conf
Codice: Seleziona tutto
. /var/cache/lxc/slackware/slackpkg-conf/slackpkg.conf
dopo: . ${ROOT}/$CONF/slackpkg.conf
Codice: Seleziona tutto
. /var/cache/lxc/slackware/rootfs-current-x86_64//var/cache/lxc/slackware/slackpkg-conf/slackpkg.conf
Ho usato la beta6 e il template da
http://ponce.cc/slackware/testing/new_l ... 6_64-4.txz
funziona ma durante l'installazione la cache dei pacchetti è
Saving to: '/var/cache/lxc/slackware/rootfs-current-x86_64//var/cache/lxc/slackware/cache-current-x86_64/./slackware64/a/bash-5.0.016-x86_64-1.txz'
e il database dei pacchetti
root@beelink:/var/cache/lxc/slackware/rootfs-current-x86_64/var/cache/lxc/slackware/slackpkg-current-x86_64# ls
CHECKSUMS.md5 CHECKSUMS.md5.asc ChangeLog.txt LASTUPDATE PACKAGES.TXT current extra-filelist.gz pasture-filelist.gz patches-filelist.gz pkglist slackware64-filelist.gz testing-filelist.gz
al termine della installazione, dopo la copia in /var/lib/lxc/test1/rootfs
i txz sono ancora tutti presenti non nella cache ma /var/lib/lxc/test1/rootfs/var/cache/lxc/slackware/cache-current-x86_64
ROOT=/var/lib/lxc/test1/rootfs slackpkg update
prende la configurazione dal sistema padre (in verità un pezzo da una parte e un pezzo da un'altra)
ma scrive il db nel sistema guest
Files /var/lib/lxc/test1/rootfs//var/lib/slackpkg/CHECKSUMS.md5.asc and /var/lib/lxc/test1/rootfs/tmp/slackpkg.xXAQ5E/CHECKSUMS.md5.asc differ
e quindi si dovrebbe lanciare con
CONF=/var/lib/lxc/test1/rootfs/etc/slackpkg ROOT=/var/lib/lxc/test1/rootfs slackpkg update
oppure
chroot /var/lib/lxc/test1/rootfs slackpkg update
tornando alla 2.82.2 (slackware 14.2) invece cambia tutto, ed è l'ottimale per lxc in quanto consente il riciclo della cache
Ora la 2.84 è ancora in beta, ma questo problema è presente già dalla 2.83 che è l'attuale in slackware current.
Quelle modifiche servirebbero per usarlo fuori ma che aggiorni il container?
tu cosa fai ora?
la 2.84_beta7 in quest'ottica è migliore:
ROOT=/mnt/mychroot slackpkg update
e ti dimentichi che esiste uno slackpkg (ed eventuale slackpkg+) fuori del chroot oltre ai binari.
mentre la 2.82.2 mi sa che con questa sintassi è un po' buggata.