@ponce fix lxc template per slackware 15

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
conraid
Staff
Staff
Messaggi: 13453
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da conraid »

Perdonate se mi intrometto, non uso lxc ma chroot. E uso tranquillamente slackpkg dentro il chroot. È simile la situazione?
Quelle modifiche servirebbero per usarlo fuori ma che aggiorni il container?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5299
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13453
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da conraid »

Io lo uso da dentro il chroot, come lo userei in una installazione normale.
E anche nel container del repository (che mi ha creato ponce) lo uso da dentro normalmente. Non mi è mai capitato di usarlo da fuori.
Mentre invece uso molto installpkg --root (upgrade no che non supporta ---root purtroppo). È comodo però da fuori se qualcosa non va. Ma sinceramente non avevo mai provato.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5299
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

upgradepkg supporta la variabile d'ambiente ROOT=
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2736
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.5.3-ck1
Desktop: lxde
Località: Pisa
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ponce »

io non vedo particolare utilita' nell'usare slackpkg fuori dai container: anche se uno non ci vuole entrare, con lxc-attach, ad esempio, non ci sono problemi a lanciare comandi da fuori dentro i container.
quello che continuo a chiedermi, comunque, e' l'utilita' di *forzare* $CONF sotto $ROOT e sinceramente ancora non riesco a vederla.

P.S. ZeroUno, usi mica qualche sorta di cache per accedere al web? lo chiedo perche' hai messo un link a un file che non e' piu' li' da un po' e credo che tu stia vedendo una directory vecchia (lxc e' alla versione 3.0.4 e va pacchettizzato con lo SlackBuild).

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5299
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

Ha rollbackato.
Giustamente se èvero che potrebbero esserci più use cases per $ROOT, solo lxc è quello in mainline.
Però a parte 'blacklist' che gli ho segnalato qualche post prima, a questo punto rimane la gestione della cache dei pacchetti e la workdir.

WORKDIR=$cache/slackpkg-$release-$arch

visto che lo crei from scratch e serve solo a install time potrebbe diventare

WORKDIR=../slackpkg-$release-$arch

idem per TEMP

Altrimenti si dovrebbe rollbackare parte di slackpkg a 2.82.2 e verrebbe chiusa la strada ad altri usi.

Non so. Comunque non consideri la beta8 come candidata a stabile
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5299
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: @ponce fix lxc template per slackware 15

Messaggio da ZeroUno »

La riorganizzazione di $ROOT credo sia cominciata quì:
https://www.linuxquestions.org/question ... 175600630/
che ha fatto aggiungere $ROOT a WORKDIR e TEMP creando quindi var/cache/lxc/slackware dentro il container

ma da nessuna parte ho trovato informazioni riguardo " Fixup blacklist checking and appending when using alt $ROOT Thanks to dive for the report. "


comunque ho provato su lxc 3.0.4 (quello linkato prima era un aborto di copia incolla) questa modifica

Codice: Seleziona tutto

@@ -199,8 +197,8 @@ touch $CONF/blacklist
 cat <<EOF > $CONF/slackpkg.conf
 # v2.8
 ARCH=$arch
-TEMP=$cache/cache-$release-$arch
-WORKDIR=$cache/slackpkg-$release-$arch
+TEMP=../cache-$release-$arch
+WORKDIR=../slackpkg-$release-$arch
 DELALL=off
 CHECKMD5=on
 CHECKGPG=on
e con la beta8 riesce tranquillamente a riciclare la cache per più di un container (ed è anche più pulito il rootfs)

L'aggiunta di CONF=$ROOT/etc/slackpkg se ROOT è specificato e CONF no, mi è venuta in mente come via per salvare capra e cavoli :). lxc funziona e ROOT=... slackpkg funziona uguale. Altrimenti se specifichi ROOT= e non specifichi CONF= si prenderebbe /etc/slackpkg del sistema padre che non è tanto bello.

Avevo trovato un altro che usava $ROOT ma non riesco più a ritrovarlo.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Rispondi