# [unsolved] Czyszczenie osieroconych pakietów

## rzabcio

Zależy mi na zwolnieniu trochę miejsca, a kiedyś trochę eksperymentowałem i mam sporo nieużywanych już śmieci. Grunt w tym, że nawet jeśli wiem, co mam odinstalować to dany pakiet ma sporo zależności, w dodatku zazębionych. Nie mogę wykrozystać equery by wyświetlić i potem wyczyścić wszystkie zależności bo znowu nie mam pojęcia czy coś innego nie potrzebuje danego pakietu.

W jaki sposób wyczyścić osierocone pakiety z ich zależnościami lecz do poziomu, z którego korzysta inny pakiet. Jest jakiś sposób? Może narządko? Czy czeka mnie kilkugodzinna praca z equery?

Pozdrawiam!Last edited by rzabcio on Sun Sep 24, 2006 6:46 am; edited 1 time in total

----------

## szolek

Zobacz plik /var/lib/portage/world. Może Ci coś pomoże. Ale ostrzegam przed wszelkimi ręcznymi zmianami w tym pliku.

----------

## Audiopain

emerge --depclean -p && revdep-rebuild -p?  :Smile: 

----------

## rasheed

Jak to w nowym GWN było - usuń z /var/lib/portage/world to co chcesz a reszte zostaw dla emerge -pv --depclean  :Wink: 

Pozdrawiam,

Mikołaj Klimek.

----------

## noobah

ja z powodzeniem używam:

```
emerge -uDNpv world
```

Jeżeli coś jest do emergowania to trzeba (teoretycznie) emergować, a jak już wszytko gotowe, to:

```
emerge --depclean
```

Podobno jest to ryzykowne, ale nigdy mi się przez to system nie posypał, a dość dużo eksperymentuję ze środowiskami graficznymi: instaluję je, później usuwam te których nie chcę, itp.

----------

## rzabcio

Panowie, z tym worldem to chyba sobie jaja robicie...

Primo. Przecież tam są tylko jakieś podstawy! A ja mam na myśli czyszczenie zależności, a nie front-endowych programów. Takie nie wpisują się do worlda.

Secundo. Nawet jeżeli zdecydowałbym się na wpisywanie wszystkiego do worlda... To ja już wolę equery się pobawić. Taka sama beznadziejna robota...

Wnioskuję jedno. Dobrej metody nie ma...

----------

## Raku

ale do usuwania niepotrzebnych zależności służy właśnie --depclean. A worlda możesz sobie ręcznie wyczyścić, jeśli nie ptorafiłeś się wcześniej poprawnie obchodzić z portage*.

* - np. instalujemy program XXX, on wymaga 25 innych ebuildów do zainstalowania. Na ebuildzie YYY wykrzaczyło się. Pokombinowałeś, i w końcu ręcznie zainstalowałeś YYY przy pomocy emerge YYY, po czym wróciłeś do instalowania XXX (emerge XXX). A gdzie błąd? powinieneś YYY, który jest jedynie zależnością XXX zainstalować komendą emerge --oneshot YYY, bo bez --oneshot zapisuje ci się ona w pliku world.

----------

## rasheed

 *rzabcio wrote:*   

> Panowie, z tym worldem to chyba sobie jaja robicie...

 

Przeczytaj dokumentacje, manuale itp. zanim zaczniesz bzudry pisać.

Pozdrawiam.

----------

## rzabcio

To forum powinno się nazywać "Zrób to sam".  :Smile: 

Panowie! Co mnie obchodzi, że zrobiłem sobie bałagan, że nie potrafię sobie radzić z portage? Co mi dają porady w stylu "trzeba było zrobić wcześniej tak"? Może to i prawda, ale takie teksty są nic nie warte. Dlaczego? Mam problem TERAZ i TERAZ szukam do niego rozwiązania. Miałem nadzieję, że Wasza wiedza pomoże mi rozwiązać problem, ale okazuje się, że pomogła jedynie w wytykaniu błędów.

No nic! Nie takie problemy się robiło - poradzę sobie. Zawsze jest kuroo.  :Very Happy: 

----------

## rasheed

Kolego, Ty na prawdę jesteś tak głupi lub tak ślepy czy tylko chcesz nas wkurzyć? MASZ JAK BYK NAPISANE JAK ROZWIĄZAĆ SWÓJ PROBLEM!

Uff, BP, MSPANC.

----------

## Raku

 *rzabcio wrote:*   

> To forum powinno się nazywać "Zrób to sam". 

 

jeśli o mnie chodzi, mogę zrobić to za ciebie za 500 zł. Za 1000 zł z dojazdem na miejsce. Podaj tylko termin.   :Twisted Evil: 

----------

## noobah

 *rzabcio wrote:*   

> Panowie, z tym worldem to chyba sobie jaja robicie...
> 
> Primo. Przecież tam są tylko jakieś podstawy! A ja mam na myśli czyszczenie zależności, a nie front-endowych programów. Takie nie wpisują się do worlda.
> 
> Secundo. Nawet jeżeli zdecydowałbym się na wpisywanie wszystkiego do worlda... To ja już wolę equery się pobawić. Taka sama beznadziejna robota...
> ...

 

To chyba Ty sobie robisz z nas jaja. Mylisz WORLD z SYSTEM. System to podstawowe pakiety systemowe, a World to WSZYSTKO co instalujesz za pomocą komendy 

```
emerge cośtam
```

 No chyba że instalujesz z opcją --oneshot - to wtedy tylko się instaluje bez dodawania do world.

Zrób jak Ci napisałem, a wyczyścisz system ze zbędnych zależności.

:EDIT:

Ciekawe gdzie on sobie taki postcount nabił?  :Rolling Eyes: 

----------

## garwol

emerge --depclean -pv wyrzuca mi takie cos:

 :Arrow:  http://wklej.org/id/bd32153491

przeciez to chyba pol systemu jest! revdep-rebuild sobie z tym potem poradzi? tylko jak sen usuwac pol systemu zeby go potem odbudowac :/

----------

## sherszen

garwol=rzabcio? Czy mi się tylko wydaje?

A co do oczyszczania systemu spróbuj zaaktualizować porrtage do wersji 2.1.1 depclean wydaje się troszkę bardziej dopracowany ;P

----------

## garwol

 :Shocked:  lol, wydaje ci sie, poprostu gentoo mam od niedawna i sie jeszcze na nim nie znam    :Laughing: 

a system mam aktualny, swiezo po emerge --sync && emerge -uDN world

----------

## noobah

Jak sobie wcześniej namieszałeś w pliku /var/lib/portage/world , to się nie dziwię że Ci chce wszystko wywalić. Szolek ostrzegał że trzeba z tym uważać!

----------

## doman

 *garwol wrote:*   

> emerge --depclean -pv wyrzuca mi takie cos:
> 
>  http://wklej.org/id/bd32153491
> 
> przeciez to chyba pol systemu jest! revdep-rebuild sobie z tym potem poradzi? tylko jak sen usuwac pol systemu zeby go potem odbudowac :/

 

Jeżeli zostało uszkodzone drzewo portów, warto użyć:

```
regenworld
```

Mnie również się kiedyś depclean chciało usuwać niemal wszystko z world i to polecenie pomogło  :Wink: 

----------

## Gabrys

Pamiętajcie:

1. że jeśli na liście tych pakietów, co zostaną wywalone przez

```
emerge --depclean -pv
```

znajdzie się jakiś program, którego nie chcecie usuwać, to należy go dodać do /var/lib/portage/world.

2. jak ktoś instaluje coś za pomocą:

```
emerge =sys-libs/cośtam-3.4.5
```

to taki pakiet nie dopisuje się do worlda! Więc na przyszłość kombinować z package.{keyword,unmask,mask} a na teraz po prostu dodać programy do world.

----------

## sherszen

A co sadzicie o używaniu komendy # regenworld ? Mi wrzuciło tam pakioety które wogole nie powinny sie tam znalesc. Np. wpisalo mi apache2 i mysql, ktore sa zaleznosciami php oraz nvidia-drivers, ktora powinna byc zaleznoscia xorga...

----------

## kfiaciarka

bo to wina use w make.conf  :Smile: 

----------

## Piecia

To ja mam pytanie. Jeżeli jakiś pakiet zainstaluje się w systemie jako zależność z innego pakietu i przez to nie trafi do worlda to przy emerge -u world uaktualni się do wyższej wersji (jeśli ma taką możliwość)? Jeśli nie to czy teraz pakować pakiety do worlda czy wystarczy uaktualnianie poprzez emerge -uD world?

ps. Wcześniej się nad tym nie zastanawiałem dopóki nie przeczytałem tego wątku.

----------

## Gabrys

 *Piecia wrote:*   

> emerge -u world

 Nie *Quote:*   

> emerge -uD world

 tak

Dlatego uaktualnia się system przez -uDN a nie -u

----------

## Lukanus

Ale jeśli chciał mieć więcej miejsca to może przydało by się :

```
rm -r /usr/portage/distfiles/
```

pozatym słyszałem też że sprzątnięcie w ./kde-X.X pomaga

----------

## Piecia

I przy np. przebudowywaniu pakietu ściągać go na nowo. Jasne  :Very Happy: . Przy moim 128kbps łączu wolę trzymać distfiles na dysku.

----------

## garwol

juz chyba wiem dlaczego depclean chce mi wywalac pol systemu. pewnie przez to ze usunalem metapakiet "gnome" przez ktory przy kazdym updacie niepotrzebnie mi sie instalowaly skladniki gnoma ktore wczesniej wywalilem (jakies seamonkeye i epiphany). tylko teraz system twierdzi ze caly gnome jest niepotrzebny  :Confused: 

p.s. Piecia ja przy swoim dysku 8gb jednak wole wszystko sciagac za kazdym razem a tez mam 128kbps  :Very Happy: , a zreszta po co ciagle cos przekompilowywac, postawic raz a dobrze   :Cool: 

----------

## przemos

 *Piecia wrote:*   

> I przy np. przebudowywaniu pakietu ściągać go na nowo. Jasne . Przy moim 128kbps łączu wolę trzymać distfiles na dysku.

 

Punkt widzenia zależy od punktu siedzenia  :Very Happy:  Gdybym miał dysk 200GB to prawdopodobnie nawet nie przyszłoby mi do głowy usuwanie distfiles, a ponieważ mam wielokrotnie mniej co jakiś czas muszę usuwać distfiles - swoją drogą wersje pakietów zbyt często się zmieniają, żeby trzymać stare, już skompilowane.

----------

## Gabrys

Ja tam używam czegoś takiego:

```
deuteranoptic ~ # cat /etc/conf.d/local.stop

# /etc/conf.d/local.stop

if head -c 1 /dev/urandom | grep '[a-z]' 1>/dev/null ; then

        eclean-dist --destructive -t 2w

fi
```

Co jakiś czas przy wyłączaniu kompa (gdy /dev/urandom zwróci literkę od a-z na co ma jakieś 1/10 szans) wykonuje eclean-dist, czyli wywala wszystkie distfilesy, które nie są przypisane do pakietów w systemie i (te*), które są starsze niż dwa tygodnie.

-----------------------

* w tej chwili nie pamiętam, czy żeby plik był wywalony musi być jednocześnie stary i nie przypisany do zainstalowanego pakietu, czy wystarczy, że spełniony jest jeden warunek. Tak czy inaczej, czasami przy poweroffie zwalnia mi tak z 2-3 GB miejsca  :Twisted Evil:  .

----------

