Где информация из 'apt show & lt; packagename & gt;' хранится?

Имейте это в виду -

Как правило, размер пространства подкачки должен быть примерно до 2x основной памяти для систем с объемом памяти менее 2 ГБ или примерно 1x основной памяти, если у вас больше

Итак, если у вас барабан 4 Gb, вам никогда не понадобится своп, если требуется, чтобы спящий режим Swap был около 3 - 3,5 ГБ, не более того. Поэтому используйте свой здравый смысл и не тратьте дисковое пространство

1
задан 20 July 2017 в 10:59

6 ответов

Я в основном реализовал систему для просмотра установленных пакетов в нашем ландшафте, сбора информации о них и проверки, если некоторые из них установлены с неправильной версией. Поскольку некоторые из этих пакетов поступают из наших собственных репозиториев-стажеров, необходимо знать, откуда пришел пакет.

Использование API APT Python:

#! /usr/bin/python3
import apt
cache = apt.cache.Cache()
for pkg in cache:
    if pkg.is_installed:
         name = pkg.name
         version = pkg.installed.version
         origins = [o.site for o in pkg.installed.origins if o.site]
         print(name, version, origins)

Пример вывода:

$ ./foo.py| head
a11y-profile-manager-indicator 0.1.10-0ubuntu3 ['jp.archive.ubuntu.com']
account-plugin-facebook 0.12+16.04.20160126-0ubuntu1 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com']
account-plugin-flickr 0.12+16.04.20160126-0ubuntu1 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com']
account-plugin-google 0.12+16.04.20160126-0ubuntu1 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com']
accountsservice 0.6.40-2ubuntu11.3 ['jp.archive.ubuntu.com']
acl 2.2.52-3 ['jp.archive.ubuntu.com']
acpi-support 0.142 ['jp.archive.ubuntu.com']
acpid 1:2.0.26-1ubuntu2 ['jp.archive.ubuntu.com']
activity-log-manager 0.9.7-0ubuntu23.16.04.1 ['jp.archive.ubuntu.com']
adduser 3.113+nmu3ubuntu4 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com']
0
ответ дан 22 May 2018 в 20:23
Я в основном реализовал систему для просмотра установленных пакетов в нашем ландшафте, сбора информации о них и проверки, если некоторые из них установлены с неправильной версией. Поскольку некоторые из этих пакетов поступают из наших собственных репозиториев-стажеров, необходимо знать, откуда пришел пакет.

Использование API APT Python:

#! /usr/bin/python3 import apt cache = apt.cache.Cache() for pkg in cache: if pkg.is_installed: name = pkg.name version = pkg.installed.version origins = [o.site for o in pkg.installed.origins if o.site] print(name, version, origins)

Пример вывода:

$ ./foo.py| head a11y-profile-manager-indicator 0.1.10-0ubuntu3 ['jp.archive.ubuntu.com'] account-plugin-facebook 0.12+16.04.20160126-0ubuntu1 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com'] account-plugin-flickr 0.12+16.04.20160126-0ubuntu1 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com'] account-plugin-google 0.12+16.04.20160126-0ubuntu1 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com'] accountsservice 0.6.40-2ubuntu11.3 ['jp.archive.ubuntu.com'] acl 2.2.52-3 ['jp.archive.ubuntu.com'] acpi-support 0.142 ['jp.archive.ubuntu.com'] acpid 1:2.0.26-1ubuntu2 ['jp.archive.ubuntu.com'] activity-log-manager 0.9.7-0ubuntu23.16.04.1 ['jp.archive.ubuntu.com'] adduser 3.113+nmu3ubuntu4 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com']
0
ответ дан 18 July 2018 в 10:00
Я в основном реализовал систему для просмотра установленных пакетов в нашем ландшафте, сбора информации о них и проверки, если некоторые из них установлены с неправильной версией. Поскольку некоторые из этих пакетов поступают из наших собственных репозиториев-стажеров, необходимо знать, откуда пришел пакет.

Использование API APT Python:

#! /usr/bin/python3 import apt cache = apt.cache.Cache() for pkg in cache: if pkg.is_installed: name = pkg.name version = pkg.installed.version origins = [o.site for o in pkg.installed.origins if o.site] print(name, version, origins)

Пример вывода:

$ ./foo.py| head a11y-profile-manager-indicator 0.1.10-0ubuntu3 ['jp.archive.ubuntu.com'] account-plugin-facebook 0.12+16.04.20160126-0ubuntu1 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com'] account-plugin-flickr 0.12+16.04.20160126-0ubuntu1 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com'] account-plugin-google 0.12+16.04.20160126-0ubuntu1 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com'] accountsservice 0.6.40-2ubuntu11.3 ['jp.archive.ubuntu.com'] acl 2.2.52-3 ['jp.archive.ubuntu.com'] acpi-support 0.142 ['jp.archive.ubuntu.com'] acpid 1:2.0.26-1ubuntu2 ['jp.archive.ubuntu.com'] activity-log-manager 0.9.7-0ubuntu23.16.04.1 ['jp.archive.ubuntu.com'] adduser 3.113+nmu3ubuntu4 ['jp.archive.ubuntu.com', 'jp.archive.ubuntu.com']
0
ответ дан 24 July 2018 в 19:29

Здесь:

ls /var/lib/apt/lists

зависит от репозитория и раздела, например, для сбора данных о wget в секции main для архитектуры amd64, которую вы можете использовать:

[ f2]

или как Муру предложил использовать awk для более гибкого результата:

awk -v RS='\n\n' -v pkg=wget '$2 == pkg' /var/lib/apt/lists/*_ubuntu_dists_xenial_main_binary-amd64*
Используя RS (разделитель записи), мы можем легко получить все данные, относящиеся к нашему пакету.

Обратите внимание, что apt также использует некоторые бинарные кэши из вышеуказанных файлов для увеличения скорости своих запросов, эти кэши расположены здесь:

ls /var/cache/apt/
1
ответ дан 22 May 2018 в 20:23
  • 1
    Я бы предложил что-то вроде awk -v RS='\n\n' -v pkg=wget '$2 == pkg' /var/lib/apt/lists/*_ubuntu_dists_xenial-updates_main_binary-amd64_Packages - проще настроить имя пакета, если вы замените wget на переменную. – muru 20 July 2017 в 10:21
  • 2
    Спасибо за ваш ответ. Возможно, вы можете пояснить следующее: не нужно ли мне иметь некоторые предварительные знания о том, откуда пришел пакет, чтобы использовать эту команду grep? Кроме того, результат соответствует показанию apt-cache, чего мне не хватает. Я надеялся на один файл, который я мог прочитать и разобрать. Команда grep с glob выглядит как потенциально ненужное количество чтения файлов для меня, если бы я мог просто прочитать один файл один раз. – Alex Poth 20 July 2017 в 10:26
  • 3
    @AlexPoth grep все в /var/lib/apt/lists – muru 20 July 2017 в 10:26
  • 4
    @muru спасибо, обновил ответ;) – Ravexina 20 July 2017 в 10:27
  • 5
    @muru grep все в /var/lib/apt/lists/ дает длинный вывод. Разбор этого, было бы много работы, а также, что выход не ограничивается тем, где пакет был фактически установлен, но для каждого источника, который может иметь этот пакет. Также накладные расходы на разбор всех вещей для каждого пакета сохраняются. – Alex Poth 20 July 2017 в 10:48

Здесь:

ls /var/lib/apt/lists

зависит от репозитория и раздела, например, для сбора данных о wget в секции main для архитектуры amd64, которую вы можете использовать:

grep -A20 "Package: wget" /var/lib/apt/lists/*_ubuntu_dists_xenial-updates_main_binary-amd64_Packages

или как Муру предложил использовать awk для более гибкого результата:

awk -v RS='\n\n' -v pkg=wget '$2 == pkg' /var/lib/apt/lists/*_ubuntu_dists_xenial_main_binary-amd64* Используя RS (разделитель записи), мы можем легко получить все данные, относящиеся к нашему пакету.

Обратите внимание, что apt также использует некоторые бинарные кэши из вышеуказанных файлов для увеличения скорости своих запросов, эти кэши расположены здесь:

ls /var/cache/apt/
1
ответ дан 18 July 2018 в 10:00

Здесь:

ls /var/lib/apt/lists

зависит от репозитория и раздела, например, для сбора данных о wget в секции main для архитектуры amd64, которую вы можете использовать:

grep -A20 "Package: wget" /var/lib/apt/lists/*_ubuntu_dists_xenial-updates_main_binary-amd64_Packages

или как Муру предложил использовать awk для более гибкого результата:

awk -v RS='\n\n' -v pkg=wget '$2 == pkg' /var/lib/apt/lists/*_ubuntu_dists_xenial_main_binary-amd64* Используя RS (разделитель записи), мы можем легко получить все данные, относящиеся к нашему пакету.

Обратите внимание, что apt также использует некоторые бинарные кэши из вышеуказанных файлов для увеличения скорости своих запросов, эти кэши расположены здесь:

ls /var/cache/apt/
1
ответ дан 24 July 2018 в 19:29
  • 1
    Я бы предложил что-то вроде awk -v RS='\n\n' -v pkg=wget '$2 == pkg' /var/lib/apt/lists/*_ubuntu_dists_xenial-updates_main_binary-amd64_Packages - проще настроить имя пакета, если вы замените wget на переменную. – muru 20 July 2017 в 10:21
  • 2
    Спасибо за ваш ответ. Возможно, вы можете пояснить следующее: не нужно ли мне иметь некоторые предварительные знания о том, откуда пришел пакет, чтобы использовать эту команду grep? Кроме того, результат соответствует показанию apt-cache, чего мне не хватает. Я надеялся на один файл, который я мог прочитать и разобрать. Команда grep с glob выглядит как потенциально ненужное количество чтения файлов для меня, если бы я мог просто прочитать один файл один раз. – Alex Poth 20 July 2017 в 10:26
  • 3
    @AlexPoth grep все в /var/lib/apt/lists – muru 20 July 2017 в 10:26
  • 4
    @muru спасибо, обновил ответ;) – Ravexina 20 July 2017 в 10:27
  • 5
    @muru grep все в /var/lib/apt/lists/ дает длинный вывод. Разбор этого, было бы много работы, а также, что выход не ограничивается тем, где пакет был фактически установлен, но для каждого источника, который может иметь этот пакет. Также накладные расходы на разбор всех вещей для каждого пакета сохраняются. – Alex Poth 20 July 2017 в 10:48

Другие вопросы по тегам:

Похожие вопросы: