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/.
Strony: 1
W swoich "notatkach" mam taki "trik" (chyba ArnVaker go kiedyś podawał?) na instalację od razu wielu pakietów:
aptitude search ~i > pakiety
generuje nam listę pakietów zainstalowanych, a
aptitude install `cat pakiety`
umożliwia ich zainstalowania np. na innym systemie
Moje pytanie: czy w analogiczny sposób może dokonać deinstalcji wielu pakietów i czy ta lista musi mieć koniecznie taką formę jaką generuje aptitude czy może wystarczą same nazwy pakietów, np.:
gnome-about gnome-alsamixer gnome-applets
Ostatnio edytowany przez Akkon (2010-11-25 22:32:16)
Offline
Akkon napisał(-a):
(chyba ArnVaker go kiedyś podawał?)
http://dug.net.pl/tekst/89/odtworzenie_zestawu_paki … wym_systemie/
:)
Akkon napisał(-a):
czy w analogiczny sposób może dokonać deinstalcji wielu pakietów
Naturalnie. Nie chcesz chyba jednak usunąć wszystkich pakietów? ;)
Akkon napisał(-a):
i czy ta lista musi mieć koniecznie taką formę jaką generuje aptitude czy może wystarczą same nazwy pakietów, np.:
Właściwie to muszą powinny być same nazwy pakietów (stąd opcja -F %p).
=========================
Napisz może co konkretnie chcesz osiągnąć, a nuż znajdzie się jeszcze jakiś "ułatwiacz"...
Offline
Wystarczą same nazwy pakietów. Tak naprawdę te dwa poniższe polecenia niczym się nie różnią:
aptitude install pakiet1 pakiet 2 pakiet3 aptitude install $(cat jakis-plik-z-lista-pakietow)
Możesz w ten sam sposób dokonywać deinstalacji pakietów, ale może się zdarzyć że chcesz usunąć pakiet od którego zależy inny pakiet który z kolei chcesz zostawić. Przy instalacji nie ma tego problemu, ponieważ jeśli chcesz zainstalować jaki pakiet a nie uwzględnisz jego zależności, to aptitude sam je dociągnie (i oznaczy jako „usuń jeśli nie będą wymagane przez inny pakiet”).
Offline
ArnVaker napisał(-a):
Naturalnie. Nie chcesz chyba jednak usunąć wszystkich pakietów? ;)
Oczywiście, że nie. Mając jednak taką listę mogę przecież ją sobie wyedytować. Z drugiej strony jeśli chcemy usunąć wszystkie pakiety powiązne ze sobą nazwą (np. pakiety środowiska graficznego), to można to zrobić jeszcze łatwiej
aptitude remove ~ignome
Minio napisał(-a):
Możesz w ten sam sposób dokonywać deinstalacji pakietów, ale może się zdarzyć że chcesz usunąć pakiet od którego zależy inny pakiet który z kolei chcesz zostawić. Przy instalacji nie ma tego problemu, ponieważ jeśli chcesz zainstalować jaki pakiet a nie uwzględnisz jego zależności, to aptitude sam je dociągnie (i oznaczy jako „usuń jeśli nie będą wymagane przez inny pakiet”).
To polecenie powinno chyba zabezpieczać na taką okoliczność
aptitude hold pakiet
Offline
hold wstrzymuje pakiet przed aktualizacją do nowszej wersji, ale nie usunięciem. Zaznaczenie pakietu jako wstrzymany (hold) spowoduje jednak, że zaniechana zostanie próba jego usunięcia jeśli taka była planowana (w ramach jednej operacji aptitude).
Offline
Przetestowałem obydwa sposoby (tzn. deinstalacja i instalacja z listy pakietów) i wszystkie operacje wykonały się bez najmniejszego problemu. Wykonie opcji hold na pakiecie wstrzymało jego deinstalcję.
Dzięki za porady
Offline
A to ciekawe co piszesz:
root@pingwin:~# aptitude hold zim Nie zostaną zainstalowane, zaktualizowane ani usunięte żadne pakiety. 0 pakietów aktualizowanych, 0 instalowanych, 0 do usunięcia i 0 nie aktualizowanych. Do pobrania 0 B archiwów. Zajęte po rozpakowaniu: 0 B. root@pingwin:~# aptitude remove zim Następujące pakiety zostaną USUNIĘTE: python-xdg{u} zim 0 pakietów aktualizowanych, 0 instalowanych, 2 do usunięcia i 0 nie aktualizowanych. Do pobrania 0 B archiwów. Zwolnione po rozpakowaniu: 3260 kB. Kontynuować? [T/n/?] (Odczytywanie bazy danych ... 131692 files and directories currently installed.) Usuwanie zim ... Usuwanie python-xdg ... Przetwarzanie wyzwalaczy dla python-support... Przetwarzanie wyzwalaczy dla hicolor-icon-theme... Przetwarzanie wyzwalaczy dla shared-mime-info... Unknown media type in type 'all/all' Unknown media type in type 'all/allfiles' Unknown media type in type 'uri/mms' Unknown media type in type 'uri/mmst' Unknown media type in type 'uri/mmsu' Unknown media type in type 'uri/pnm' Unknown media type in type 'uri/rtspt' Unknown media type in type 'uri/rtspu' Unknown media type in type 'fonts/package' Unknown media type in type 'interface/x-winamp-skin' Przetwarzanie wyzwalaczy dla man-db... Przetwarzanie wyzwalaczy dla menu... Przetwarzanie wyzwalaczy dla gnome-menus... Przetwarzanie wyzwalaczy dla desktop-file-utils... root@pingwin:~# zim -su: zim: nie znaleziono polecenia
Offline
No tak, tylko wcześniej była mowa o deinstalcji pakietu, którego nie chcę usunąć, a który normalnie byłby przewidziany do usunięcia w ramach zależności i o takim przypadku pisałem.
Minio napisał(-a):
ale może się zdarzyć że chcesz usunąć pakiet od którego zależy inny pakiet który z kolei chcesz zostawić.
Offline
Kolejny test pokazuje podobnie co wyżej, ale nie będę w to wnikał. Ważne że Tobie działa.
Offline
Załóżmy, że na liście do deinstalacji miałem pakiety:
A
B
C
D
z kolei od pakietu C, zależał pakiet E, który w ramach zachowania zależności zostałby również odinstalowany, gdyby nie miał ustawionej opcji hold. Gdyby pakiet E był także na mojej liście wtedy oczywiście hold by nie zapobiegło jego deinstalacji. Tylko to miałem na myśli
Offline
Akkon napisał(-a):
z kolei od pakietu C, zależał pakiet E, który w ramach zachowania zależności zostałby również odinstalowany, gdyby nie miał ustawionej opcji hold
Gdyby E zależał od C — czyli pakiet C byłby wymagany przez pakiet E... to żeby go zachować, aptitude musiałby zignorować twarde zależności... czego nie robi nigdy. Ewentualnie mógłby zachować również pakiet C, co wydaje się już bardziej prawdopodobne, aczkolwiek nie wiem jak to się ma do opcji hold.
Offline
Może wyraziłem się nieprecyzyjnie, ale nie twierdziłem, że aptitude by te zależności naruszył, proponował bowiem w rozwiązaniu problemu zależności doinstalowanie/pozostawienie innych. Zresztą swego czasu dość dokładnie zgłębiałem możliwość obejścia tej reguły.
http://debian.linux.pl/threads/12337-Obej%C5%9Bcie- … 9Bci-pakietu?
Chodziło mi tylko o to, że przy tej metodzie deinstalacji można uchronić się przed automatycznym usunięciem pewnych pakietów, a ten problem został przez Minio podniesiony. Nie upieram się też, że sposób ten musi zadziałać zawsze. W mojej sytuacji zresztą to nie była zależność bezpośrednia. Pakiet E zależał od pakietu C1, który był w twardych zależnościach dla C. Zatrzymanie E mogło się zatem odbyć przy zachowaniu C1 i odinstalowaniu C. Ja tak to rozumiem.
Offline
Akkon napisał(-a):
W mojej sytuacji zresztą to nie była zależność bezpośrednia. Pakiet E zależał od pakietu C1, który był w twardych zależnościach dla C. Zatrzymanie E mogło się zatem odbyć przy zachowaniu C1 i odinstalowaniu C. Ja tak to rozumiem.
W takiej sytuacji w sumie nie ma żadnego konfliktu zależności... C1 i E leciały, bo nie były już wymagane/polecane przez pakiety ze statusem ręcznie zainstalowanych lub ich zależności. Ja bym dał unmarkatuo (&m przy innych poleceniach) i nie powinien już go ruszać.
a propos podlinkowanego wątku: http://forum.dug.net.pl/viewtopic.php?pid=146451#p146451 (post #81)
podłożyłbym fake'a za iceweasel, zależności takiego "pakietu" naturalnie można ustalać dowolnie...
Offline
ArnVaker napisał(-a):
a propos podlinkowanego wątku: http://forum.dug.net.pl/viewtopic.php?pid=146451#p146451 (post #81)
podłożyłbym fake'a za iceweasel, zależności takiego "pakietu" naturalnie można ustalać dowolnie...
Dzięki. Na pewno przetestuję przy nadarzającej się okazji.
Offline
Strony: 1