Как выполнить md5sum всех файлов в /bin и подкаталогах и проверить хэш с помощью сценария bash?

Этот ответ относится к Linux Mint 18.2 и более поздним версиям, хотя я тестировал его только для 18.3.

Инструмент командной строки под названием mintupdate-toolтеперь включен в дистрибутив. В примечаниях к выпуску 18.2 он рекламируется как «Этот инструмент поддерживает все функции, доступные в пользовательском интерфейсе, включая выбор уровня, обновления безопасности, обновления ядра и занесение в черный список». Этот «пользовательский интерфейс» относится к диспетчеру обновлений, и это утверждение далеко от истины, но это большой шаг вперед.

Для этого инструмента нет страницы man, поэтому:

$ mintupdate-tool --help
usage: mintupdate-tool [-h] [-k | -nk] [-s] [-r] [-d] [-y]
                       [--install-recommends] [-l LEVELS]
                       command

positional arguments:
  command               command to run (possible commands are: list, upgrade)

optional arguments:
  -h, --help            show this help message and exit
  -k, --kernel          ignore settings and include all kernel updates
  -nk, --no-kernel      ignore settings and exclude all kernel updates
  -s, --security        ignore settings and include all security updates
  -r, --refresh-cache   refresh the APT cache
  -d, --dry-run         simulation mode, don't upgrade anything
  -y, --yes             automatically answer yes to all questions
  --install-recommends  install recommended packages (use with caution)
  -l LEVELS, --levels LEVELS
                        ignore settings and restrict to this list of levels

Настройки из диспетчера обновлений определяют поведение по умолчанию. Эти настройки находятся в dconfхранилище данных активного пользователя (схема com.linuxmint.updates ), так что предварение команды простым sudoне меняет этого. Это важно, потому что обновления невозможны без привилегий root.

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

Анализ параметров для «--уровней» немного небрежен и -не очевиден. УРОВНИ — это строка, в которой ищутся цифры от 1 до 5. Это не порог или диапазон. Он также не проверяет наличие недопустимых символов, поэтому «14», «1 -4», «1,4», «4..1» и «two4u14me» означают только уровни 1 и 4.

Чтобы просто перечислить доступные обновления, которые будут установлены по умолчанию в соответствии с настройками диспетчера обновлений пользователя, вы, вероятно, захотите этого:

$ mintupdate-tool -r list

Вероятно, вам не нужна опция " -r" в следующих командах, чтобы избежать неожиданностей.

Пробный запуск того, что может сделать фактическое обновление с помощью этого инструмента.:

$ mintupdate-tool --dry-run upgrade

Чтобы выполнить то же самое обновление, которое мы получили бы, если бы использовали диспетчер обновлений, не изменяя отображаемые выборки:

$ sudo mintupdate-tool upgrade

На мой взгляд,не включать столбец типа обновления для команды «список» в том виде, в каком он отображается в диспетчере обновлений, и не предоставлять никаких средств для запроса описания обновления или журнала изменений. Мой текущий пример:

$ sudo mintupdate-tool -l 12345 list
4 package         mesa                                          17.2.4-0ubuntu1~16.04.4

Это обновление уровня 4 под названием «mesa», которое не является названием пакета, поэтому я не могу запросить его с помощью каких-либо других инструментов командной строки, о которых я знаю. Я знаю из диспетчера обновлений, что это конкретное обновление на самом деле включает 9 разных пакетов, но это обман.

Исходный код .

-1
11.09.2020, 15:40
0 ответов

Теги

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