ITDim
    Все будет итышно, когда вы с нами :)

Ubuntu vs CentOS.


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


GUI or not GUI.
Ububtu Server не содержит никаких GUI (Graphical User Interface - Графический интерфейс пользователя) в комплекте. Совершенно никаких! Все устанавливается, настраивается и администрируется через консоль. Я считаю такой подход более правильным, ведь по большому счету для работы Linux графика в 90% случаев не нужна, и следовательно нет смысла засирать дисковое пространство, оперативную память и нагружать процессор всяким ненужным. Если потребуется, то установить графику в ubuntu можно одной командой.
CentOS же ставить без Server GUI будет моветоном, хотя такая возможность есть, по факту я не встречал CentOS серверов без традиционного Gnome. В CentOS есть прекрасные графические утилиты, которые позволяют настраивать большинство сервисов, особенно запомнилась конфигурялка DNS сервера и настройка авторизации. Всё просто, красиво, лаконично. Стоить сказать что никто не отменял initlevel 3, тоесть загрузка без X-ов, но приличное количество места на диске будет занято все равно.
Подводя итог, по умолчанию Ubuntu - это тру юникс вей, с голой консолью, а CentOS - это тру ентерпрайз вэй, с красивыми и функциональными GUI. Что из этого лучше? То что вам проще! Лично мне нравится консоль + webmin, связка прекрасно работающая везде. Итак, Ubuntu Server после установки занимает около 1.5 Gb, CentOS Server GUI около 4.5 Gb


Интеграция.
Первое что подкупает в RedHat based дистрибутивах это удобство интеграции в Microsoft Network. Настроить авторизацию пользователей в CentOS из Microsoft AD - задача посильная даже для макаки. Для Ubuntu так же есть интересные статьи на эту тему, и даже какие то утилиты типа likewise-open, но все это ни в какое сравнение не идет с CentOS. Браво RedHat!

Джентельменский набор.
Установив первый раз CentOS и увидев его объем (4.5 Gb) я был немного в ужасе, а перезагрузив один раз сервер ужас был ещё больше. В комплекте CentOS Server идет буквально все подряд. У вас будет MySQL, Apache, PHP, Perl, Sendmail, BIND, DHCP, FTP и ещё десяток сервисов уже установленных в систему из коробки. Такой букет очень удивляет, особенно когда в планах поднять только файловую помойку на Samba (которая тоже идет в комплекте). Но больше всего удивляет что половина этих сервисов уже как то работают, и поднимаются при загрузке системы. Тоесть впереди неизбежная чистка загружаемых сервисов, что через GUI делать очень просто, но только не покидает вопрос "а нафига"?
Ubuntu является образцом лаконичности. Хотите сервисы - ставьте! Система практически голая, и все что понадобиться, будет устанавливаться вручную. В коробке есть с дюжину пакетов типичных сервисов, но их установка будет произведена только с вашего согласия.

Организация системы.
Этого момента я больше всего боялся берясь за CentOS после Ubuntu, и оказалось зря. Давным давно в книге про Linux я читал обзор основных дистрибутивов среди которых были Debian, SuSE и RedHat, и организация скриптов в debian была названа просто "бардаком". Ubuntu как приемник Debian унаследовал от своего родителя эту организацию, и я долгое время считал что привык к этому "бардаку", пока не обнаружил что CentOS организован практически так же. Разница лишь в названиях некоторых сервисов и каталогов. Например apache2 в ubuntu называется apache2 но httpd в CentOS, так же понятное bind в ubuntu превратилось в named на CentOS... Вообщем то никаких более менее существенных или радикальных различий в дистрибутивах нет. Это не Slackware с его BSD системой инициализации. Все на своем привычном месте.
Хотя есть некоторые моменты которые нельзя не заметить. Например тот же apache2 в ubuntu как будто специально приготовлен под развертывание крупного хостинга с уже организованной системой папок типа sites-aviable и sites-enabled, и аккуратно вынесенным файлом apache.conf.local для добавления пользовательских настроек. В CentOS все проще, один файл httpd.conf, и симлинки на PID файл и логи. Сделать организацию в духе ubuntu не составит труда, но по умолчанию все порсто, лаконично, и для того что бы разместить один корпоративный сайт не придется разбираться со структурой директорий в /etc/apache2, и понимать какая из частей файла apache.conf за что отвечает.
Подытоживающая можно сказать что существует некоторый парадокс, CentOS ориентируемый на GUI проще для управления из консоли, и наоборот Ubuntu конфигурируемая из консоли имеет некоторую тенденцию к усложнению.

Безопасность.
Ubuntu использует AppArmor, а CentOS SELinux. Это две прекрасные системы мандатного доступа (что н
е разрешено - то запрещено) и свои функции они выполняют на все 100%, поэтому в плане безопасности, если не человеческий фактор, то системы полностью надежны из коробки. Правда у CentOS есть root и у него есть пароль, в ubuntu по традиции все делается безопаснее через sudo. Что лучше AppArmor или SELinux - дискуссия не входящая в мои планы.

yum vs apt или deb vs rpm
На самом деле по большому счету тут не о чем говорить. За годы усовершенствований обе системы управления пакетами равно как и форматы пакетов практически сравнялись по функционалу, возможностям и популярности. Редко встретишь готовые deb пакеты без их аналогов в формате rpm. Человеку имевшему дело с apt не составит труда работать с yum и наоборот. Но есть оно серьезное НО. Репозитории.
Обе системы поддерживают сторонние репозитории, тоесть можно автоматически ставить и обновлять пакеты не входящие в стандартный комплект. Только актуально ли это?
Для Ubuntu, чей репозиторий самый большой из всех, это врядли актуально. Все что нужно вы легко найдете там. Единственное зачем это может понадобиться - более свежие версии пакетов, но насколько это стабильно и безопасно применительно к серверу? А значит скорее всего не актуально, хотя launchpad очень крутой проект как раз в плане сторонних репозиториев.
Для CentOS это более актуально, потому что собственный репозиторий крайне мал. Но никакого аналога launchpad я для CentOS не нашел, а значит остается надеяться что репозиторий будет на сайте разработчиков (очень низкий процент) либо какой то энтузиаст собирает пакет сам, но большая задача найти этого энтузиаста, да и опять же какое доверие к этим пакетам применительно к серверу? Скорее всего собирать придется руками.
Тоесть в comunity support, как и следовало ожидать, ubuntu даст фору кому угодно. Ещё бы, самый популярный дистрибутив.
Однако особо стоит отметить один маленький в целом но большой применительно к России, факт. PostgreSQL от 1С, необходимый для запуска сервера 1С под Linux, имеет пакеты только rpm и только для установки на CentOS, RedHat, Fedora и если не ошибаюсь Alt. На ubuntu этот пакет конечно тоже натягивается, но не так легко и красиво как на RedHat based.

Перспективность в плане обучения.
Если говорить об образовании, то CentOS все же, пока что, более перспективен. Так как он полностью копирует RedHat Enterprise Linux то и овладев им, гораздо проще проходить различные сертификации от RedHat. Так же знаменитый LPIC так же основан на RedHat, а значит изучая CentOS проще будет пройти сертификацию LPIC. Понятно что данный факт имеет очень посредственное отношение к работе сервера и поднятии сервисов, но тем не менее обучая ребят, мы этот факт берем в расчет.



0 коммент.:

Отправить комментарий