Відповіді:
Найпростіший спосіб - це використання dpkg
, але він може відображати кілька сторонніх пакетів, і він скорочує довгі назви пакунків та номери версій:
dpkg -l
Щоб перерахувати лише правильно встановлені пакети, а не усікати імена:
dpkg -l | grep '^ii'
Щоб отримати більше контролю над вихідним форматом, ви можете використовувати dpkg-query
:
dpkg-query -W -f '${status} ${package} ${version}\n' | \
sed -n 's/^install ok installed //p'
Іншою командою може бути:
apt-show-versions
Він також дає вам інформацію про стан пакету (оновлений, оновлений, ...) та про розповсюдження походження (wheezy, jessie, ...). Можна легко відфільтрувати пакунки, що надійшли з резервних портів чи інших екзотичних сховищ.
Ця програма упаковується окремо. Встановіть його спочатку за допомогою:
apt-get install apt-show-versions
apt-mark showmanual
цим ви отримуєте приємний і простий спосіб отримати версії всіх встановлених вручну пакетів, дивіться також цю відповідь Askubuntu apt-mark showmanual > /tmp/versions && apt-show-versions | grep -f /tmp/versions
Наступна команда перераховує пакети з їх версіями, а також додатково дозволяє налаштувати систему з тими ж пакетами та версіями пізніше, використовуючи pkg-selections.txt
створений тут файл:
aptitude -q -F "%?p=%?V %M" --disable-columns search \~i > pkg-selections.txt
Кожен рядок буде містити назву пакета, версію та необов'язковий "A", якщо пакет був встановлений автоматично.
Джерело: " Клонування системи Debian - однакові пакети та версії ". Також містить скрипт, який налаштовує систему з pkg-selections.txt
.
Щоб перелічити імена кожного встановленого пакета, введіть будь-якого користувача:
dpkg --get-selections
Ви отримаєте такий результат:
accountsservice install
aclinstall install
acpi-supportinstall install
acpidinstall install
...
Щоб видалити непотрібний рядок символів "встановити", ви можете використовувати sed :
dpkg --get-selections | sed 's:install$::'
І якщо ви хочете зберегти його у файл під назвою InstalledPackages , введіть це:
dpkg --get-selections | sed 's:install$::' > InstalledPackages
Якщо у вас немає доступу до живої системи та маєте резервну копію кореневого /
розділу, ви можете:
root@backup_server /mnt/old_root/var/lib/dpkg/info # ls -la *.list | awk {'print $9'}| sed 's/.list//' >> /root/installed_app
Тепер це /root/installed_app
містить усі встановлені пакети!