Ответы пользователя по тегу Системное администрирование
  • Какими профессиональными навыками должен обладать Linux-сисадмин-фрилансер?

    @algebris
    Javascript Full Stack Developer, UNIX expert
    Если позволите, расскажу немного про свой опыт.
    20 лет назад засел чисто из любопытства за новые операционки QNX, Linux (тогда был по-моему RedHat 2.0), что как воздух были по-сравнению с OS/2 - идея прогрессивная, но реализация крайне неудобная.
    Таким образом сильно увлекся и начал изучать тело новой ОС. Железо было тогда слабое, приходилось пересобирать ядра постоянно для оптимизации производительности, а если что-то не работало, то лезть в исходный код править. Таким образом пришло ощущение как устроена ОС внутри, что такое системные библиотеки, как и какие подключать модули (драйвера) железа и т.п.
    Я решил отказаться от Win95 и старался работать только под Linux. Таким образом мне постоянно приходилось работать в консоли, WM, настраивать под себя рабочую среду:
    - различные Shell (bash, csh, zsh, sh) и их конфиги, скриптинг;
    - конфигурация, компоновка и сборка различных пакетов (тогда репо не очень были развиты, а бинарники и исходники ОС качали и писали на CDROM или ставили по локалке). Самый хороший опыт дало сборка вручную LAMP, то-есть сборка и настройка PHP, MySQL, Apache и различные примочки для него mod_perl, mod_php, mysqli/native и различные варианты под конкретную задачу. Сборка, настройка Sendmail через M4-процессор и куча ньюансов которые приходилось по крупицам собирать на форумах, IRC, BBS;
    - для эффективной работы в linux надо владеть по-крайней мере каким-то скриптовым языком bash, sh, perl, python. На мой взгляд perl и sh подходит лучше всего. Владеть массой инструментов для удобной работы sed, awk, find, tail, grep, ssh и тд. Знать regexp - обязательно. VIM imho лучший текстовый редактор для linux.
    - владеть знаниями и умением работать с сетями. OSI-модель, различные семейства протоколов от низкоуровневых (Ethernet, ISDN, DSL, FDDI) и до высших слоев (HTTP, DHCP, DNS), чтобы при возникновении какой-то проблемы понимать а где вообще затык? Например, попробуйте открыть telnet mail.server.com 25 на почтовик и отправить письмо себе на почту вручную.
    Сюда же можно отнести настройку firewal - iptables, ipfw и тд. Работу с цепочками правил - сохранять, восстанавливать, создавать, получать статистику. Туннели, VPN.
    - Современные реалии, когда куча очень развитых репо и установка/настройка зачастую ограничивается поиском и инсталляцией нужного пакета, нужно владеть интеграционными представлениями и шаблонными настройками различных сервисов. Например для web-стека это: nginx, HA-proxy, php-fpm, mysql, python, postgrees, node.js/npm и тд
    Не маловажно понимать/уметь настраивать кластерные и высоконагруженные решения на основе vmWare, OpenVZ, прочитайте про виртуализацию.
    Вообще работа с linux - это постоянный сбор каких-то статистических параметров - логов, мониторинг и способность поиска на основе этих данных, но тут важен опыт и знания, которые приобретаются со временем.
    50% информации есть уже в инете: stackexchange.com, stackoverflow.com и т.п.
    50% личный опыт и стиль нарабатываемый со временем и не бойтесь экспериментировать и расширять кругозор.
    Сорри, 10 лет как ушел в разработку, может чего-то забыл упомянуть.
    Ответ написан
    Комментировать
  • Необходимо за короткий срок полностью овладеть Ubuntu GNU/Linux, как?

    @algebris
    Javascript Full Stack Developer, UNIX expert
    Я считаю, что любая область знаний требует для овладения ею настойчивого внимания со стороны обучающегося. Хорошей практикой, конечно, будет установка linux на рабочий комп в качестве основной (я так сделал 20 лет назад). Но Window Manager развращает, т.к. основной объём знаний и навыков с linux основан на работе с её внутренностями: filesystem, shell, processes, services, devices ... вобщем, впитать мощь архитектуры SystemV (если про linux). Но это лучше сделать с прикладными задачами, коих великое множество! Настройка хостинга, деплой проектов, установка и эксплуатация сервисов, непосредственно - разработка, скриптинг в shell, perl и т.д. и т.п. А сгенерить эти задачи может только сама профессия. Короче, прям быстро поднять навыки, я сомневаюсь что получится, но со временем, через интерес к linux и настойчивой работе с ним вы станете хорошим профи. 90% ответов на ваши вопросы вы найдете через google-поиск, stackoverflow, etc.
    Ответ написан
    Комментировать