Bisakah saya menonaktifkan semua halaman manual?

13

Khususnya pada pi raspberry (menjalankan Raspbian Wheezy), tetapi juga secara umum, dapatkah saya menonaktifkan semua halaman manual?

Ini berarti tidak ada halaman manual yang disimpan, tidak ada "pemicu pemrosesan untuk man-db", dan seterusnya dan seterusnya. Dengan halaman manual selalu tersedia di internet, saya tidak benar-benar membutuhkannya diinstal, dan menghasilkan dan menyimpannya tampaknya tidak perlu.

Soumya
sumber
Saya khawatir Anda mungkin terjebak sejauh halaman manual itu sendiri - mereka adalah bagian dari hutang perangkat lunak yang mereka bawa.
Shadur
6
Tentunya ada kandidat yang lebih baik untuk menghemat ruang daripada halaman manual?
jasonwryan
Saya bisa membayangkan konfigurasi alat pengemasan untuk menjatuhkan semua file yang ditandai sebagai dokumen dan / atau file yang cocok dengan regex. Saya tidak mengetahui implementasi konsep ini.
Pavel Šimerda
Anda hanya menghemat, apa, 1% ruang (mungkin sebenarnya kurang)? Mungkin sedikit lebih jika Anda juga menekan /usr/share/doc.
Gilles 'SANGAT berhenti menjadi jahat'

Jawaban:

15

Saya mengalami masalah yang berlawanan pada gambar Debian 8 yang telah disatukan seseorang untuk Wandboard. Saya mencoba menemukan halaman manual untuk beberapa paket yang sudah diinstal dan memperhatikan bahwa setelah menginstal beberapa yang baru, halaman manual hilang, meskipun mereka ada di file deb.

Saya kemudian menemukan file ini 01_nodoc di /etc/dpkg/dpkg.conf.d, yang merupakan solusi sederhana untuk pertanyaan awal tentang cara menghemat ruang dengan menghapus halaman manual dan lokal serta file hak cipta di mana ruang ada di premium (misalnya tertanam sistem).

# /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
Space Saver
sumber
Jawaban lain yang bermanfaat adalah di askubuntu.com/a/401144/162384 , yang - di samping contoh yang bagus - menunjuk ke dokumen: wiki.ubuntu.com/ReducingDiskFootprint#Documentation
berto
6

Masalahnya adalah bahwa sistem manajemen paket mengharapkan file yang diinstalnya (termasuk halaman manual) tetap ada, sehingga mekanisme apa pun yang Anda gunakan untuk menghapusnya (kecuali membangun kembali setiap paket seperti yang disarankan HalosGhost) akan membingungkannya.

Jika yang Anda lakukan adalah menghasilkan alat untuk satu tujuan, satu pendekatan yang bisa Anda ambil adalah memiliki langkah pembuatan dan penerapan yang terpisah untuk alat tersebut. Yaitu, Anda menginstal semua paket yang Anda inginkan di lingkungan build yang terpisah (kartu SD yang berbeda, atau RPi yang diemulasikan), dan kemudian hanya menyalin apa yang ingin Anda miliki dalam produksi dari lingkungan build ke lingkungan produksi. Pada tahap itu, Anda dapat meninggalkan halaman manual dan hal lain yang tidak diperlukan dalam produksi.

Untuk mengambil perbaikan OS atau perbaikan keamanan, Anda memutakhirkan atau membangun kembali lingkungan build dan menyalin (atau rsync) untuk produksi lagi.

Itu sedikit lebih banyak pekerjaan, tetapi memberi Anda perangkat produksi yang sangat terkontrol, dibandingkan dengan masuk dan menjalankan peningkatan langsung di atasnya.

Andrew McGuinness
sumber
5

Yah, tidak tahu distro apa yang dijalankan RPi Anda, saya tidak dapat membantu Anda dengan perintah yang tepat, tetapi Anda mungkin dapat menghapus man-dbpaket yang menyediakan manutilitas dan berbagai halaman manual. Namun, menghapus semua halaman manual akan membutuhkan penghapusan setiap halaman manual dari setiap paket — saya tidak dapat membayangkan bahwa ini sepadan dengan waktu Anda hanya untuk menghemat ruang KiB.

Jika Anda benar-benar ingin, maka Anda perlu membangun kembali setiap paket; pada distro seperti Archlinux atau Gentoo, ini tidak selalu mustahil, tetapi masih cukup membosankan. Pada distro lain yang kurang "praktis", Anda mungkin merasa tugas ini sangat sulit.

HalosGhost
sumber
2
apt-get remove --purge man-dbakan juga menghapus instalasi debhelperyang tidak diperlukan?
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"; };

Paket debsumsmenginstal tindakan untuk menghasilkan daftar md5sum untuk paket secara otomatis setelah paket diinstal tanpa memiliki file md5sums sendiri ..

Anda dapat menambahkan pemindaian tindakan pemasangan pos yang serupa untuk dan menghapus halaman manual (dan dokumen info) setelah setiap tindakan pemasangan.

Untuk mendapatkan halaman manual dan paket yang dimiliki, Anda perlu memindai melalui semua /var/lib/dpkg/info/PACKAGENAME.listfile.

Anda harus memperbarui *.listfile - file tersebut untuk tidak menyebutkan halaman manual yang dihapus juga lebih lama.

localepurgesebagian melakukan ini juga. Dikutip dari apt-cache show localepurge:

Ini adalah skrip untuk memulihkan ruang disk yang terbuang untuk lokal yang tidak dibutuhkan, lokalisasi Gnome / KDE dan halaman manual lokal. Bergantung pada instalasi, dimungkinkan untuk menghemat sekitar 200, 300, atau bahkan lebih banyak mega byte ruang disk yang didedikasikan untuk pelokalan yang kemungkinan besar tidak akan pernah Anda gunakan. Itu dijalankan secara otomatis setelah menyelesaikan tindakan instalasi yang tepat.

Kutipan paling penting:

Tolong jangan melaporkan bug yang menyalahkan localepurge jika Anda merusak sistem Anda dengan menggunakannya. Jika Anda tidak tahu apa yang sedang Anda lakukan dan tidak dapat menangani kerusakan yang terjadi dengan sendirinya, mohon jangan gunakan paket ini.

;-D

Jadi, buat cadangan lengkap dan coba tulis manpagekiller...


sumber
1
Ini adalah solusi yang ada dalam pikiran saya juga (itu, ditambah tidak menginstal man-db). Saya akan menambahkan kait pasca- /etc/dpkg.cfg.dpemanggilan melalui daripada melalui APT, untuk menangani pemanggilan langsung dpkg.
Gilles 'SANGAT berhenti menjadi jahat'
Baik! Sebagai per paket (per .deb) tindakan dpkgitu bahkan akan lebih mudah daripada tindakan pasca pemasangan aptkarena Anda akan memiliki nama paket dan tidak perlu memindai semua *.listfile untuk halaman manual lagi dan lagi. Saya hanya lupa bahwa dpkgada sich juga ...
Hmmm ... tetapi menangani paket yang sedang diinstal lebih awal dari pawang ini masih akan memerlukan pemindaian *.listfile. Namun demikian, dpkgkait pasca-pemanggilan adalah tempat yang lebih baik untuk memicu tindakan itu.