Як перелічити встановлені користувачем програми (а не пакети)?


28

Не пакети та не всі програми. Просто програми, які користувач встановив сам із будь-якого джерела (Software Center, додав PPA вручну тощо).

Якщо вищезгадане неможливо - перелік усіх встановлених додатків або принаймні графічний інтерфейс, у якому перераховані додатки, щоб я міг зробити знімки екрана.

Я прочитав десяток подібних запитань, і люди, які розміщують відповіді, зазвичай навіть не наближаються до заслуг ОП. Зауважте, що моє запитання містить "встановлений користувачем".

Відповідь: Наразі це неможливо в Ubuntu Linux. (вибираючи відповідь Тіджба як найближчу)

Відповіді:


30

Ви можете фактично використовувати програмний центр Ubuntu , як показано на скріншоті тут:

Програмний центр Ubuntu: "Встановлено" -меню

Також ви можете побачити це у списку лівого списку Synaptic Bottom.

До cd /etc/apt/sources.list.d/ && cat *.listвам отримаєте список всіх сховищ у вашій системі.

Ви також можете Y менеджер PPA створити резервну копію та оновити сховища.


Другий метод

[Оскільки цей метод передбачає встановлення всіх пакетів, але якщо ми думаємо, що в щойно встановленій ОС вже буде 90% пакетів, то вона буде ігнорувати наявні та встановлювати нові додані вручну, які будуть лише вашими встановленими вручну програмами]

Цей метод звідси .

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

він створить список встановлених програм у файлі txt у домашній папці.

Щоб використовувати цей файл для встановлення тих самих програм, що вам доведеться робити (але перед цим, будь ласка, додайте всі сторонні сховища, як це було в попередньому)

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

Це також можливо через спосіб Гі

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

введіть тут опис зображення

Я здогадуюсь, що зображення майже говорить саме про себе, створити резервну копію вибору, а потім у Новій установці відновити його.


Неможливо додати PPA: 'ppa: ~ webupd8team / ubuntu / mintbackup'. У команди на ім'я '~ webupd8team' немає PPA під назвою "ubuntu / mintbackup"
alhelal

dpkg: попередження: пакет не знаходиться у статусі та не доступна база даних у рядку 1574: проводка і так далі для всіх програм.
alhelal

11

apt-mark showmanualнадасть вам список "встановлених вручну" пакетів. Сюди входять пакети, встановлені інсталятором, які є більшістю з них. Але якщо запустити це після установки та порівняти вихід знову пізніше, ви отримаєте список пакунків, які користувач спеціально запитував, виключаючи автоматично встановлені залежності.

Наприклад:

$ # 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

Зауважте, що програми - це пакети, що стосуються Центру програмного забезпечення та доданих PPA вручну. Я думаю, що найкраще ви можете зробити диференціацію між спеціально запрошеними пакетами та пакетами, доставленими для задоволення залежностей.

Або просто побачити список усіх встановлених пакетів, запустіть dpkg-query -W -f'${PackageSpec}\n'.


2

тільки root може встановлювати пакети під Ubuntu, користувачем, який може це зробити, є лише 1, sudoers - це лише користувач з еквівалентними правами.

Однак ви можете отримати багато інформації, дивлячись на журнали, ви можете подивитися

журнал apt під /var/log/apt/ журналом dpkg під/var/log/

і ви можете отримати список встановлених пакетів за допомогою лише команди:

dpkg -l | grep ii

Ви можете перефразувати моє запитання в будь-якому випадку, доки не залишиться початкового значення. Якщо це називається "встановлені додатки sudoers", то так і буде :) Натурально, я можу перефразувати своє запитання на тему "Як перелічити програми, встановлені після встановлення системи". "і ви можете отримати список встановлених пакетів" - з якою метою?
Bucic

+1 для / var / log / apt. Якщо ви встановили все за допомогою apt-get, пошук "Command line:" у цьому журналі дає вам хороший список матеріалів, які ви встановили вручну.
drevicko

1

Власне, за вашим запитанням я бачу, що ця наступна команда виконує те, що вам потрібно dpkg -l | grep ii. Тут перераховано кожен встановлений пакет, як слід для мене. Тепер він не говорить користувача A або користувача B, але знову ж таки це обмеження не судо, а журналів програмного центру. ВИНАГИ за допомогою sudo передається користувач, який викликав sudo, щоб ви могли все-таки мати будь-який журнал додатків, який викликав sudo для запуску команди. Тепер, звичайно, ви можете обійти це досить легко, тому що частиною sudo є можливість увійти як будь-який користувач [який має доступ до sudo], якщо ви знаєте їх пароль, зламати його або змінити його, якщо у вас є ці права в системі.

Якщо ви стурбовані тим, що встановив користувач, що може поставити вас у небезпеку, ви можете переглядати, чому ви надали їм доступ до sudo, а також можливість встановлення пакетів, але це лише бічна примітка.

У мене виникає відчуття, що ви запитуєте собі, які пакунки ви встановили після встановлення системи, щоб ви могли чистити або відобразити налаштування на новій машині. Відповіді тут уже охоплюють резервну копію / відновлення, тому ми пропустимо це.

Оскільки не існує простого прямого способу знайти, який користувач назвав установку пакету, кращим підходом може бути використання команди, як зазначено вище, та іншого користувача, щоб перелічити всі встановлені пакети та відкрити вікно браузера для Google та запустити Google здійснив пошук, щоб визначити, які пакунки необхідні для забезпечення роботи вашої системи, а які - не.

Перейдіть сюди, щоб пропустити більшу частину пуху, і перейдіть до відповіді прямо безпосередньо ...

Ви також можете переглянути свої журнали sudoers, щоб побачити, хто закликав встановити те, що дозволить мені дати приклад рядка

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)

Отже, це говорить мені в цей час і в дату, коли цей користувач викликав sudo (фактично в цьому випадку gksu було використано btw], який користувач sudo дозволив їм отримати дозволи, а велика команда, яку вони виконували!

Тепер, якщо ви бажаєте отримати apt-get або подібне в журналі sudo [/var/log/auth.log], а більш старі - до кінця додаватимуть 0 .1 тощо.

Ви можете скласти разом, який встановлює користувач, закликаний у самому командному рядку. Якщо вони використовували програмний центр, я не впевнений, чи відповідна команда терміналу отримала б тут рядок автентичності, але ви можете скористатися журналами програмного забезпечення, знайденими за адресою:

/var/log/apt/history.log та більш старі журнали знаходяться в архівах .gz стислих архівах

Тепер журнал програмного забезпечення не надає користувачеві, який авторизував встановлення, наскільки я коли-небудь бачив у цьому журналі, але в ньому перераховано КОЖНЕ додавання, змінення чи видалення програмного центру. Знову ж, цей журнал також має позначки часу та дати, тому настільки просто, щоб знайти помилки після встановлення базової системи, перейдіть до найдавнішого журналу, перейдіть до вершини або якщо ви пам’ятаєте час та дату завершення встановлення бази, і ви готові йти.

Обидва згадані файли журналу знаходяться в простому тексті, і ви можете використовувати будь-який gedit, клавіатуру миші, листки, будь-який текстовий редактор, який використовує ваш аромат Ubuntu, за замовчуванням для їх перегляду та друку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.