Tüm kılavuz sayfalarını devre dışı bırakabilir miyim?


14

Özellikle bir ahududu pi (Raspbian Wheezy çalıştıran) üzerinde, ama aynı zamanda genel olarak, tüm adam sayfalarını devre dışı bırakabilir miyim?

Bu, kayıtlı bir man sayfası olmaması, "man-db için işleme tetikleyicileri" vb. Anlamına gelmez. İnternette her zaman mevcut olan manuel sayfalar sayesinde, bunların yüklenmesine gerçekten ihtiyacım yok ve bunları oluşturmak ve saklamak gereksiz görünüyor.


Korkarım, muhtemelen manajların kendilerine kadar sıkıştınız - onlar gittikleri yazılımın borçlarının bir parçası.
Shadur

6
Elbette yer tasarrufu için man sayfalarından daha iyi adaylar var mı?
jasonwryan

Doge olarak işaretlenmiş tüm dosyaları ve / veya normal ifadeyle eşleşen dosyaları bırakmak için bir paketleme aracının yapılandırmasını hayal edebiliyorum. Yine de bu kavramın uygulamalarının farkında değilim.
Pavel Šimerda

Sadece% 1 alan tasarrufu (muhtemelen daha az)? Muhtemelen biraz daha bastırırsan /usr/share/doc.
Gilles 'SO- kötü olmayı bırak'

Yanıtlar:


16

Birinin bir Wandboard için bir araya getirdiği Debian 8 görüntüsünde tam tersi bir sorun vardı. Zaten yüklenmiş ve bazı yenilerini yükledikten sonra, deb dosyasında mevcut olsalar bile, el ile sayfalar eksik olduğunu fark bazı paketler için el ile sayfa bulmaya çalışıyordum.

Daha sonra /etc/dpkg/dpkg.conf.d dosyasında 01_nodoc dosyasını buldum, bu da alanın prim olduğu manuel sayfaları ve yerel ayarları ve telif hakkı dosyalarını silerek yerden nasıl tasarruf edileceği konusunda orijinal bir soru. sistemler).

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

Başka bir yararlı cevap, askubuntu.com/a/401144/162384 adresinde , harika bir örneğe ek olarak, dokümanlara işaret ediyor: wiki.ubuntu.com/ReducingDiskFootprint#Documentation
berto

6

Sorun, paket yönetim sisteminin yüklediği dosyaların (man sayfaları dahil) orada kalmasını beklemesidir, bu nedenle bunları kaldırmak için hangi mekanizmayı kullanırsanız kullanın (HalosGhost'un önerdiği gibi her paketi yeniden oluşturmak dışında) karıştırır.

Yaptığınız şey tek amaçlı bir cihaz üretmekse, uygulayabileceğiniz bir yaklaşım, cihaz için ayrı yapım ve dağıtım adımları uygulamaktır. Yani, istediğiniz tüm paketleri ayrı bir oluşturma ortamına (farklı bir SD kart veya taklit edilmiş bir RPi) yükler ve yalnızca üretim ortamından üretim ortamına üretimde olmasını istediğinizleri kopyalarsınız. Bu aşamada, man sayfalarını ve üretimde ihtiyaç duyulmayan her şeyi dışarıda bırakabilirsiniz.

Yükseltilmiş işletim sistemi veya güvenlik düzeltmelerini almak için derleme ortamını yükseltir veya yeniden oluşturur ve tekrar üretime kopyalarsınız (veya rsync).

Bu biraz daha fazla iş, ancak oturum açma ve doğrudan üzerinde yükseltmeleri çalıştırma ile karşılaştırıldığında size çok kontrollü bir üretim cihazı sağlar.


5

Peki, RPi'nizin hangi dağıtımı çalıştırdığını bilmeden, tam komutlarla size yardımcı olamam, ancak muhtemelen man-dbhem manyardımcı programı hem de çeşitli adam sayfalarını sağlayan paketi kaldırabilirsiniz . Ancak, tüm man sayfalarının kaldırılması her man sayfasının her bir paketten kaldırılmasını gerektirecektir; bunun sadece KiB alanından tasarruf etmek için zaman ayırmaya değer olduğunu düşünemiyorum.

Gerçekten isteseydiniz, her paketi yeniden oluşturmanız gerekir; Archlinux veya Gentoo gibi bir dağıtımda, bu mutlaka imkansız değildir, ancak yine de oldukça sıkıcıdır. Daha az "uygulamalı" dağıtımlarda, bu görevi inanılmaz derecede zor bulabilirsiniz.


2
apt-get remove --purge man-dbAyrıca kaldırma debhelpergerekli değil mi?
22:15

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 debsums, bir paket kurulduktan sonra zaten kendi md5sums dosyası olmadan otomatik olarak md5sum listeleri oluşturmak için bir eylem yükler.

Her yükleme işleminden sonra benzer sayfalar (ve bilgi belgeleri) için tarama ve kaldırma işlemlerini benzer bir yükleme sonrası eylem taraması ekleyebilirsiniz.

Manajları ve sahip olunan paketleri almak için tüm /var/lib/dpkg/info/PACKAGENAME.listdosyaları taramanız gerekir .

*.listKaldırılan sayfalardan artık bahsetmemek için dosyaları güncellemelisiniz .

localepurgebunu kısmen yapıyor. Alıntı sahibi apt-cache show localepurge:

Bu, gereksiz yerel ayarlar, Gnome / KDE yerelleştirmeleri ve yerelleştirilmiş man sayfaları için boşa harcanan disk alanını kurtarmak için bir komut dosyasıdır. Yüklemeye bağlı olarak, büyük olasılıkla hiçbir zaman kullanamayacağınız yerelleştirme için ayrılmış yaklaşık 200, 300 veya daha fazla mega bayt disk alanı kaydetmek mümkündür. Herhangi bir uygun kurulum işlemi tamamlandıktan sonra otomatik olarak çalıştırılır.

En önemli teklif:

Lütfen sisteminizi kullanarak koparsanız, yerel yordamı suçlayan bu tür hataları bildirmekten kesinlikle kaçının. Ne yaptığınızı bilmiyorsanız ve ortaya çıkan herhangi bir kırılmayı kendi başınıza halledemiyorsanız, lütfen bu paketi kullanmayın.

;-D

Yani sadece tam bir yedekleme yapın ve yazmaya çalışın manpagekiller...


1
Bu benim de aklımda olan çözüm (yani, yüklemeyin man-db). /etc/dpkg.cfg.dDoğrudan çağrıları ele almak için APT yerine çağrı sonrası çağrıyı eklerdim dpkg.
Gilles 'SO- kötü olmayı bırak'

İnce! Paket başına ( .debeylem başına ) bir eylem dpkgolarak yükleme sonrası eyleminden daha kolay olacaktır, aptçünkü paket adına sahip olacaksınız ve tüm *.listdosyaları tekrar tekrar sayfalar için taramanız gerekmeyecek . Ben dpkgde bir kanca sich unuttum ...

Hmmm ... ancak bu işleyiciden daha önce kurulan paketleri işlemek yine de *.listdosyaların taranmasını gerektiriyor . Bununla birlikte, dpkgçağırma sonrası kanca bu eylemi tetiklemek için daha iyi bir yerdir.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.