Chciałbym wypisać listę wszystkich zainstalowanych pakietów do pliku tekstowego, aby móc je przejrzeć i zainstalować masowo w innym systemie. Jak mam to zrobić?
apt
package-management
Ivan
źródło
źródło
Odpowiedzi:
Ubuntu 14.04 i nowsze wersje
apt
Narzędzie na Ubuntu 14.04 i powyżej sprawia, że to bardzo łatwe.Starsza wersja
Aby uzyskać listę pakietów zainstalowanych lokalnie, zrób to w swoim terminalu:
(
-v
Tag „odwraca” grep, aby zwrócić niepasujące linie)Aby uzyskać listę zainstalowanego konkretnego pakietu:
Aby zapisać tę listę do pliku tekstowego wywoływanego
packages
na pulpicie, zrób to w swoim terminalu:Alternatywnie, po prostu użyj
(nie musisz uruchamiać żadnego z tych poleceń jako superużytkownik, więc nie musisz
sudo
tutaj ani żadnych innych wariantów)źródło
cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade
sourcesudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade
Zrób sztuczkę.apt list installed
. Pewnego dnia powinniśmy przestać systematycznie łamać zasadę „łatwych rzeczy prostych”.Aby uzyskać tylko pakiety, które zostały wyraźnie zainstalowane (nie tylko zainstalowane jako zależności), możesz uruchomić
Będzie to również zawierać krótki opis, który możesz chcieć. Jeśli nie, dodaj także opcję
-F '%p'
, jak wspomniano w karthick87.Jeszcze inną opcją wydaje się być skopiowanie pliku
/var/lib/apt/extended_states
, który jest bazą danych pliku tekstowego w tym formacie:Auto-Installed: 0
wskazuje, że pakiet został wyraźnie zainstalowany i nie jest tylko zależnością.źródło
apt-get
?Aby wyświetlić listę wszystkich pakietów celowo zainstalowanych (nie jako zależności) za pomocą komend apt, uruchom następujące polecenie:
Zapewnia to widok oparty na czasie do tyłu, z wcześniejszymi listami starszych poleceń:
Dane instalacyjne pokazują również użycie synaptyczne, ale bez szczegółów (to samo z datą instalacji):
zapewniając:
źródło
zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
dpkg
??Utwórz kopię zapasową aktualnie zainstalowanych pakietów:
Następnie (w innym systemie) przywróć instalacje z tej listy:
Aby pozbyć się starych pakietów:
Aby zainstalować jak podczas tworzenia kopii zapasowej (tj. Zainstalować pakiety ustawione przez
dpkg --set-selections
):źródło
ubuntu-desktop
został odinstalowany - prawdopodobnie z powodu jednego z poleceń dpkg. bądź ostrożny, naprawienie uszkodzeń zajęło mi wiele godzin!sudo apt-mark hold name-your-package
. Zapobiegnie to aktualizacji apt-get do bieżącej wersji, która jest domyślna dla procesu aktualizacji.Stan stron podręcznika:
Powinien więc po prostu podać listę jawnie zainstalowanych pakietów (choć obejmuje to pakiety, które były częścią domyślnej instalacji początkowej) bez uwzględnienia wszystkich zależności związanych z instalowaniem tych pakietów.
Aby wyprowadzić wynik do pliku tekstowego:
źródło
apt-mark showmanual
tak naprawdę nie. Zawiera także mnóstwo automatycznie zainstalowanych pakietów, prawdopodobnie część instalacji podstawowej.apt list --manual-installed
.dpkg-query
(zamiastdpkg --get-selections
, który zawiera listę niektórych pakietów, które nie są zainstalowane) w następujący sposób:Lub:
źródło
# for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done
w drugim systemie, zrobiłem to, aby zainstalować pakiety.apt-get install -y $(< installed-pkgs)
sprawi, że apt-get uruchomi się tylko raz i zajmie się wszystkimi zależnościami jednocześnie.sudo apt-get build-dep name-package; sudo apt-get install name-package;
?Aby wyświetlić listę wszystkich zainstalowanych pakietów,
lub
lub
Uwaga:
Otrzymasz plik wynikowy 1.txt w folderze domowym lub możesz określić własną ścieżkę.
źródło
Możesz użyć Synaptic, aby zapisać bieżący stan zainstalowanych pakietów. W Synaptic wybierz „oznaczenie pliku / zapisz”, wprowadź nazwę pliku, w którym chcesz zapisać stan, i zaznacz pole „Zapisz pełny stan, nie tylko zmiany”.
Zapisany plik można załadować do nowego komputera za pomocą „oznaczeń plików / odczytów” w Synaptic.
źródło
Polecam użycie planu . Mimo że jest przeznaczony dla serwerów, może być również używany z komputerów stacjonarnych. Stworzy skrypt powłoki / szefa kuchni / lalkę, którego możesz użyć do ponownej instalacji wszystkich swoich pakietów.
źródło
Chcesz ponownie zainstalować pakiety 12.04, prawda?
Jeśli tak, to bardzo łatwo. Potrzebne będzie „konto Ubuntu z pojedynczym logowaniem”. (Utwórz go przed ponowną instalacją, aby system był zsynchronizowany).
Przejdź do Centrum oprogramowania i poszukaj opcji „Synchronizuj między komputerami ...” w menu Plik.
Po kliknięciu zobaczysz zarejestrowany komputer i listę wszystkich aplikacji na komputerze.
Po zainstalowaniu nowego komputer ten zostanie uznany za nowy.
Musisz tylko zalogować się na swoje konto Ubuntu, aby wyświetlić poprzedni komputer.
Kliknij na to; otrzymasz listę wszystkich aplikacji. Wybierz „zainstaluj” w aplikacji, którą chcesz zainstalować.
źródło
Istnieje również narzędzie o nazwie Aptik (zarówno wiersz poleceń, jak i GUI), które może pomóc Ci wyświetlić listę wszystkich zainstalowanych pakietów, z opcją zaznaczenia / odznaczenia niektórych z nich, utworzenia listy kopii zapasowych, a następnie przywrócenia tego samego zestawu pakietów w inny system.
Żeby zainstalować:
Więcej informacji: https://teejeetech.in/aptik/
Jak widać na zrzucie ekranu, Aptik umożliwia także tworzenie kopii zapasowych i przywracanie plików PPA , co z pewnością będzie konieczne do zainstalowania niektórych zainstalowanych pakietów.
źródło
apt-get install aptik-gtk
, jak równieżAPT-Clone jest używany przez
ubiquity
(instalator Ubuntu) do procesu aktualizacji. Jest znacznie lepszy niżdpkg --get-selections
rozwiązanie, ponieważ:Jak używać
zainstalować
Zrobić kopię zapasową
Przywracania kopii zapasowej
Przywróć do nowszej wersji:
Tworzy prosty skompresowany plik tar, który można łatwo edytować i przeglądać przed przywróceniem na innych komputerach. Oto przykład jego struktury:
źródło
Istnieje świetne wyjaśnienie na temat Unix StackExchange, które opisuje, jak używać aptitude do wyświetlania pakietów niezainstalowanych jako zależności oraz jak porównać tę listę z listą domyślnych pakietów dla twojej wersji Ubuntu.
Aby uzyskać plik manifestu dla wersji 12.04 na komputery stacjonarne i nowsze, odwiedź tę stronę , wybierz wydanie i przewiń w dół poniżej obrazów płyt CD do sekcji plików. Znajdziesz coś w rodzaju „ubuntu-12.04.4-desktop-amd64 + mac.manifest”, który pasuje do Twojej architektury.
W przypadku wersji serwerowych musisz uzyskać plik manifestu z ISO, który został użyty do zainstalowania oryginalnego systemu. W przypadku serwera VPS lub serwera w chmurze dostawca może udostępnić obrazy lub może być konieczne skontaktowanie się z nimi.
Oto przykład użycia kodu z odnośnika, wraz z modyfikacjami do zainstalowania na nowym serwerze.
Stary serwer (kod z innego postu, dane wyjściowe zapisane w pliku):
Na nowym serwerze skopiuj plik za pomocą scp, a następnie użyj sed, aby dołączyć „zainstaluj” do każdej linii (-i wykonuje zamianę inline). Następnie możesz użyć listy jako danych wejściowych do „dpkg --set-selections” i zainstalować pakiety za pomocą apt-get:
Przed rozpoczęciem tego zadania zalecam przeczytanie i zrozumienie wszystkich części posta wspomnianych na początku, a następnie zajrzyj do poradnika umiejętności, aby uzyskać szczegółowe informacje na temat wzorców wyszukiwania.
źródło
Możesz spojrzeć na
apt
dziennik pod/var/log/apt/
idpkg
dziennik pod/var/log/
i możesz uzyskać listę zainstalowanych pakietów za pomocą jednego polecenia:
źródło
Dziwi mnie, że
apt-cache
polecenie zaprojektowane specjalnie do tego celu nie zostało wspomniane powyżej ...Aby uzyskać więcej informacji, uruchom
apt-cache --help
:źródło
apt --installed list
daje najlepszy wynik (jak sugeruje powyższa odpowiedź powyżej. Chociażapt-cache pkgnames
wydaje się, że robi to na pierwszy rzut oka, zawiera listę „wszystkich pakietów w systemie” (zgodnie z powyższym tekstem pomocy), który obejmuje również pakiety, o których apt wie o tym ale w rzeczywistości nie są zainstalowane. Istnieje--installed
opcja, ale wydaje się, że nie działapkgnames
.apt-cache pkgnames | wc -l
daje55909
pakiety (system wie o tym), natomiastaptitude search '~i!~M' | wc -l
daje2160
(pakiety jawnie zainstalowane, bez zależności).Pełne podsumowanie patrz:
https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora#Command_Line_Tools
w połowie strony:
źródło
Poniższe polecenie wyświetli również listę wszystkich zainstalowanych pakietów,
źródło
/var/log/dpkg.log*
aby uzyskać wszystkie obrócone dzienniki.Pomóż tej wiki społeczności - Dodaj aktualne rozwiązania.
dpkg, xargs i apt-get
To polecenie powinno zakończyć tworzenie pliku tekstowego zawierającego zainstalowane pakiety:
Aby przeprowadzić masową instalację wymienionych pakietów, musisz edytować plik „pakiet_list.txt”. Usuń dziwne linie u góry pliku za pomocą edytora tekstu. Następnie możesz użyć tego polecenia, aby zainstalować pakiety z utworzonego pliku, używając:
apt-cache, xargs i apt-get
Używaj tej metody tylko wtedy, gdy chcesz, aby wszystkie bieżące pakiety były instalowane przy użyciu listy (w tym automatycznie instalowanej itp.).
Wyślij odpowiedź „apt-cache pkgnames” do pliku, który nazwiemy po prostu „pakiet_list.txt”. Możesz to zrobić za pomocą:
Następnie, jeśli chcesz zainstalować pakiety z „package_list.txt”, użyj tej komendy:
apt-mark, xargs i apt-get
Możemy użyć tego polecenia,
apt-mark showmanual
aby podać listę pakietów, które zostały ręcznie lub wstępnie zainstalowane z Ubuntu. Będziemy chcieli wysłać to do pliku, który nazwiemy „pakiet-list.txt”. Użyj tego polecenia, aby to zrobić:Polecenie, którego użylibyśmy do zainstalowania pakietów z pliku „lista_pakietów.txt”, znajduje się poniżej.
Aptik Migration Utility
Aby uzyskać informacje na temat Aptik, odwiedź jego oficjalną stronę , a zrzut ekranu kliknij tutaj lub zobacz koniec tej sekcji.
Instalacja Aptik jest prosta. Wykonaj następujące kroki:
Dodaj PPA z:
sudo add-apt-repository -y ppa:teejee2008/ppa
Zaktualizuj apt za pomocą poniższego polecenia.
sudo apt-get update
Zainstaluj Aptik za pomocą:
sudo apt-get install aptik
źródło
apt-mark showmanual
obejmują między innymi Bash, Unity i Xorg. Czy oni powinni tam być?Aby zapisać listę zainstalowanych pakietów w pliku o nazwie
installed_packages.txt
, po prostu uruchom:źródło
Wydaje mi się, że warto zauważyć
apt list --installed
lubdpkg-query --list
użyć pliku wywoływanego/var/lib/dpkg/status
za, gdzie wszystkie informacje o paczkach są brodą.Więc jeśli chcesz poradzić sobie z super rozszerzoną listą pakietów
cat /var/lib/dpkg/status
.Uwaga: Nie zmieniaj
/var/lib/dpkg/status
pliku.źródło
Oprócz pakietów APT wiele pakietów GUI jest obecnie dystrybuowanych jako przystawki .
Jeśli nie można znaleźć Twojego pakietu
apt list --installed
, spróbujsnap list
:Dobrym pomysłem jest również dodanie
/snap/bin
do PATH, aby można było uruchomić je z terminala (wykonywane automatycznie dla użytkowników innych niż root).źródło
Pakiet
dctrl-tools
zapewniagrep-status
narzędzie do uzyskania listy pakietów oznaczonych jako zainstalowane w systemie:Stosowanie:
widzieć :
man dctrl-tools
źródło
https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :
źródło
Można to zrobić na wiele sposobów. Jeśli używasz CentOS jak ja, możesz użyć tych: 1.
yum list installed
2.rpm -qa
źródło