Что должен знать наизусть администратор Linux?

Что должен знать наизусть администратор Linux?

Я не системный администратор, но хорошо разбираюсь в Linux, Unix, Windows и оборудовании.

Какие темы администратор Linux должен знать наизусть (чтобы иметь возможность исправить, настроить, разобраться, не читая при этом руководства; проверять страницы руководства, которые есть во всех дистрибутивах)?

TheФОКУСЯ хотел бы установить для этого, чтобы это было от сети компании до администрирования сервера, которое может иметь некоторые одинаковые функции, в большинстве случаев будут иметь и некоторые другие. Например, вы не всегда будете видеть FTP-сервер для сервера компании, но, вероятно, увидите Samba большую часть времени...

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

Нравиться:

  1. Ядро, iptables
  2. Sendmail, Postfix, qmail, exim
  3. Squid, Samba, NFS, LDAP
  4. Apache, ngxix, lighthttpd
  5. vsftpd, proftpd
  6. связывать
  7. Ежедневные проблемы, с которыми приходится сталкиваться
  8. Какую функцию вы использовали чаще всего в течение дня?

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

PS: У меня уже есть базовые знания, но у меня нет ежедневного опыта в этой области. У меня были серверы, я делал некоторые сети и т. д. Более того, у меня даже есть некоторые глубокие знания в некоторых частях этого. Я просто хотел обновить это здесь, как я и сказал, это больше похоже на ЕЖЕДНЕВНЫЙ СПИСОК ЖИЗНИ СИСАДИМА LINUX.

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

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

решение1

Вы действительно уверены, что вас заботят повседневные дела? Лично я думаю, что вам следовало бы запомнить то, что вам нужно будет сделать, когда что-то сломается, и все будут дышать вам в спину, чтобы восстановить работу сети. Повседневные дела, как правило, различаются в зависимости от того, что ваши Linux-боксы делают в вашей сети.

Я думаю, что есть несколько навыков, которые очень важны.

  • Вы должны уметь настраивать сеть, используя только инструменты командной строки, такие как ifconfig, route и ip.

    • Несколько раз клиент звонил и говорил, что у него сломался Linux-бокс. Я заставил их загрузить livecd. Но сервер был в сети без DHCP (это был DHCP). После загрузки системы мне нужно было провести их через запуск сети и SSH, чтобы я мог удаленно подключиться и помочь им диагностировать и исправить то, что сломалось.
    • Возможно, вы находитесь в ситуации, когда у вас нет доступа к Интернету, и вам необходимо знать, как это сделать.
  • Я думаю, вы должны знать, как сделать полную резервную копию системы с помощью tar, rsync или dd. Если вы не знаете, как делать резервную копию и восстанавливать вещи, вам почти наверняка не следует трогать системы. Вам также нужно убедиться, что резервные копии сделаны перед внесением изменений в систему.

  • Я думаю, вы должны знать, как получить доступ к файловым системам с livecd на ваших серверах. Это означает, что вы должны знать, как активировать LVM и диски на основе программного RAID, получать доступ к информации о разделах и монтировать файловые системы.

    • Если ваш сервер не загружается, вам может понадобиться доступ к файловой системе и что-то исправить. Будет довольно мучительно пытаться выяснить, как на самом деле монтировать вещи в чрезвычайной ситуации. Будьте готовы заранее.
  • Вы должны быть достаточно знакомы с процессом загрузки, чтобы иметь возможность изменять что-то во время загрузки. Большинство систем используют GRUB, но вы можете столкнуться с LILO.
    • Важно знать, как загружаться на разных уровнях выполнения, например, на однопользовательском.
  • Я думаю, что вы должны иметь по крайней мере практические знания о том, как делать некоторые базовые захваты с помощью tcpdump и уметь читать результаты. Все приятные функции GUI в Wireshark хороши, но если что-то сломается, вы, возможно, не сможете получить доступ к Wireshark.
    • Существует большое количество сетевых проблем, которые мне удалось быстро выявить и решить, просто запустив tcpdump.

решение2

Знайте, какие инструменты у вас есть

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

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

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

Системные инструменты

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

  • rsync
  • сар / iostat(часть пакета sysstat)
  • установить/получить(большинство администраторов думают, что chmod/chown — это все, с чем можно работать)
  • curl и/или wget
  • iptables
  • кто / последний / w

Ниндзя командной строки

Я бы сказал, что прочное понимание скриптов оболочки творит чудеса, делая сложные вещи быстрыми и простыми. Если вам нужно искать синтаксис, то, скорее всего, вы вообще этого не сделаете, поэтому знать заранее — это критически важно.

Например, предположим, что у вас есть каталог, полный mysqldumpфайлов ".sql", каждый из которых представляет базу данных, которую нужно импортировать на сервер. Импортировать ли все 35 из них вручную? Если вы достаточно хорошо знакомы с написанием сценариев оболочки, это действительно быстро и легко — просто ввести одну команду и пойти выпить кофе:

Примечание: Я разделил его на отдельные строки для удобства чтения; если вы оставите точки с запятой, вы можете поместить все это в одну строку. В противном случае точки с запятой не нужны в конце каждой строки.

 for FILE in *.sql; do 
   NAME=${FILE%.sql}; 
   mysql -e "create database $NAME"; 
   mysql $NAME < $FILE; 
 done

Также рекомендую освежить в памяти использование sed. Думайте об этом как о способе применения регулярных выражений в любом месте.http://www.grymoire.com/Unix/Sed.html

Допустим, вы сменили номер телефона и вам нужно обновить все свои веб-страницы соответствующим образом (и сохранить резервную копию на случай, если вы ошибетесь).

sed -i.bak 's/555-1234/555-4321/' *.html

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

find public_html -name '*.html' -print0 | xargs -0 sed -i.bak 's/555-1234/555-4321/'

Также полезно иметь некоторый опыт работы с perl. Возможно, вам не придется писать какие-то серьезные программы с его помощью, но он был разработан для выполнения многих из тех же задач, что sedи awk, только, возможно, немного более гибко.

Perl можно использовать для магии командной строки с помощью -eопции. Используя with -p, -n, и -i, вы можете быстро написать простые фильтры для выполнения действительно полезных вещей. Например, скажем, вам нужно найти IP-адреса всех, кто обращался к "/admin.php" в сентябре:

perl -ne '
  /([^ ]+).*\[..\/Sep\/2010.*\] "GET \/admin.php / and print "$1\n"' < access_log

Видишь? Это было не так уж и плохо. Как системный администратор, ты должен знать, как это делать.

решение3

Я администратор Windows, который немного разбирается в Linux, поэтому не могу ответить на вопрос напрямую. Однако, по моему мнению, как только вы освоите основы, одна самая важная вещь, которую должен знать администратор, независимо от ОС, этогдеикакчтобы найти ответы.

решение4

Есть несколько вещей, которые вам АБСОЛЮТНО НУЖНО знать.

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

Вы должны иметь возможность редактировать файлы без запуска X11.

Вы должны уметь монтировать и размонтировать файловые системы.

Вы должны иметь возможность быстро усваивать новую информацию. Потому что это те навыки, которые вам понадобятся, когда целая ферма серверов компании рухнет, и у вас будет доступ только через жалкий консольный сервер (это «консоль» в смысле последовательного порта) и/или очень медленное VPN-соединение (что делает все, основанное на X11, слишком болезненным). И это произойдет, так что планируйте это.

Связанный контент