Intereting Posts
Как я могу скопировать скрытый каталог рекурсивно и сохранить его разрешения? Awk & регулярное выражение для обработки файла игры pgn chess Получение черных элементов управления при запуске linux на vmware на окнах подсчет символов с использованием bash Пакет, установленный как зависимость, не удаляется с помощью «apt-get autoremove» Пусть процесс читает и записывает все файлы внутри определенного каталога на любой глубине Sed – Как я могу вставить строку после определенной строки И какой-то символ? Команда sed не возвращает то, что я хочу Постоянное переключение на zsh в скрипте, без root и без запроса пароля Как подключить и выполнить передачу данных на мобильный с встроенной платы linux с помощью bluez? nohup: игнорирование ввода и перенаправление stderr в stdout Регулярное выражение для пароля. Ограничение специальных символов tun0 после установки openvpn Плохая производительность сети между AIX 7.1 на скорости 1 Гбит / с и SLES 11 на скорости 10 Гбит / с SSH с ключом не запрашивает фразу «Отказано в доступе»

Много отсутствующих файлов в выводе debsums

Я запускаю debsums -cs на машине под управлением Debian Jessie. На выходе много отсутствующих файлов.

Многие из них (возможно, все) имеют какой-то локальный код с двумя буквами (например, zh, fr, de и т. Д.).

Я запустил BleachBit и некоторый инструмент Debian, чтобы сделать свободное пространство несколько дней назад, и я полагаю, это вызвало проблему.

Как мне с этим бороться? Возможно ли подавление выхода? Могу ли я повторно установить локали?

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

 debsums: missing file /usr/share/man/fr/man8/adduser.8.gz (from adduser package) debsums: missing file /usr/share/man/fr/man8/deluser.8.gz (from adduser package) debsums: missing file /usr/share/man/fr/man5/deluser.conf.5.gz (from adduser package) debsums: missing file /usr/share/man/fr/man5/adduser.conf.5.gz (from adduser package) debsums: missing file /usr/share/locale/es/LC_MESSAGES/adduser.mo (from adduser package) debsums: missing file /usr/share/locale/zh_CN/LC_MESSAGES/adduser.mo (from adduser package) debsums: missing file /usr/share/locale/nl/LC_MESSAGES/adduser.mo (from adduser package) debsums: missing file /usr/share/locale/cs/LC_MESSAGES/adduser.mo (from adduser package) debsums: missing file /usr/share/locale/de/LC_MESSAGES/adduser.mo (from adduser package) debsums: missing file /usr/share/locale/pl/LC_MESSAGES/adduser.mo (from adduser package) debsums: missing file /usr/share/locale/pt/LC_MESSAGES/adduser.mo (from adduser package) debsums: missing file /usr/share/locale/nb/LC_MESSAGES/adduser.mo (from adduser package) debsums: missing file /usr/share/locale/ru/LC_MESSAGES/adduser.mo (from adduser package) debsums: missing file /usr/share/locale/da/LC_MESSAGES/adduser.mo (from adduser package) 

Если вы хотите удалить файлы для локалей, которые вас не интересуют (или что-то еще в этом случае), вы должны сообщить об этом dpkg : таким образом, не только debsums перестанут жаловаться на них, но dpkg даже не установит их в первое место.

Вот что у меня есть, в /etc/dpkg/dpkg.cfg.d/locales :

 # Drop locales except English and French path-exclude=/usr/share/locale/* path-include=/usr/share/locale/en/* path-include=/usr/share/locale/fr/* path-include=/usr/share/locale/locale.alias # Drop translated manpages except English and French path-exclude=/usr/share/man/* path-include=/usr/share/man/man[1-9]/* path-include=/usr/share/man/en*/* path-include=/usr/share/man/fr*/* в # Drop locales except English and French path-exclude=/usr/share/locale/* path-include=/usr/share/locale/en/* path-include=/usr/share/locale/fr/* path-include=/usr/share/locale/locale.alias # Drop translated manpages except English and French path-exclude=/usr/share/man/* path-include=/usr/share/man/man[1-9]/* path-include=/usr/share/man/en*/* path-include=/usr/share/man/fr*/* в # Drop locales except English and French path-exclude=/usr/share/locale/* path-include=/usr/share/locale/en/* path-include=/usr/share/locale/fr/* path-include=/usr/share/locale/locale.alias # Drop translated manpages except English and French path-exclude=/usr/share/man/* path-include=/usr/share/man/man[1-9]/* path-include=/usr/share/man/en*/* path-include=/usr/share/man/fr*/* в # Drop locales except English and French path-exclude=/usr/share/locale/* path-include=/usr/share/locale/en/* path-include=/usr/share/locale/fr/* path-include=/usr/share/locale/locale.alias # Drop translated manpages except English and French path-exclude=/usr/share/man/* path-include=/usr/share/man/man[1-9]/* path-include=/usr/share/man/en*/* path-include=/usr/share/man/fr*/* в # Drop locales except English and French path-exclude=/usr/share/locale/* path-include=/usr/share/locale/en/* path-include=/usr/share/locale/fr/* path-include=/usr/share/locale/locale.alias # Drop translated manpages except English and French path-exclude=/usr/share/man/* path-include=/usr/share/man/man[1-9]/* path-include=/usr/share/man/en*/* path-include=/usr/share/man/fr*/* в # Drop locales except English and French path-exclude=/usr/share/locale/* path-include=/usr/share/locale/en/* path-include=/usr/share/locale/fr/* path-include=/usr/share/locale/locale.alias # Drop translated manpages except English and French path-exclude=/usr/share/man/* path-include=/usr/share/man/man[1-9]/* path-include=/usr/share/man/en*/* path-include=/usr/share/man/fr*/* 

Если вы адаптируете это к своей настройке, вы должны найти debsums гораздо более полезный результат.

Рафаэль Херцог написал сообщение в блоге об этом чуть подробнее.

Если вместо этого вы хотите восстановить отсутствующие файлы , вам необходимо повторно установить соответствующие пакеты:

 apt-get --reinstall install $(debsums -c 2>&1 | grep -E -o 'from [^ ]* package' | cut -d\ -f2 | sort -u) 

Вам необходимо переустановить пакеты для отсутствующих файлов. Способ сделать это – получить пакеты имен отсутствующих файлов с помощью dpkg -S , а затем переустановить их с помощью apt-get :

 debsums -cs | grep -E ^debsums | awk '{print $4}' | xargs -rd '\n' -- dpkg -S | cut -d: -f1 | sort -u | xargs -rd '\n' -- apt-get install --reinstall