Что должен знать и уметь начинающийся сисадмин?

Нормальный план.

  1. 1. Введение. (все понемногу)
    1. Отсутствие специалистов и людей, готовых учится.
    2. Краткая история и основные понятия ОС (что такое ОС, зачем нужна, какие есть)
    3. Почему полезно изучить *nix-системы
    4. GNU, OpenSource.
  2. Немного истории и современные реальности.. (inkvizitor68sl)
    1. AT&T Unix.
    2. DOS, Windows. Почему одной Windows недостаточно для всех сфер (Real-Time, особенности архитектуры с т.з. серверов, закрытая форма разработки).
    3. Linux и *BSD, MacOS X(в двух словах) как наиболее популярные из живых *nix'ов
    4. Отсутствие специалистов и людей, готовых учится. (продолжение)
  3. Сети. (не забыть про MTU)
    1. Модель OSI, уровни модели
    2. физический уровень
    3. промежуточные протоколы (arp и братия)
    4. ipv4/ipv6
    5. Подсети, расчет маски подсети, CIDR
    6. Маршрутизация (на примере route в linux)
    7. Протоколы TCP, UDP, их отличия
    8. Устройство сетевого пакета (на примере TCP)
    9. “Трехстороннее рукопожатие”
    10. DHCP
  4. Протоколы прикладного уровня (applications)
    1. Краткий обзор и перечисление тех, что бывают
    2. HTTP
    3. FTP
    4. SMTP, POP3, IMAP (вкратце, т.к. будет отдельной темой)
  5. DNS и резолвинг имен в Linux (inkvizitor68sl)
    1. Домены, hostname
    2. Файл /etc/nsswitch.conf, его смысл, как его использовать.
    3. Файл /etc/hosts, когда следует использовать
    4. DNS серверы - корневые, авторитарные, неавторитарные, резолверы
    5. Регистраторы доменных имен
    6. Заблуждения новичков.
    7. TTL, почему это плохо и почему хорошо.
  6. Документация, как правильно вести документацию (inkvizitor68sl)
    1. Документация личная и “общественная”
    2. Wikib
    3. Блог
  7. SSL/TLS, шифрование. Виды, области применения. Параллель со следующими лекциями (teran)
    1. +PGP/GPG
    2. +HTTPS
  8. Способы удаленного управления сервером (inkvizitor68sl)
    1. ssh (что такое, зачем, авторизация по ключам, отдельные команды по ключам, настройка ssh сервера, безопасность ssh)
    2. rdesktop (+xrdp)
    3. vnc
    4. NX (показать как запустить, как подключиться, рассказать историю и причны непопулярности)
  9. Управление процессами в Linux
    1. адресное пространство, изоляция, контекст, нити
    2. утилита ps
    3. top/htop, другие топоподобные утилиты для демонстрации, iotop, iftop, dstat, dnstop, atop.
    4. пакет sysstat (команда sar)
    5. /proc
  10. Ограничение ресурсов в Linux
    1. nice/renice, ionice
    2. /etc/security/limits.conf
    3. cgroups
    4. параметры sysctl, относящиеся к данной теме (например “видеть только свои процессы в proc/top/ps”)
    5. переход к виртуализации, как развитию идеи ограничения ресурсов
  11. Виртуализация
    1. chroot и jail, как начало виртуализации. Примеры, демонстрация, недостатки, когда нужно использовать
    2. контейнеры
      1. openvz/virtuozzo
      2. lxc
    3. аппаратная и software виртуализация, различия.
    4. VirtualBox, демонстрация
    5. KVM, рассказ о логике работы, связка с libvirtd и QEMU
    6. пробежаться по Xen, Parallels Desktop, VMWare и прочим.
    7. область применения решений, перечисленных выше, в том числе и субъективные размышления.
  12. Планировщики задач в Linux
    1. cron   
    2. atd
    3. использование sleep
    4. там и at и batch и задания в фоне bg fg
  13. GNU утилиты
    1. echo/cat
    2. tail/head
    3. less, more
    4. sed
    5. awk
  14. Написание bash скриптов (teran)
    1. Part 2 из Advanced Bash Guide
    2. if then else
    3. while, for
    4. переменная $?
    5. потоки (STDOUT, STDERR), STDIN
    6. TODO (тут ещё много всего, но что именно?)
    7. немножко perl, ruby
  15. Система пакетов в Debian GNU/Linux (teran)
    1. пакетные менеджеры, общий рассказ (бинарные, rpm, apt, порты, pacman, старая идеология “пакетов” в slackware, как живется без пакетов на примере LFS)
    2. почему пакеты - хорошо, а configure/make/make install - плохо
    3. dpkg
    4. apt-get, aptitude
    5. сборка пакета с бинарными данными,
    6. создание своего репозитория (простой способ через dpkg-scanpackages и автоматизированный)
    7. подписывание пакетов и репозиториев
  16. Файловый доступ к Linux системам (inkvizitor68sl)
    1. по ssh - scp, rsync, sshfs.
    2. sftp, как “православный способ”. Не забыть про sftp chroot.
    3. ftp, минусы ftp. Просьба отказаться от использования FTP.
    4. NFS. (nfs есть и под windows). Автомонтирование nfs в /net
    5. samba, кратко пробежаться
    6. webdav, демонстрация OwnCloud и “обычного” webdav.
    7. демонстрация доступа к каждому протоколу из консоли и из nautilus. По возможности - из windows
  17. Web-серверы. Какие-бывают. Примеры конфигурации. С чем используются, в каких ситуациях (inkvizitor68sl)
    1. apache+mod_php, упоминания про php_cgi и mod_fastcgi
    2. nginx, как front-end к апачу
    3. nginx, как самостоятельный веб-сервер. php-fpm и fastcgi
    4. рассказ про lighttpd, торнадо, varnish и прочие. В целях ознакомления.
    5. примеры конфигурации, с детальными пояснениями. Построчное чтение частей конфигов.
  18. Серверы баз данных (bani)
    1. SQL/NoSQL
    2. Какие бывают, где используются.
    3. Подробный рассказ о Mysql и его администрировании (bani)
  19. Виртуальные сетевые интерфейсы и туннели. (ошибки новичков, проблемы MTU) (kamasak)
    1. ssh туннели, как самый простой и быстрый способ получить доступ к приложению, работающему в другой сети. Условия для этого, реализация, примеры (-L, -R).
    2. VPN и похожие сущности, реализации (pptp, pppoe, l2tp, openvpn). Конфиги для одной из реализаций.
    3. ip2ip
    4. stunnel, IPSecb
  20. Linux как офисный (и не только) шлюз. Прокси-серверы
    1. что такое шлюз, зачем он нужен
    2. простейший NAT через iptables
    3. как работает прокси-сервер
    4. squid, факультативом - SARG
    5. squid, как прозрачный прокси
    6. privoxy + ssh туннели как лайфхак по быстрому поднятию “настоящего” прокси
    7. ipv6 для всех клиентов сети.
  21. Централизованная авторизация в linux системах. Управление большим количеством серверов.
    1. пакеты, пакеты, пакеты.
    2. DSH
    3. autossh
    4. ldap, kerberos. Зачем нужны, как раюотают, примеры настройки.
    5. сертификаты, ключи, одноразовые пароли
    6. NIS (?)
  22. Git в жизни системного администратора. Альтернативы.
    1. храним /etc/ в git
    2. использование git
    3. настройка git сервера
    4. альтернативы, чем они хуже или лучше.
    5. svn и cvs
    6. bazaar, как православная альтернатива гиту (по мнению Cannonical).
  23. Бэкапы (bani)
    1. Что нужно бэкапить?
    2. На примерах - что и как бэкапить?, не путаем бэкапы и репликацию, объяснить, когда репликация нас не спасет.
    3. Проверка бэкапов.
    4. Где и как хранить?
    5. rsync и mysqldump, как часто используемые инструменты
  24. Аппаратная составляющая жизни системных администраторов (bani)
    1. датацентры.
    2. стойки. почему именно стойки (не забыть про свободные юниты)
    3. проблемы современного серверного оборудования
    4. анализ оборудования из Linux (начать с lshw, lspci, lsusb, продолжить smarctl, dstat и так далее). Рассказать про WA (iowait).
    5. kvm
    6. ipmi
    7. ip-розетки
  25. RAIDы
    1. Уровни, преимущества и недостатки часто используемых.
    2. RAID != backup
    3. mdadm
    4. RAID “по сети” - DRDB
  26. LVM
    1. теория
    2. демонстрация
  27. Почтовые серверы
    1. MTA и прочее
    2. SMTP
    3. POP3/IMAP
  28. Linux в windows сети. Samba, CUPS
    1. доступ к smb ресурсам
    2. samba
    3. cups, cups+samba
    4. пример настройки доменного контроллера на Linux.
  29. Как правильно работать в консоли (orl)
Если останется время:

  1. Файловые системы в Linux.
    1. ext2/3
    2. ext4
    3. resierfs
    4. xfs
    5. btrfs
    6. другие
  2. Планировщики ввода-вывода.
  3. snmp, мониторинг, управление
  4. просто мониторинг (zabbix, nagios)