В связи с этим было решено самостоятельно вырезать из установленной системы все ненужные компоненты. На просторах Интернета была найдена только одна более менее полная статья на английском языке. Большая часть взята из неё с моими небольшими исправлениями и дополнениями.
P.S. У знатоков Linux систем с этим вряд ли возникнут проблемы, а новичкам может быть полезно.
Что имеется
Произведена чистая установка системы (на момент написания статьи была установлена NOOBS LITE version 1.4 Release date 2015-02-18).
Установка производилась на флешку 8 ГБ, согласно инструкции: http://ift.tt/1UsIeAD.
В итоге после установки мы имеем:
# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 7338472 2521720 4420928 37% /
/dev/root 7338472 2521720 4420928 37% /
devtmpfs 470416 0 470416 0% /dev
tmpfs 94944 240 94704 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 189880 0 189880 0% /run/shm
/dev/mmcblk0p5 61302 19164 42138 32% /boot
Как видно занято 2 521 720 Байт, то есть 2,5 ГБ. Также при загрузке малинка пожирает около 200 МБ оперативной памяти.
Перед началом можно запустить raspi-config и сделать необходимые настройки. Вот, что изменил я:
- Локаль (4 Internationalisation Options -> I1 Change Locale -> ru_RU.UTF-8 UTF-8)
- Часовой пояс (4 Internationalisation Options -> I2 Change Timezone)
- Настройки производителности (7 Overclock -> Pi2 1000MHz ARM, 500MHz core, 500MHz SDRAM, 2 overvolt)
- Уменьшена память для графической подсистемы (8 Advanced Options -> A3 Memory Split -> 16)
- Включен SSH (8 Advanced Options -> A4 SSH -> Enable)
Для просмотра списка установленных пакетов можно воспользоваться двумя командами:
# dpkg --get-selections
# aptitude search '~i'
Вторая команда, помимо названия, выведет описание пакетов.
Приступаем к удалению
Удаляем графический интерфейс и среду рабочего стола:
# aptitude purge x11-common lxde gconf2-common gnome-desktop3-data
Удаляем хвосты LXDE
# aptitude purge lxappearance lxde-common lxde-icon-theme lxinput lxmenu-data lxpanel lxpanel-data lxpolkit lxrandr lxsession lxsession-edit lxshortcut lxtask lxterminal
Удаляем питон:
# aptitude purge python python-minimal python2.7 python2.7-minimal python3 python3-minimal python3.2 python3.2-minimal
Удалим пакеты для разработчиков:
# aptitude purge `sudo dpkg --get-selections | grep "\-dev" | sed s/install//`
Удалим raspi-config, он нам больше не понадобится:
# aptitude purge raspi-config
Удалим поддержку звука. На сервере ни к чему
# aptitude purge `sudo dpkg --get-selections | grep -v "deinstall" | grep sound | sed s/install//`
После иксов всё еще много мусора. Его тоже неплохо бы удалить:
# aptitude purge `sudo dpkg --get-selections | grep -v "deinstall" | grep x11 | sed s/install//`
Оставим только последнюю версию GCC:
# dpkg --get-selections | grep gcc\-
gcc-4.5-base:armhf install
gcc-4.6 install
gcc-4.6-base:armhf install
gcc-4.7-base:armhf install
gcc-4.8-base:armhf install
Последняя установленная версия 4.8, остальные три удаляем:
# aptitude purge gcc-4.5-base:armhf gcc-4.6-base:armhf gcc-4.7-base:armhf
Теперь можно удалить пакеты, которые вам не нужны. Список минимально необходимых пакетов для Debian приведен ниже. Также, при попытке удаления некоторых пакетов вы получите предупреждение от системы. Такие пакеты также удалять не стоит.
Вот что вышло у меня:
# aptitude purge xkb-data xdg-utils xarchiver weston epiphany-browser-data gconf-service gconf2-common gnome-desktop3-data gnome-icon-theme gnome-icon-theme-symbolic gnome-themes-standard gnome-themes-standard-data libgconf-2-4 libgnome-keyring-common libgnome-keyring0 libsoup-gnome2.4-1 libxml2 gconf-service gconf2-common aspell bash-completion binutils bzip2 ca-certificates cgroup-bin cifs-utils console-setup-linux cups-common dbus debian-reference-common desktop-file-utils dictionaries-common ed fbset file fontconfig fontconfig-config fonts-freefont-ttf freepats fuse gdbserver gir1.2-glib-2.0 gsfonts gstreamer1.0-libav gstreamer1.0-omx gstreamer1.0-plugins-base hicolor-icon-theme init-system-helpers initramfs-tools isc-dhcp-client isc-dhcp-common java-common keyboard-configuration klibc-utils krb5-locales less logrotate lua5.1 luajit make makedev menu menu-xdg mime-support module-init-tools ncdu ncurses-term netsurf-common nfs-common openresolv parted pciutils perl pkg-config psmisc qdbus strace tasksel usbutils v4l-utils xz-utils zenity-common libaspell15 libasyncns0 libavahi-client3 libavahi-common-data libavahi-common3 libavahi-glib1 libavahi-gobject0 libavcodec53 libavutil51 libavutil52 libbluetooth3 libbluray1 libboost-iostreams1.46.1 libboost-iostreams1.48.0 libboost-iostreams1.49.0 libboost-iostreams1.50.0 libbsd0 libcap2 libcdio-cdda1 libcdio-paranoia1 libcdio13 libchromaprint0 libck-connector0 libcups2 libcurl3 libcwidget3 libdatrie1 libdca0 libdirac-encoder0 libdrm-nouveau1a libdrm-radeon1 libdrm2 libdvdnav4 libdvdread4 libedit2 libenca0 libept1.4.12 libexif12 libexpat1 libfaad2 libffi5 libfftw3-3 libflac8 libfontenc1 libfreetype6 libfribidi0 libfuse2 libgcrypt11 libgdbm3 libgdk-pixbuf2.0-common libgif4 libgirepository-1.0-1 libgl1-mesa-dri libglapi-mesa libglib2.0-0 libglib2.0-data libgme0 libgnutls26 libgomp1 libgpg-error0 libgphoto2-port0 libgpm2 libgraphite2-2.0.0 libgsm1 libgssapi-krb5-2 libgtk2.0-common libgtop2-7 libgtop2-common libharfbuzz-icu0 libharfbuzz0a libhunspell-1.3-0 libid3tag0 libident libidn11 libilmbase6 libiw30 libjack-jackd2-0 libjasper1 libjavascriptcoregtk-3.0-0 libjbig0 libjpeg8 libjson0 libk5crypto3 libkate1 libkeyutils1 libklibc libkrb5-3 libkrb5support0 liblcms1 libldap-2.4-2 libltdl7 libmagic1 libmimic0 libmms0 libmng1 libmodplug1 libmp3lame0 libmpg123-0 libnettle4 libnewt0.52 libnih-dbus1 libnih1 libnspr4 libnss3 libofa0 libogg0 libopenal-data libopenal1 libopencv-calib3d2.4 libopencv-core2.4 libopencv-features2d2.4 libopencv-flann2.4 libopencv-imgproc2.4 libopencv-ml2.4 libopencv-photo2.4 libopencv-stitching2.4 libopencv-ts2.4 libopencv-video2.4 libopenexr6 libopenjpeg2 libopts25 liborc-0.4-0 libp11-kit0 libpipeline1 libpixman-1-0 librtmp0 libsamplerate0 libsasl2-2 libsasl2-modules libsbc1 libschroedinger-1.0-0 libsecret-1-0 libsecret-common libwebkitgtk-3.0-common libwebp2 libwildmidi-config libwildmidi1 libwnck-3-common libx264-123 libxapian22 libxau6 libxcb-glx0 libxcb-render0 libxcb-shm0 libxcb-util0 libxcb1 libxdmcp6 libxfont1 libxvidcore4 libpng12-0 libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libqt4-xml libqtcore4 libqtdbus4 libsigc++-1.2-5c2 libsigc++-2.0-0c2a libsndfile1 libspandsp2 libspeex1 libsqlite3-0 libsrtp0 libswscale2 libsysfs2 libsystemd-login0 libtasn1-3 libthai-data libthai0 libtheora0 libtiff4 libva1 libvorbis0a libvorbisenc2 libvpx1
Выполнением верхней команды мы также удалили SSH сервер, вместо него мы поставим более легковесный dropbear:
# apt-get install dropbear
Очищаем оставшиеся файлы конфигураций:
# apt-get purge `dpkg-query -f '${Package} ${Status}\n' -W | grep config-files$ | cut -d" " -f1`
Очистим кеши:
# apt-get clean
Удалим каталог с образцом видео (/opt/vc/src/hello_pi/hello_video/test.h264):
# rm -rf /opt
Удалим игрушки, которые лежат в домашней директории:
# rm -rf /home/pi/python_games
Далее очищаем логи:
# cd /var/log/
# rm `find . -type f`
На этом всё. Проверяем свободное место:
# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
rootfs 7,0G 430M 6,3G 7% /
/dev/root 7,0G 430M 6,3G 7% /
devtmpfs 484M 0 484M 0% /dev
tmpfs 98M 204K 98M 1% /run
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 195M 0 195M 0% /run/shm
/dev/mmcblk0p5 60M 19M 42M 32% /boot
Итого у нас осталось занятым 330 МБ (100 МБ занимает swap) на флешке и 42 МБ занятой оперативки. Можно считать, что наш Raspbian Mini готов.
apt
apt-utils
aptitude
bsdmainutils
cpio
cron
debian-archive-keyring
debian-backports-keyring
debian-multimedia-keyring
dhcp3-client
dhcp3-common
dmidecode
ed
gnupg
gpgv
groff-base
ifupdown
info
install-info
iproute
iptables
base-files
base-passwd
bash
bsdutils
coreutils
debconf
debconf-i18n
debianutils
diffutils
dpkg
e2fslibs
e2fsprogs
findutils
gcc-4.2-base
gcc-4.3-base
gcc-4.4-base
grep
gzip
hostname
initscripts
libacl1
libattr1
libblkid1
libc-bin
libc6
libcomerr2
libgcc1
liblocale-gettext-perl
libncurses5
libpam-modules
libpam-runtime
libpam0g
libselinux1
libsepol1
libslang2
libss2
libstdc++6
libtext-charwidth-perl
libtext-iconv-perl
libtext-wrapi18n-perl
libunwind7
libuuid1
libvolume-id1
login
lsb-base
lzma
mawk
mount
ncurses-base
ncurses-bin
passwd
perl-base
procps
sed
sensible-utils
sysv-rc
sysvinit
sysvinit-utils
tar
tzdata
util-linux
zlib1g
Спасибо статье от cnxsoft
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий