Slackpkg e clean-system su repository ad-hoc
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
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.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
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.
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Slackpkg e clean-system su repository ad-hoc
Ciao a tutti,
ho la necessità di trovare un modo rapido e indolore di clonare (per quanto riguarda la dotazione software) macchine server remote.
Ho scartato a priori la clonazione delle partizioni perchè utilizzo prevalentemente connesioni domestiche e quindi ci metterei troppo di piu', percio' attualmente mi sono fatto degli script che tramite slapt-get, partendo da una lista di pacchetti 'buoni' li installano. questa procedura pero' è un po' scomoda non solo perchè devo tenere traccia dei pacchetti, ma anche perchè, causa elementare conoscenza del bash scripting, la rimozione dei pacchetti superflui è manuale.
mi sono ricordato pero' che slackpkg ha tra le varie funzioni la 'pulizia' del sistema tramite il comando clean-system. da quello che ho visto io questa funzione si basa sulla ricerca dei pacchetti non presenti nella lista che di solito rappresenta l'insieme dei pacchetti slackware ufficiali.
la domanda ora è questa, se mi creo un repository ad-hoc con tutti i pacchetti (ufficiali e non) che mi servono e vi ci faccio puntare slackpkg, riesco ad avere questa funzionalità tramite mezzi 'ufficiali'!??!?! spazzando via slapt-get che per uso desktop è fenomenale, uso server un po' meno?!?!?!
ho la necessità di trovare un modo rapido e indolore di clonare (per quanto riguarda la dotazione software) macchine server remote.
Ho scartato a priori la clonazione delle partizioni perchè utilizzo prevalentemente connesioni domestiche e quindi ci metterei troppo di piu', percio' attualmente mi sono fatto degli script che tramite slapt-get, partendo da una lista di pacchetti 'buoni' li installano. questa procedura pero' è un po' scomoda non solo perchè devo tenere traccia dei pacchetti, ma anche perchè, causa elementare conoscenza del bash scripting, la rimozione dei pacchetti superflui è manuale.
mi sono ricordato pero' che slackpkg ha tra le varie funzioni la 'pulizia' del sistema tramite il comando clean-system. da quello che ho visto io questa funzione si basa sulla ricerca dei pacchetti non presenti nella lista che di solito rappresenta l'insieme dei pacchetti slackware ufficiali.
la domanda ora è questa, se mi creo un repository ad-hoc con tutti i pacchetti (ufficiali e non) che mi servono e vi ci faccio puntare slackpkg, riesco ad avere questa funzionalità tramite mezzi 'ufficiali'!??!?! spazzando via slapt-get che per uso desktop è fenomenale, uso server un po' meno?!?!?!
- ponce
- Iper Master
- Messaggi: 3026
- Iscritto il: mer 5 mar 2008, 16:45
- Nome Cognome: Matteo Bernardini
- Slackware: slackware64-current
- Kernel: 6.6.16
- Desktop: lxde
- Località: Pisa
- Contatta:
Re: Slackpkg e clean-system su repository ad-hoc
puoi farlo facendoti un tuo repository, usandoci insieme slackpkg+ e poi sfruttando i template di slackpkg.
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Re: Slackpkg e clean-system su repository ad-hoc
ma è possibile specificare il template quando si lancia il clean-system??! perchè cosi' sarebbe perfetto.ponce ha scritto:puoi farlo facendoti un tuo repository, usandoci insieme slackpkg+ e poi sfruttando i template di slackpkg.
comunque come ulteriore info vi faccio un esempio pratico perchè magari detta cosi' sembra piu' un mio capriccio
ho dei server su un servizio di hosting virtuale che ha un supporto a slackware che dire pessimo e fargli un complimento, le immagini non si avviano se non si aggiunge un parametro al kernel, installano cose tipo compilatore gcc, le gtk, syslinux, supporto ntfs e mi voglio fermare qui
ora siccome aimè ci dovro' convivere per parecchio, ho la necessita di avere server nuovi in tempi molto meno biblici delle piccole automazioni che sono riuscito a fare da solo (che sono state precedute da un lavoro certosino della /var/log/packages in cerca di pacchetti che non mi servono)
per questo ho bisogno di un sistema che riconosca solo un sottoinsieme di tutti i pacchetti della stable, cosi' che ogni macchina creata su questo servizio di hosting venga 'pulita' utilizzando tools ufficiali(e quindi ben collaudati).
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Re: Slackpkg e clean-system su repository ad-hoc
ok ho trovato l'uovo di colombo (forse )
leggendo questo topic semplicemente utilizzando riesco a produrre la lista dei pacchetti da rimuovere da dare in pasto al mio 'script'
una volta fatta questa 'pulizia' posso usare i template che citava ponce (tra l'altro ho macchine eterogenee quindi web server piuttosto che database server, ognuna con il suo template) in congiunzione con slackpkg+ per avere, per quanto riguarda il software installato due macchine esattamente identiche
grazie
leggendo questo topic semplicemente utilizzando
Codice: Seleziona tutto
grep -Fxvf lista-pacchetti-minimali lista-pacchetti-installati
una volta fatta questa 'pulizia' posso usare i template che citava ponce (tra l'altro ho macchine eterogenee quindi web server piuttosto che database server, ognuna con il suo template) in congiunzione con slackpkg+ per avere, per quanto riguarda il software installato due macchine esattamente identiche
grazie
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Re: Slackpkg e clean-system su repository ad-hoc
ho implementato una nuova funzionalità 'clean-template' su slackpkg che fa quello che serve a me. e dai test preliminari direi che fa quel che mi aspetto.
è stato molto banale perchè sostanzialmente è un clean-system che pero' agisce su liste differenti (lista pacchetti template piuttosto che lista pacchetti ufficiali), ora faccio un po' di prove con slackpkg+ e se vedo che il tutto va al volo magari provo a mandare sta mini pezza al mantainer ufficiale perchè secondo me è una funzionalità molto utile.
ciau
è stato molto banale perchè sostanzialmente è un clean-system che pero' agisce su liste differenti (lista pacchetti template piuttosto che lista pacchetti ufficiali), ora faccio un po' di prove con slackpkg+ e se vedo che il tutto va al volo magari provo a mandare sta mini pezza al mantainer ufficiale perchè secondo me è una funzionalità molto utile.
ciau
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Re: Slackpkg e clean-system su repository ad-hoc
allego di seguito la patch che ho realizzato per la funzionalità clean-template
Come potete vedere è molto semplice e riprende in parte la funzionalità clean-system applicandola pero' ai template.
La patch andrebbe ultimata inserendo il nuovo comando nell'help in linea e nella pagina di man, ma al momento non sapendo nemmeno se la funzionalità puo' essere portata avanti nel canale ufficiale mi sono interessato esclusivamente della funzionalità (tra l'altro ho visto che il progetto ufficiale sembra un po' morto ed è Pat che rilascia delle pezze ufficiose di volta in volta)
devo ammettere che anche se un po' 'faticoso' inizialmente i template sono una buona cosa
EDIT: se pensate che pero' possa essere una cosa utile provo a vedere che mi dicono su linuxquestion :P
RI-EDIT: la patch è stata realizzata con slackpkg presente sulla 14.0
Codice: Seleziona tutto
diff -rupN usr.orig/libexec/slackpkg/core-functions.sh usr/libexec/slackpkg/core-functions.sh
--- usr.orig/libexec/slackpkg/core-functions.sh 2013-11-17 22:24:53.734537348 +0100
+++ usr/libexec/slackpkg/core-functions.sh 2013-11-17 22:35:11.392515109 +0100
@@ -674,6 +674,15 @@ function makelist() {
grep -q " ${NAME} " ${TMPDIR}/tmplist || \
LIST="$LIST ${FULLNAME}"
done
+ ;;
+ clean-template)
+ listpkgname
+ for i in $(comm -2 -3 ${TMPDIR}/lpkg ${TMPDIR}/${TEMPLATE}.tmp) ; do
+ PKGDATA=( $(grep -- "^local $i " ${TMPDIR}/tmplist) )
+ [ ! "$PKGDATA" ] && continue
+ LIST="$LIST ${PKGDATA[5]}"
+ unset PKGDATA
+ done
;;
remove-template)
for i in $INPUTLIST ; do
diff -rupN usr.orig/sbin/slackpkg usr/sbin/slackpkg
--- usr.orig/sbin/slackpkg 2013-11-17 22:24:53.708537349 +0100
+++ usr/sbin/slackpkg 2013-11-17 22:40:00.767504690 +0100
@@ -215,7 +215,7 @@ while [ -n "$1" ] ; do
shift $#
fi
;;
- generate-template|install-template|remove-template|search|file-search|info)
+ clean-template|generate-template|install-template|remove-template|search|file-search|info)
CMD=$1
shift
if [ -n "$1" ]; then
@@ -539,6 +539,29 @@ case "$CMD" in
showlist "$LIST" $CMD
remove_pkg
;;
+ clean-template)
+ TEMPLATE=$ARG.template
+ if [ -e $TEMPLATEDIR/$TEMPLATE ]; then
+ ( cd $TEMPLATEDIR
+ parse_template $TEMPLATE
+ )
+ #INPUTLIST=$(cat ${TMPDIR}/${TEMPLATE}.tmp | tr "\n" " ")
+ else
+ echo -e "$ARG template not found!"
+ cleanup
+ fi
+
+ #makelist $INPUTLIST
+ makelist
+ if [ -n "$LIST" ]; then
+ showlist "$LIST" remove
+ remove_pkg
+ else
+ echo -e "No packages match the pattern for clean-system\n"
+ POSTINST=off
+ fi
+ ;;
+
*)
usage
;;
La patch andrebbe ultimata inserendo il nuovo comando nell'help in linea e nella pagina di man, ma al momento non sapendo nemmeno se la funzionalità puo' essere portata avanti nel canale ufficiale mi sono interessato esclusivamente della funzionalità (tra l'altro ho visto che il progetto ufficiale sembra un po' morto ed è Pat che rilascia delle pezze ufficiose di volta in volta)
devo ammettere che anche se un po' 'faticoso' inizialmente i template sono una buona cosa
EDIT: se pensate che pero' possa essere una cosa utile provo a vedere che mi dicono su linuxquestion :P
RI-EDIT: la patch è stata realizzata con slackpkg presente sulla 14.0