ฉันสามารถปิดการใช้งาน man page ทั้งหมดได้ไหม?


14

โดยเฉพาะกับราสเบอร์รี่ปี่ (เรียกใช้ Raspbian Wheezy) แต่โดยทั่วไปแล้วฉันสามารถปิดการใช้งาน man page ทั้งหมดได้หรือไม่?

นี่จะหมายถึงไม่มีหน้าคนที่เก็บไว้ไม่มี "ทริกเกอร์การประมวลผลสำหรับ man-db" และอื่น ๆ เป็นต้น ด้วยหน้าคู่มือที่มีอยู่เสมอบนอินเทอร์เน็ตฉันไม่ต้องการให้ติดตั้งและสร้างและจัดเก็บดูเหมือนว่าไม่จำเป็น


ฉันเกรงว่าคุณอาจติดอยู่ตราบใดที่ manpages ดำเนินต่อไป - เป็นส่วนหนึ่งของ debs ของซอฟต์แวร์ที่ไปด้วย
Shadur

6
แน่นอนว่ามีผู้สมัครที่ดีกว่าสำหรับการประหยัดพื้นที่กว่าหน้าคน?
jasonwryan

ฉันนึกภาพการกำหนดค่าเครื่องมือบรรจุภัณฑ์เพื่อวางไฟล์ทั้งหมดที่ทำเครื่องหมายว่าเป็นเอกสารและ / หรือไฟล์ที่ตรงกับ regex ฉันไม่ได้ตระหนักถึงการดำเนินการตามแนวคิดนี้
Pavel Šimerda

คุณประหยัดได้แล้วอะไรคือ 1% ของเนื้อที่ (อาจเป็นจริงน้อยกว่า) อาจจะเล็ก ๆ น้อย ๆ /usr/share/docถ้าคุณยังปราบ
Gilles 'ดังนั้น - หยุดความชั่วร้าย'

คำตอบ:


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
berto

6

ปัญหาคือระบบการจัดการแพ็กเกจคาดว่าไฟล์ที่ติดตั้ง (รวมถึง man pages) จะยังอยู่ที่นั่นดังนั้นกลไกใด ๆ ที่คุณใช้เพื่อลบมัน (ยกเว้นการสร้างใหม่ทุกแพ็คเกจตามที่ HalosGhost แนะนำ) กำลังจะสร้างความสับสน

หากสิ่งที่คุณกำลังทำคือการผลิตอุปกรณ์แบบใช้ครั้งเดียววิธีหนึ่งที่คุณสามารถทำได้คือการสร้างและปรับใช้ขั้นตอนสำหรับอุปกรณ์แยกต่างหาก นั่นคือคุณติดตั้งแพ็กเกจทั้งหมดที่คุณต้องการในสภาพแวดล้อมบิลด์ที่แยกต่างหาก (การ์ด SD อื่นหรือ RPI ที่จำลองแล้ว) จากนั้นคัดลอกเฉพาะสิ่งที่คุณต้องการในการผลิตจากสภาพแวดล้อมการสร้างไปยังสภาพแวดล้อมการผลิต ในขั้นตอนนั้นคุณสามารถออกจากหน้าคนและสิ่งอื่น ๆ ที่ไม่จำเป็นในการผลิต

ในการรับ OS ที่อัปเกรดหรือการแก้ไขด้านความปลอดภัยคุณต้องอัพเกรดหรือสร้างสภาพแวดล้อมการสร้างใหม่และคัดลอก (หรือ rsync) ไปยังการผลิตอีกครั้ง

มันใช้งานได้มากกว่าเดิม แต่มันให้อุปกรณ์การผลิตที่ควบคุมได้มากเมื่อเทียบกับการเข้าสู่ระบบและการอัพเกรดโดยตรง


5

ดีไม่ทราบว่า RPi ของคุณทำงานอะไร distro ฉันไม่สามารถช่วยคุณได้ด้วยคำสั่งที่แน่นอน แต่คุณสามารถลบman-dbแพ็คเกจที่มีทั้งmanยูทิลิตี้และ man page ที่หลากหลายได้ อย่างไรก็ตามการลบ man page ทั้งหมดจะต้องทำการลบ man page แต่ละอันออกจากแพ็คเกจแต่ละอัน - ฉันไม่สามารถจินตนาการได้เลยว่านี่คุ้มค่ากับเวลาของคุณเพียงเพื่อประหยัดพื้นที่ KiBs

หากคุณต้องการจริงๆคุณต้องสร้างแต่ละแพ็คเกจใหม่ บน distro เช่น Archlinux หรือ Gentoo สิ่งนี้ไม่จำเป็นต้องเป็นไปไม่ได้ แต่ก็ยังค่อนข้างน่าเบื่อ ในส่วนอื่น ๆ ที่ "วางมือ" distros คุณอาจพบว่างานนี้ยากอย่างไม่น่าเชื่อ


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 ของตัวเองอยู่แล้ว

คุณสามารถเพิ่มการสแกนการติดตั้งการดำเนินการติดตั้งโพสต์ที่คล้ายกันสำหรับและลบ manpages (และเอกสารข้อมูล) หลังจากการดำเนินการติดตั้งแต่ละครั้ง

ในการรับ manpages และแพ็คเกจที่เป็นเจ้าของคุณต้องสแกนผ่าน/var/lib/dpkg/info/PACKAGENAME.listไฟล์ทั้งหมด

คุณควรอัปเดต*.listไฟล์โดยไม่ต้องพูดถึง manpages ที่ถูกลบอีกต่อไป

localepurgeบางส่วนก็ทำเช่นนี้เช่นกัน อ้างจากapt-cache show localepurge:

นี่คือสคริปต์ในการกู้คืนพื้นที่ดิสก์ที่สูญเสียไปสำหรับโลแคลที่ไม่จำเป็น Gnome / KDE โลคัลไลเซชัน ขึ้นอยู่กับการติดตั้งเป็นไปได้ที่จะประหยัดเนื้อที่ดิสก์ขนาด 200, 300 หรือมากกว่านั้นโดยเฉพาะสำหรับการโลคัลไลเซชั่นซึ่งคุณอาจไม่เคยใช้งานมาก่อน มันจะทำงานโดยอัตโนมัติเมื่อเสร็จสิ้นการดำเนินการติดตั้ง apt ใด ๆ

คำพูดที่สำคัญที่สุด:

โปรดหลีกเลี่ยงการรายงานข้อผิดพลาดใด ๆ ที่กล่าวโทษ localepurge หากคุณใช้ระบบของคุณ หากคุณไม่ทราบว่ากำลังทำอะไรอยู่และไม่สามารถจัดการกับความเสียหายที่เกิดขึ้นด้วยตัวเองได้โปรดอย่าใช้แพ็คเกจนี้

;-D

ดังนั้นเพียงทำการสำรองข้อมูลเต็มรูปแบบและพยายามที่จะเขียนmanpagekiller...


1
นี่เป็นวิธีแก้ปัญหาที่ฉันมีในใจด้วย (นั่นรวมถึงไม่ต้องติดตั้งman-db) ฉันต้องการเพิ่มตะขอโพสต์วิงวอนผ่าน/etc/dpkg.cfg.dมากกว่าผ่าน APT dpkgเพื่อจัดการสวดโดยตรงของ
Gilles 'หยุดความชั่วร้าย'

ละเอียด! ตาม.debการกระทำของแพคเกจ (ต่อ) dpkgมันจะง่ายกว่าการติดตั้งหลังการโพสต์aptเพราะคุณจะมีชื่อแพ็คเกจและไม่จำเป็นต้องสแกน*.listไฟล์ทั้งหมดเพื่อหา manpages ซ้ำแล้วซ้ำอีก ฉันแค่ลืมไปว่าdpkgมีตะขอด้วย ...

อืม ... แต่การจัดการแพ็กเกจที่ติดตั้งไว้ก่อนหน้าตัวจัดการนี้จะยังคงต้องการการสแกน*.listไฟล์ อย่างไรก็ตามdpkgตะขอโพสต์วิงวอนเป็นที่ที่ดีกว่าในการกระตุ้นการกระทำนั้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.