Найкращі книги для системного адміністратора

The Linux Programming Interface: A Linux and UNIX System Programming Handbook
У цій книзі описано інтерфейс програмування Linux – системні виклики, бібліотечні функції та інші низькорівневі інтерфейси, що надає Linux, та використовуються, прямо чи опосередковано, кожною програмою, що запускається в Linux. Вони дозволяють застосункам виконувати завдання, такі як введення/виведення файлів, створення та видалення файлів і каталогів, створення нових процесів, запуск програм, встановлення таймерів, забезпечення взаємодії між процесами та потоками, що працюють на тому самому комп'ютері та з'єднаними через мережу.
Книга охоплює повний опис функцій програмування, які є специфічними для Linux, таких як epoll, inotify, capabilities, extended attributes, i-node flags, системний виклик clone(), файлова система /proc та деталі щодо виконання введення/виведення файлів, обробки сигналів, таймерів, потоків, динамічних бібліотек, взаємодії між процесами та сокетів. Разом з тим, акцент на стандартах UNIX (POSIX.1-2001/SUSv3 і POSIX.1-2008/SUSv4) робить її однаково цінною й для програмістів, які працюють на інших платформах UNIX.
Більшість розділів книги підсумовуються набором вправ, частина яких пропонує різні експерименти з використанням наявних прикладних програм, інші, запитання, що стосуються концепцій, обговорених у розділі, а деякі вимагають написання програм, реалізуючи матеріали розділу, для закріплення теоретичних знань.
Про автора
Майкл Керріск (Michael Kerrisk) – програміст, тренер і письменник, що народився в Новій Зеландії, проживає в Мюнхені, і займається програмуванням і використанням різних систем UNIX з 1987 року, а з кінця 1990-х зосереджується переважно на Linux. З 2004 року розробник проєкту man-pages Linux, який документує API програмування бібліотек Linux і GNU C. В рамках цієї роботи активно взаємодіє зі спільнотою розробників Linux, забезпечуючи тестування та огляд змін в API ядра Linux-користувача. Є автором та викладачем навчальних курсів з системного програмування в середовищі Linux/UNIX та суміжних областей, що базуються на багатьох роках навчання та програмування, а також на довгостроковому і тісному спілкуванні з API UNIX та Linux.

Linux Pocket Guide: Essential Commands
Linux Pocket Guide: Essential Commands – це незамінний помічник для будь-якого користувача ОС Linux. Тут коротко та чітко розглядаються важливі та корисні аспекти, для ефективної роботи з операційною системою Linux, без заглиблення у її внутрішню роботу. Основна увага у книзі приділена важливим командам, таким як ls (перелік файлів), grep (пошук тексту), mplayer (відтворення аудіо- та відеофайлів) та df (вимірювання вільного місця на диску).
Четверте видання зазнало певної реорганізації розділів про поняття, файли, базове адміністрування системи, мережу тощо, для зрозумілішого та лаконічнішого викладення матеріалу. Також воно містить 50 нових, корисних та необхідних команд, наприклад git і svn для керування версіями, split і column для маніпулювання текстом, pandoc і ffmpeg для перетворення файлів, snap і flatpak для керування пакетами, mdadm, lvcreate і zfs для для вишуканого керування сховищем, gpg для шифрування та багато інших. Разом з тим, застарілі команди, чи ті що більше не використовуються (write і finger, ftp і т.д) замінені на відповідні команди для сучасних систем Linux.
Про автора
Деніел Дж. Барретт (Daniel J. Barrett) занурений в Інтернет-технології з 1985 року. Зараз Ден працює у сфері програмного забезпечення, раніше був системним адміністратором Linux, викладачем університету, веб-дизайнером і гумористом. Також він пише про технічні/комп’ютерні теми з початку 1990-х років, включаючи Linux, MediaWiki, MacOS і комп’ютерну безпеку.

How Linux Works: What Every Superuser Should Know
How Linux Works – книга, що дозволяє ознайомитись з усіма тонкощами роботи Linux, від того як працює ядро до користувацького простору. Вона розділена на 3 основні частини. Перша – вступна, дає загальне поняття про систему та практичний досвід з деякими інструментами, що будуть вам корисні протягом усього користування Linux. Далі буде розглянуто кожну частину системи детальніше, від керування пристроями до конфігурації мережі, слідуючи загальному порядку запуску системи. Наприкінці демонструються деякі компоненти працюючої системи, певні поняття про інструменти та навички, що необхідні програмістам.
Третє видання містить нові розділи та теми, що набули популярності з моменту публікації другого видання, такі як віртуалізація, контейнери, Logical Volume Manager, journald і IPv6. Книга буде корисною системним адміністраторам, програмістам, спеціалістам із захисту інформації, а також усім, хто вивчає або хоче вивчити Linux максимально швидко та ефективно.
Про автора
Брайан Уорд (Brian Ward) працює з Linux з 1993 року. Він є автором декількох книг, зокрема The Linux Kernel HOWTO, The Book of VMware (No Starch Press) і The Linux Problem Solver (No Starch Press).

The Unix Programming Environment
The UNIX Programming Environment є введенням у програмне оточення UNIX і адресовано тим, хто хоче навчитися програмувати за допомогою всіх тих інструментів, які постачаються з операційною системою. У книзі розглядається вхід до системи, робота з файлами (cat, mv, cp, rm) та каталогами (cd, mkdir, ...), основи оточення (змінні, маски), фільтри (grep, sed, awk), програмування оболонки (цикли , сигнали, аргументи, стандартне введення виведення), введення в системні виклики (read, write, open, creat, ...), введення в програмування з використанням lex, yacc і make, робота з документацією за допомогою troff, tbl і eqn.
Після завершення книги, читачі отримають розуміння не лише того, як використовувати систему, її компоненти та програми, а й те, як вони вписуються в загальне середовище.
Про авторів
Браян Вілсон Керніган (Brian Wilson Kernighan) – комп’ютерний науковець, який працював у Bell Labs разом із творцями Unix Кеном Томпсоном і Деннісом Річі та зробив великий внесок у Unix.
Роб Пайк (Rob Pike) – працює в Дослідницькому центрі комп’ютерної науки в Bell Laboratories, Lucent Technologies. Він був провідним архітектором і розробником операційних систем Plan 9 і Inferno. Його дослідження зосереджено на програмному забезпеченні, яке полегшує людям написання програмного забезпечення.

The Linux Command Line: A Complete Introduction
Книга "The Linux Command Line" проведе вас від перших натискань клавіш у терміналі до написання повноцінних програм у Bash, найпопулярнішому інтерпретаторі командного рядка для Linux. Читаючи книгу ви навчитесь навігації по файловій системі, налаштуванню оточення, ланцюгу команд, використанню регулярних виразів для пошуку тощо.
Короткі та зрозумілі глави цієї книги продемонструють вам, як створювати й видаляти файли, директорії та символічні посилання, адмініструвати систему, разом з налаштуванням мережі, встановленням пакетів та управлінням процесами, розкажуть як використовувати стандартний ввід і вивід, перенаправлення і канали передачі даних, редагувати файли за допомогою найпопулярнішого текстового редактора – Vi, навчать писати скрипти оболонки для автоматизації рутинних або нудних задач, обрізати та обробляти тексти за допомогою команд cut, paste, grep, patch та sed.
Після прочитання книги, ви зможете вільно та впевнено використовувати командний рядок та зрозумієте наскільки природним та логічним є цей спосіб взаємодії з комп'ютером.
Про автора
Вільям Е. Шоттс молодший (William E. Shotts, Jr) – професіонал у сфері програмного забезпечення та завзятий користувач Linux протягом понад 15 років. Він має великий досвід у розробці програмного забезпечення, включаючи технічну підтримку, контроль якості та документацію. Він також є творцем LinuxCommand.org, сайту про навчання та просування Linux, де представлені новини, огляди та широка підтримка використання командного рядка Linux.

Operating Systems Design and Implementation
Operating Systems Design and Implementation – книга, що ідеально підходить для введення в поняття комп’ютерних операційних систем. Вона докладно охоплює всі основні принципи, такі як процеси, міжпроцесне спілкування, семафори, монітори, передача повідомлень, алгоритми планування, введення/виведення даних, взаємоблокування, драйвери пристроїв, управління пам'яттю, алгоритми сторінкової організації, проектування файлової системи, безпеку та захисні механізми. Крім того, розглядається конкретна операційна система – MINIX 3 – UNIX-сумісна операційна система, про яку надано детальний опис та навіть вихідний код для вивчення, що дозволить вам не тільки засвоїти принципи, але і побачити, як вони застосовуються на практиці в реальній операційній системі.
Третє видання суттєво відрізняється від двох інших, насамперед новою версією системи – MINIX 3, що в багатьох ключових аспектах принципово відрізняється від попередньої. Крім того, практично всі матеріали про принципи було переглянуто, та додано багато нового.
Про авторів
Ендрю Стюарт Таненбаум (Andrew S. Tanenbaum) — американський вчений з інформатики та почесний професор інформатики в Університеті Vrije, Амстердам, Нідерланди. Найбільш відомий як автор MINIX, безкоштовної Unix-подібної операційної системи для навчання, а також як автор підручників з інформатики. Свою викладацьку роботу він вважає найважливішою. З 2004 року він керує Electoral-vote.com, веб-сайтом, присвяченим аналізу даних опитувань під час федеральних виборів у Сполучених Штатах.
Альберт Вудхалл (Albert S. Woodhull) багато років був викладачем Школи природничих наук Гемпширського коледжу, Амгерст, Массачусетс. Він викладав в Массачусетському університеті та Сміт-коледжі в США, а також неодноразово був запрошеним викладачем в університетах Нікарагуа, підтриманий у двох із цих візитів грантами Фулбрайта. Він також працював системним адміністратором комп’ютерів і мереж в Массачусетському університеті. Отримав ступінь бакалавра (B.S.) з Массачусетського технологічного інституту (M.I.T.) та ступінь доктора філософії (Ph.D.) з Університету Вашингтона.

UNIX and Linux System Administration Handbook
UNIX and Linux System Administration Handbook – детальний посібник зі встановлення, налаштування та підтримки будь-якої Unix чи Linux системи, зокрема й тих, які забезпечують базову Інтернет та хмарну інфраструктури. Книга охоплює усі аспекти системного адміністрування, включаючи ефективні методи керування пам'яттю, проектування та керування мережами, електронну пошту, веб-хостинг, створення сценаріїв, керування конфігураціями програмного забезпечення, віртуалізацію, DNS, безпеку, керування провайдерами IT-послуг, аналіз продуктивності тощо.
Автори розглянули хмарні платформи, методологію DevOps, безперервне розгортання, контейнерізацію, моніторинг і багато інших важливих тем. Книга також надає інформацію про останні версії таких операційних систем, як Ubuntu Linux, OpenSUSE Linux, Red Hat Enterprise Linux, Oracle America SolarisTM, HP HP-UX та IBM AIX.
Про авторів
Еві Немет (Evi Nemeth) – була інженером, письменницею та викладачем, відомою своїм досвідом у сфері адміністрування комп’ютерних систем та мереж. Вона викладала та наставляла студентів інформатики в Університеті Колорадо в Боулдері, була запрошеним викладачем Дартмутського коледжу та Каліфорнійського університету в Сан-Дієго, а також допомогла запровадити Інтернет-технології в країнах, що розвиваються, завдяки своїй роботі з Internet Society та ООН.
Гарт Снайдер (Garth Snyder) працював у NeXT і Sun, отримав ступінь бакалавра інженерії в коледжі Свортмор, а також ступінь доктора медицини та магістра ділового адміністрування в Рочестерському університеті.
Трент Р. Хайн (Trent R. Hein) – співзасновник і Co-CEO Rule4. Трент визнаний одним із провідних світових експертів у сфері кібербезпеки та автоматизації інфраструктури. Отримав ступінь бакалавра комп’ютерних наук в Університеті Колорадо.
Бен Уейлі (Ben Whaley) – штатний інженер-програміст у Chime Financial. Раніше був головним інженером-програмістом у Gruntwork.io та засновником консалтингової компанії WhaleTech, яка займається хмарною архітектурою, розробкою програмного забезпечення та автоматизацією систем. Активний член спільноти Amazon Web Services, технічний письменник та оратор.
Ден Макін (Dan Mackin) – отримав ступінь бакалавра електротехніки та комп’ютерної інженерії в Університеті Колорадо в Боулдері. Він застосовує Linux та інші технології з відкритим вихідним кодом не лише у своїй повсякденній роботі, але й для проектів з автоматизації, моніторингу та збору метеорологічних показників вдома.
Читайте нас в Telegram, щоб не пропустити огляд цікавих книг.