У меня есть система, из которой неизвестное количество пакетов было удалено после установки. Я хотел бы понять, что было изменено в системе, ограниченное изменениями, которые контролируются APT. Я знаю, что в некоторых случаях пакеты с пометкой auto были изменены как manual. Мне все равно, были ли изменены отдельные файлы, я просто хочу знать, какие пакеты были установлены / удалены / отмечены вручную / отмечены автоматически.
С этой целью я хотел бы получить список пакетов, которые будут установлены и помечены manual в apt по умолчанию из одного изображения дистрибутива (.iso).
Я понимаю, что выбор пользователя во время установки может повлиять на этот список.
Если это невозможно, тогда было бы полезно объяснить, почему это невозможно в ответе.
Я пробовал читать здесь. Как найти вручную установленные пакеты?
Однако ни один из ответов не отвечает на вопрос о том, какие пакеты были установлены вручную / удалены.
Как найти установленные вручную пакеты? относится к файлу .manifest, который, похоже, не существует в последующих версиях. По крайней мере, я не могу найти его по клику. Фактически, ответ кажется устаревшим.
Похороненный в одном из комментариев - ссылка на http://releases.ubuntu.com. Если вы перейдете к своему нужная версия вы найдете .manifest файлов. Я считаю, что это самое близкое, что я смогу найти ответ. Спасибо @karel за ваш комментарий.
Возможно, есть еще один способ сделать это, но так, как я это делаю, - посетить официальную веб-страницу Ubuntu Releases, щелкнуть ссылку для выпуска Ubuntu, щелкнуть первый красный URL-адрес в списке, который говорит (Ubuntu Desktop и Server) после ссылки и откройте файл с расширением .manifest (пример: ubuntu-16.04.3-desktop-amd64.manifest). Обычно я загружаю и сохраняю файл .manifest на своем жестком диске, а не открываю его на новой вкладке в своем веб-браузере. Файл .manifest можно открыть локально в любом текстовом редакторе.
Я думаю, вы хотите использовать /var/log/apt/history.log и его друзей, чтобы внести изменения, которые были сделаны:
zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline: apt(?:-get)? install (?!.*--reinstall)\K.*'
(Изменено из источника)
Дадут вам все пакеты, которые были установлены в командной строке с использованием изменения apt-get install.
Он получает файлы в zip-файлах в старых history.log s, добавляет их с текущим history.log и проходит через grep, извлечение строк с помощью apt [-get] установка [и / или переустановка] и показ остальной части строки (флаг -o), который соответствует имени (именам) пакета.
Это понадобится немного modding (например, с sed), если вы хотите только имена пакетов в отдельных строках; упражнение для читателя!
Стоит отметить, что диспетчер синаптических пакетов (gksu synaptic или kdesudo synaptic) в разделе «статус» имеет «установленный (вручную)» список. Если вы отметите весь список для удаления [не применяйте его !!], вы должны иметь возможность сохранить отмеченные изменения и получить список пакетов таким образом. Предостережение: это заблокировано synaptic для меня (предположительно вычитание абзацев зависимостей).
Понимание того, какие пакеты помечены как «Руководство», на самом деле довольно просто: ВСЕ пакеты в install .iso помечены как установленные вручную.
Это обходной путь к старой проблеме с дизайном apt: пользователям было слишком легко не удалять всю свою систему, а не незначительные изменения, которые они намеревались сделать. Основная причина заключалась в том, что ТОЛЬКО метапакет -desktop был помечен как «ручной», поэтому, как только вы удалили метапакет, чтобы вы могли менять музыкальные плееры или запускать свой собственный файловый менеджер, огромные куски установленной системы стали пригодными для автоматического удаления. [ ! d2]
Вы все еще видите эту проблему сегодня, когда пользователи Минимального изображения ошибочно удаляют всю рабочую среду.
Поиск , в котором пакеты отмечены как «Manual» , также довольно просто, хотя это не самый полезный формат: Список файлов, включая пакеты, находится в Минимальное изображение .
Например, если вы хотите, чтобы список файлов ( включая пакеты) в 17.10, вы хотите эти четыре файла.
Теперь ваш вопрос немного необычен, так как вам нужна информация; большинство людей просто захотели бы решить проблему. Помните, что решение, на которое вы привязали (полный список пакетов в .iso), кажется немного want , поэтому давайте также поговорим о простых способах устранения очевидной основной проблемы (многие пакеты изменены) тоже:
. Легкий способ исправить проблему - это просто установить (или --reinstall) метапакет ubuntu-desktop. Это одна из причин, по которой существуют метапакеты. Итак, еще один способ , так как вам нужна информация (а не полный список пакетов iso) для -simulate apt -reinstall ubuntu-desktop.
Возможно, есть еще один способ сделать это, но так, как я это делаю, - посетить официальную веб-страницу Ubuntu Releases, щелкнуть ссылку для выпуска Ubuntu, щелкнуть первый красный URL-адрес в списке, который говорит (Ubuntu Desktop и Server) после ссылки и откройте файл с расширением .manifest (пример: ubuntu-16.04.3-desktop-amd64.manifest). Обычно я загружаю и сохраняю файл .manifest на своем жестком диске, а не открываю его на новой вкладке в своем веб-браузере. Файл .manifest можно открыть локально в любом текстовом редакторе.
Я думаю, вы хотите использовать /var/log/apt/history.log и его друзей, чтобы внести изменения, которые были сделаны:
zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline: apt(?:-get)? install (?!.*--reinstall)\K.*'
(Изменено из источника)
Дадут вам все пакеты, которые были установлены в командной строке с использованием изменения apt-get install.
Он получает файлы в zip-файлах в старых history.log s, добавляет их с текущим history.log и проходит через grep, извлечение строк с помощью apt [-get] установка [и / или переустановка] и показ остальной части строки (флаг -o), который соответствует имени (именам) пакета.
Это понадобится немного modding (например, с sed), если вы хотите только имена пакетов в отдельных строках; упражнение для читателя!
Стоит отметить, что диспетчер синаптических пакетов (gksu synaptic или kdesudo synaptic) в разделе «статус» имеет «установленный (вручную)» список. Если вы отметите весь список для удаления [не применяйте его !!], вы должны иметь возможность сохранить отмеченные изменения и получить список пакетов таким образом. Предостережение: это заблокировано synaptic для меня (предположительно вычитание абзацев зависимостей).
Понимание того, какие пакеты помечены как «Руководство», на самом деле довольно просто: ВСЕ пакеты в install .iso помечены как установленные вручную.
Это обходной путь к старой проблеме с дизайном apt: пользователям было слишком легко не удалять всю свою систему, а не незначительные изменения, которые они намеревались сделать. Основная причина заключалась в том, что ТОЛЬКО метапакет -desktop был помечен как «ручной», поэтому, как только вы удалили метапакет, чтобы вы могли менять музыкальные плееры или запускать свой собственный файловый менеджер, огромные куски установленной системы стали пригодными для автоматического удаления. [ ! d2]
Вы все еще видите эту проблему сегодня, когда пользователи Минимального изображения ошибочно удаляют всю рабочую среду.
Поиск , в котором пакеты отмечены как «Manual» , также довольно просто, хотя это не самый полезный формат: Список файлов, включая пакеты, находится в Минимальное изображение .
Например, если вы хотите, чтобы список файлов ( включая пакеты) в 17.10, вы хотите эти четыре файла.
Теперь ваш вопрос немного необычен, так как вам нужна информация; большинство людей просто захотели бы решить проблему. Помните, что решение, на которое вы привязали (полный список пакетов в .iso), кажется немного want , поэтому давайте также поговорим о простых способах устранения очевидной основной проблемы (многие пакеты изменены) тоже:
. Легкий способ исправить проблему - это просто установить (или --reinstall) метапакет ubuntu-desktop. Это одна из причин, по которой существуют метапакеты. Итак, еще один способ , так как вам нужна информация (а не полный список пакетов iso) для -simulate apt -reinstall ubuntu-desktop.