Repository 32bit  Forum
Repository 64bit  Wiki

find_external_SlackPkg_files.sh: uno script per maniaci

Usate questo forum per proporre nuovi articoli, creare gruppi di lavoro, segnalare problemi, collaborare in genere al progetto Wikislacky.

Moderatore: Staff

Regole del forum
1) Citare l'eventuale nome e link dell'articolo della wiki.
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.

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda ZeroUno » lun set 26, 2011 23:15

Procopio ha scritto:non ho risposto in publico perchè non ero sicuro che i file che venivano visualizzati non invadessero troppo la mia stessa privacy


Posta una decina di file a campione di quelli che sei sicuro che non violino la tua privacy. Il concetto è questo: qualsiasi file che pensi che violi la tua privacy non appartiene di sicuro ai pacchetti di slackware.
Se sospetti che un file sia stato mal trovato dallo script dai un grep nomefile /var/log/packages/* e grep nomefile /var/log/scripts/*
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: 4297
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda Procopio » mar set 27, 2011 0:07

si ma infatti il pacchetto trova solo file che non sono della slack, e sono quelli che io voglio cancellare perchè ce ne son troppi, lo script cerca file esterni alla slack in tutto il sistema tranne che nella home oltre che in altre directory, quindi proprio i ile personali non ci sono.

Ho lanciato lo script su tuttto il sistema tranne che
Codice: Seleziona tutto
/fat-c
/bin/[
/usr/bin/[
/usr/share/fonts/*/fonts.dir            mkfontdir
/usr/share/fonts/*/fonts.scale          mkfontscale
/home
/mnt
/opt
/tmp
/usr/share/mime                         update-mime-database
/var/cache/fontconfig                   fc-cache
/var/cache/ldconfig                     ldconfig
(oltre a quelli che già filtra lo script)

il risultato è che ha trovato 6000 file esterni alla distribuzione, ora io li vorrei rimuovere perchè stanno solo lì a creare impiccio ma non voglio fare qualche danno....allego un elenco con quelli che io eliminerei tra questi 6000 che mi ha trovato
Allegati
file_che_toglierei.txt
(224.43 KiB) Scaricato 28 volte
Avatar utente
Procopio
Linux 2.6
Linux 2.6
 
Messaggi: 589
Iscritto il: ven lug 29, 2011 10:50
Località: Torino
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.10.5

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda Procopio » mar set 27, 2011 11:32

niente? ma com è possibile che quando allego il file, sia in mp che in pubblico poi non risponda più nessuno? :roll: :roll: :lol: :lol:
Avatar utente
Procopio
Linux 2.6
Linux 2.6
 
Messaggi: 589
Iscritto il: ven lug 29, 2011 10:50
Località: Torino
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.10.5

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda targzeta » mar set 27, 2011 12:49

Scusa il ritardo con cui scrivo!!! I file che mi hai inviato via email li ho ricevuti correttamente. E' vero che lo script trova un sacco di file ma è anche vero che sono localizzati tutti sotto poche directory. Vediamo un po' di fare un'analisi.

Partiamo dai file da NON CANCELLARE:
  • i file sotto /boot sono creati da lilo, a parte 'boot_message.txt' che credo l'abbia creato tu.
  • il file: /usr/man/whatis viene creato e mantenuto dal comando '/usr/sbin/makewhatis'.
  • I seguenti file:
    Codice: Seleziona tutto
    /bin/bash
    /usr/X11R6
    /usr/X11R6/man
    /usr/X11R6/libexec
    /usr/X11R6/share
    /usr/X11R6/bin
    /usr/X11R6/include
    /usr/X11R6/lib
    fanno correttamente parte della Slackware, ma vengono creati con un doinst.sh un po' troppo complicato e quindi lo script non li rileva.
  • I seguenti file:
    Codice: Seleziona tutto
    /usr/lib/lib3dkit.so.1
    /usr/lib/libncursesw.so.5
    /usr/lib/libdevmapper-event-lvm2snapshot.so.2.02
    /usr/lib/libdevmapper-event-lvm2mirror.so.2.02
    /usr/lib/libncurses.so.5
    sono creati da 'ldconfig'. A mio avviso dovrebbero essere creati da i doinst.sh dei pacchetti, ma comunque...
  • questi
    Codice: Seleziona tutto
    /etc/udev/rules.d/70-persistent-cd.rules
    /etc/udev/rules.d/70-persistent-net.rules
    sono creati da udevd la prima volta che lo si esegue.
  • questo file:
    Codice: Seleziona tutto
    /usr/doc/kbd-1.15.2/utf/âªâ¬
    nel pacchetto relativo porta il seguente nome:'usr/doc/kbd-1.15.2/utf/\342\231\252\342\231\254' dunque lo script non lo trova.
  • Altri file creati a run-time o da te, sono:
    Codice: Seleziona tutto
    /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
    /usr/share/fonts/misc/encodings.dir
    /usr/lib/mozilla/plugins/libflashplayer.so
    /var/lib/alsa/asound.state
    /var/lib/logrotate/status
    /var/lib/slocate/slocate.db
    /var/lib/dbus/machine-id
    /usr/lib/pkgconfig/xkeyboard-config.pc
    /var/lib/dhcpcd/dhcpcd-eth0.lease
  • questi:
    Codice: Seleziona tutto
    /etc/shadow-
    /etc/group-
    /etc/fstab
    /etc/localtime
    /etc/lilo.conf
    /etc/termcap
    /etc/rndc.key
    /etc/hardwareclock
    /etc/default/rscsi
    /etc/passwd-
    /etc/rc.d/rc.keymap
    /tc/rc.d/rc.gpm
    /etc/X11/app-defaults/GXditview-color
    /etc/gtk-2.0/i486-slackware-linux/im-multipress.conf
    /etc/httpd/php.ini
    /etc/httpd/mod_php.conf
    /etc/random-seed
    /etc/ld.so.cache
    /etc/adjtime
    /etc/asound.conf
    /etc/asound.state
    sono tutti file di configurazione creati un po' da te e un po' a run-time da altri comandi.
Ora passiamo ai file e directory che io CANCELLEREI:
  • le directory
    Codice: Seleziona tutto
    /usr/share/mozilla
    /usr/share/ghostscript/8.70
    /usr/share/ghostscript/8.71
    /usr/doc/kbd-1.15
    /usr/lib/perl5/5.10.0
    /usr/lib/perl5/5.10.1
    /etc/rc.d/rc.modules-2.6.29.6
    /etc/rc.d/rc.modules-2.6.29.6-smp
    /etc/rc.d/rc.modules-2.6.33.4
    /etc/rc.d/rc.modules-2.6.33.4-smp
    /etc/modprobe.conf.obsolete
    /etc/sysstat/sysstat.obsolete.use.etc.rc.d.rc.sysstat
    /etc/dhcpc
    sono tutta sporcizia lasciata da vecchi pacchetti o oltro.
  • Questi file:
    Codice: Seleziona tutto
    /lib/libnss_nisplus-2.9.so
    /lib/libc-2.11.1.so
    /lib/libcidn-2.9.so
    /lib/libanl-2.9.so
    /lib/libBrokenLocale-2.11.1.so
    /lib/librt-2.9.so
    /lib/libdl-2.9.so
    /lib/ld-2.11.1.so
    /lib/ld-2.9.so
    /lib/libutil-2.11.1.so
    /lib/libnsl-2.11.1.so
    /lib/libnsl-2.9.so
    /lib/libBrokenLocale-2.9.so
    /lib/libnss_dns-2.11.1.so
    /lib/libpthread-2.9.so
    /lib/libnss_hesiod-2.11.1.so
    /lib/libcrypt-2.11.1.so
    /lib/libdl-2.11.1.so
    /lib/libpthread-2.11.1.so
    /lib/libnss_nis-2.9.so
    /lib/libnss_nisplus-2.11.1.so
    /lib/libresolv-2.11.1.so
    /lib/libc-2.9.so
    /lib/libm-2.9.so
    /lib/libnss_files-2.11.1.so
    /lib/librt-2.11.1.so
    /lib/libm-2.11.1.so
    /lib/libnss_files-2.9.so
    /lib/libresolv-2.9.so
    /lib/libnss_dns-2.9.so
    /lib/libcidn.so.1
    /lib/libanl-2.11.1.so
    /lib/libcrypt-2.9.so
    /lib/libutil-2.9.so
    /lib/libnss_compat-2.9.so
    /lib/libnss_compat-2.11.1.so
    /lib/libnss_hesiod-2.9.so
    /lib/libcidn-2.11.1.so
    /lib/libnss_nis-2.11.1.so
    fanno tutti parte delle glibc. Sulla tua slackware, che dovrebbe essere una 13.37, ci sono le glibc-2.13. Questi file sono stati lasciati lì dai vecchi pacchetti e, se il sistema è aggiornato com'è nel tuo caso, li puoi anche cancellare tutti.
  • Se il sistema ti funziona bene puoi cancellare anche tutti i file di configurazione "vecchi" sotto '/etc/', quelli '.bak'.
  • Anche questa directory:
    Codice: Seleziona tutto
    /usr/X11R6.bak
    non mi sembra possa servire.
  • Tutti i file che finiscono con la '~', sotto '/etc/', così come il file
    Codice: Seleziona tutto
    /etc/#lilo.conf#
    sono file che hai editato e che l'editor ha creato come copia di buckup.
Vediamo ora i file e directory ni, ovvero quelli che io cancellerei, però...
Codice: Seleziona tutto
/usr/lib/mozilla/extensions
/etc/.pwd.lock
/lost+found

Infine tutti i file che spetta a te capire:
  • le sottodirectory di:
    Codice: Seleziona tutto
    /usr/share/apps/kdm/themes/
    saranno i famosi temi che hai scaricato ed installato
  • questi:
    Codice: Seleziona tutto
    /usr/local/bin/JDUpdate
    /usr/local/bin/JDLauncher
    /usr/share/applications/JDownloader-0.desktop
    /usr/share/applications/JDownloader Update-0.desktop
    /usr/share/icons/nuvola/
    /usr/lib/python2.6/site-packages/xf86misc.pyc
    /usr/lib/python2.6/site-packages/PyQt4/
    /usr/lib/pkgconfig/iso-codes.pc
    /usr/lib/pkgconfig/xtrans.pc
    /usr/lib/pkgconfig/shared-desktop-ontologies.pc
    /usr/lib/pkgconfig/lxc.pc
    /usr/lib/pkgconfig/eigen2.pc
    /usr/lib/pkgconfig/m17n-db.pc
    /usr/lib/kde4/kcm_adobe_flash_player.so
    /usr/share/apps/printer-applet/
    /usr/share/apps/guidance-power-manager
    /etc/etc.txt
    /var/cache/packages/
    /var/lib/slackpkg/
    /media/usb
    /usr/share/mplayer/subfont.ttf
    /etc/slackpkg/mirrors
    /etc/modprobe.d/sound.conf
    saprai sicuramente tu cosa sono e se ti servono.
  • La directory:
    Codice: Seleziona tutto
    /usr/lib/firefox-3.5.2
    sei sicuro che ti serve, sembra che tu abbia installato quella versione di FF per i fatti tuoi e poi l'hai dimenticata. Sulla Slackware c'è una versione più aggiornata.
  • Tutti i file sotto:
    Codice: Seleziona tutto
    /etc/ssh
    sono delle coppie di chiavi. Ma tu sei sicuro che ti serva un server SSH attivo? altrimenti tutti quei file li puoi eliminare e disabilitare l'avvio del server con:
    Codice: Seleziona tutto
    chmod -x /etc/rc.d/rc.sshd
  • Tutti i certificati sotto:
    Codice: Seleziona tutto
    /etc/ssl/cert
    devi capire tu se ti servono. Se ti può essere di aiuto, io non ne ho nessuno.
  • Directory e file che mi puzzano sono:
    Codice: Seleziona tutto
    /.config
    /.kde
    /etc/.java
    /usr/lib/java/.systemPrefs/com
    /usr/share/apps/kde/.directory
    /usr/share/apps/.directory
    /media/.hal-mtab
    però l'ultimo potrebbe essere stato creato da hald.
  • Sembra che tu avevi installato il pacchetto 'bluez' e che poi lo abbia disinstallato. In questo caso i file segnalati sotto:
    Codice: Seleziona tutto
    /etc/bluetooth/
    così come:
    Codice: Seleziona tutto
    /etc/rc.d/rc.bluetooth.conf
    puoi anche eliminarli.
  • Se hai il pacchetto blueman, allora la directory:
    Codice: Seleziona tutto
    /var/lib/blueman
    deve restare, altrimenti la puoi eliminare.
  • Questi comandi:
    Codice: Seleziona tutto
    /usr/bin/ubnsylnx
    /usr/bin/ubnexlnx
    /usr/bin/htmlview
    secondo me sono vecchi comandi e se non sai a cosa servono probabilmente li puoi eliminare.
  • Se usi cupsd (per la stampante), allora questi file:
    Codice: Seleziona tutto
    /etc/cups/mime.types
    /etc/cups/mime.convs
    possono restare, altrimenti li puoi eliminare (così come il pacchetto cups). Ma credo ti servano.
  • Su queste directory non so che dirti:
    Codice: Seleziona tutto
    /var/lib/kdm
    /var/lib/rpm/Packages
  • Il file
    Codice: Seleziona tutto
    /usr/share/applications/mimeinfo.cache
    è probabile che abbia un suo senso. Però se lo elimini normalmente non fai danni. Dovrebbe essere ricreato a run-time dal programma che lo usa.
  • I file
    Codice: Seleziona tutto
    /var/tmp/elvis1.ses
    /var/tmp/elvis2.ses
    /var/tmp/elvis3.ses
    /var/tmp/elvis4.ses
    probabilmente li puoi eliminare.
  • I file sotto:
    Codice: Seleziona tutto
    /usr/share/hplip/
    vedi un po' tu. Forse sono stati creati da 'hplip' o forse no.
Note di carattere generale.
  • I file sotto:
    Codice: Seleziona tutto
    /var/run
    sono file creati dai processi attivi. Qui ti devi chiedere se abbia senso e no che tutti quei processi siano attivi.
  • I file sotto:
    Codice: Seleziona tutto
    /var/spool
    sono anchessi file creati dai processi attivi. In particolare, quelli che ti rileva lo script sono i file di 'sendmail' e di 'crond'. Sei sicuro che ti servano questi due demoni attivi? Altrimenti puoi anche eliminare i relativi pacchetti e le directory:
    Codice: Seleziona tutto
    /var/spool/clientmqueue/
    /var/spool/cron
  • Anche i file sotto:
    Codice: Seleziona tutto
    /var/log
    sono file scritti e creati dai processi attivi.
  • I file sotto:
    Codice: Seleziona tutto
    /var/cache
    sono, come dice il nome stesso, delle cache usate dai programmi. A te viene segnalato solo il file:
    Codice: Seleziona tutto
    /var/cache/hald/fdi-cache
    che probabilemente, se hai 'hald'. è normale che ci sia.
  • Tutti i file del tipo:
    Codice: Seleziona tutto
    /var/tmp/kdecache-
    dovrebbero essere i file di cache creati da KDE. Probabilmente questi file hanno senso e sarebbe bene filtrarli dallo script, questa è un ottima segnalazione anche perché a te ce ne sono tantissimi e suppongo ce ne siano sempre tantissimi. Unico consiglio. Elimina la directory:
    Codice: Seleziona tutto
    /var/tmp/kdecache-root
    e non usare più KDE come root.
Per ultimo ho lasciato tutti i file sotto:
Codice: Seleziona tutto
/usr/doc/HTML
alcuni di questi file sembra che facciano parte della Slackware e non dovrebbero essere mostrati dallo script, a meno che tu non abbia fatto qualcosa di strano. Lo script ha evidenziato veramente tantissimi di questi file. Potresti fare questa prova. Dimmi se questo comando ritorna qualcosa:
Codice: Seleziona tutto
grep 'pt/amarok/index.cache.bz2' /var/log/packages/*


Spero che apprezzi lo sforzo! E' più di un'ora che lavoro per te :),
Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6146
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda Procopio » mar set 27, 2011 13:06

esticazzi! :D =D> =D> =D>
Avatar utente
Procopio
Linux 2.6
Linux 2.6
 
Messaggi: 589
Iscritto il: ven lug 29, 2011 10:50
Località: Torino
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.10.5

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda Procopio » mar set 27, 2011 13:15

li ho letti tutti, cancello quelli che secondo te si possono cancellare, qualcuno tra quelli li avevo beccati anch'io...è ovvio che per essere sicuro di cosa faccio, e cancellare tutti i file inutili occorre una conoscenza del sistema, che da me penso trascenderà ancora per un po'..... comunque grazie infinite davvero :)
Avatar utente
Procopio
Linux 2.6
Linux 2.6
 
Messaggi: 589
Iscritto il: ven lug 29, 2011 10:50
Località: Torino
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.10.5

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda targzeta » mar set 27, 2011 13:16

Sì, ma fammi anche sapere di questo:
spina ha scritto:...Per ultimo ho lasciato tutti i file sotto:
Codice: Seleziona tutto
/usr/doc/HTML
alcuni di questi file sembra che facciano parte della Slackware e non dovrebbero essere mostrati dallo script, a meno che tu non abbia fatto qualcosa di strano. Lo script ha evidenziato veramente tantissimi di questi file. Potresti fare questa prova. Dimmi se questo comando ritorna qualcosa:
Codice: Seleziona tutto
grep 'pt/amarok/index.cache.bz2' /var/log/packages/*

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6146
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda targzeta » mar set 27, 2011 13:32

Procopio ha scritto:...è ovvio che per essere sicuro di cosa faccio, e cancellare tutti i file inutili occorre una conoscenza del sistema, che da me penso trascenderà ancora per un po'...
Queste cose si imparano piano piano man mano che che si ha a che fare con i programmi. Comunque, un altro strumento utile è questo. Ti dice se un file fa parte o meno della Slackware e in quale pacchetto si trova. Se ci sono file che lo script rileva e che non conosci, puoi cercare parte del nome con fMANIFEST. Lui ti dirà in che pacchetto sta e così avrai scoperto una cosa in più :).

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6146
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda Procopio » mar set 27, 2011 14:17

  • innanzitutto: in generale, per cancellare i file, do un semplice
    Codice: Seleziona tutto
    #rm /nome/del/file
    per ogni file? o si usa un metodo più oculato in genere?

  • i file.bak sotto /etc per il momento li lascio dove sono in caso saltassero fuori dei problemi in futuro

  • JD è un programma che avevo installato io (jdownloader) di lui non tocco niente

  • /usr/lib/firefox-3.5.2 avevo installato la lingua italiana per quella versione, ma in questo caso do un removepkg o elimino a mano la directory?

  • spina ha scritto:I file sotto:
    Codice: Seleziona tutto
    /var/run
    sono file creati dai processi attivi. Qui ti devi chiedere se abbia senso e no che tutti quei processi siano attivi.
    mah no, direi decisamente che non è il caso avere tutti questi processi attivi, ma non li ho attivati tutti io, è che la personalizzazione della mia disto è ancora molto bassa e quindi girano tante cose che non uso e anche di piu :|

  • Unico consiglio. Elimina la directory:
    Codice: Seleziona tutto
    /var/tmp/kdecache-root
    e non usare più KDE come root.
    ook, userò xfce, va bene?

  • spina ha scritto:Per ultimo ho lasciato tutti i file sotto:
    Codice: Seleziona tutto
    /usr/doc/HTML
    alcuni di questi file sembra che facciano parte della Slackware e non dovrebbero essere mostrati dallo script, a meno che tu non abbia fatto qualcosa di strano. Lo script ha evidenziato veramente tantissimi di questi file. Potresti fare questa prova. Dimmi se questo comando ritorna qualcosa:
    Codice: Seleziona tutto
    grep 'pt/amarok/index.cache.bz2' /var/log/packages/*
    eccoti l'out:
    Codice: Seleziona tutto
    matteo@darkstar:~$ grep 'pt/amarok/index.cache.bz2' /var/log/packages/*
    /var/log/packages/amarok-2.4.0-i486-1:usr/share/doc/HTML/pt/amarok/index.cache.bz2



controllo ancora bene certi file di cui non sono certo e di cui non so se ho i pacchetti installati:)
Avatar utente
Procopio
Linux 2.6
Linux 2.6
 
Messaggi: 589
Iscritto il: ven lug 29, 2011 10:50
Località: Torino
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.10.5

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda ZeroUno » mar set 27, 2011 14:36

tanti /usr/doc/* li trovi in packages/* o scripts/* come /usr/share/doc/....
readlink -f /usr/share/doc/HTML/sv/skanlite/index.cache.bz2
ls -l /usr/share/doc
/var/log/packages/skanlite-0.7-x86_64-1:usr/share/doc/HTML/sv/skanlite/index.cache.bz2
ls -l /usr/doc/HTML/sv/skanlite/index.cache.bz2
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: 4297
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

Re: find_external_SlackPkg_files.sh: uno script per maniaci

Messaggioda targzeta » mar set 27, 2011 14:51

Procopio ha scritto:
  • innanzitutto: in generale, per cancellare i file, do un semplice
    Codice: Seleziona tutto
    #rm /nome/del/file
    per ogni file? o si usa un metodo più oculato in genere?
Io uso sempre 'rm'. Guarda che alcune sono directory e quindi vanno eliminate con 'rm -r'.

Procopio ha scritto:
  • /usr/lib/firefox-3.5.2 avevo installato la lingua italiana per quella versione, ma in questo caso do un removepkg o elimino a mano la directory?
  • Vuoi dire che hai ancora il pacchetto? Normalmente questi file sono esterni ai pacchetti. Se hai il pacchetto fammelo sapere.

    Procopio ha scritto:
  • Unico consiglio. Elimina la directory:
    Codice: Seleziona tutto
    /var/tmp/kdecache-root
    e non usare più KDE come root.
    ook, userò xfce, va bene?
  • Non ti ho detto di non usare KDE, ma di non usarlo come root. L'utente root non dovrebbe mai usare un DE, lui dovrebbe solo occuparsi dell'amministrazione: configura, installa, rimuove.

    Procopio ha scritto:
  • spina ha scritto:Per ultimo ho lasciato tutti i file sotto:
    Codice: Seleziona tutto
    /usr/doc/HTML
    alcuni di questi file sembra che facciano parte della Slackware e non dovrebbero essere mostrati dallo script, a meno che tu non abbia fatto qualcosa di strano. Lo script ha evidenziato veramente tantissimi di questi file. Potresti fare questa prova. Dimmi se questo comando ritorna qualcosa:
    Codice: Seleziona tutto
    grep 'pt/amarok/index.cache.bz2' /var/log/packages/*
    eccoti l'out:
    Codice: Seleziona tutto
    matteo@darkstar:~$ grep 'pt/amarok/index.cache.bz2' /var/log/packages/*
    /var/log/packages/amarok-2.4.0-i486-1:usr/share/doc/HTML/pt/amarok/index.cache.bz2
  • Tutti i file sotto /usr/doc/HTML sono da considerarsi contenuti nei pacchetti, quindi evita di cancellarli (anche se non credo ti servano). Questa è un'altra limitazione dello script che pensavo non valesse la pena di affrontare. In pratica nel pacchetto i file sono installati sotto:
    Codice: Seleziona tutto
    /usr/share/doc
    ma, dato questo non è altro che un link a
    Codice: Seleziona tutto
    /usr/doc
    i file effettivamente sono sotto quest'ultima directory. Questo vuol dire che lo script va a cercare '/usr/doc/nomefile' ma non lo trova in nessun pacchetto perché nei pacchetti c'è invece '/usr/share/doc/nomefile'.

    Fammi sapere la storia di firefox che poi se trovo un modo per andare oltre a questo tipo di limitazioni mi servirai da cavia. Intanto non eliminare i file sotto /usr/share/doc/HTML. Magari se vuoi rieseguire lo script per vedere i risultati delle modifiche, filtra anche questa directory. Ovvero, per ora, puoi aggiungere tranquillamente anche queste entry nel file di filtro:
    Codice: Seleziona tutto
    /usr/doc/HTML
    /var/tmp/kdecache-*
    così l'output sarà moooolto più piccolo.

    Emanuele
    Linux Registered User #454438
    Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
    20/04/2013 - Io volevo Rodotà
    Avatar utente
    targzeta
    Iper Master
    Iper Master
     
    Messaggi: 6146
    Iscritto il: gio nov 03, 2005 14:05
    Località: Carpignano Sal. (LE) <-> Pisa
    Nome Cognome: Emanuele Tomasi
    Slackware: current
    Kernel: latest stable
    Desktop: IceWM

    Re: find_external_SlackPkg_files.sh: uno script per maniaci

    Messaggioda targzeta » mar set 27, 2011 14:55

    ZeroUno ha scritto:tanti /usr/doc/* li trovi in packages/* o scripts/* come /usr/share/doc/....
    readlink -f /usr/share/doc/HTML/sv/skanlite/index.cache.bz2
    ls -l /usr/share/doc
    /var/log/packages/skanlite-0.7-x86_64-1:usr/share/doc/HTML/sv/skanlite/index.cache.bz2
    ls -l /usr/doc/HTML/sv/skanlite/index.cache.bz2

    Hai postato mentre rispondevo a Procopio. Hai idea di come fare per aggiustare questo bug? Io pensavo che i pacchetti ufficiali mettessero tutto sotto /usr/doc e non sotto /usr/share/doc. In effetti però sembra che non sia così, e sembra che non sia così per molti pacchetti di KDE.

    Pensiamoci, io per ora avevo sorvolato il problema, ma mi sa che sarebbe meglio sistemare la cosa,
    Emanuele
    Linux Registered User #454438
    Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
    20/04/2013 - Io volevo Rodotà
    Avatar utente
    targzeta
    Iper Master
    Iper Master
     
    Messaggi: 6146
    Iscritto il: gio nov 03, 2005 14:05
    Località: Carpignano Sal. (LE) <-> Pisa
    Nome Cognome: Emanuele Tomasi
    Slackware: current
    Kernel: latest stable
    Desktop: IceWM

    Re: find_external_SlackPkg_files.sh: uno script per maniaci

    Messaggioda ZeroUno » mar set 27, 2011 18:44

    Sinceramente devo ammettere che non ho scaricato lo script, ma immagino riga per riga il codice ;-) (tra l'altro me ne ero fatto uno abbozzato pure io).

    Comunque per le directory e i casi noti come usr/share/doc puoi fare in modo che venga eliminato il /share/ da tutti i packages/*
    cat /var/log/packages/*|sed 's#^usr/share/doc#usr/doc#'|sort -u >/tmp/elencoslak
    e poi greppi dentro elenco slak.

    Anzi, mi è venuta una idea su come si possa accellerare lo script (quanto ti ci mette per elaborare tutto?), per cui adesso me lo scarico (anzi, fra qualche ora visto che ora spengo il computer se non voglio perdere il treno ;-) ) e poi ti dico.
    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: 4297
    Iscritto il: ven giu 02, 2006 13:52
    Località: Roma / Castelli
    Nome Cognome: Matteo Rossini
    Slackware: current
    Kernel: slack-current
    Desktop: ktown-latest
    Distribuzione: 01000000-current

    Re: find_external_SlackPkg_files.sh: uno script per maniaci

    Messaggioda ZeroUno » mar set 27, 2011 23:40

    no, questo no
    Codice: Seleziona tutto
    for file in $(<file_list);
    do
        if ! grep -m 1 -q "^${file#/}\(\.new\)\?/\?$" /var/log/packages/* && ! grep -m 1 -q "^${file#/}$" other_files
        then
            echo $file
        fi
    done

    perchè ti vuoi del male!..., anzi, perchè vuoi del male ai processori!!!???
    semmai vuoi confrontare file per file
    if ! cat /var/log/packages/* other_files |grep ....
    ...

    oppure se proprio vuoi andare di grep
    cat /var/log/packages/* other_files|sed 's/^/\//' > slack_files
    grep -f slack_files file_list
    (o il contrario con -v e/o qualcos'altro)

    ma ottieni ancora complessità computazionale N^2

    risultati lineari li trovi con diff
    sort -u slack_files > slack_files.sort
    sort -u file_list > file_list.sort
    diff slack_files.sort file_list.sort

    100.000 volte più veloce.

    # wc -l file_list
    598922 file_list

    # cat /var/log/packages/* other_files |wc -l
    402115

    mi aspetto un output di c.a. 200000 file.
    in mezzora di esecuzione sono a 36000 (e sto cuocendo il processore).
    Lo fermo quì.
    la diff mi ci ha messo circa un secondo ;-) (ed ho sia i file di troppo che i file mancanti). La sort 3 secondi. Il collo di bottiglia è solo nella find.

    Interessante aggiunta da mettere potrebbe essere che se in una alberatura di directory non c'è neanche un file di slackware, allora mi venga mostrata solamente la directory.
    Per esempio, un pacchetto installato dai sorgenti con il make install classico, e --prefix=/opt/programma. Se questo pacchetto ha 10000 file, è molto più utile che mi venga mostrata solo la directory /opt/programma.
    Se la cosa funziona bene non servirebbe neanche mettere la /root come eccezione. Semplicemente ti direbbe "dentro /root ci sono file".
    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: 4297
    Iscritto il: ven giu 02, 2006 13:52
    Località: Roma / Castelli
    Nome Cognome: Matteo Rossini
    Slackware: current
    Kernel: slack-current
    Desktop: ktown-latest
    Distribuzione: 01000000-current

    Re: find_external_SlackPkg_files.sh: uno script per maniaci

    Messaggioda targzeta » mer set 28, 2011 11:13

    Oh Matteo. Mi fa piacere che hai spulciato il codice, con uno come te si può andare sul sicuro.

    Detto questo, anche io ero spinto verso una soluzione di tipo sort + comm (più che diff). Prima ti posto le mie statistiche:
    Codice: Seleziona tutto
    109618 file_list
       5333 other_files
     114951 totale

    tempo della find:
    real    0m24.796s
    user    0m1.080s
    sys     0m0.940s

    tempo for:
    real    17m24.731s
    user    2m37.470s
    sys     2m52.310s
    (il consumo di CPU era sempre sul 60%, quasi meno di quando scrivo qui su Slacky a causa del problema di FF con le gif animate). Ho provato a fare delle sort ed effettivamente non credevo che ordinare più di 100.000 fosse un'operazione così rapida. Quindi facciamo un bel cambiamento all'algoritmo. Però ci sono dei però:
    • come hai visto i pattern di ricerca non sono semplici, per ogni file cerco anche il relativo '.new' oppure uno '/' finale (find non termina le directory con gli slash).
    • bisogna sempre risolvere il problema con i link simbolici
    • per fare l'aggiunta che suggerisci serve un analisi posteriore.
    Il problema più grande è proprio quello della corrispondenza 1:1 che esige 'comm'. Questo vuol dire che, secondo me, bisognerebbe fare quanto segue:
    • un'analisi primaria dei file sotto /var/log/packages per:
      • eliminare le entry inutili, vedi le prime righe e le entry install/.
      • aggiungere, per ogni file '.new', il relativo file senza '.new'
      • aggiustare i link simbolici (ti spiega più giù l'idea)
    • ordinare i due file ed eseguire 'comm'
    • eventualmente fare un'analisi post-processo per troncare il contenuto che suggerivi tu, magari mettendo un '/' finale al nome della directory così da rendere immediata l'individuazione.
    Un processo di questo tipo mi evita anche il problema con le RE per i comandi tipo '['.

    Per i link simbolici: più che fare delle soluzioni specifiche per i link noti, secondo me si possono analizzare i link simbolici creati dal pacchetto aaa_base, lì si trovano tutti i link canonici.

    Tu come la vedi? Secondo me è meglio portare avanti questo script e farlo bene piuttosto che avere ognuno il suo con le proprie carenze.

    Emanuele

    P.S. Inoltre, tra i file da aggiungere io ci metterei anche tutti quelli copiati o spostati dai doinst.sh e non solo i link simbolici creati, che dici?
    Linux Registered User #454438
    Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
    20/04/2013 - Io volevo Rodotà
    Avatar utente
    targzeta
    Iper Master
    Iper Master
     
    Messaggi: 6146
    Iscritto il: gio nov 03, 2005 14:05
    Località: Carpignano Sal. (LE) <-> Pisa
    Nome Cognome: Emanuele Tomasi
    Slackware: current
    Kernel: latest stable
    Desktop: IceWM

    PrecedenteProssimo

    Torna a Wikislacky

    Chi c’è in linea

    Visitano il forum: Nessuno e 0 ospiti