我可以禁用所有手冊頁嗎?

我可以禁用所有手冊頁嗎?

特別是在樹莓派(運行 Raspbian Wheezy)上,而且一般而言,我可以禁用所有手冊頁嗎?

這意味著沒有儲存的手冊頁,沒有“man-db 的處理觸發器”,等等。由於手冊頁始終可以在互聯網上獲得,因此我實際上不需要安裝它們,並且生成和存儲它們似乎沒有必要。

答案1

我在 Debian 8 映像上遇到了相反的問題,有人為 Wandboard 整理了該映像。我試圖找到一些已安裝的軟體包的手冊頁,並注意到在安裝一些新軟體包後,手冊頁丟失了,即使它們存在於 deb 文件中。

然後我在/etc/dpkg/dpkg.conf.d 中找到了這個檔案01_nodoc,這是一個簡單的解決方案,解決瞭如何透過刪除空間非常寶貴的手冊頁、語言環境和版權文件來節省空間的原始問題(例如嵌入式系統)。

# /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

答案2

問題是套件管理系統希望它安裝的檔案(包括手冊頁)保留在那裡,所以無論您使用什麼機制來刪除它們(除了按照 HalosGhost 建議重建每個套件)都會使它感到困惑。

如果您正在做的是生產單一用途的設備,那麼您可以採取的一種方法是為該設備制定單獨的建置和部署步驟。也就是說,您在單獨的建置環境(不同的 SD 卡或模擬 RPi)中安裝所需的所有軟體包,然後僅將生產環境中所需的內容從建置環境複製到生產環境。在此階段,您可以省略手冊頁和生產中不需要的任何其他內容。

為了取得升級的作業系統或安全性修復程序,您需要升級或重建建置環境並再次複製(或 rsync)到生產環境。

這需要做更多的工作,但與直接登入並執行升級相比,它為您提供了一個非常受控的生產設備。

答案3

好吧,由於不知道您的 RPi 正在運行哪個發行版,我無法幫助您使用確切的命令,但您可以刪除man-db提供man實用程式和各種手冊頁的軟體包。然而,刪除所有手冊頁需要從每個包中刪除每個手冊頁 — 我無法想像僅僅為了節省 KiB 的空間而花費時間是值得的。

如果你真的想要,那麼你需要重建每個包;在像 Archlinux 或 Gentoo 這樣的發行版上,這不一定是不可能的,但仍然相當乏味。在其他不太「實踐」的發行版上,您可能會發現這項任務非常困難。

答案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 甚至更多兆位元組的專用於本地化的磁碟空間,而您很可能永遠不會使用這些空間。它會在完成任何 apt 安裝作業後自動運行。

最重要的引用:

如果您使用 localepurge 破壞了系統,請絕對不要報告任何此類錯誤。如果您不知道自己在做什麼並且無法自行處理由此造成的任何損壞,那麼請不要使用此軟體包。

;-D

因此,只需進行完整備份並嘗試寫入您的manpagekiller...

相關內容