Системное администрирование — Языки программирования для ОС Centos


Содержание

Системное администрирование — Языки программирования для ОС Centos

Сегодня в краце расскажу и покажу в картинках, как ставить CentOS 7 на свой компьютер. Для начала необходимо загрузить образ дистрибутива, который можно загрузить с одного из зеркал, список зеркал можно просмотреть здесь — https://www.centos.org/download/mirrors/, я периодически использую зеркало Yandex, образ CentOS 7 можно загрузить по ссылке — http://mirror.yandex.ru/centos/7/isos/x86_64/

После загрузки образа, его можно записать на диск или сделать загрузочную флешку, для Windows например можно использовать бесплатные утилиты типа Win32 Disk Imager или к примеру Rufus, для линукс можно использовать dd или к примеру Unetbootin.

Загрузка компьютера с флешки

Далее необходимо выставить в BIOS загрузку с флешки или CD/DVD устройства или при включении компьютера вызвать меню выбора загрузочного устройства, как правило это может быть клавиша F2 или F8 или F12 или клавиша Delete (все зависит от типа девайса).

Шаги установки CentOS

В момент загрузки, загрузчик предложит несколько вариаций, необходимо выбрать Install CentOS 7

Далее после полной загрузки установщика, необходимо будет выбрать язык

Далее в зависимости от требований, указать дату и время, можно добавить клавиатуру (например Английский язык), выбрать вариации клавиш для переключения языковых раскладок

Выбрать политику безопасности, например политику по умолчанию

CentOS NetInstall — указать источник установки

Я использую NetInstall образ, поэтому мне необходимо в ручную указать сетевой источник установки (если Вы будете использовать например LiveCD или DVD, то этого можно не делать), для начала необходимо включить сетевой адаптер в разделе Сеть и Имя узла, где можно включить сеть и указать имя компьютера

После того, как компьютер получит IP адрес, зайти в Источник Установки и указать адрес узла:
http://mirror.yandex.ru/centos/7/os/x86_64/

После чего выбрать набор устанавливаемых программ, например выбрать Минимальный тип установки или Установку с графическим окружением рабочего стола, например Gnome

CentOS — Расположение установки

Можно выбрать диск, установщик создаст разделы автоматически, либо если есть необходимость, можно настроить разделы самостоятельно, отметив параметр «Я настрою разделы»

Нажать кнопку «Готово», в открывшемся окне можно добавить разделы в ручную или нажать параметр «Создать их автоматически», после чего отредактировать в ручную

После всех вышеперечисленных действий можно нажимать «Начать установку», в процессе установки необходимо указать пароль Root, а так же можно дополнительно создать пользователя

После установки всех пакетов, перезагрузить компьютер

Вновых версиях появился параметр принятия соглашения, последовательность следующая — 1 > 2 > c > c

После принятия соглашения, откроется экран входа

После входа возникнет экран приветствия, необходимо подтвердить параметры языка, если необходимо подключить онлайн учетные записи, после чего «Начать работу с CentOS Linux»

Блог начинающего сисадмина

воскресенье, 4 марта 2020 г.

Что должен знать новичок для работы системным администратором Linux

Прежде всего, системный администратор должен отлично разбираться в операционной системе которую он администрирует. Администратор должен понимать все плюсы и минусы используемой системы, различия в дистрибутивах, используемых интерпретаторов по умолчанию, предустановленном программном обеспечении, управлении системными сервисами, системой инициализации, системой управления пакетами, версиях программного обеспечения в репозиториях, расположении конфигурационных файлов и особенностях настройки дистрибутива.

Например при переходе с Debian-based дистрибутивов на RHEL-based может быть непривычно то, что cron пишет в отдельный лог /var/log/cron , а не в /var/log/syslog , а для определения версии дистрибутива вместо /etc/lsb-release используется файл /etc/redhat-release . Или например при переходе Ubuntu с системы инициализации Upstart на Systemd могут возникнуть некоторые сложности при управлении сервисами, хоть Ubuntu и сохранили обратную совместимость со скриптами Upstart.

Для администрирования сети необходимы базовые понятия работы сетей, как настраивается сетевое соединение в Linux, что такое модель OSI, как работает IP-адресация,в чем отличия протоколов TCP, UDP, ICMP и прочих,как работают утилиты ping, traceroute, как устроен интернет, что такое динамическая маршрутизация и для чего нужен DNS.

Для того чтобы вовремя реагировать на инциденты, возникающие в серверной инфраструктуре необходимо иметь систему мониторинга. Пример таких систем Cacti, Nagios, Munin, Zabbix и многие другие. Мониторинг позволит не только в кратчайшие сроки среагировать на возникшую проблему, но и хранить историю инцидентов, анализировать периодичность возникновения проблем, строить графики для более удобного восприятия человеком.

Для решения возникающих инцидентов необходимо обладать навыками траблшутинга.
В первую очередь важно уметь работать с логами, фильтровать нужную информацию из логов, для этого часто используются утилиты cat , tail , awk , cut , grep , sort , wc и прочие.
Пример подсчета количества ошибок в логе Nginx:
# awk ‘‘ /var/log/nginx/access.log | grep «500» -c
66192

Также необходимо позаботиться о ротации логов, для уменьшения занятого пространства старыми логами.
Такие инструменты как lsof и strace помогут понять какие файлы и соединения использует работающий процесс, а также какие системные вызовы он совершает.
tcpdump , tshark , iperf , mitmproxy , nmap и прочие инструменты помогут для анализа работы сбоев в сети.

Системные администраторы делятся на два вида, те кто еще не делает резервные копии и те кто уже делает их. Резервные копии нужны для быстрого восстановления потерянной информации.
Два параметра RPO (Recovery Point Objective) и RTO (Recovery Time Objective) определяют время актуальности резервных копий и время необходимое на восстановление копий соответственно.
Необходимо понимать отличия полного резервного копирования, при котором каждый раз копируются все файлы, от дифференциального, и при котором копируются только измененные файлы, и инкрементального, при котором копируются только те файлы, которые изменились с последнего полного или добавочного резервного копирования.
Рекомендуется хранить резервные копии в нескольких местах, в той же стойке где работает сервер, в отдельной стойке от сервера и в другом ЦОДе.
Важно также проверять консистентность резервных копий, обычно для этого используют тестовые стенды.
Существует множество инструментов для создания резервных копий, среди которых можно выделить Bareos, duplicity, rsync. Множество системных администраторов используют свои инструменты в виде скриптов для созданий резервных копий на основе rsync , tar , gzip .

Администратор должен понимать что такое RAID, LVM и как они работают, даже если ему не приходится использовать подобное. Рано или поздно он скорее всего столкнется с RAID при работе с физическими серверами и важно понимать как он работает, так как при неверной конфигурации и замене диска в RAID-массиве возможна полная потеря данных. Также при работе с физическими серверами будет полезно понимание работы IPMI, IP KVM.

Системный администратор должен знать хотя бы один из скриптовых языков программирования (Shell/BASH, Python, Perl, Ruby). Хороший системный администратор не делает одни и те же вещи больше трех раз, скорее всего он уже автоматизировал рутинную работу скриптом.

Отличное знание повседневных инструментов системного администратора значительно упрощает жизнь, единожды настроив конфигурационный файл текстового редактора vim и выучив все внутренние команды текстового редактора позволяет ускорить работу в значительной степени. Использование алиасов, для часто повторяющихся команд, например git add , git commit можно легко заменить на ga и gc .

При управлении парком серверов значительно упрощают жизнь системы управления конфигурациями, такие как Chef, Ansible, SaltStack, Puppet и другие.
Подобные системы позволяют централизованно управлять конфигурациями операционных систем и сервисов установленных на разных серверах. Для этого используются различные конфигурационные файлы именуемые в Puppet cookbook, в Chef — рецептами, а Ansible — playbook. Как правило, подобные конфигурационные файлы представляют собой список команд описанных в синтаксисе YAML или на прочих декларативных языках.
Большое количество модулей позволяет управлять практически любым процессом на сервере, а некоторые системы, такие как Ansible, позволяют управлять удаленными серверами без запуска агентов, исключительно с использованием SSH-соединения.

Для хранения данных приложений используются различные системы управления базами данных. Важно понимать, в чем состоит отличие MySQL от его форков MariaDB и Percona Server. Когда стоит использовать для проекта MySQL, а когда PostgreSQL. Чем отличаются реляционные базы данных от документо-ориентированных (MongoDB, CouchDB), key-value хранилищ (Redis, MemcacheDB) и прочих. Базовые знания SQL-запросов также не помешают.

Рано или поздно системный администратор сталкивается с протоколом LDAP (Lightweight Directory Access Protocol). LDAP используется для централизованного хранения данных о пользователях, таким образом возможно синхронизировать все сервера для поиска информации о пользователях из единого каталога LDAP.

Системному администратору хостинга необходимо понимание работы веб-серверов (Apache, Nginx), режимах работы PHP, оптимизации работы MySQL, дебаге работы скриптов. Также стоит узнать как устроены современные панели управления хостингом (Cpanel, Plesk, Webmin и прочие).

Виртуализация в последние годы все больше и больше используется на серверах. Администратор должен понимать различия в системах виртуализации, чем отличается эмуляция оборудования (QEMU) от полной виртуализации (KVM, Hyper-V), паравиртуализации (Xen) и контейнерной виртуализации (LXC, OpenVZ).

Системный администратор должен обезопасить свою серверную инфраструктуру, для этого необходимо знание системных инструментов обеспечения безопасности (SELinux, AppArmor), фаерволов (Iptables, firewalld, ufw), необходимо отключить, или удалить неиспользуемые сервисы и настроить фаерволл так, чтобы доступ в интернет был только у нужных портов. Необходимо проводить периодические пентестинги для проверки уязвимостей в инфраструктуре, обезопаситься от атак на отказ. Желательно отказаться от паролей в пользу ключей, так как при современных мощностях подобрать пароль к системе стало значительно легче, в случае с ключем подбор займет много лет.

Также важно уметь документировать сетевую и серверную инфраструктуру, проводить периодическую инвентаризацию, вести учет событий. Желательно использовать системы управления проектами, такие как Redmine или Jira, это упростит взаимодействие с пользователями и позволит хранить список задач в структурированном виде.

Немаловажно для системного администратора следить за собственным временем и не перетруждаться, для этого необходимо правильно выбрать средства получения уведомлений, как не отвлекаться на мелкие инциденты и прочее. В книге «Тайм-менеджмент для системных администраторов» Томаса Лимончелли (ISBN 5-93286-090-1) описаны все эти моменты, рекомендуется к прочтению каждому системному администратору.

В комментариях хотелось бы увидеть, что я пропустил или советы от опытных админов.

Linux для начинающих

Материалы на этой странице помогут вам сделать первые шаги в качестве разработчика приложений или системного администратора Linux®.

Новые статьи и руководства по Linux на сайте developerWorks

В разделе Linux на сайте developerWorks содержатся сотни статей, руководств и советов, посвященных разработке приложений и системному администрированию в Linux.

Однако этот немалый объем информации может легко сбить с толку начинающих, поэтому мы создали страницы для тех, кто только приступает к изучению Linux и пока не знает, с чего начать. На этих страницах основы Linux объясняются в контексте тем, рассматриваемых в статьях, руководствах и советах в разделе developerWorks. Кроме того, вы также узнаете об образовательных сервисах, семинарах и продуктах IBM, которые помогут вам в дальнейшем изучении Linux.

Что такое Linux?

Коротко говоря, Linux — это операционная система. ОС Linux была создана в октябре 1991 г. студентом университета Хельсинки Линусом Торвальдсом (Linus Torvalds, название Linux образовано от словосочетания Linus’s UNIX — «UNIX Линуса»). Сам по себе Linux — это ядро системы. В нем реализована поддержка многозадачности, многопользовательского режима, управления устройствами, памятью и выполнением приложений.

Обычные пользователи никогда не станут интересоваться такими подробностями работы операционной системы, как внутреннее устройство ядра. Это удел лишь небольшой когорты избранных — энтузиастов и профессионалов.

Однако даже если вы сами не планируете вносить изменения в ядро или просто заглядывать в его недра, вы всегда сможете найти подрядчиков, который сделают эту работу за вас. При этом аналогичные модификации в операционной системе с закрытой архитектурой, как правило, являются значительно более трудоемким и дорогим делом.

Самое главное, что должны знать начинающие программисты для Linux — это то, что нечетные номера версий (2.3, 2.5, 2.7 и т.д.) присваиваются экспериментальным ядрам, находящимся в разработке. Стабильные выпущенные ядра всегда имеют четные номера версий (2.4, 2.6, 2.8 и т.д.).

Типичный дистрибутив Linux включает не только ядро, но и множество прикладных программ и утилит. При этом большинство программ, как прикладных, так и системных, являются частью проекта GNU — фонда свободного программного обеспечения (Free Software Foundation). GNU — это рекурсивная аббревиатура, означающая «GNU’s Not UNIX» (GNU — не UNIX).

Ядро Linux и приложения GNU распространяются под открытой лицензией GNU (General Public License — GPL). Лучший способ разобраться с GNU GPL — это прочитать условия лицензионного соглашения. Возможно, это будет чрезмерным упрощением, но основная идея GPL заключается в том, что пользователи кода, распространяемого под этой лицензией, могут с ним свободно экспериментировать.

  • Настоятельно рекомендуется прочитать интересный очерк История Linux (EN), написанный Ларсом Вирзениусом (Lars Wirzenius), работавшим вместе с Линусом Торвальдсом.
  • На сайте Linux Online (EN) представлены новости и материалы из независимых источников.
  • IBM LinuxLine (EN) — это выходящая раз в две недели новостная рассылка, в которой приводится сводная информация о важных тенденциях, рыночных и ситуационных исследованиях, а также инициативах IBM, имеющих отношение к Linux.

В чем различия между Linux и UNIX?

Linux — это не UNIX, хотя она создавалась в строгом соответствии принципам UNIX. IBM предоставляет продукты как для Linux, так и для UNIX (а также многих других платформ). Созданная в лаборатории Bell Labs компании AT&T в 1969 г. UNIX (название происходит от более ранней операционной системы Multics) представляет собой надежную, гибкую и дружественную к разработчикам вычислительную среду. Изначально она была разработана для семейства микрокомпьютеров PDP компании Digital Equipment Corporation (DEC), но со временем превратилась в наиболее популярную операционную систему общего назначения, которой нашлось применение во всех вычислительных задачах, включая те, для решения которых исторически использовались мэйнфреймы.

IBM выпускает версии продуктов для Linux, UNIX и множества других систем.

  • На странице Продукты IBM (EN) приведены ссылки на аппаратное и программное обеспечение, услуги по поддержке, консалтингу и многое другое.
  • Просмотр основного сайта IBM удобно начать с главной страницы (EN).

Спустя 20 с лишним лет с момента появления UNIX ее постепенно начала вытеснять из некоторых областей применения операционная система Linux. Linux — это не UNIX, она лишь очень на нее похожа. Для ряда задач лучше подходит Linux, для других же по-прежнему предпочтительнее UNIX. Между Linux и UNIX поддерживается хорошая совместимость, поэтому приложения, написанные по определенным принципам, достаточно легко переносить с одной системы на другу. Обратитесь по ссылкам, приведенным ниже, за более подробной информацией о месте UNIX в ряду продуктов и услуг IBM.

  • Если вас интересует программное обеспечение, прочитайте об операционной системе AIX5L (EN) , созданной в IBM.
  • На странице группы, посвященной системе z/OS семейства UNIX, можно найти перечень бесплатных приложений для UNIX (EN), созданных специалистами IBM и другими представителями сообщества.
  • Посетите домашнюю страницу Multics (EN) (Multiplexed Information and Computing Service) для получения более подробной информации об этой операционной системе.

Зачем следует изучать Linux?

Будучи свободным программным обеспечением, выпускаемым под лицензией GNU GPL, Linux избавляет разработчиков от дублирования функциональности в каждом новом проекте. Образно выражаясь, семейство приложений GNU представляет собой бесплатный строительный материал, из которого можно создавать независимые проекты. Критики свободного программного обеспечения часто заявляют, что низкие начальные затраты на свободное ПО могут обернуться экономической катастрофой для ИТ-индустрии. Однако есть и другая, не менее, а возможно, и более вероятная гипотеза, заключающаяся в том, что свободное ПО сыграет в ИТ такую же роль, какую первый печатный станок Гутенберга сыграл в книгопечатании.

  • Прочитайте условия открытого лицензионного соглашения GNU (EN), которые объясняют права и обязанности, закрепленные за пользователями свободного программного обеспечения.
  • Еще одним примером лицензии на свободное ПО является открытое лицензионное соглашение IBM (EN) (IBM Public License — IPL). Оно было разработано при участии основателя FSF Ричарда Столлмана (Richard Stallman).
Цукерберг рекомендует:  Java - Кубик рубика на Unity

Чем Linux может быть мне полезен?

То, какая из систем семейства Linux подходит вам лучше всего, а также насколько глубоко следует изучать ее архитектуру перед началом работы, зависит от конечного результата, которого вы хотите от нее добиться.

Linux — это идеальная платформа для изучения программирования под Linux, экспериментирования с ядром и даже для разработки под UNIX. Кроме того, для нее существует множество приложений, в том числе игр, клиентов электронной почты, Web-браузеров, настольных издательских систем и т.д.

Благодаря своей гибкости и конфигурируемости Linux также является превосходной платформой для профессионального программного обеспечения — как свободного, так и закрытого. Она пользуется широкой популярностью во многих областях, от серверов связующего уровня и встроенного программного обеспечения до кластеров, суперкомпьютеров и портативных устройств. IBM участвовала в проектах по созданию контрольно-кассовых аппаратов и даже наручных часов, работающих под управлением Linux. Другие компании использовали Linux на таких устройствах, как мобильные телефоны, Sony PlayStation, TiVo и Sharp Zaurus.

По условиям GNU GPL все изменения в исходном коде приложения должны быть открыты для его пользователей. Однако это не означает, что модифицированный код должен быть доступен для общего пользования (именно этот важный нюанс часто упускают критики свободного программного обеспечения). Например, в случае контрольно-кассовых аппаратов на базе Linux было бы небезопасно открывать код для всех заинтересованных лиц. Вместо этого лицензия GNU GPL лишь требует, чтобы изменения были предоставлены пользователям данного программного обеспечения.

  • Раздел Linux на сайте developerWorks — это незаменимый источник руководств и статей, охватывающих все аспекты работы с Linux, от основ системы до тонкостей разработки и развертывания приложений.

Как начать работать с Linux?

Если вы ранее не работали с Linux или использовали ее только в качестве настольной операционной системы, вам следует ознакомиться хотя бы с основами системного администрирования и обеспечения безопасности. В отличие от коммерческих операционных систем, которые стараются автоматизировать эти действия, Linux не обещает защиту от возможных необдуманных действий, а также приведение системы в порядок после вашей работы; вам придется позаботиться об этом самому. К счастью, основные действия по администрированию и обеспечению безопасности довольно просты. Во многом администрирование современных систем семейств Linux и UNIX значительно проще, чем администрирование популярных коммерческих настольных операционных систем благодаря своей прозрачности.

Несмотря на то, что для Linux существует несколько графических сред, поддерживающих функции администрирования, проще всего управлять системой из командной строки. При работе с командной строкой вы получаете в свое распоряжение десятки полезных команд и несколько систем текстовой документации.

Существует немало электронных и печатных ресурсов для тех, кто делает первые шаги в мире Linux. Вы можете обращаться к Web-сайтам, статьям, книгам, группам пользователей Linux (Linux User Group — LUG), которые собираются вместе в разных городах и странах и при этом отличаются исключительной доброжелательностью по отношению к новым пользователям Linux.

  • В статье Первые шаги начинающего разработчика для Linux (EN) рассказывается о базовых аспектах работы в Linux и использовании основных утилит и команд. (EN)
  • В продолжающейся серии руководств по выработке навыков использования Linux (EN) рассказывается об основах системного администрирования.
  • Вы можете перейти с операционной системы Windows на Linux, адаптировав многие из ранее полученных навыков. В этом вам поможет руководство из девяти частей под названием План перехода с Windows на Linux: Беглый обзор.
  • В разделе Linux на сайте developerWorks содержится множество отдельных руководств и их серий (EN), ориентированных на начинающих. Они охватывают широкий круг тем, начиная от компиляции ядра Linux и установки программного обеспечения до разбиения дисков на разделы и резервного копирования информации.
  • На сайте Linux Online представлен полный перечень групп пользователей Linux по всему миру (EN) .

Как использовать Linux в процессе разработки приложений?

Linux — это превосходная платформа для программирования. Она соответствует стандартам GCC, поэтому вы можете загрузить весь набор средств проекта GNU для программирования и отладки и использовать их по вашему усмотрению в пределах условий лицензии GNU GPL. В свою очередь, коммерческие средства разработки, подобно закрытым операционным системам, могут обойтись в немалую сумму. Хотя они действительно могут быть необходимы в отдельных проектах, где их приобретение обосновано, они не способны заменить бесплатное программное обеспечение для начинающих, а также многих профессионалов. Если вы рассчитываете использовать Linux в качестве платформы для создания приложений, не забудьте предварительно разобраться с администрированием и системой безопасности. Разработчик, не знающий тонкостей работы с собственным компьютером — это абсурд.

  • Вы можете загрузить ознакомительные версии продуктов IBM для Linux (EN) непосредственно с сайта developerWorks.
  • Подписавшись на техническую редакцию новостной рассылки IBM developerWorks (EN), вы сможете получать статьи и другие материалы, которые помогут вам быть в курсе последних технических решений и разработок.
  • Книги IBM Redbook, посвященные Linux (EN), написаны специалистами IBM из международной организации технической поддержки (International Technical Support Organization — ITSO). В них рассматривается широкий круг вопросов, представляющих интерес для разработчиков приложений для Linux.

Соответствие стандартам — неотъемлемое качество Linux. Разработчики этой системы уделяют особое внимание тому, чтобы функциональный и базирующиеся на нем слои системы оставались открытыми, поддерживали взаимодействие с приложениями и удовлетворяли стандартам.

  • Организация Linux Standard Base (EN) (LSB) предоставляет спецификации и программы сертификации, ориентированные на Linux. LSB является рабочей группой в консорциуме открытых стандартов (EN) (Free Standards Group — FSB).
  • Организация The Open Group, которую часто ассоциируют с UNIX, — это независимый от компаний-поставщиков и технологий консорциум, задачей которого является безопасное и надежное взаимодействие в мире вычислительных технологий.
  • Комитет по стандартам для переносимых приложений IEEE (Portable Application Standards Committee — PASC) отвечает за UNIX-стандарты семейства POSIX (EN) .
  • Документы серии «Request for Comments» (EN) (запросы комментариев — RFC) представляют собой технические и организационные замечания по вопросам, касающимся сети Интернет. Процесс их публикации, осуществляемый секретариатом IETF, играет важную роль в стандартизации Интернета.

Какие языки программирования можно использовать в Linux?

В дополнение к таким бессмертным гигантам, как Fortran и C/C++, существует множество скриптовых и других языков программирования, для которых Linux является родной или наиболее подходящей операционной системой. Наиболее популярными из них являются Perl, Python, PHP и Tcl.

Динамично развивающиеся новые языки и технологии, такие как Java и XML, прекрасно совместимы с Linux. То же относится и к менее широко распространенным языкам, в том числе Logo, Rebol, Smalltalk и многим другим.

  • Посетите домашнюю страницу GCC (EN), на которой содержится богатый выбор бесплатного программного обеспечения и других ресурсов.
  • Обратите внимание на колонку Дэвида Мерца (Dav >

Как развивать навыки работы с Linux?

Если вы планируете использовать Linux в качестве платформы для сложного приложения или программного комплекса, то вас заинтересуют такие аспекты, как редактирование ядра, различия между файловыми системами и другие подробности работы системы.

Другой набор навыков, который требуется разработчикам мощных приложений и игр, — это тонкая настройка компьютера под управлением Linux, кластера или сети в целях оптимизации производительности. Это требует знаний в таких областях, как многозадачность, управление потоками, кластеры и другие загадочные и сложные аспекты системного администрирования. Освоение этих умений на требует столько храбрости, как внесение изменений в ядро, однако также может быть сопряжено с определенными трудностями.

Подразделение IBM Learning Services предлагает обучающие курсы, охватывающие широкий круг вопросов, начиная от основ Linux и заканчивая самыми специализированными аспектами, а также программы сертификации (о последних речь пойдет ниже). На сайте IBM Developer Solutions представлены статьи и путеводители по продуктам IBM, а на главном сайте IBM можно найти множество материалов по программному обеспечению, большая часть которого работает в Linux. Наконец, на сайте IBM developerWorks содержатся статьи, руководства и другие материалы по Linux и ряду других открытых и бесплатных технологий, в том числе XML, Web-сервисы, Java, вычислительным сетям и беспроводным устройствам.

  • Лучшим источником образовательных материалов по Linux является раздел Linux на сайте developerWorks, на котором можно найти сотни статей и руководств (EN) для разработчиков любого уровня.
  • Технические мероприятия и Web-трансляции IBM developerWorks (EN) — это отличный способ получения информации о технологиях IBM.
  • ITSO (международная организация технической поддержки) занимается не только изданием книг IBM Redbook (EN), но и организацией семинаров (EN) по всему миру.
  • Сайт IBM developerWorks поможет вам отслеживать события и изменения в мире технологических решений, даже если у вас нет времени на образовательные курсы.

Как подтвердить свои навыки работы с Linux?

Для сертификации специалистов в Linux существуют программы консорциума, независимые тесты, а также экзамены, спонсируемые отдельными компаниями. Сайт IBM developerWorks и подразделение IBM Training предлагают ряд образовательных программ для получения необходимых для аттестации навыков.

  • Некоммерческая организация Linux Professional Institute (LPI) (EN) предлагает три степени сертификации для системных администраторов. Для получения сертификата первой степени необходимо сдать экзамены LPIC-1 (101 и 102), а второй степени — экзамены LPIC-2 (201 и 202). Для сертификата третьей степени обязательно иметь действительный сертификат второй степени, а также успешно сдать базовый экзамен 301 (LPIC-3). Для аттестации старшего уровня могут также потребоваться дополнительные специализированные экзамены.
  • Перед тем как сдавать сертификационные экзамены LPI рекомендуется изучить обширную коллекцию пособий по сдаче тестов (EN) на сайте developerWorks.

Какие продукты IBM имеют версии для Linux?

Linux отлично подходит для работы стандартных программ, начиная от офисных приложений, таких как текстовые процессоры и электронные таблицы, до систем управления базами данных, средств публикации в Интернете и серверов. Такие продукты IBM, как DB2, Lotus, Tivoli и WebSphere, способны работать в Linux, причем IBM — далеко не единственная передовая компания-разработчик, считающая, что Linux — превосходная платформа для связующего программного обеспечения. Несмотря на недопонимание и злословие, особенно со стороны самопровозглашенной киберэлиты, связующее ПО — это одна из важнейших, а для многих пользователей — важнейшая причина, по которой им необходимы компьютеры. Открытость Linux позволяет компаниям-разработчикам связующего ПО тонко настраивать свои решения для удовлетворения запросов пользователей в степени, недостижимой в случае закрытых систем.

  • Поддержка Linux со стороны IBM исчисляется миллиардами долларов и широко известна. В свою очередь поддержка разработчиков для Linux облегчает задачу создания приложений для этой системы. Вне зависимости от того, занимаетесь вы рутинной работой или инновационным проектом, ознакомьтесь с перечнем связующего программного обеспечения IBM для Linux (EN).

Каковы перспективы Linux?

Благодаря своей открытости и гибкости Linux получила широкое распространение в лабораториях и других исследовательских организациях, разрабатывающих самые передовые технологические решения. В IBM исследования ведутся во всех областях информационных технологий, начиная от физических аспектов до когнитивных наук и инновационных подходов к созданию приложений. При этом ученые в IBM также занимаются фундаментальными исследованиями. Во всех этих областях часто используется Linux.

Компьютеры под управлением Linux можно легко объединять в кластеры для проведения беспрецедентных экспериментов, создания прототипов, моделирования и тестирования. Более того, аналогичным образом можно использовать широкий спектр бесплатного программного обеспечения, созданного для Linux. Потенциал и возможности современных вычислительных ресурсов в значительной степени остаются неисчерпанными, несмотря на такие захватывающие инновационные технологии, как вычислительные сети, беспроводные приложения с голосовым управлением, искусственный интеллект и квантовые вычисления. Надежность, открытость и гибкость Linux — залог того, что эта система будет и впредь занимать передовые позиции в области создания новых технологий.

  • Подразделение IBM Research (EN) занимается исследованиями во многих областях науки, от генетики до нанотехнологий, искусственного интеллекта и квантовой телепортации. Ознакомьтесь с последними проектами на странице новостей IBM Research (EN).
  • Мы отнюдь не шутим насчет квантовой телепортации (EN).

Популярные языки программирования Linux

Linux быстро развивается и становиться все популярнее, особенно в связи с тем, что сокращается использование Windows, а также множество программистов работают над продвижением Linux, создавая новые программы для настольных компьютеров, которые будут эквивалентны или даже лучше приложений в Windows и Mac OS X.

Большое количество дистрибутивов пытаются сделать Linux более легким для новых пользователей, которые раньше использовали Linux или Mac OS X. Это еще лучше способствует продвижению Linux в массы.

Для Linux есть множество языков программирования, и более того, каждый год появляются новые. Но не все их используют программисты, ведь для того, чтобы создать надежное, гибкое, эффективное и расширяемое, а главное, безопасное приложение, нужно подобрать правильный язык.

В этой статье мы рассмотрим самые популярные языки программирования для Linux. Рассмотрим те, на которых разработана эта операционная система и те, которые используются для создания приложений. На самом деле список не отсортирован по степени важности, все используемые здесь языки хороши. Все они кроссплатформенные, и вы можете написать на них программу для любой из доступных операционных систем.

Я не преувеличу, если скажу, что этот язык был создан для этой операционной системы. Это уже старый язык. Он создавался в семидесятых годах инженером из Bell Labs Денисом Ритчи специально для написания ядра Unix. Дело в том, что в те времена программы и операционные системы писались на ассемблере и нужно было для каждой архитектуры писать программу отдельно, потому что наборы инструкций отличались. Разработчикам Unix нужен был высокоуровневый язык программирования, на котором они смогли бы написать Unix один раз и собирать его для всех платформ. Таким языком стал Си.

Ядро Linux, основано на Unix, а поэтому тоже написано на Си, также на Си реализованы все модули ядра, драйверы, а также огромное количество системного программного обеспечения. Если вы задавались вопросом, на чем написан Linux то теперь знаете ответ. На Си разработаны множество утилит из набора GNU, X сервер, набор библиотек для работы с графикой GTK и многое другое, некоторые оконные менеджеры. Но для написания новых программ Си используется все реже, ему на замену пришла его объективно ориентированная модификация С++.

Это усовершенствованная версия Cи, появился он ненамного позже си. В 1980 году Бьёрн Страуструп работал над своим исследованием и ему не хватало стандартных возможностей Си, поэтому он придумал к нему пару улучшений. Неожиданно этот язык стал популярен среди его коллег и он уже не мог сам следить за его развитием.

Теперь это один из самых популярных языков программирования. Здесь доступно как объективно ориентированное, так и процедурные стили программирования. Правда, он все же очень сложен для новичков, как и Си. Здесь нужна очень высокая точность при управлении памятью.

На C++ написано много программного обеспечения в Linux, это те же самые утилиты GNU, много пользовательских программ, графические окружения, браузеры. На C++ написан графический фреймворк Qt, который сейчас используется для окружения рабочего стола KDE и большого количества кроссплатформенных программ. Qt — одновременно коммерческий и некоммерческий проект. Если вы разрабатываете свободное ПО, то можете использовать Qt бесплатно, нет — нужно платить за лицензию. Qt намного проще для начинающих чем чистый Си или С++.

Си и С++ наиболее популярные языки программирования для linux

3. Java

Это мощный и полностью объективно-ориентированный, кроссплатформенный язык программирования в котором есть широкие возможности для создания как приложений для рабочего стола, так и сетевых и веб-приложений.

Изначально Java был разработан в девяностых годах компанией Sun Microsystems для встраиваемых устройств с низкой вычислительной мощностью. Для мобильных телефонов, микроконтроллеров и другого оборудования. Его цель была поднять кроссплатформенность на новый уровень. Программа пишется на java, преобразуется в байт код, которой Java машина может выполнять вообще на любом оборудовании независимо от архитектуры и возможностей. Затем Java начал использоваться для создания веб-апплетов в браузерах, а потому же начали создаваться настольные приложения.

Java — один из лучших языков программирования, особенно если вы собираетесь разрабатывать приложения, которые будут работать везде. Java очень выгодна в плане переносимости, вы можете без изменений выполнять программу в Windows или Linux также она более безопасна, ведь программа выполняется в виртуальной машине и мы можем контролировать все ее действия. Но недостатком есть большое потребление памяти и низкая производительность по сравнению с Си.

На Java пишется не так много программ, но среди них есть и известные, это такие среды разработки, как Netbeans, Eclipse, InteljIDE. Некоторые производители оборудования выпускают утилиты для управления своим оборудованием на Java, чтобы они могли одинаково хорошо работать в Linux. На Java написано много простых игр, а также она вовсю используется в операционной системе Android.

3. Python

Python — это интерпретируемый язык высокого уровня общего назначения. Он разработан человеком по имени Гвидо Ван Россум в начале восьмидесятых годов, он работал над языком в свободное время, и ставил цель создать язык для обучения программированию.

Основная идея Python — простота, максимальная скорость разработки, минимум ошибок, минимум неопределенности. Сам синтаксис языка способствует тому чтобы вы писали правильно и не допускали ошибок. Это мгновенно сделало Python одним из самых популярных языков. Было разработано множество библиотек для работы с системными компонентами, реализаций алгоритмов и наборов API для работы с сетевыми сервисами. Сейчас на Python можно написать как веб-сайт, так и полноценное Qt приложение, доказательство первому — множество сайтов, в том числе Яндекс, а второму популярный видеоредактор OpenShot.

К тому же на Python написано бесчисленное количество системных скриптов и утилит для управления Linux. Это утилита apt для установки программного обеспечения в Ubuntu, пакетный менеджер Emerge в Gentoo и еще огромное количество небольших скриптов. Причина тому простота языка. Программист тратит на программу несколько часов, а она отлично работает несколько лет.

4. JavaScript / GitHub Electron

JavaScript — это в первую очередь язык программирования для создания динамических веб-страниц, разработанный специально для этой цели в середине девяностых Бренданом Эйхом в компании Netscape. До недавнего времени JavaScript так и использовался для генерации динамических веб-страниц на стороне клиента и в веб-приложениях. Но затем появился проект Node.js, позволяющий разрабатывать серверные программы на JavaScript. Совсем недавно компания GitHub создала фреймворк Electron, на базе Node.js, с помощью которого теперь JavaScript может использоваться для создания десктопных приложений.

Electron позволяет использовать технологии HTML, CSS, JavaScript для создания прекрасных программ для рабочего стола. Эта платформа активно поддерживается командой GitHub и сообществом.

Хотя платформа вышла совсем недавно, на ней уже написано до сотни приложений, среди самых известных можно отметить редакторы сходного кода Atom и LightTable, а также приложение для управления сайтом WordPress, и новое приложение для чата RocketCaht. Кроме того, JavaScript используется для разработки программ рабочего стола на платформе Chromium, таких программ намного больше, тот же редактор Brackets, такие полезные утилиты, как Google Keep, Pocket, Wunderlist и другие программы из магазина Chrome.

5. Shell

Команды терминала Linux позволяют не только выполнять повседневные операции в интерактивном режиме, но это также полноценный язык программирования с поддержкой самых простых управляющих конструкций. Наиболее распространенная оболочка Bash (Bourne Again Shell) Больше всего скриптов написаны именно на ее синтаксисе, но есть и другие, например, тот же fish, sh, zsh, dash и т д.

Синтаксис управляющих конструкций Bash немного сложный для понимания, но на нем написано много системных скриптов, это в первую очередь все скрипты инициализации демонов в SysVinit, скрипты для обслуживания серверов, резервного копирования, запуска программ и т д. У каждого администратора есть несколько скриптов, написанных на Bash.

Выводы

Это далеко не все языки программирования linux, которые используются для создания программ в Linux, очень часто для создания скриптов в последнее время начал использоваться Ruby, уже выходит из моды Perl также применяются такие более специфические языки программирования как Go, R, Vala и другие. Для своих нужд я использую Python и php, а вы пишите программы для Linux? На каких языках программирования? Напишите в комментариях!

Дистанционное обучение IT

доступны ДИСТАНЦИОННЫЕ КУРСЫ:

ДИСТАНЦИОННЫЕ IT- КУРСЫ

КУРС «Системный инженер»

Программа профессиональной переподготовки «системный инженер» позволяет за короткое время (9 месяцев) освоить новую профессию по направлению системного администрирования.

КУРС «Системный инженер»

Программа профессиональной переподготовки «системный инженер» позволяет за короткое время (9 месяцев) освоить новую профессию по направлению системного администрирования.

Продолжительность обучения: << courses[87].info.akademHour >> ак. часа (9 месяцев).

Стоимость обучения:
<< courses[87].priceBase.individual.distant >> р. для физических лиц (первый взнос 25 000 р, оставшаяся сумма разбивается на 4 месяца).
<> р. для юридических лиц (первый взнос 25 000 р, оставшаяся сумма разбивается на 4 месяца).

Курс системный инженер включает в себя ряд самых востребованных технологий.

Обучение начинается с авторского курса CISCO — основанного на ICND1. В дальнейшем слушатель осваивает технологии и продукты от Мicrosoft: Windows Server, сервер баз данных Microsoft SQL Server 2012, в отдельный модуль вынесены такие технологии как виртуализация на Microsoft Hyper-V и почтовый сервер Exchange.

Курс не обходит стороной и продукты компании 1С в модуле «Администрирование 1С». Часть учебной программы построена на изучении свободного программного обеспечения. В процессе обучения слушатель получит навыки администрирования ОС Linux, FreeBSD и использования системы мониторинга ИТ инфраструктуры ZABBIX.

КУРС «Администрирование ОС Linux»

Это базовый курс linux, который поможет разобраться с основами работы в этой операционной системе. Обучение проводиться на дистрибутивах Debian и Centos.

КУРС «Администрирование ОС Linux»

Это базовый курс linux, который поможет разобраться с основами работы в этой операционной системе. Обучение проводиться на дистрибутивах Debian и Centos.

Если организация, в которой вы работаете, серьезно задумывается о возможности перехода на платформу Linux, а вам не приходилось сталкиваться с работой по администрированию linux и предстоит администрирование linux с нуля, то курс Администрирование linux (LPIC1) будет для вас более чем актуален. Данный курс разработан на основе программ LPI mdash и linux для начинающих. Это базовый курс linux, который поможет разобраться с основами работы в этой операционной системе. Обучение проводиться на дистрибутивах Debian и Centos. Следующим этапом в освоении данной платформы является курс Администрирование Linux (LPIC2).

Для прохождения обучения по данному курсу необходимо обладать навыками опытного пользователя ПК. Целью курса является ознакомление пользователей с операционной системой Linux. В рамках курса даются знания по базовым понятиям и основам работы в этой операционной системе с помощью графического интерфейса пользователя и интерфейса командной строки. Рассматриваются основные задачи администрирования системы, таких как: управление правами пользователей, установка и настройка компонентов системы и прикладного программного обеспечения, настройка системных служб. Курс является подготовкой ко сдаче сертификационных экзаменов LPIC-101 и LPIC-102.

Проводится в рамках курса профессиональной переподготовки «Системный инженер».

КУРС «Python для Cистемных Aдминистраторов»

Курс предназначен для системных администраторов, которые хотят автоматизировать рутинные задачи посредством легкого в усвоении и быстрого языка программирования Python 3.

КУРС «Python для Cистемных Aдминистраторов»

Курс предназначен для системных администраторов, которые хотят автоматизировать рутинные задачи посредством легкого в усвоении и быстрого языка программирования Python 3.

Курс предназначен для системных администраторов, которые хотят автоматизировать рутинные задачи посредством легкого в усвоении и быстрого языка программирования Python 3. В ходе курса будут рассмотрены примеры и разобраны практические задачи связанные с автоматизацией резервного копирования, мониторингом работы сети и серверов.

Отдельное место в курсе занимает работа с базами данных средствами языка Python.

КУРС «Инженер-программист»

Программа обучения насыщена разнообразными технологиями и направлениями, чтобы специалист имел большой «багаж» знаний и умений, чтобы ему было проще определиться с тем, что ему ближе: Java, C#, .NET, или другой язык

КУРС «Инженер-программист»

Программа обучения насыщена разнообразными технологиями и направлениями, чтобы специалист имел большой «багаж» знаний и умений, чтобы ему было проще определиться с тем, что ему ближе: Java, C#, .NET, или другой язык.

Продолжительность обучения: << courses[88].info.akademHour >> ак. часа (9 месяцев).

Стоимость обучения:
<< courses[88].priceBase.individual.distant >> р. для физических лиц (первый взнос 25 000 р, оставшаяся сумма разбивается на 4 месяца).
<< courses[88].priceBase.entity.distant >> р. для юридических лиц (первый взнос 25 000 р, оставшаяся сумма разбивается на 4 месяца).

На начальном этапе слушатели начнут с основ алгоритмизации и программирования, после чего приступят к изучению структурной разработки на языке C++. Изучение баз данных MS SQL и разработки T-SQL позволит слушателю понять, что такое информация, как ее хранить, использовать и изменять. Языки C# и Java укрепят знания в области объектно-ориентированного программирования, что позволит проводить работу с данными в рамках актуальных технологий.

Ни один из разработчиков, пусть даже самых опытных, не застрахован от ошибок при написании программных продуктов. Слушатели получат информацию о том, как нужно отлаживать и проводить тестирование разрабатываемых приложений.

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

КУРС «Программирование на C#»

Курс предназначен для программистов, которые хотят изучить актуальный язык программирования Visual C#.
Является фундаментом для дальнейшего изучения всех объектно-ориентированных языков.

КУРС «Программирование на C#»

Курс предназначен для программистов, которые хотят изучить актуальный язык программирования Visual C#. Является фундаментом для дальнейшего изучения всех объектно-ориентированных языков.

Курс предназначен для начинающих программистов, которые хотят изучить актуальный язык программирования Visual C#. Курс обучает работе в Microsoft Visual Studio 2012 в контексте программирования на Visual C#. Является фундаментом для дальнейшего изучения всех объектно-ориентированных языков.

Цель курса: обучить основам программирования на объектно-ориентированном языке программирования Visual C#.

Навыки, приобретаемые по окончании курса:

  • Умение ориентироваться в структурах ООП;
  • Понимать массивы, операторы, выражения языка C#;
  • Понимать наследование, вложение, включение;
  • Понимать интерфейсы, перечисления и структуры;
  • Понимать значение: делегаты и обобщения.

КУРС «Программирование на языке Python. 1 уровень»

Курс ориентирован на программистов, ранее незнакомых с понятием разработки или целью которых является освоение нового для себя языка. Представлены основные понятия Python и глубоко рассмотрена библиотека языка.

КУРС «Программирование на языке Python. 1 уровень»

Курс ориентирован на программистов, ранее незнакомых с понятием разработки или целью которых является освоение нового для себя языка. Представлены основные понятия Python и глубоко рассмотрена библиотека языка.

Python – высокоуровневый язык программирования, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис языка прост и минималистичен, что хорошо подойдет для начинающих программистов. В то же время библиотека языка весьма широка, а сам Python поддерживает несколько парадигм программирования (структурное, объектно-ориентированное, функциональное и тд.), что подойдет для опытных разработчиков.

Курс «Python. 1 уровень» ориентирован на начинающих программистов, ранее незнакомых с понятием разработки, а также на более опытных специалистов, целью которых является освоение нового для себя языка. В программе представлены основные понятия Python и глубоко рассмотрена библиотека языка. По окончании курса слушатель сможет создавать собственные программы, состоящие из множества функций и модулей, а также использовать регулярные выражения в консоли.

ОСТАВИТЬ ЗАЯВКУ

Обработка персональных данных

Предоставляя свои персональные данные Пользователь даёт согласие на обработку, хранение и использование своих персональных данных на основании ФЗ № 152-ФЗ «О персональных данных» от 27.07.2006 г. в следующих целях:

  • Регистрации Пользователя на сайте
  • Осуществление клиентской поддержки
  • Получения Пользователем информации о маркетинговых событиях
  • Выполнение Порталом обязательств перед Пользователем
  • Проведения аудита и прочих внутренних исследований с целью повышения качества предоставляемых услуг.

Под персональными данными подразумевается любая информация личного характера, позволяющая установить личность Пользователя такая как:

  • Фамилия, Имя, Отчество
  • Контактный телефон
  • Адрес электронной почты

Персональные данные Пользователя хранятся исключительно на электронных носителях и обрабатываются с использованием автоматизированных систем, за исключением случаев, когда неавтоматизированная обработка персональных данных необходима в связи с исполнением требований законодательства.

Портал обязуется не передавать полученные персональные данные третьим лицам, за исключением следующих случаев:

  • По запросам уполномоченных органов государственной власти РФ только по основаниям и в порядке, установленным законодательством РФ

Портал оставляет за собой право вносить изменения в одностороннем порядке в настоящие правила, при условии, что изменения не противоречат действующему законодательству РФ. Изменения условий настоящих правил вступают в силу после их публикации на Сайте.

[Обучение] Администрирование Linux (CentOS)

Стоимость курса: 10.000 руб. На openssource бесплатно

Описание курса:

Любой системный администратор мечтает о надежной операционной системе. Освойте CentOS – дистрибутив Linux корпоративного класса, известный своей стабильностью!

Зная администрирование Linux на профессиональном уровне, вы сможете автоматизировать большинство своих повседневных задач за счет скриптов и минимизировать затраты на содержание сервера.

Изучите самую надежную бесплатную ОС и станьте специалистом по серверным технологиям!

В результате обучения вы научитесь:

  • Осуществлять установку и развертывание Linux CentOS
  • Работать с файловой системой Linux
  • Управлять учетными записями и правами доступа
  • Методам работы с командными оболочками и основам создания сценариев
  • Основам администрирования стека TCP/IP и базовым инструментам для работы с сетью

Программа курса «Администрирование Linux»:

Установка CentOS 7

Любая работа по администрированию сервера начинается с самого очевидного и обязательного процесса — инсталляции необходимой ОС, чем мы и займемся. Скачаем и установим CentOS 7 server в конфигурации minimal или netinstall с загрузочной флешки или по сети на обычный диск или raid раздел. Перед этим выполним небольшую подготовительную работу и познакомимся с подробностями нашего дистрибутива, которые могут быть полезны в будущем.

Цели статьи

  1. Кратко рассказать о системе Centos 7.
  2. Объяснить различия установочных образов.
  3. Показать, как сделать загрузочную флешку с Centos для установки с флешки или по сети.
  4. Подробно описать все этапы установки Centos 7 на сервер.
  5. Показать установку Centos на программный рейд mdadm на тех серверах, где нет физического рейд контроллера.

Данная статья является частью единого цикла статьей про сервер Centos.

Cистемные требования CentOS 7

7 июля 2014 года увидел свет релиз дистрибутива CentOS 7. Перед его установкой рекомендуется ознакомиться с системными требованиями. Подробно посмотреть полный список максимальных и минимальных системных требований можно на официальном wiki. Я же приведу только самые важные параметры:

Cистемные требования CentOS 7

Поддержка i386 архитектуры нет
Минимальное количество памяти 1GB
Рекомендуемое количество памяти 1GB на каждое ядро процессора
Минимальное место на диске 10GB
Рекомендуемое место на диске 20GB
Максимальный размер файла (ext3) 2TB
Максимальный размер файловой системы (ext3) 16TB
Максимальный размер файла (ext4) 16TB
Максимальный размер файловой системы (ext4) 50TB

Это официальные данные с сайта CentOS. У RHEL они такие же, я проверял. У меня лично на VDS благополучно все работает и с 512MB памяти, меньше не пробовал ставить, думаю и с 256 заведется.

Типы iso образов CentOS 7

Релиз CentOS содержал в себе несколько видов iso образов. Подробное описание каждого из них представлено в таблице:

Редакции CentOS 7

CentOS-7-x86_64-DVD Этот DVD образ содержит все пакеты, которые могут быть установлены с помощью инсталлера. Рекомендуется для большинства пользователей.
CentOS-7-x86_64-NetInstall Этот NetInstall образ для установки по сети и для восстановления. Инсталлятор спросит, откуда будет производиться установка пакетов. Удобно использовать, если у вас есть локальный репозиторий пакетов.
CentOS-7-x86_64-Everything В этом Everything образе содержится полный набор пакетов CentOS 7. Он может быть использован для установки, либо обновления локального зеркала. Для этого образа требуется двухсторонний DVD, либо флешка на 8 Гб.
CentOS-7-x86_64-LiveGNOME
CentOS-7-x86_64-LiveKDE
Эти два образа являются LiveCD CenOS 7. В зависимости от названия используется та или иная графическая оболочка. Они разработаны для тестирования окружения CentOS 7. Они не устанавливаются на жесткий диск, если вы не собираетесь этого делать принудительно. Набор установленного программного обеспечения поменять нельзя, это можно сделать только на установленной операционной системе с помощью yum.
CentOS-7-x86_64-Minimal С помощью этого Minimal образа можно установить базовую систему CentOS с минимальным набором пакетов, необходимых для работоспособности системы. Все остальное можно доустановить позже с помощью yum. Набор пакетов в этом образе будет такой же, как и на DVD при выборе установки minimal.

Я обычно использую для установки либо minimal образ, либо netinstall.

Cкачать CentOS 7

Скачать свежую на текущий момент версию CentOS 7.2.1511 можно двумя способами:

  1. Через torrent сеть
  2. С ближайшего зеркала

Я в качестве такого зеркала предпочитаю использовать CentOS Yandex Mirror:

Скачать CentOS 7

Torrent Yandex Mirror Размер
Скачать CentOS 7 DVD torrent Скачать CentOS 7 DVD iso 4G
СкачатьCentOS 7 NetInstall torrent СкачатьCentOS 7 NetInstall iso 360M
СкачатьCentOS 7 Everything torrent СкачатьCentOS 7 Everything iso 7G
СкачатьCentOS 7 LiveGNOME torrent СкачатьCentOS 7 LiveGNOME iso 1G
СкачатьCentOS 7 LiveKDE torrent СкачатьCentOS 7 LiveKDE iso 1G
СкачатьCentOS 7 Minimal torrent СкачатьCentOS 7 Minimal iso 634M

Напоминаю, что 32 bit или i386 редакции CentOS 7 не существует. Все дистрибутивы только x86_64, то есть 64 bit.

Загрузочная флешка для CentOS 7

Последнее время лично я практически не пользуюсь обычными CD, предпочитая им загрузочные флешки. Они удобнее, занимают меньше места, проще обновить дистрибутив на них. Но иногда приходится заморочиться для создания загрузочной флешки. Например, для создания загрузочной флешки CentOS 6 я раньше пользовался программой unetbootin, но с 7-й версией этот номер не прошел. Созданная в ней флешка не позволяет установить CentOS 7, так как сам инсталлятор в какой-то момент не видит источник установки на флешке.

Но на выручку пришла бесплатная программа Win32DiskImager. С ее помощью без проблем удается создать загрузочную флешку CentOS 7. Вот как это делается:

  1. Скачиваем дистрибутив программы.
  2. Скачиваем дистрибутив CentOS 7. Я для теста использовал версию Minimal.
  3. Вставляем чистую флешку, запускаем программу и указываем настройки:
  4. Нажимаем Write и ждем окончания записи.
  5. Загрузочная флешка CentOS 7 готова.

Этого достаточно для создания флешки. Теперь ей можно пользоваться для установки операционной системы с флешки.

Установка CentOS 7 с флешки

После создания загрузочной флешки, можно приступить к установке. Вставляем флешку в сервер, указываем в качестве источника загрузки USB и запускаем компьютер. Нас встречает начальное меню установки CentOS:

Выбираем первый пункт: Install CentOS 7 и жмем enter . После загрузки инсталлера, нас встречает окно с выбором языка, который будет использоваться во время установки. Я всегда выбираю Еnglish , мне так привычнее:

Дальше загружается страница с выбором основных параметров установки. Она уже будет отличаться в зависимости от типа ISO образа, с которого происходит установка центос.

CentOS 7 minimal

Если вы используете диск centos minimal iso, то увидите следующий экран:

Здесь вам предлагают указать параметры установки. Восклицательным знаком помечен раздел, без настройки которого продолжение невозможно. Для настройки доступны следующие параметры установки:

  1. Выбор часового пояса centos.
  2. Выбор раскладки клавиатуры.
  3. Поддержка каких языков будет осуществляться на сервере.
  4. Откуда будет происходить установка. Так как у нас дистрибутив centos minimal, установка будет с локального iso.
  5. Выбор пакетов для установки. В образе minimal доступен только минимальный набор софта.
  6. Разбивка жесткого диска. Подробнее коснемся этого пункта, когда будем разбирать установку на ra >Для продолжения установки необходимо выполнить как минимум разбивку жесткого диска. Без этого продолжение установки невозможно. Но мы пройдемся по всем параметрам и установим необходимые для нас значения.

Итак, нажимаем на DATE & TIME и настраиваем параметры времени:

  1. Указываем регион.
  2. Выбираем город.
  3. Включаем при необходимости службу времени для синхронизации часов centos с внешними серверами.
    Это возможно сделать только если вы уже настроили сетевые параметры. Если нет, то вернитесь к этой настройке позже.
  4. Выбираем список внешних серверов для синхронизации времени:
  5. Указываем формат, в котором будет отображаться текущее время.
  6. При необходимости изменяем дату сервера.

После завершения настроек жмем сверху синюю кнопку Done .

Идем в следующую настройку — KEYBOARD LAYOUT :

  1. Добавляем необходимые раскладки. Я добавил Russian .
  2. Нажимаем Options и выбираем, как будет происходить переключение раскладок.
  3. Тестируем раскладки и переключение. Если все в порядке, идем дальше.

Нажимаем LANGUAGE SUPPORT :

Выбираем дополнительные языки, которые будет поддерживать система. Чаще всего мне это не нужно, но для примера добавим поддержку русского языка. Это может пригодиться, например, при создании файлового архива с русскими названиями в файлах. С поддержкой русского языка можно работать в консоли с русскими названиями папок и файлов. Если у вас, к примеру, сервер настраивается для работы в качестве шлюза, поддержка дополнительных языков скорее всего не пригодится. После выбора снова жмем Done .

Теперь выполним сетевые настройки. Идем в раздел NETWORK & HOSTNAME . Подробно о настройке сетевых интерфейсов я указывал в одной из своих статей, поэтому останавливаться на этом вопросе не буду. Включаем ползунок в положение ON и получаем автоматически настройки по dhcp:

  1. Включение ползунка в положение ON активирует интерфейс, он получает настройки по dhcp.
  2. Если вы хотите изменить эти настройки, нажимаете Configure.
  3. Указываете hostname . Если забудете, то после установки этот параметр можно изменить.

Завершаем настройку нажатием на Done . Теперь можно вернуться в настройки часов и активировать Network Time .

Теперь перейдем в раздел INSTALLATION SOURCE . При установке centos minimal менять этот параметр нет необходимости. Там по-умолчанию установлен локальный источник, нам это подходит. Можно ничего не трогать:

В разделе SOFTWARE SELECTION при minimal установке тоже нечего выбрать, уже указан единственно возможный вариант:

Нам осталось рассмотреть последнюю обязательную настройку, без которой установка centos не начнется — INSTALLATION DESTINATION . Зайдя в нее вы увидите список подключенных к серверу дисков. В моем случае это один жесткий диск.

Если ваш диск определился правильно, выбираете его и нажимаете Done . Выскакивает окошко с предупреждением, что для установки системе понадобится примерно 1 Гб места на жестком диске, а на вашем жестком диске нет необходимого свободного места. Это происходит потому, что раньше на этом диске была установлена другая система и она занимала весь жесткий диск. Нам нужно удалить всю старую информацию для установки новой системы. Делаем это, нажимая Reclaim space:

Выбираем диск и удаляем все существующие разделы на нем — жмем сначала Delete all, а потом Reclaim space:

После этого установщик выберет весь диск в качестве диска для установки. После этого можно начать непосредственно установку centos, нажав кнопку Begin Installation.

Дальше рассмотрим вариант, когда вы выполняете установку с образа netinstall.

CentOS 7 netinstall

Установка Centos 7 с образа netinstall отличается от прочих только одним моментом. Во время подготовки к установке по сети в разделе INSTALLATION SOURCE вам вместо локального источника необходимо указать путь к образу, расположенному где-то в сети. Очевидно, что перед этим необходимо выполнить настройку сети и убедиться, что у компьютера есть доступ в интернет.

В качестве источника для установки я буду использовать упомянутое ранее зеркало яндекса. CentOS netinstall url — https://mirror.yandex.ru/centos/7/os/x86_64/

Указываем путь и жмем Done . После проверки доступности источника, в разделе SOFTWARE SELECTION можно выбрать необходимый для установки набор софта:

Дальше можно начинать установку, указав все остальные параметры, которые мы рассмотрели выше.

CentOS 7 установка на raid

Теперь рассмотрим наиболее сложный вариант установки. Мы будем ставить CentOS 7 на программный рейд. Для примера возьмем 2 диска и ra >INSTALLATION DESTINATION .

Подключаем 2 диска к системе, загружаемся с установочного диска и идем в раздел разбивки диска. Видим 2 жестких диска. Выбираем оба и отмечаем пункт I will configure partition:

Жмем Done . Открывается немного кривое окно управления разделами жесткого диска.

Здесь мы первым делом удаляем все существующие разделы:

И создаем свои новые, нажимая плюсик. Нам нужно создать 3 раздела: boot , swap и корень / . Размеры разделов выбирайте сами, исходя из своих потребностей и оперативной памяти на сервере. Для раздела boot достаточно 500Мб, для swap хватит объема оперативной памяти. Все остальное можно либо заполнить одним корневым разделом, либо создать несколько, если в этом есть необходимость. Device Type ставим RAID . Тип файловой системы выбирайте на свое усмотрение. Что лучше — xfs или ext4 зависит от конкретной ситуации. Считается, что xfs работает лучше с большими файлами, ext4 с кучей мелких. Это тема отдельного разговора. RA >RA >.

Должно получиться примерно так:

Нажимаем Done , когда закончим. В новом окне подтверждаем разбивку диска, нажимая Accept Сhanges:

Все остальные параметры выставляем как было рассказано выше. Теперь можно начинать установку CentOS 7 на программный raid, который мы только что создали.

Во время установки нужно указать пароль root , либо создать дополнительных пользователей. Пароль рекомендую установить, пользователей по необходимости.

После завершения установки на raid зайдем в систему и проверим состояние массива:

Посмотрим информацию о корневом массиве:

Все в порядке, установка сервера закончена. Рейд раздел нормально функционирует, обеспечивая отказоустойчивость сервера.

Я очень рекомендую использовать софтовый raid линукса mdadm в повседневной деятельности. Он намного надежнее, понятнее и стабильнее встроенных в материнскую плату контроллеров. Отдавать предпочтение аппаратному рейду следует только в том случае, если он действительно аппаратный, он имеет батарейку и он действительно увеличивает производительность сервера. Во всех остальных случаях рекомендую пользоваться mdadm.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

Для системного администратора

Category Archives: Centos

Настройка срока действия пароля в RHEL/CentOS 5

В идеале пароли пользователей должны изменяться постоянно. В данной статье описывается как настроить требования к смене паролей с помощью приложения User Manager в Red Hat Enterprise Linux 5 или CentOS 5. 1. Нажмите Applications, затем выберите System Settings и нажмите Users and Groups. В результате запустится окно User Manager. 2. Выберите нужного пользователя и нажмите Properties

Настройка iptables для доступа к LDAP серверу

По умолчанию конфигурация Iptables в системах CentOS / Red Hat / RHEL / Fedora Linux не позволяет входящих соединений к службам LDAP. В этой памятке мы откроем доступ к используемым LDAP портам TCP #389 и TCP # 636. Для этого необходимо обновить файл /etc/sysconfig/iptables. Рассмотрим простейший случай, в котором доступ дается целому сегменту локальной [. ]

Fallback relay. Ускоряем работу почты.

При обслуживании нагруженного SMTP сервера, можно заметить, что часть сообщений застряет в очереди. Причины могут быть самые разные, это и 450 ответы удаленного сервера, не возможность соединится с удаленным сервером и обрывы при передаче сообщения. Как правило сервер повторяет отправку из очереди приблизительно раз в 30 минут. Но по мере роста количества таких сообщений, общая [. ]

Установка Postfix Admin в RHEL/CentOS 5

Postfix Admin – это веб-интерфейс для управления почтовыми ящиками, виртуальными доменами и алиасами в почтовой системе на базе postfix. В данной статье описывается процесс установки Postfix Admin. Установка Postfix Admin 1. Перед установкой Postfix Admin необходимо установить следующие пакеты: yum install mysql-server php-mysql php-imap

Установка LightSqu >May 8, 2009 – 9:07 pm

Это перевод оригинальной инструкции по установке . Необходимое программное обеспечение: Perl http сервер (Apache, lighthttpd, и др.) Squid Cron или их аналоги. В нашем случае рассматривается пример с сервером Apache

Squ >May 7, 2009 – 6:01 pm

Дабы не забыть, оставляю для себя напоминалку по настройки squid на авторизацию на основе аккаунтов в LDAP. В squid встроен модуль squid_ldap_auth. Расположен он в /usr/lib64/squid/. Проверяем, работает ли он: #/usr/lib64/squid/squid_ldap_auth -b “basedn” -D “binddn” -w bindpasswd -h LDAP_Server -v 3 -p 389 User Pass OK Как видно выше, работает. User и Pass забиваем ручками [. ]

Что такое DRBD? DRBD (англ. Distributed Replicated Block Device — распределённое реплицируемое блочное устройство) — это блочное устройство, предназначенное для построения отказоустойчивых кластерных систем на операционной системе Linux. DRBD занимается полным отражением (mirroring) по сети всех операций с блочным устройством. Можно считать, что DRBD это сетевой RAID-1.

Конфигурирование VLAN средствами RHEL/CentOS/Fedora Core

Во многих доках и HOWTO описывается, как поднять VLAN-ы в Linux вручную, при помощи последовательности команд, которые потом можно запихнуть в скрипт. Считаю, что это не совсем правильно. Подобные вещи лучше всего делать штатными средствами системы. В RedHat-based системах настройка VLAN-ов легко выполняется при помощи стандартного скрипта ifup. Ниже описана данная процедура.

Локальный репозитарий для CentOS

Иногда довольно удобно иметь свое локальное зеркало репозитариев, это позволяет снизить количество входящего трафика при обновлении нескольких серверов, а также ускорить сам процесс обновления. В данной заметке я описал процесс создания локального репозитария для CentOS 5.2, архитектура x86_64. Для репозитария необходим работающий http сервер, wget/rsync и утилита createrepo.

Настройка сервера обновлений CentOS

Данный документ написан для тех системных администраторов, у которых есть несколько серверов под управлением одной и той же ОС (В качестве примера выбрана Centos 4). Дело в том, что при количестве серверов больше 2-х уже имеет смысл поставить на одном из них сервер обновлений с которого все остальные сервера Вашей компании будут обновляться. Это выгодно [. ]

Системное администрирование CentOS 5

В данном разделе будет представлена серия взаимосвязанных веб-кастов посвященных системному администрированию CentOS 5.

Все видео можно посмотреть на моем youtube или rutube канале.

В данном веб-касте рассматривается процесс загрузки ОС CentOS 5.6.

В веб-касте вы найдете:

  • Управление загрузчиком GRUB.
  • Управление уровнями загрузки.
  • Управление службами.

В данном веб-касте рассматривается управление дисками в CentOS 5.7.

В веб-касте вы найдете:

  • Обзор типов дисков.
  • Разбиение дисков на разделы.
  • Форматиование разделов.
  • Монтирование разделов.
  • Управление областью подкачки (swap).
  • Управление программными RA >Ссылки на видео: rutube, youtube.

В данном веб-касте рассматривается управление пользователями и группами в CentOS 5.7 при помощи графических и тестовых инструментов.

В веб-касте вы найдете:

  • Управление пользователями при помощи User Manager (system-config-users).
  • Управление политиками паролей при помощи User Manager (system-config-users)
  • Управление группами при помощи User Manager (system-config-users)
  • Управление пользователями в текстовом режиме.
  • Управление политиками паролей в текстовом режиме.
  • Управление группами в текстовом режиме.
  • Обзор и модификация файлов хранящих пользователей, пароли и группы.

Радио сайт

Радио 1995 [12]
Радио 1997 [12]
Радио 1999 [12]
Радио 2010 [12]
Радио 2012 [0]
Радио 2014 [0]
Железо 2010 [12]
Железо 2012 [11]
Upgrade 2011 [48]
Upgrade 2013 [48]
Электроника [2702]
Электротехника [342]
Радиоаматор 2011 [12]
Радиоаматор 2013 [10]
Библиотека ремонта [4]
Upgrade Special 2012 [5]
Ремонт и Сервис 2010 [12]
Ремонт и Сервис 2012 [12]
Радиоконструктор 2011 [12]
Радиоконструктор 2013 [12]
Массовая радиобиблиотека [1057]
Современная электроника [12]
Главная » 2020 » Ноябрь » 5 » Linux. Администрирование и системное программирование

Linux. Администрирование и системное программирование — Эта книга представляет собой всеобъемлющее руководство по работе, настройке, администрированию и системному программированию операционных систем семейства UNIX/Linux, включая Ubuntu, Fedora, openSUSE, Red Hat, Debian, Mandriva, Mint и даже Mac OS X.
Первая часть книги дает начальные представления о работе в Linux: объясняется интерфейс командной строки, приводится обзор наиболее распространенных утилит, рассматривается иерархическая файловая система Linux, объясняется, как использовать свойства оболочки, чтобы ускорить работу в системе. Во второй части рассмотрены два мощных Linux-редактора, работающих в режиме командной строки и включенных в большинство дистрибутивов Linux: текстовый редактор vim и GNU-редактор emacs. В третьей части книги освещаются аспекты работы с оболочками bash и tcsh. Четвертая часть посвящена важным средствам программирования, широко используемым при системном администрировании Linux и Mac OS: рассказывается об особенностях расширенного программирования оболочки с использованием bash; дается представление о создании сценариев администрирования Linux-систем на языке программирования Perl; подробно рассмотрены утилиты sed и rsync. Заключительная часть книги представляет собой обширный справочник команд Linux, включающий подробные примеры использования более сотни наиболее важных утилит.
Книга адресована широкому кругу читателей: от пользователей Linux и Mac OS X, желающих узнать преимущества работы с системой из командной строки, до системных администраторов и программистов, нуждающихся в более глубоком понимании системы и доступных им инструментальных средств.

Название: Linux. Администрирование и системное программирование
Автор: Собель М.
Издательство: Питер
Год: 2011
Страниц: 880
Формат: PDF
Размер: 20,97 МБ
ISBN: 978-5-459-00450-2
Качество: отличное
Серия: Мастер-класс
Язык: русский

Предисловие
Особенности данной книги
Содержание
Часть I. Операционные системы Linux и Mac OS X
Часть II. Редакторы
Часть III. Оболочки
Часть IV. Средства программирования
Часть V. Справочник команд
Вспомогательные материалы
Глава 1. Добро пожаловать в Linux и Mac OS X
История UNIX и GNU-Linux
Что можно отнести к достоинствам Linux?
Обзор Linux
Дополнительные свойства Linux
Заключение
Упражнения
Часть I. Операционные системы Linux и Мас OS X
Глава 2. Начнем!
Соглашения, используемые в этой книге
Вход в систему через терминал или эмулятор терминала
Работа с оболочкой
su/sudo: Ограничение ваших полномочий (root-права)
Где найти документацию
Дополнительная информация о входе в систему
Заключение
Упражнения
Глава 3. Утилиты
Специальные символы
Основные утилиты
Работа с файлами
| (канал): Организация связи между процессами
Еще четыре утилиты
Сжатие и архивирование файлов
Команды для поиска мест, где находятся утилиты
Получение информации о пользователе и системе
Связь с другими пользователями
Электронная почта
Заключение
Упражнения
Глава 4. Файловая система
Иерархическая файловая система
Полные имена
Работа с каталогами
Права доступа
Списки управления доступом (ACL-списки)
Ссылки
Заключение
Упражнения
Глава 5. Оболочка
Командная строка
Стандартный ввод и стандартный вывод
Запуск команды в фоновом режиме
Генерация имени файла и расширение имени
Встроенные команды
Заключение
Упражнения
Часть II. Редакторы
Глава 6. Редактор vim
История
Руководство. Использование vim для создания и редактирования файла
Введение в функции редактора vim
Командный режим: перемещение курсора
Режим ввода
Командный режим: Удаление и изменение текста
Поиск и замена
Другие команды
Копирование, перемещение и удаление текста
Чтение и запись файлов
Установка параметров
Расширенные технологии редактирования
Единицы отсчета
Заключение
Упражнения
Глава 7. Редактор emacs
История
Руководство по началу работы с emacs
Графический интерфейс пользователя emacs
Основные команды редактирования
Интерактивная справка
Расширенное редактирование
Основные режимы: редактирование с восприимчивостью к языкам
программирования
Дополнительная информация
Заключение
Упражнения
Часть III. Оболочки
Глава 8. Оболочка Bourne Again Shell
Предыстория
Основы оболочки
Параметры и переменные
Специальные символы
Процессы
История
Псевдонимы
Функции
Управление bash: Свойства и настройки
Обработка командной строки
Заключение
Упражнения
Глава 9. Оболочка TC Shell
Сценарии оболочки
Вход в оболочку TC Shell и выход из нее
Свойства, общие для оболочек Bourne Again Shell и TC Shell
Перенаправление стандартной ошибки
Работа с командной строкой
Переменные
Управляющие структуры
Встроенные команды
Заключение
Упражнения
Упражнения повышенной сложности
Часть IV. Средства программирования
Глава 10. Программирование оболочки Bourne Again Shell
Управляющие структуры
Описатели файлов
Параметры и переменные
Встроенные команды
Выражения
Программы оболочки
Заключение
Упражнения
Упражнения повышенной сложности
Глава 11. Язык сценариев Perl
Введение в Perl
Переменные
Управляющие структуры
Работа с файлами
Сортировка
Подпрограммы
Регулярные выражения
Модули CPAN
Примеры
Заключение
Упражнения
Упражнения повышенной сложности
Глава 12. Язык обработки шаблонов AWK
Синтаксис
Аргументы
Ключи
Примечания
Основы языка
Примеры
Заключение
Упражнения
Упражнения повышенной сложности
Глава 13. Редактор sed
Синтаксис
Аргументы
Ключи
Основы редактора
Примеры
Заключение
Упражнения
Глава 14. Утилита безопасного копирования rsync
Синтаксис
Аргументы
Ключи
Примеры
Заключение
Упражнения
Часть V. Справочник команд
Указатель команд
Общие ключи
sample
aspell
at
bzip2
cal
cat
cd
chgrp
chmod
chown
cmp
comm
configure
cp
cpio
crontab
cut
date
dd
df
diff
diskutil (OS X)
ditto (OS X)
dmesg
dscl (OS X)
du
echo
expr
file
find
finger
fmt
fsck
ftp
gawk
gcc
GetFileInfo (OS X)
grep
gzip
head
kill
killall
launchctl (OS X)
less
ln
lpr
ls
make
man
mkdir
mkfs
Mtools
mv
nice
nohup
od
open (OS X)
otool (OS X)
paste
pax
plutil (OS X)
pr
ps
rcp
renice
rlogin
rm
rmdir
rsh
rsync
scp
sed
SetFile (OS X)
sleep
sort
split
ssh
stat
strings
stty
sysctl (OS X)
tail
tee
telnet
test
top
touch
tr
tty
tune2fs
umask
uniq
w
wc
which
who
xargs

Цукерберг рекомендует:  Вакансии Oborot.ru
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих