Jak wyświetlić listę aplikacji zainstalowanych przez użytkownika (nie pakietów)?

28

Nie pakiety i nie wszystkie aplikacje. Tylko aplikacje zainstalowane przez użytkownika z dowolnego źródła (Centrum oprogramowania, ręcznie dodane PPA itp.).

Jeśli powyższe nie jest możliwe - lista wszystkich zainstalowanych aplikacji lub przynajmniej GUI z listą aplikacji, dzięki czemu mogę zrobić zrzuty ekranu z niej.

Przeczytałem tuzin podobnych pytań, a osoby zamieszczające odpowiedzi zwykle nawet nie zbliżają się do zasadności pytania OP. Pamiętaj, że moje pytanie obejmuje „zainstalowany użytkownik”.

Odpowiedź: Obecnie nie jest to możliwe w systemie Ubuntu Linux. (wybierając odpowiedź tijybba jako najbliższą)

Bucic
źródło

Odpowiedzi:

30

Możesz faktycznie korzystać z Centrum oprogramowania Ubuntu , jak pokazano na zrzucie ekranu tutaj:

Centrum oprogramowania Ubuntu: menu „Zainstalowane”

Możesz to również zobaczyć w opcjach listy lewej dolnej Synaptic.

Otrzymasz cd /etc/apt/sources.list.d/ && cat *.listlistę wszystkich repozytoriów w twoim systemie.

Możesz również użyć menedżera PPA do tworzenia kopii zapasowych i aktualizacji swoich repozytoriów.


Druga metoda

[Ponieważ metoda ta polega na zainstalowaniu wszystkich pakietów, ale jeśli uważamy, że nowo zainstalowany system operacyjny będzie już mieć te 90% pakietów, więc będzie ignorować obecnymi i zainstalować nowe dodane ręcznie te, które będzie tylko twoje zainstalowane ręcznie aplikacje]

Ta metoda stąd .

sudo dpkg --get-selections > installed-applications.txt

wygeneruje listę zainstalowanych aplikacji w pliku txt w katalogu domowym.

Aby wykorzystać ten plik, aby zainstalować te same aplikacje trzeba będzie zrobić (ale przed tym należy dodać także wszystkie trzecie repozytoriów firm jak była obecna w starszych jeden)

sudo dpkg --set-selections < installed-applications.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

Jest to również możliwe dzięki Gui drodze

sudo add-apt-repository ppa:webupd8team/mintbackup && sudo apt-get update
sudo apt-get install mintbackup

wprowadź opis zdjęcia tutaj

Chyba obraz prawie mówi się, backup swój wybór, a następnie w Nowym instalacji przywrócić go.

atenz
źródło
Nie można dodać PPA: „ppa: ~ webupd8team / ubuntu / mintbackup”. Zespół o nazwie „~ webupd8team” nie ma umowy PPA o nazwie „ubuntu / mintbackup”
alhelal
dpkg: ostrzeżenie: pakiet nie ma statusu ani dostępna baza danych w linii 1574: wireshark i tak dalej dla wszystkich aplikacji.
wszystkie
11

apt-mark showmanualda ci listę „ręcznie zainstalowanych” pakietów. Obejmuje to pakiety instalowane przez instalatora, który jest większością z nich. Ale jeśli uruchomisz to po instalacji i później porównasz dane wyjściowe, otrzymasz listę pakietów, które użytkownik specjalnie zażądał, z wyłączeniem automatycznie zainstalowanych zależności.

Na przykład:

$ # Save the current list of manually installed packages
$ apt-mark showmanual | sort > original-package-list

# ...time passes...

$ # Compare the old list with the current list
$ # (this will output a list of packages that have been installed by the user since the last command)
$ apt-mark showmanual | sort | comm -13 - original-package-list

Pamiętaj, że aplikacje pakietami w zakresie Software Center i ręcznie dodanymi PPA. Rozróżnienie między pakietami specjalnie wymaganymi a pakietami wprowadzonymi w celu zaspokojenia zależności jest moim zdaniem najlepszym rozwiązaniem.

Lub po prostu zobacz listę wszystkich zainstalowanych pakietów, uruchom dpkg-query -W -f'${PackageSpec}\n'.

Robie Basak
źródło
2

tylko root może instalować pakiety w systemie Ubuntu, użytkownik, który może to zrobić, to tylko 1, sudoers to tylko użytkownik z równoważnymi prawami.

Jednak w dziennikach można uzyskać wiele informacji, które można przejrzeć

dziennik apt pod /var/log/apt/ dziennikiem dpkg pod/var/log/

i możesz uzyskać listę zainstalowanych pakietów za pomocą jednego polecenia:

dpkg -l | grep ii
użytkownik827992
źródło
Możesz sformułować moje pytanie tak czy inaczej, chyba że oryginalne znaczenie pozostanie. Jeśli nazywa się to „sudoers zainstalowanymi aplikacjami”, niech tak będzie :) Naturalnie mógłbym przeformułować moje pytanie na „Jak wyświetlić listę aplikacji zainstalowanych po instalacji systemu”. „i możesz uzyskać listę zainstalowanych pakietów” - w jakim celu?
Bucic
+1 za / var / log / apt. Jeśli zainstalowałeś wszystko za pomocą apt-get, wyszukiwanie „Wiersza poleceń:” w tym dzienniku daje ładną listę rzeczy zainstalowanych ręcznie.
drevicko
1

Faktycznie, na swoje pytanie widzę, że to następujące polecenie robi, co musi dpkg -l ty | grep ii. Ten wymieniony każdy zainstalowany pakiet jak powinien dla mnie. Teraz nie mówi użytkownik A ani użytkownik B, ale znowu jest to ograniczenie nie sudo, ale dzienników centrum oprogramowania. Nawet przy użyciu sudo użytkownika, który zwany sudo przepuszcza więc można jeszcze żadnego dziennika aplikacji, który zwany sudo aby uruchomić polecenie. Teraz możesz to łatwo obejść, ponieważ częścią sudo jest możliwość zalogowania się jako każdy użytkownik [który ma dostęp do sudo], jeśli znasz jego hasło, zhakuj je lub zmień, jeśli masz te prawa w systemie.

Jeśli obawiasz się, co użytkownik zainstalował, co może narazić Ciebie lub Twój system, możesz chcieć sprawdzić, dlaczego dałeś mu dostęp sudo, a także możliwość instalowania pakietów, ale to tylko dodatkowa uwaga.

Mam uczucie prosicie dla siebie, które pakiety zainstalowane od czasu zainstalowania systemu, więc można też oczyścić lub lustro konfigurację na nową maszynę. Odpowiedzi tutaj już obejmować kopia zapasowa / przywracanie więc będziemy pominięcia.

Ponieważ nie ma łatwego prosty sposób dowiedzieć się, jakie użytkownik nazywa się zainstalować pakietu lepszym rozwiązaniem może być użycie polecenia wymienione powyżej i przez innego użytkownika do listy wszystkich zainstalowanych pakietów i mieć otwarte okno przeglądarki do Google i metę Google przeszukane, aby dowiedzieć się, które pakiety są potrzebne, aby utrzymać swój system operacyjny, a które nie.

Przejdź do tutaj, aby pominąć większość puch i dostać się do odpowiedzi bardziej bezpośrednio ...

Można również przejrzeć logi sudoers żeby zobaczyć, kto wezwał do instalacji co Podam przykład linia

May 15 11:26:30 <COMPUTERNAME> sudo:   <user who called sudo> : TTY=unknown ; PWD=/home/pariah (pwd file or auth method used to verify user) ; USER=root (User they were running as) ; COMMAND=/usr/bin/thunar (the command they ran)

To mówi mi o tej godzinie i dacie, kiedy ten użytkownik wezwał sudo [tak naprawdę w tym przypadku użyto gksu btw], jaki użytkownik sudo pozwolił im mieć uprawnienia, a duże polecenie, które uruchomili!

Teraz, jeśli masz ochotę na apt-get lub podobny w dzienniku sudo [/var/log/auth.log], a starsze będą miały na końcu dołączone .0 .1 itd.

Możesz poskładać razem, która instaluje żądanego użytkownika w samym wierszu poleceń. Jeśli użyli centrum oprogramowania, nie jestem pewien, czy odpowiednie polecenie terminalu uzyskałoby tutaj linię uwierzytelniania, ale możesz użyć dzienników centrum oprogramowania znajdujących się na:

/var/log/apt/history.log i starsze dzienniki znajdują się w skompresowanych archiwach .gz

Teraz dziennik centrum oprogramowania nie udostępnia użytkownika, który dokonał autoryzacji instalacji, o ile kiedykolwiek widziałem w tym dzienniku, ale zawiera listę KAŻDEJ operacji dodawania, modyfikowania lub usuwania centrum oprogramowania. Znowu ten dziennik ma także znaczniki czasu i daty, dzięki czemu można łatwo znaleźć zapisy po instalacji systemu podstawowego, przejdź do najstarszego dziennika, przejdź na górę lub jeśli pamiętasz czas i datę zakończenia instalacji podstawowej i możesz zacząć.

Oba wspomniane pliki dziennika są w postaci zwykłego tekstu i można użyć dowolnego geditu, podkładki pod mysz, podkładki do dowolnego edytora tekstowego używanego przez smak Ubuntu, ponieważ domyślnie można je wyświetlać i drukować.

Parias
źródło