О бинарных дистрибутивах Linux и мозговитых сборщиках

· На чтение уйдёт 3 минуты · (560 слов)

При всех своих прелестях, бинарные дистрибутивы (т.е. почти все) Linux обладают огромным рядом недостатков. Design flaw в самой архитектуре построения дистрибутива позволяет долбоёбам-сборщикам уродовать систему. Сам смысл, сама идея свободного ПО состоит в возможности отказаться от ряда функций программы, в возможности использования той или иной библиотеки для решения задачи. В возможности работать на самых разных платформах и в самых разных окружениях. Да-да, смотри autoconf (ну, сейчас конечно не все слышали про ./configure && make && sudo make install).

Неграмотно собранными пакетами я в первую очередь называю bloatware. И нет, это не такое bloatware, которое можно найти в ноутбуке от Toshiba или Sony, которое установлено помимо Windows. Подумаешь, делов-то — взял да удалил софт. Местное же bloatware — трудноискоренимо. Вот свежий пример, на одном из серверов с CentOS обнаружил библиотеки X11 (для работы с графикой).

[root@b /]# yum remove libX11
…
Removing:
 libX11                   i386    1.0.3-11.el5              installed     2.7 M
 libX11                   x86_64  1.0.3-11.el5              installed     2.8 M
Removing for dependencies:
 cairo                    i386    1.2.4-5.el5               installed     1.1 M
 cairo                    x86_64  1.2.4-5.el5               installed     1.1 M
 gd                       x86_64  2.0.33-9.4.el5_4.2        installed     562 k
 giflib                   x86_64  4.1.3-7.3.3.el5           installed      82 k
 libXcursor               i386    1.1.7-1.1                 installed      53 k
 libXcursor               x86_64  1.1.7-1.1                 installed      57 k
 libXext                  i386    1.0.1-2.1                 installed      74 k
 libXext                  x86_64  1.0.1-2.1                 installed      83 k
 libXfixes                i386    4.0.1-2.1                 installed      19 k
 libXfixes                x86_64  4.0.1-2.1                 installed      24 k
 libXft                   i386    2.1.10-1.1                installed      78 k
 libXft                   x86_64  2.1.10-1.1                installed      81 k
 libXi                    i386    1.0.1-4.el5_4             installed      42 k
 libXi                    x86_64  1.0.1-4.el5_4             installed      46 k
 libXinerama              i386    1.0.1-2.1                 installed     8.3 k
 libXinerama              x86_64  1.0.1-2.1                 installed     9.8 k
 libXpm                   x86_64  3.5.5-3                   installed      81 k
 libXrandr                i386    1.1.1-3.3                 installed      18 k
 libXrandr                x86_64  1.1.1-3.3                 installed      19 k
 libXrender               i386    0.9.1-3.1                 installed      46 k
 libXrender               x86_64  0.9.1-3.1                 installed      51 k
 libXres                  x86_64  1.0.1-3.1                 installed      21 k
 libXtst                  x86_64  1.0.1-3.1                 installed      23 k
 libXxf86vm               i386    1.0.1-3.1                 installed      19 k
 libXxf86vm               x86_64  1.0.1-3.1                 installed      22 k
 nginx-stable             x86_64  1.0.8-2.el5               installed     977 k
 pango                    i386    1.14.9-8.el5.centos.2     installed     783 k
 pango                    x86_64  1.14.9-8.el5.centos.2     installed     846 k
 startup-notification     x86_64  0.8-4.1                   installed      69 k

Великолепно, не правда ли? И да, я понимаю, что в принципе RedHat / CentOS по сути и ни при чём, что кто-то просто не смог нормально собрать nginx. И в принципе в CentALT лежит более удачная сборка, так что это выглядит лишь пример-придирка с моей стороны. Но проблема именно системная, рано или поздно подобное встречается в любом дистрибутиве. Не верите? Вот прекрасный Debian:

[root@b /]# apt-get remove apache2.2-bin
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  php5 dbconfig-common libphp-adodb
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  apache2-mpm-itk php5
The following packages will be REMOVED:
  apache2-mpm-prefork cacti cacti-spine libapache2-mod-php5
The following NEW packages will be installed:
  apache2-mpm-itk php5
0 upgraded, 2 newly installed, 4 to remove and 1 not upgraded.
Need to get 3,352 B of archives.
After this operation, 14.9 MB disk space will be freed.
Do you want to continue [Y/n]?

Debian также прекрасен! С точки зрения Дебиана, при удалении Апача, мне, несомненно, не потребуется php. А вот apache2-mpm-itk - потребуется. А что самое важное — удалится при этом и поллер cacti-spine. И вот я вынужден держать на сервере неактивный Apache, только чтобы иметь поллер cacti-spine. Хотя сам cacti крутится совсем даже в nginx'е, и мог бы даже крутиться на другом сервере, например. Да, нелогично, но ведь возможно же…

Полезное