localepurge - hasznos szerszám

Címkék

A Debian Sarge tartalmaz egy hasznos kis csomagot, amellyel kordában lehet tartani a rendszeren elburjánzó lokalizációs fileokat és man oldalakat. Talán nem is gondolnánk, de alapértelmezett telepítés esetén akár 100+ megabyte-nyi ilyen adat is fel tud halmozódni a rendszerünkön. Erősen valószínű, hogy a sok-sok nyelvi csomagból, man oldalból nincs mindegyikre szükségünk (pl. tradicionális kínai UTF-8-ra valószínűleg kevés magyar ember vágyik).

A localepurge megoldja a felesleges lokalizációs adatok (automatikus) eltávolítását. Ha a rendszerünkre csomago(ka)t telepítünk, akkor a telepítés befejezése előtt automatikusan meghívódik a localepurge, és eltávolítja az általunk feleslegesnek ítélt fileokat. Nézzük a használatát:

Sarge alatt a telepítése egyszerű:

(2400MHz 46C) root@alderaan $ apt-get install localepurge

A telepítés után válaszolnunk kell néhány egyszerű kérdésre:

A képről megtudhatjuk, hogy a localepurge minden olyan locale filet el fog távolítani a rendszerről, amelyet nem adunk meg a következő pontban. Válasszuk ki a nekünk szükséges locale-okat.


Angol...

Magyar...

A telepítő megkérdezi, hogy a felesleges man oldalakat is törölje-e... Igen...

Akarunk-e értesítést kapni, ha új locale-ok érkeznek a rendszerünkre? Válaszoljunk ízlés szerint. Alapértelmezetten nem szükséges...

A localepurge ki tudja írni az egyes csomagok telepítése után a felszabadított hely méretét. Kiírja? Alapértelemzés: igen.

Két módon tudja a localepurge kiszámítani a felszabadított hely méretét. Egy gyorsabb, de kevésbé pontos módon, vagy kicsit lassaban, de pontosabban... Melyikre van szükségünk? Az alapértelemezés a pontosabb számítás (igazából tizedmásodpercekről van szó, érdemes az alapértelmezést hagyni)

A localepurge ki tudja írni, hogy milyen fileokat töröl, de ez több csomag esetén hosszú képernyőkimenetet eredményez. Szeretnénk, hogy kiírja? Alapértelemezés: nem. Nincs is rá szükség... Ezzel végeztünk is...

A telepítés után kézzel futtatva meg is lesz az eredmény. Megszabadulhatunk egy halom sohasem használt filetól...

(2400MHz 48C) root@alderaan:/home/trey $localepurge
localepurge: Disk space freed in /usr/share/locale: 109778K
localepurge: Disk space freed in /usr/share/man: 1940K

Total disk space freed by localepurge: 111718K

Ezek után már nem kell kézzel futtatni a segédprogramot, mert automatikusan meghívódik minden csomagtelepítés után.

A localepurge előnyeit a Gentoo felhasználók is élvezhetik.

Hozzászólások

Ez nagyon hasznos, soha nem tudtam mi emészt ennyi helyet, ha még grafikus felület sincs. Kösz trey!:) Esetleg még valami fölösleges dolog?:)

Hat nem tudom, hogy Gentoo alatt hogy van, de Debianban akar az egesz locales-t le tudom szedni, meg fuggosege sincs:

(2400MHz 46C) root@alderaan:/home/trey $ apt-get remove locales

Csomaglisták olvasása... Kész

Függőségi fa építése... Kész

A következő csomagok el lesznek TÁVOLÍTVA:

locales

0 csomag frissítve lesz, 0 új csomag lesz telepítve, 1 el lesz távolítva és 1 nem lesz frissítve.

0B-t kell letölteni az archívumokból.

Kicsomagolás után 10,6MB lemezterület kerül felszabadításra.

Folytatni akarod? [Y/n]

Egy apt-get install --reinstall locales kiadasval meg akkor telepitem ujra amikor csak akarom.

mar a Woody-ban is benne volt, de ott "apt-localepurge" neven

Én a /usr/share/doc-ban szoktam nagytakarítást csinálni, általában tizen-pár megát ez is hozhat. Ja, a debian policy-t persze sérti, de hát Istenem...

#!/bin/bash

DOCBASE=/usr/share/doc

JUNK="AUTHORS authors NEWS change Change CHANGE copyright Copyright TODO

README.Debian PATCHES Announce Problems BUG bug REFERENCES THANKS CREDITS

RELEASE FEATURES consitution RELNOTES POSIX MAILING CONTRIBU BACKGROUND"

WILDJUNK="sgml texi .fr .ja manifest contract"

for i in $JUNK;

do

echo "Purging $i*..."

find $DOCBASE -name $i* -exec rm -rf {} ;

done

for i in $WILDJUNK;

do

echo "Purging *$i*..."

find $DOCBASE -name *$i* -exec rm -rf {} ;

done

echo "Purging empty dirs..."

for i in $DOCBASE/*;

do

FILES=$(ls $i | wc -l)

if [ "$FILES" -eq "0" ];

then

echo " $i"

rmdir $i;

fi;

done;

find /usr/share/doc -name ANNOUNCE -o -name AUTHORS -o -name *BUGS* -o -name CHANGES -o -name CONFIGURATION -o -name *COPYING* -o -name *COPYRIGHT* -o -name CREDITS -o -name ChangeLog -o -name Changelog -o -name CHANGELOG -o -name CONTRIBUTORS -o -name *FAQ* -o -name FEATURES -o -name FILES -o -name HACKING -o -name History -o -name HISTORY -o -name INSTALL* -o -name LICENSE -o -name LSM -o -name MANIFEST -o -name NEWS -o -name *README* -o -name *Readme* -o -name SITES -o -name *RELEASE* -o -name RELNOTES -o -name THANKS -o -name TIPS -o -name TODO -o -name VERSION -o -name CONFIGURATION* -o -name GPLLicense|xargs rm

Nekem ezzel állt le:

bash-4.1# localepurge
No /etc/locale.nopurge file present, exiting ...
bash-4.1#

Ezen állományokat másoltam fel slack13.37-be egy debian csomagból:

bash-4.1# ls -shR ./etc ./usr
./etc:
total 4.0K
4.0K apt

./etc/apt:
total 4.0K
4.0K apt.conf.d

./etc/apt/apt.conf.d:
total 4.0K
4.0K 99-localepurge

./usr:
total 8.0K
4.0K sbin 4.0K share

./usr/sbin:
total 8.0K
8.0K localepurge

./usr/share:
total 8.0K
4.0K doc 4.0K man

./usr/share/doc:
total 4.0K
4.0K localepurge

./usr/share/doc/localepurge:
total 24K
4.0K NEWS.Debian.gz 4.0K TODO.Debian 4.0K copyright
4.0K README.Debian 4.0K changelog.gz 4.0K reinstall_debs.sh

./usr/share/man:
total 4.0K
4.0K man8

./usr/share/man/man8:
total 4.0K
4.0K localepurge.8.gz
bash-4.1#

(azt persze nem várom el, hogy aptolások után is lefusson, de legalább elintézhetné a koreai-, japán-, bantu- és egyéb lomaimat)

-------------

Alkottam egy /etc/locale.nopurge fájlt, ez van belül:

####################################################
# This is the configuration file for localepurge(8).
####################################################
# Comment this to enable localepurge.
# NO COMMENT IT IF YOU ARE NOT SURE WHAT ARE YOU DOING
# THIS APP DO NOT ASK FOR CONFIRMATION

#NEEDSCONFIGFIRST

####################################################
# Uncommenting this string enables removal of localized
# man pages based on the configuration information for
# locale files defined below:

MANDELETE

####################################################
# Uncommenting this string causes localepurge to simply delete
# locales which have newly appeared on the system without
# bothering you about it:

DONTBOTHERNEWLOCALE

#####################################################
# Commenting out this string enables faster but less
# accurate calculation of freed disk space:

QUICKNDIRTYCALC

####################################################
# Uncommenting this string enables display of freed disk
# space if localepurge has purged any superfluous data:

SHOWFREEDSPACE

#####################################################
# Commenting out this string disables verbose output:

#VERBOSE

#####################################################
# You like Colors?

#NOCOLOR

#####################################################
# You can use the -v -d -nc options in command line.

#####################################################
# Following locales won't be deleted from this system
# for example:
en_US
en_US.UTF-8
hu_HU
hu_HU.UTF-8

#eddig tartott a file.
-------------

Ezután minden megjavult.
localepurge hibaüzenete erre már változik:

bash-4.1# ./localepurge
localepurge: Disk space freed in /usr/share/locale: 34788 KiB
localepurge: Disk space freed in /usr/share/man: 8 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 7356 KiB
localepurge: Disk space freed in /usr/share/omf: 232 KiB

Total disk space freed by localepurge: 42384 KiB

Teszt:

bash-4.1# du -sh /usr/share/locale
1.1M /usr/share/locale
bash-4.1#

Ha a /usr/man, doc és info könyvtárak ramdrájvra csomagolódnak ki rendszerindításkor, a takarítás azokra nem terjed ki.

Mire leírtam ide az esetleges kérdésemet, már meg is odottam.
Ilyen nincs.

------------------------------

/usr/lib/locale könyvtárban ez miért nem takarít?
Van ott vagy 110MB szotty, szerintem nem csak nekem.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Még a japán dolgokat sem szabad bolygatni?

bash-4.1$ ls -l ja_JP.eucjp ja_JP.utf8
ja_JP.eucjp:
total 960
-rw-r--r-- 1 root root 104 Oct 28 2010 LC_ADDRESS
-rw-r--r-- 1 root root 402095 Oct 28 2010 LC_COLLATE
-rw-r--r-- 1 root root 522768 Oct 28 2010 LC_CTYPE
-rw-r--r-- 1 root root 342 Oct 28 2010 LC_IDENTIFICATION
-rw-r--r-- 1 root root 24 Oct 28 2010 LC_MEASUREMENT
drwxr-xr-x 2 root root 4096 Oct 28 2010 LC_MESSAGES
-rw-r--r-- 1 root root 291 Oct 28 2010 LC_MONETARY
-rw-r--r-- 1 root root 76 Oct 28 2010 LC_NAME
-rw-r--r-- 1 root root 55 Oct 28 2010 LC_NUMERIC
-rw-r--r-- 1 root root 35 Oct 28 2010 LC_PAPER
-rw-r--r-- 1 root root 52 Oct 28 2010 LC_TELEPHONE
-rw-r--r-- 1 root root 5003 Oct 28 2010 LC_TIME

ja_JP.utf8:
total 1000
-rw-r--r-- 1 root root 103 Oct 28 2010 LC_ADDRESS
-rw-r--r-- 1 root root 439694 Oct 28 2010 LC_COLLATE
-rw-r--r-- 1 root root 527724 Oct 28 2010 LC_CTYPE
-rw-r--r-- 1 root root 341 Oct 28 2010 LC_IDENTIFICATION
-rw-r--r-- 235 root root 23 Oct 28 2010 LC_MEASUREMENT
drwxr-xr-x 2 root root 4096 Oct 28 2010 LC_MESSAGES
-rw-r--r-- 1 root root 290 Oct 28 2010 LC_MONETARY
-rw-r--r-- 1 root root 76 Oct 28 2010 LC_NAME
-rw-r--r-- 51 root root 54 Oct 28 2010 LC_NUMERIC
-rw-r--r-- 223 root root 34 Oct 28 2010 LC_PAPER
-rw-r--r-- 1 root root 51 Oct 28 2010 LC_TELEPHONE
-rw-r--r-- 1 root root 5410 Oct 28 2010 LC_TIME

...és ilyenből vanmég jópár

bash-4.1$

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Nezd, en elmondtam a localepurge szemszogebol a dolgokat. A /usr/lib/locale alatt nem (kizarolag) locale fajlok vannak, hanem a locale rendszer egyeb reszei is, es ezt nem illik piszkalni. Akkor sem, ha 100M. Elfer.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Ugye te mar regen Gentoo-ztal? :-) Azota az userlocales a glibc resze, maga az USE flag megszunt.

Oke, nem ertem a Drupal mukodeset, ez ProTech kolleganak szolo valasz lenne, de nem tudok neki valaszolni valamiert.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Rövid visszatérő kérdésem volna az irtásokkal kapcsolatosan.
Előző slackware-emben sikerült a gyomlálás, de most szakemberszerűbben szeretném ezt megtenni.
Továbbra sem beszélek japánul, kínaiul, így ilyen kódlapokra, fontokra sem tartanék igényt --- ebből indulok ki.

Viszonylag hosszú (3 hetes) vajúdási folyamatként megszületett gépemen egy kernel. Ebben azt vettem észre, hogy kódlapokkal kapcsolatosan is vannak a kernelben bejelölhető modulként cuccok. Nekem csak a legszükségesebbek lettek bejelölve, így bengáli- és egyéb dolgokat ezek szerint új kernelem sem értelmez.

Kérdésem:
Szakszerű-e ilyenkor az előzőnél sokkal logikusabb megfontolásból brutális irtást rendeznem 100 megás /usr/lib/locales könyvtáram belsejében?

root[lib]# du -sh /usr/lib/locale
105M /usr/lib/locale
root[lib]#

---
--- A gond akkor van, ha látszólag minden működik. ---
---