Newsgroup: it.comp.os.linux.debian
Titolo: deborphan puo' sbagliarsi?

Se do <<deborphan>> mi vengono indicate 7 librerie, tra
le altre la libavutil49 di ffmpeg.
Se per questa, prima di toglierla, do: <<apt-cache show
libavtil49>>, mi dice tra l'altro:
========================
Package: libavutil49
Priority: optional
Description-it: libreria di utilità ffmpeg
 Questa è la libreria con le utilità comuni del progetto ffmpeg. È necessaria
 a tutte le altre librerie ffmpeg.
 .
 Questo pacchetto contiene una versione specifica per Debian dell'oggetto
 condiviso libavutil che dovrebbe essere utilizzato solo da pacchetti Debian.
Tag: role::shared-lib
=================================
mentre se do: <<apt-cache rdepends libavtil49>>, allora mi
da una sfilza di 29 pacchetti, tutti pero' con la pipe "|"
all'inizio, ecco i primi:
libavutil49
Reverse Depends:
 |libvtkedge
 |vtk-tcl
 |python-vtk
 |libvtk5.4
cosa vuol dire metterci "|" e come mai deborphan mi dice
di toglierla pure?
-- 
Saluti, Dalet

 pure?
Problema: come faccio a sapere se ci sono  reverse dependencies 
*installate* di libavutil49, e a conoscerle?
Soluzione:
# aptitude update
$ aptitude search '~i~Dlibavutil49'
Pei dettagli:
$ less /usr/share/doc/aptitude/README
Apt-cache rdepends non distingue fra pacchetti installati e non.
Per queste cose AFAIK è meglio aptitude.
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
_____________________________________________________________________
Non sprecare i cicli idle della tua CPU. Usali per qualcosa di utile.
http://orbit.psi.edu/
 
http://www.worldcommunitygrid.org/index.jsp
 
http://boinc.berkeley.edu/projects.php

Per queste cose AFAIK è meglio aptitude.
Eheh.. ma io aptitude lo odio a morte! allora guarda che
mi son fatto.
Soluzione n. 2:
=-=-=-=-=-=-=- script rdep in /home/bin/ =-=-=-=-=-=-=-
#!/bin/bash
if [ "$1" = "--help" ] || [ "$1" = "" ]; then
echo; cat $0
else
echo
for j in $(apt-cache rdepends $1 | tr -d '|' | tr -d ' '); do
grep $j /home/bin/sett/getsel
done
echo
fi
# Aggiornare se e' il caso /home/bin/sett/getsel dando
# $: dpkg --get-selections > /home/bin/sett/getsel
# Per escludere le librerie dare rdepl
=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=- script rdepl in /home/bin/ =-=-=-=-=-=-=-
#!/bin/bash
if [ "$1" = "--help" ] || [ "$1" = "" ]; then
echo; cat $0
else
echo
for j in $(apt-cache rdepends $1 | tr -d '|' | tr -d ' '); do
grep $j /home/bin/sett/getsel | grep -v "^lib"
done
echo
fi
# Aggiornare se e' il caso /home/bin/sett/getsel
=-=-=-=-=-=-=-=-=-=-=-
-- 
Saluti, Dalet

 mi son fatto.
Credo si possa fare anche senza lo script:
$ apt-cache rdepends pacchetto | tr -d '|' | tr -d ' ' | xargs dpkg -l 2>&1 | grep ^ii
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________________
Non sprecare i cicli idle della tua CPU, né quelli della tua GPU.
 
http://boinc.berkeley.edu
 
 
http://www.worldcommunitygrid.org/index.jsp
 
http://boincsimap.org/
 
http://www.gpugrid.net/
 

$ apt-cache rdepends pacchetto | tr -d '|' | tr -d ' ' \
| xargs dpkg -l 2>&1 | grep ^ii
Va be' ma io questa riga di comando tua la metterei
ugualmente in uno script-utility, ne ho moltissimi,
perche' l'alternativa degli alias col $1 in mezzo non
si puo' fare e poi ho in piu' la sicurezza che posso
guardare cosa fa senza rischio: lo do col --help.
E poi c'e' un'altra cosa da dire, se metti l'elenco dei
pacchetti installati in un file, il comando diventa fulmineo
che non deve tutte le volte aspettare l'elenco da dpkg, e'
un po' come locate vs il dare ogni volta find.
-- 
Saluti, Dalet

 mi son fatto.
Si può forse fare anche senza script:
$ apt-cache rdepends pacchetto | tr -d '|' | tr -d ' ' | xargs dpkg -l 2>&1 | grep ^ii
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________________


 mi son fatto.
Credo lo si possa fare anche senza script:
$ apt-cache rdepends pacchetto | tr -d '|' | tr -d ' ' | xargs dpkg -l 2>&1 | grep ^ii
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________________


 volte aspettare l'elenco da dpkg
Beh, quanto a questo non è che dpkg sia fermo. :)
$ time dpkg -l
[...]
real	0m0.278s
user	0m0.060s
sys	0m0.010s


sys	0m0.010s
Ma scusa cosi' come l'hai dato qui da me da':
1667
real	0m0.621s
user	0m0.568s
sys	0m0.060s
pero' perche' l'ho messo in pipe con wc -l per evitare
l'output qui nel post e per contare i pacchetti.
Se lo do come l'hai scritto tu ci mette 0m1.641s perche'
perde tempo per visualizzarli a video. Eppure la mia
macchina non e' velocissima ma neppure una lumaca.
Pero' l'ho dato anche per libc6 che ha una barca di rdepends
e c'ha messo ben 2 minuti + 5.686 secondi! col mio invece
solo 9 secondi e rotti, ma ho visto che era tutto da rifare
perche' dava 3575 pacchetti dipendenti.
Adesso l'ho rifatto completamente e ci mette un tempo
praticamente nullo anche con libc6 (non passo per rdepends
ma per showpkg).
Insomma prova questa tua:
$: time apt-cache rdepends libc6 | tr -d '|' | tr -d ' ' \
| xargs dpkg -l 2>^1 | grep ^ii
e vedrai che ci metti penso certamente almeno 1 min o piu'.
-- 
Saluti, Dalet

 e vedrai che ci metti penso certamente almeno 1 min o piu'.
Beh, quasi. Effettivamente un laptotp lento, con Sempron 2100 e disco 
fetido, ci ha messo 30 secondi.
Ho controllato per curiosità anche quel che suggerivo io, e mi par 
piuttosto veloce:
$ time aptitude search '~i~Dlibc6'
[... 1219 dipendenze...]
real	0m2.238s
user	0m0.990s
sys	0m0.080s
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum


sys	0m0.080s
Be' adesso l'ho data questa, mi da' 1.742 secondi.
L'ho data perche' non capisco come fai ad avere tempi minori
col Sempron tuo.
Il numero di dipendenze da me attitudine non lo segna, ma di
pacchetti installati che dipendono ne ho 1229, lo vedo con
lo script mio nuovo che ci mette 0.299 secondi.
Ora li ho contati con wc -l, attitude ne mette 1230, uno in
piu', spero si sbagli lui.. si' mette buil-essential che non
e' vero che dipende eheheh:-) inoltre taglia i nomi lunghi.
-- 
Saluti, Dalet

 e' vero che dipende eheheh
Tu dici, eh?
Prova:
lem@lappybaby:~$ apt-cache --recurse -i depends build-essential


lem@lappybaby:~$ apt-cache --recurse -i depends build-essential
Si' ma non credo che si debba considerare questo, perche'
deve bastare la dipendenza diretta, poi se uno (o piu') di
tali pacchetti non ce l'hai gia' installato, allora sara'
lui a dover rispettare le *sue* dipendenze.
Insomma: altrimenti finisce che libc6 o bash o il kernel
stesso dovrebbero figurare in ogni pacchetto - figurati!
-- 
Saluti, Dalet

 Si' ma non credo che si debba considerare questo
Giusto, scusa ma ho poco tempo e non rifletto. Il fatto è solo che con 
aptitude vien cercato un pattern. Quindi, per limitarsi a libc6:
$ aptitude search '~i~D^libc6$'


 xserver-xorg-video-siliconmotio
-- 
Saluti, Dalet