Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
W synaptic jest dość przydatny filtr pakietów, który pokazuje min. lokalnie zainstalowane pakiety, tj. takie pakiety, które są obecne w systemie i nie ma ich dostępnych w żadnym repozytorium. Zwykle te paczki to pozostałość po aktualizacji, które się wywala. Chodzi o pakiety typu libcostam0 -> libcostam1 .
Jak przy pomocy apt/aptitude wyszukać takie pakiety?
Offline
Nie do konca apt/aptitude, ale ja uzywam czegos takiego:
apt-show-versions | awk '/No available version in archive/{print $1}'
Offline
aptitude search ?obsolete
Offline
p deborphan - Program potrafiący znaleźć nieużywane pakiety np. biblioteki
Offline
Ja wolę się ograniczyć tylko do apt/aptitude.
aptitude search ?obsolete[/quote]
Właśnie testuje i to nie jest to. W synapticu mam kilka pakietów w local, a to powyższe polecenie zwraca nic.apt-show-versions | awk '/No available version in archive/{print $1}'[/quote]
To też nic nie zwraca. xD
Te testowe pakiety mają:Kod:
newer than version in archivePewnie tam w synapticu jest szereg przypadków.
Ostatnio edytowany przez morfik (2015-10-11 15:26:16)
Offline
Na początku pytałeś o co innego.
Spróbuj coś z tego:
http://noone.org/blog/English/Computer/Debian/CoolTools/Showing%20packages%20newer%20than%20in%20archive%20with%20aptitude.html
Tu masz ściągawkę:
https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html
Offline
Myślałem, że local to jeden przypadek i odnosi się do pakietów, których nie ma już w repo, no bo local w końcu. xD
Ja generalnie co jakiś czas zaglądam do synaptica właśnie w poszukiwaniu tych pakietów local i je usuwam, bo one są zbędne prawie zawsze. Czasem mam jakiś problem z pinningami i uniemożliwiają one aktualizację pakietu i one też tam są wylistowane. W każdym razie, szybki rzut oka na ten local i wiem wtf. I chciałbym takie pakiety znaleźć w konsoli by nie musieć zaciągać do tego synaptica.
W sumie na dobrą sprawę to chyba te pakiety by szło ogarnąć via apt-show-versions . Jak będzie jakaś aktualizacja co zostawi parę śmieci to przeskanuję te pakiety i zobaczę co tam wypluje.
Offline
Do tego wystarczy w nazwie takiego lokalnego pakietu umieścić ciąg znaków i potem wystarczy samo dpkg -l i grep
Offline
Tzn jak? Jeśli jest aktualizacja i pakiet libcostam0 zmienił nazwę na libcostam1 i ten libcostam0 nie został z jakiegoś powodu wywalony z systemu (czasem nie są wywalane z automatu ale można ręcznie wywalić bez psucia niczego), to jak mam coś dodać do niego by go grepem wyłapać? xD
Offline
To się zdecyduj bo już się pogubiłem ;)
Ostatnio pisałeś o przypadku „newer than version in archive”. Myślałem, że to pakiety które sam instalowałeś z innych źródeł lub sam przebudowywałeś podbijając numerek wersji.
Przy aktualizacjach (właściwie to migracjach) libcostam0 -> libcostam1 wystarcza:
aptitude search ~o
lub:
aptitude search ~dtransitional.*removed~i
bo stare wersje wylatują z repozytorium.
Offline
Ja chciałbym tylko by coś zwróciło mi pod konsolą pakiety, które są listowane w local w synapticu. A tam wychodzi na to, że mogą być:
- nowsze od zainstalowanej
- starsze od zainstalowanej
- których nie ma w repo (np. zostały usunięte), lub
- które zostały instalowane via dpkg
- i pewnie jakieś inne jeszcze
Wszystkie te pakiety łączy jedno, że wersja zainstalowana nie pasuje do tego co jest aktualnie w repozytorium. Czyli jeśli nowa wersja pakietu pojawiła się w repo, ta która jest aktualnie w systemie, trafi do local w synapticu — po aktualizacji zaś zniknie. Jeśli jest nowsza, to w sumie nie wiem — pojawia się to jak usunie się adres repozytorium z sources.list. Jeśli jakiś pakiet wyleci z repo, to go nie ma w repo, zatem trafia do local. Podobnie jak instalowane pakiety via dpkg — ich również nie ma w repo, zatem trafiają do local.
Dokładniej już nie umiem wyjaśnić o listing jakich pakietów mi chodzi. xD
aptitude search ~dtransitional.*removed~i[/quote]
Jak będą jakieś pakiety, to przetestuje to polecenie.
Offline
[quote=morfik]Wszystkie te pakiety łączy jedno, że wersja zainstalowana nie pasuje do tego co jest aktualnie w repozytorium.[/quote]
aptitude search '?any-version(~i !~O)'
Offline
To też nie jest to, co w synapticu. xD
Aktualnie mi to zwróciło:
# aptitude search '?any-version(~i !~O)' i A binutils => GNU assembler, linker and binary utilities [unstable] # aptitude full-upgrade The following packages will be upgraded: binutils cpp-5 g++-5 gcc-5 gcc-5-base geany-plugin-spellcheck geany-plugins-common gir1.2-gtksource-3.0 gpa java-common libasan2 libatomic1 libcc1-0 libcilkrts5 libgcc-5-dev libgcc1 libgfortran3 libgomp1 libgtksourceview-3.0-1 libgtksourceview-3.0-common libitm1 liblsan0 libmpx0 libpython3-stdlib libpython3.4 libpython3.4-minimal libpython3.4-stdlib libquadmath0 libstdc++-5-dev libstdc++6 libtsan0 libubsan0 mkvtoolnix mkvtoolnix-gui python-debianbts python-pkg-resources python-setuptools python3 python3-minimal python3-pkg-resources python3.4 python3.4-minimal ruby-gettext ruby-locale 44 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 111 MB of archives. After unpacking 7,412 kB will be freed. Do you want to continue? [Y/n/?] n Abort.
A w synaptic nie ma nic w local.
Offline
A pokaż (przed aktualizacją):
apt-cache policy binutils gcc-5
binutils powinieneś mieć zainstalowane w wersji niedostępnej aktualnie w żadnym repozytorium, a gcc-5 w wersji starszej niż dostępna w repozytoriach, ale takiej samej jak w którymś repozytorium.
Offline
Nie wiem jakiego masz Synaptica, ale wszędzie piszą, że działa to inaczej.
If a package with the same name is found in a repository the version number is compared. If the version number in the repository is the same or newer then it is assumed that the package was most likely installed from that repository. If no matching package is found in any repository then synaptic declares the installed package as "local or obsolete".
There are three situation which can cause an installed package to be not found in any repository:
You downloaded and installed the package yourself (dpkg -i foo.deb).
You installed the package from a repository and later removed that repository (for example a PPA).
You installed the package from a repository and later the package got removed from that repository (likely to happen in the proposed repository).
About the term "local or obsolete": the first item would be the "local" part, while the other two would be the "obsolete" part.[/quote]
http://askubuntu.com/questions/44930/what-does-local-or-obsolete-mean-in-synaptic
Tu podobne wnioski:
https://raphaelhertzog.com/2011/02/07/debian-cleanup-tip-2-get-rid-of-obsolete-packages/
I nie pasuje to do Twojego:Czyli jeśli nowa wersja pakietu pojawiła się w repo, ta która jest aktualnie w systemie, trafi do local w synapticu — po aktualizacji zaś zniknie.[/quote]
Zresztą byłoby to zupełnie bez sensu.Offline
Nie wiem jakiego masz Synaptica, ale wszędzie piszą, że działa to inaczej.[/quote]
Ja nie wiem jak to działa. Ja tylko próbuję zinżynierować to wstecznie. xDYou downloaded and installed the package yourself (dpkg -i foo.deb).
You installed the package from a repository and later removed that repository (for example a PPA).
You installed the package from a repository and later the package got removed from that repository (likely to happen in the proposed repository).[/quote]
No to prawie trafiłem. xDI nie pasuje to do Twojego:
Czyli jeśli nowa wersja pakietu pojawiła się w repo, ta która jest aktualnie w systemie, trafi do local w synapticu — po aktualizacji zaś zniknie.[/quote]
W sumie fakt. Tak jak to widać we wcześniejszym poście. Niby jest trochę pakietów do aktualizacji. ale nie ma ich w local.binutils powinieneś mieć zainstalowane w wersji niedostępnej aktualnie w żadnym repozytorium, a gcc-5 w wersji starszej niż dostępna w repozytoriach, ale takiej samej jak w którymś repozytorium.[/quote]
No i tak jest:Kod:
# apt-cache policy binutils gcc-5 binutils: Installed: 2.25.1-6 Candidate: 2.25.1-7 Version table: 2.25.1-7 0 990 http://ftp.de.debian.org/debian/ sid/main amd64 Packages *** 2.25.1-6 0 100 /var/lib/dpkg/status 2.25.1-3 0 500 http://ftp.de.debian.org/debian/ testing/main amd64 Packages gcc-5: Installed: 5.2.1-21 Candidate: 5.2.1-22 Version table: 5.2.1-22 0 990 http://ftp.de.debian.org/debian/ sid/main amd64 Packages *** 5.2.1-21 0 500 http://ftp.de.debian.org/debian/ testing/main amd64 Packages 100 /var/lib/dpkg/status @Offline
No to „moje” działa tak, jak opisałeś, że ma działać. ;)
Offline
A nie można po prostu:
aptitude -> Enter
i po odpaleniu mamy sekcję: Pakiety lokalne lub przestarzałe
Offline
Pojawił się jeden pakiet w synapticu: vlc-plugin-pulse i tak to wygląda:
# apt-show-versions | awk '/No available version in archive/{print $1}' vlc-plugin-pulse:all # aptitude search \~o i vlc-plugin-pulse => transitional dummy package for vlc [] # aptitude search "~dtransitional.*removed~i" i vlc-plugin-pulse => transitional dummy package for vlc [] # aptitude search '?any-version(~i !~O)' i vlc-plugin-pulse => transitional dummy package for vlc []
Także wszystkie zdają się łapać ten śmieć. Dodatkowo w aptitude jest również wypisany:
[img]http://i.imgur.com/s9yhbK7.png[/img]
Offline
Time (s) | Query |
---|---|
0.00018 | SET CHARSET latin2 |
0.00007 | SET NAMES latin2 |
0.00129 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.136.22.204' WHERE u.id=1 |
0.00074 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.136.22.204', 1732797067) |
0.00069 | SELECT * FROM punbb_online WHERE logged<1732796767 |
0.00089 | SELECT topic_id FROM punbb_posts WHERE id=291626 |
0.00007 | SELECT id FROM punbb_posts WHERE topic_id=27794 ORDER BY posted |
0.00080 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27794 AND t.moved_to IS NULL |
0.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00234 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27794 ORDER BY p.id LIMIT 0,25 |
0.00112 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27794 |
Total query time: 0.00827 s |