Дневник оптимизации в Linux

1. О размерах модулей ядра на винте

Замерьте размер своего каталога /lib/modules, особенно, если ядро не
самособранное. Ну как, не жалко места? нет, ну… тогда не читайте, а
если да, то вот такое сделать можно:

compress_modules.sh

#!/bin/sh
VERSION=`uname -r`
MAJOR=`uname -r | awk -F. '{print $1}'`
MINOR=`uname -r | awk -F. '{print $2}'`
if [ $MAJOR -ge 2 -a $MINOR -ge 5 ]; then
OBJ=ko
else
OBJ=o
fi
find /lib/modules/`uname -r`/ -name *.$OBJ -exec gzip -9 '{}' ';'
depmod -a
depmod -A

работает для ядер 2.6, 2.4, на 2.5 что-то сломали (но зачем оно нам?
:)
на других не пробывал.


2. О размерарах дистрибутивных пакетов

В один прекрасный момент всегда перестает хватать места на диске, ладно
еще когда не хватает метров 700--800, чтобы записать фильмец, тут можно на
время смириться, записать что-то на матриции, но это будет потом, но если
нехватает мегов 20, и они нужны позарез, тут можно поднапрячь мозги:

1) попробывть почисть документацию дистрибутива, ведь после настройки
пакета она вам врядли будет нужна, а потребуется, так всегда есть на
cd-rom
вот к примеру:

[16:06:59 hatred@localhost:doc]$ calc_doc_sizes
*CHANGES*: 1629991
*ChangeLog*: 3525776
*LICENSE*: 243082
*README*: 3662130
*AUTHORS*: 169306
*COPYING*: 4215931
*NEWS*: 3205992
*CREDITS*: 56180
*TODO*: 375895
*Changes*: 64683
*COPYRIGHT*: 71689
*GPL*: 195020
*CONTRIBUTOR*: 19072
*ABOUT*: 467804
*MIRRORS*: 686
*VERSION*: 6036
*license*: 18977
*HACKING*: 111091
*MAINTAINERS*: 47245
*ANNOUNCE*: 63674
*THANKS*: 118612
*lsm*: 16852
-----------------
TOTAL: 18285724

18 мегов, не мало, для файлов которые практически не нужны :)
сам скрипт вот:

#!/bin/sh
LIST= «CHANGES ChangeLog LICENSE README AUTHORS COPYING \
NEWS CREDITS TODO Changes COPYRIGHT GPL CONTRIBUTOR \
ABOUT MIRRORS VERSION license HACKING MAINTAINERS ANNOUNCE \
THANKS lsm»
total=0
for i in $LIST
do
sizes=`find. / -name «*$i*» -exec ls -l '{}' ';' | awk '{print $5}'`
size=0
for j in $sizes
do
size=`expr $size + $j`
done
total=`expr $total + $size`
echo -ne «*$i*:\t $size\n»
done
echo -ne «-----------------\n»
echo -ne «TOTAL:\t $total\n

чистить документацию можно и еще больше, это только порыв, у меня на ней
получилось высвободить около 70 метров на диске.

2) Почти все программы в Linux переведены на многие языки, благо NLS :)
но зачем нужны например чешские или польские локализации для нас,
русских?

Тем более, что они занимают нехило места: 85,941,354 у меня было!
Фтопку, всех их :) снемсти все в /usr/share/locale кроме алиасного файла, C и ru*