View
19
Download
0
Category
Preview:
Citation preview
История
● 17.09.1991 г. - первый релиз ядра Linux
● 1992 г. - первый дистрибутив Linux (Slackware)
● 14.03.1994 г. - Linux 1.0● Текущая версия ядра
(vanilla) - 4.6.4
Системные вызовы● open, close, read, write, lseek● fork+execve, exit● mkdir, rmdir, link, unlink● kill● fsync
Дистрибутивы Linux
Дистрибутив - операционная система, включающая в себя ядро (Linux), пользовательские приложения, библиотеки, компиляторы, утилиты, а также установщик системы.
● Библиотеки/компиляторы/интерпретаторы● Версия ядра● Пакеты/пакетный менеджер● Графическая среда пользователя (DE)● Разработчики (community/enterprise)
Дистрибутивы Linux
Пакет - набор файлов, необходимый программе для установки, запуска и выполнения: исполняемые файлы, библиотеки, конфигурационные файлы, документация.
Пакетный менеджер - инструмент, следящий за конфликтами и зависимостями между пакетами.
Почему Linux нужен
● Open source community● Удобное окружение/ПО для
разработки● Мощная командная строка● Продуктивность● Удобство в установке и поддержке ПО● Не требует финансовых затрат● Кастомизация 1000%
… и тысячи других причин
Почему Linux не нужен
● Игры● Прикладное ПО (Photoshop, Компас)● Проект на .NET● Нужен Active Directory● “Мы закупили лицензию Windows на
10 лет, чо мы как лохи будем (с).”
Другие команды
● работа с текстом (grep/sed/awk)● pipe (UNIX-way)● cron● vi/emacs/nano● curl/wget● screen/tmux● watch● screenfetch
DevOps-инструменты
● Системы управления конфигурациями (Ansible/Chef/Puppet/Saltstack)
● Виртуализация (Vagrant/Packer)● Git● Continuous Integration
(Jenkins/TeamCity/TravisCI)● Docker
Советы (ИМХО)
● Не меряйтесь дистрибутивами● Не заходите на хост с root-а● Не бойтесь● Не промывайте людям мозги своим Linux-ом● Не злоупотребляйте howto-шничеством (курите маны)● Сохраняйте спокойствие, если что-то сломалось (бэкапы)● Вырубите свап (sysctl -w vm.swappiness=0)● Минимальные привилегии для запуска системных команд из приложения● Соблюдайте в системе UNIX-way композицию (микросервисы)● Делитесь трудами и знаниями (open source)
Источники
● Э. Таненбаум “Современные операционные системы” (4-е издание)● Роберт Лав "Linux. Системное программирование" (2-е издание)● Mendel Cooper “Advanced Bash-Scripting Guide”
Источники
● https://kernel.org/● http://www.thegeekstuff.com/● http://stackshare.io/● http://explainshell.com/● https://github.com/jnv/lists (MUST SAVE)
Recommended