Чи можу я відключити всі вказівні сторінки?


14

Зокрема, на малиновому пі (пізніше Raspbian Wheezy), але і взагалі, чи можу я відключити всі вказівні сторінки?

Це означатиме відсутність збережених підручних сторінок, жодних "тригерів обробки для man-db" тощо, тощо. Оскільки сторінки з посібниками, які завжди доступні в Інтернеті, мені не дуже потрібні їх встановлення, а створення та зберігання здається непотрібним.


Боюся, ви, мабуть, застрягли, що стосується самих manpages - вони є частиною наборів програмного забезпечення, з яким вони йдуть.
Шадур

6
Напевно, є кращі кандидати для економії місця, ніж чоловічі сторінки?
Jasonwryan

Я міг би уявити конфігурацію інструменту упаковки для видалення всіх файлів, позначених як документи та / або файли, що відповідають регексу. Я не знаю про реалізацію цієї концепції.
Павло Шимерда

Ви б тільки заощадили, що, 1% місця (можливо, насправді менше)? Напевно, трохи більше, якщо ви також придушите /usr/share/doc.
Жил "ТАК - перестань бути злим"

Відповіді:


16

У мене була протилежна проблема із зображенням Debian 8, який хтось зібрав для Wandboard. Я намагався знайти сторінку керівництва для деяких пакетів, які вже були встановлені, і помітив, що після встановлення деяких нових, сторінки вручну відсутні, хоча вони були у файлі deb.

Потім я знайшов цей файл 01_nodoc в /etc/dpkg/dpkg.conf.d, що є простим рішенням оригінального питання про те, як заощадити простір, видаливши сторінки вручну та локалі та файли авторських прав, де простір розцінено (наприклад, вбудований системи).

# /etc/dpkg/dpkg.conf.d/01_nodoc

# Delete locales
path-exclude=/usr/share/locale/*

# Delete man pages
path-exclude=/usr/share/man/*

# Delete docs
path-exclude=/usr/share/doc/*
path-include=/usr/share/doc/*/copyright

Ще один корисний відповідь на askubuntu.com/a/401144/162384 , який - на додаток до великої приклад - вказує на документи: wiki.ubuntu.com/ReducingDiskFootprint#Documentation
Берто

6

Проблема полягає в тому, що система управління пакунками очікує, що файли, які він встановлює (включаючи керівні сторінки), залишаться там, тому будь-який механізм, який ви використовуєте для їх видалення (за винятком відновлення кожного пакета, як пропонує HalosGhost), заплутує його.

Якщо ви робите це виготовлення одноцільового приладу, один із підходів, який ви можете скористатися, - це окремі етапи створення та розгортання пристрою. Тобто, ви встановлюєте всі необхідні пакети в окремому середовищі збирання (іншу SD-карту чи емуляцію RPi), а потім копіюєте лише те, що хочете мати у виробництві, із середовища збирання у виробниче середовище. На цьому етапі ви можете залишити підручні сторінки та все інше, що не потрібно у виробництві.

Для того, щоб отримати оновлені виправлення ОС або безпеки, ви оновите або відновите середовище збирання та скопіюйте (або rsync) у виробництво знову.

Це трохи більше роботи, але це дає вам дуже керований виробничий пристрій порівняно з входом у систему та запуском оновлень безпосередньо на ньому.


5

Ну, не знаючи, на якому дистрибутиві працює ваш RPi, я не можу допомогти вам з точними командами, але ви, ймовірно, можете видалити man-dbпакунок, який надає як manкорисні, так і різноманітні довідкові сторінки. Однак для видалення всіх підручних сторінок потрібно буде видалити кожну чоловічу сторінку з кожного пакету - я не можу уявити, що це варте вашого часу, щоб заощадити кібайт місця.

Якщо ви дійсно цього хотіли, то вам потрібно було б відновити кожен пакет; у такому дистрибутиві, як Archlinux чи Gentoo, це не обов’язково неможливо, але все ще досить втомливо. В інших менш «практичних» дистрибутивах вам може бути це завдання надзвичайно складним.


2
apt-get remove --purge man-dbтакож видалити debhelperце не потрібно?
rubo77

4
$ cat /etc/apt/apt.conf.d/90debsums 
DPkg::Post-Invoke { "if [ -x /usr/bin/debsums ]; then /usr/bin/debsums --generate=nocheck -sp /var/cache/apt/archives; fi"; };

Пакет debsumsвстановлює дію для автоматичного генерування списків md5sum для пакетів після встановлення пакета, не маючи власного файлу md5sums.

Ви можете додати аналогічне сканування дій після встановлення та видалення маніпуляцій (та інформаційних документів) після кожної дії встановлення.

Щоб отримати манжети та власні пакети, вам потрібно сканувати через усі /var/lib/dpkg/info/PACKAGENAME.listфайли.

Вам слід оновити *.listфайли, щоб більше не згадувати про вилучені манжети.

localepurgeчастково це теж робить. Цитується з apt-cache show localepurge:

Це сценарій для відновлення втраченого на диску місця для непотрібних локалів, локалізації Gnome / KDE та локалізованих довідкових сторінок. Залежно від установки, ви можете заощадити близько 200, 300 або навіть більше мегабайт дискового простору, призначеного для локалізації, для якого ви, ймовірно, ніколи не будете корисні. Він запускається автоматично після завершення будь-яких влучних дій з установки.

Найважливіша цитата:

Будь-ласка, утримуйтесь від повідомлення про будь-які подібні помилки, які звинувачують localepurge, якщо ви зламаєте систему, використовуючи її. Якщо ви не знаєте, що ви робите, і не можете самостійно впоратися з будь-якою поломкою, будь ласка, просто не використовуйте цей пакет.

;-D

Тому просто зробіть повну резервну копію і спробуйте написати свій manpagekiller...


1
Це рішення я також мав на увазі (це, плюс не встановлювати man-db). Я б додав гачок після виклику через, /etc/dpkg.cfg.dа не через APT, для обробки прямих викликів dpkg.
Жиль "ТАК - перестань бути злим"

Чудово! Оскільки за пакет (за .deb) дія dpkgцього навіть буде простішою, ніж як після встановлення, aptтому що ви будете мати ім'я пакету і не потрібно сканувати всі *.listфайли для введення manpages знову і знову. Я просто забув, що dpkgтеж є гак ...

Гммм ... але обробка пакунків, встановлених раніше, ніж цей обробник, все ще потребує сканування *.listфайлів. Тим не менш, dpkgгачок після виклику - це краще місце для запуску цієї дії.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.