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
[quote=Akkon](chyba ArnVaker go kiedyś podawał?)[/quote]
http://dug.net.pl/tekst/89/odtworzenie_zestawu_pakietow_na_nowym_systemie/
:)
[quote=Akkon]czy w analogiczny sposób może dokonać deinstalcji wielu pakietów[/quote]
Naturalnie. Nie chcesz chyba jednak usunąć wszystkich pakietów? ;)
[quote=Akkon]i czy ta lista musi mieć koniecznie taką formę jaką generuje aptitude czy może wystarczą same nazwy pakietów, np.:[/quote]
Właściwie to [s]muszą[/s] powinny być same nazwy pakietów (stąd opcja [b]-F %p[/b]).
=========================
Napisz może co konkretnie chcesz osiągnąć, a nuż znajdzie się jeszcze jakiś [i]"ułatwiacz"[/i]...
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
[quote=ArnVaker]Naturalnie. Nie chcesz chyba jednak usunąć wszystkich pakietów? ;)[/quote]
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
[quote=Minio]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”).[/quote]
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.
[quote=Minio]ale może się zdarzyć że chcesz usunąć pakiet od którego zależy inny pakiet który z kolei chcesz zostawić.[/quote]
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
[quote=Akkon]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[/quote]
Gdyby E zależał od C — czyli pakiet C byłby wymagany przez pakiet E... to żeby go zachować, [i]aptitude[/i] 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 [i]hold[/i].
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-zale%C5%BCno%C5%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
[quote=Akkon]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.[/quote]
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ł [tt]unmarkatuo[/tt] ([tt]&m[/tt] 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 [i]"pakietu"[/i] naturalnie można ustalać dowolnie...
Offline
[quote=ArnVaker]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...[/quote]
Dzięki. Na pewno przetestuję przy nadarzającej się okazji.
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00021 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00135 | 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='52.15.134.57' WHERE u.id=1 |
0.00083 | UPDATE punbb_online SET logged=1716078221 WHERE ident='52.15.134.57' |
0.00051 | SELECT * FROM punbb_online WHERE logged<1716077921 |
0.00055 | 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=17799 AND t.moved_to IS NULL |
0.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00183 | 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=17799 ORDER BY p.id LIMIT 0,25 |
0.00093 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=17799 |
Total query time: 0.00634 s |