Gyakori jelenség, hogy mikor az ember csomagokat távolít el a rendszerből, kevesebb csomag tűnik el, mint amennyi a telepítéskor települt. Így mindig maradnak használaton kívüli függőségek, melyek sok telepítés után felhalmozódhatnak. Ezzel a programmal ezt lehet morzsolgatni le, ha nyilván tartjuk hogy mire is van szükségünk tulajdonképpen.
Készíthetünk a segítségével olyan csomaglistát mely csak az általunk használt programok csomagneveit tartalmazza. A többi szükségtelen csomag és azok függőségeinek eltávolításához segítséget nyújt.
Újdonságok:
-Apt Peak GitHub Wiki: Példa a használatra
-Ubuntu PPA
-GUI
Tároló: ppa:taxy443/ppeak
Csomag: apt-peak-gtk2
Desktop menüben megjelenik.
- 47102 megtekintés
Hozzászólások
grat a projectnek!;)
- A hozzászóláshoz be kell jelentkezni
Köszönöm. :) Végre valami hasznossal töltöttem az időmet, ezek szerint. :)
- A hozzászóláshoz be kell jelentkezni
Mit jelent az alábbi?
PYTHON-APT BUG: apt_pkg.Dependency.TYPE_RECOMMENDS is not equal to 4
Nekem ezt kiírja, de aztán szerintem jól lefut. 506 csomagot ad vissza. (Ubuntu 11.10, apt-pkg.VERSION=0.8.16~exp5ubuntu13.3, apt_pkg.Dependency.TYPE_RECOMMENDS=3)
Nem lehetne feltenni pl. github.com-ra. Én belenyúlnék a kódba, és szerintem jó lenne, ha verziókövetve lenne.
- A hozzászóláshoz be kell jelentkezni
Oké, elkezdtem amúgy nézegetni a github-ot, de egyelőre még nem tudom kezelni. Ígérem időt szakítok majd a megismerésére. SVN-el már dolgoztam, úgyhogy alap szinten nem lesz nehéz.
"Mit jelent az alábbi?"
Azt hogy küldtem egy bugreportot hogy a apt_pkg.Dependency.TYPE_RECOMMENDS változó értéke helytelen, de a bugfix természetesen csak az újabb verzióknál van jelen. Ezért benn hagytam a programban, hogy saját maga által definiált értéket használjon, de figyelmeztessen, ha ez nem egyezik a rendszer által meghatározottal.
- A hozzászóláshoz be kell jelentkezni
Feltettem:
https://github.com/taxy/packet-peak
Szólj ha valamit tehetek még az ügy érdekében.
pl. Vegyelek be a projectbe? Hogyan?
- A hozzászóláshoz be kell jelentkezni
Köszönöm, nem szükséges. Készítettem egy fork-ot, és én azon tudok dolgozni, ha akarok, és ha valami változás történt, akkor küldhetek egy "Pull request"-et. Megnézheted, hogy tetszenek-e a változások, és merge-ölheted a sajátoddal. Pár apró javaslat, bár egyik sem lényegi.
Próbálok hozzászokni a python3-hoz, ezért használni szoktam a
from __future__ import print_function
sort, így sokszor változtatás nélkül lefut python3 alatt is, természetesen, ha a megfelelő modulok azalatt is megvannak. (Nem néztem a python-apt megvan-e python3-ra.)
Én jobban szeretem a reStructuredText formátumot a markdown-nál, mert a python dokumentáció is azt használja, és azzal formázva a docstringeket a pygmentize szép webes dokumentációt tud készíteni azokból. Ezt az oldalt is így készítettem. Ilyenkor rst kiterjesztés kell: README.rst
- A hozzászóláshoz be kell jelentkezni
A readme abszolút hasra ütésszerűen készült, mert a github felajánlotta. :)
Kösz a tippet.
- A hozzászóláshoz be kell jelentkezni
A másik témában írtad, de ide jobban illik a folytatás.
Erre van példa a programban:
elif pkg.has_provides:
for provider in pkg.provides_list:
if is_available(provider[2].parent_pkg):
deps.add(provider[2].parent_pkg.id)
dependencies(provider[2].parent_pkg, deps)
Úgy látom, Te az apt_pkg -vel modullal dolgzol, én meg a rá épülő apt modullal. Van valami előnye az előbbinek?
- A hozzászóláshoz be kell jelentkezni
Ez a dolog még itt jött a képbe. Akkor ismerkedtem meg ezzel a könyvtárral, és rájöttem hogy ezzel az alacsonyabb szintű API-val sokkal gyorsabban tudom végigpörgetni az összes csomagot. És úgy rémlik mintha a funkcionalitása is teljesebb lenne, de erre már nem tudnék példát mondani. Úgy éreztem hogy ez a magasabb szintű dolog csak konc a nyakamon, ugyanakkor nem sokat ad hozzá kényelmileg. Viszont bizonyos feladatokhoz lehet ez az ideálisabb.
- A hozzászóláshoz be kell jelentkezni
Off: azt áruld el, miért packet, miért nem package?
- A hozzászóláshoz be kell jelentkezni
Azért mert ezt a nevet adtam a fájlnak mert jól hangzott, aztán később elgondolkodtam ezen, meg is kérdeztem valakit, de nem találtam meggyőző érvet hogy átnevezzem.
De ha már kérdezed, hátha tudod hogy melyiket miért használják.
- A hozzászóláshoz be kell jelentkezni
Nekem erről a névről mindég valami hálózati forgalom vizsgáló ugrik be elsőre.
- A hozzászóláshoz be kell jelentkezni
Ebben van valami, kvantummechanikában a hullámcsomagot hívják így. Ráadásul úgy hangzik, mintha egy ubuntu kiadás neve lenne. :)
- A hozzászóláshoz be kell jelentkezni
Lehetne rövidebben: Pack_peak, és akkor mindegyikre jó. (Amúgy, úgy tudom, a githubon lehet átnevezni tárolót, ha mégsem tetszene a név.)
- A hozzászóláshoz be kell jelentkezni
Üdv, majdnem jo, de nekem ezt mondja futattaskor:
$ ./packet_peak.py
Reading package lists... Done
Building dependency tree
Reading state information... Done
List of orphan packages:
Traceback (most recent call last):
File "./packet_peak.py", line 102, in <module>
list_orphans(orphans)
File "./packet_peak.py", line 85, in list_orphans
count_pkg_revrecommends(otherpkg, 1) == 0:
File "./packet_peak.py", line 66, in count_pkg_revrecommends
dependencies(pkg, deps)
File "./packet_peak.py", line 51, in dependencies
count_pkg_revdepends(otherdep.target_pkg, 2) == 1:
File "./packet_peak.py", line 24, in count_pkg_revdepends
rev_depends += count_pkg_revdepends(cache[provided[0]], maxcount)
File "./packet_peak.py", line 24, in count_pkg_revdepends
rev_depends += count_pkg_revdepends(cache[provided[0]], maxcount)
----------------------ugyanez ^ sokszor, majd:--------------------------
File "./packet_peak.py", line 14, in count_pkg_revdepends
if otherdep.parent_pkg.current_ver != None and \
RuntimeError: maximum recursion depth exceeded in cmp
$
Rendszer:
$ cat /etc/issue
Ubuntu 12.04 LTS \n \l
$ dpkg -l | wc -l
1814
$ python --version
Python 2.7.3
Packet Peak verzio: commit 565760f8f71b0cf98405fb71ca4eb098336547c1 (mostani master)
- A hozzászóláshoz be kell jelentkezni
fix committed :)
Tippem szerint az volt a hiba, hogy a virtuális csomagjaid kört alkotnak. ;| Ilyet nem tapasztaltam még máshol.
- A hozzászóláshoz be kell jelentkezni
fix verified :)
most megy jol, kosz
- A hozzászóláshoz be kell jelentkezni
Végül a saját dolgomat nem az apt_pkg, hanem a Pythonosabb, de állítólag még kevésbé kiforrott, apt modullal oldottam meg, valószínűleg nem sokat fogok hozzányúlni a kódodhoz, bár nagyjából átrágtam magam rajta. Remélem azért hasznos lesz, hogy git-tel verzióköveted. Látom, már egy hibajelentés is érkezett és javítódott :-) Sok sikert a projekthez, és kéz- és lábtörést a vizsgaidőszakhoz.
Aminek korábban nem néztem utána: van python3 alá python-apt.
- A hozzászóláshoz be kell jelentkezni
up
- A hozzászóláshoz be kell jelentkezni
A korábbi észrevétellel a csomag félreérthető nevével kapcsolatban tervezel foglalkozni? Illetve hivatalos terjesztésbe nem akarod bevetetni? Szerintem elég hasznos segédeszköz.
- A hozzászóláshoz be kell jelentkezni
A nevet illetően van jobb ötletem. Legyen apt-peak.(egyre inkább zavar hogy az apt szó nincs benne) A két fontos szó benne lenne. Viszont egy átnevezési manőver a PPA-ban érdekes lesz. Metacsomagra kell cserélnem a mostanit. A lényeg hogy ez tetszik, majd megoldom a többit.
Hivatalos terjesztés:De jó lenne, de írták nekem hogy ott elég lassan megy a frissítési mechanizmus, és be kell vallanom, állandóan jönnek még az ötleteim mit lehetne hozzáadni. Kapásból most, hogy a GUI listák frissítése elég béna, ezért ha sok elem van ugrál és lassú. De szerintem már közel járunk a hivatalos terjesztés állapotához. A legnagyobb hiányosság ehhez talán az angol nyelvű dokumentálás.
- A hozzászóláshoz be kell jelentkezni
Ez miben más/jobb, mint az apt-get autoremove?
- A hozzászóláshoz be kell jelentkezni
Abban hogy az autoremove nem működik. A probléma a sok körkörös függőségi lánc tekintetében bonyolult. Ha kicsit agresszívebbek akarunk lenni mint az autoremove sok mindenre oda kell figyelni. Nem akarunk az eltávolítással problémát okozni a rendszer működésében, de egy csomag eltávolításánál legalább annyi függőséget el akarunk távolítani mint amennyit telepítettünk, mikor felraktuk a programot. Ha megfigyeled a nagyon vadul összedrótozott függőségi láncokban ez nem teljesül.
Valamint az sem utolsó szempont hogy nyilván tarthatjuk hogy mit telepítettünk. Vagy ha nem mi, hogy mit telepítettek egy gépre, aminek nincs ikonja a menüben. Mindezt nem összehányva a függőségekkel egy listában.
- A hozzászóláshoz be kell jelentkezni
Sub
--
zsebHUP-ot használok!
- A hozzászóláshoz be kell jelentkezni
Subscrible. :)
- A hozzászóláshoz be kell jelentkezni
A névváltoztatás megtörtént a PPA-ban is. A packet-peak csomagok frissítés után törölhetők. apt-peak marad.
Következő napirendi pont a dokumentálás/fordítás. Utána megnézem mi a helyzet Debianon. Állítólag oda lehet bekerülni először.
- A hozzászóláshoz be kell jelentkezni