MyTetra Share
Делитесь знаниями!
Alpine linux установка и настройка
Время создания: 02.03.2021 13:08
Автор: alensav
Текстовые метки: Alpine linux установка и настройка.Зачем использовать Alpine в качестве основы docker-образа в черновиках
Раздел: ALPINE_LINUX
Запись: alensav/MyTetra2/main/base/1614679689jnie3zijne/text.html на raw.githubusercontent.com

Alpine linux установка и настройка.Зачем использовать Alpine в качестве основы docker-образа в черновиках

Скрыть рекламу:Не иAlpine linux установка и настройкантересуюсь этой темойТовар куплен или услуга найденаНарушает закон или спамМешает просмотру контента

Спасибо, объявление скрыто.

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


Так я и познакомился с Alpine Linux.



Этот дистрибутив может вам понравиться по следующим причинам:

  • Если вы любите минимализм и инструменты, ориентированные на выполнение поставленной задачи без лишних свистелок и украшений;
  • Если вы заметили, что имеющиеся «мэйнстримные» дистрибутивы немного (?) раздуты и избыточны;
  • Если вы захотели решить имеющуюся задачу простым способом.

Под «мэйнстримом» я подразумеваю тройку CentOS - Debian - Ubuntu (конечно же, ими мир не заканчивается), да простят меня все верующие в эти замечательные дистрибутивы. При их использовании, периодически, на границе восприятия, возникает колкая мысль – «а может быть можно проще?».

Оно нам действительно надо?


$ holywar mode disable
Неужели для решения вашей небольшой задачи требуется все это:

Замечательная systemd. Система инициализации (уже не совсем), которая может произвести впечатление системы управления шаттлом?

Ненене!

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

Подсистема журналирования / аудита, построенная на связке вроде journald → rsyslogd + auditd?


Несомненно, это здорово!

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

Дублирование функциональности периодического выполнения задач как в systemd, так и в crond?

Ох уж этот Cron!

Неужели мне не хватает его классического механизма? Возможно, его синтаксис может быть не совсем очевиден, но так ли очевидны таймеры в s-d?

О бучение программированиюpraktikum.yandex.ru П родавец: ООО «ДК БИЗНЕС». Адрес: 129226, г. Москва, ул. Сельскохозяйственная, д. 11, корп. 3, этаж 1, пом. II, ком. 2 (РМ114). ОГРН: 1207700184780Ламинат и Паркет Quick-Stepdigacompany.ru П акет Мой Офис для Linux!office.lanitecm.ru

Сосуществование нескольких подсистем управления сетью в разных сочетаниях: классический networking / networkd / NetworkManager?

Управлять сетью надо много!

Такое сочетание, да на серверной системе, да с несколькими интерфейсами управления на все вкусы. Хотя нет, давайте добавим сюда еще и netplan, «решающий» проблему конфигурации для перечисленных подсистем. Вам свой сервис хочется завести, или часто менять орбиту за счет переконфигурирования сетевых интерфейсов?

Сервисы вида tuned и firewalld?

Как же без них?

Так ли они нужны для вашей задачи? В принципе, неплохо рассматривать firewalld как попытку сбежать от синтаксиса iptables, но в результате вы вместо одного синтаксиса будете разбираться в другом и недоумевать от размера команд firewall-cmd. И вам действительно в базовой системе нужен интерпретатор python и его процессы? Нет, я люблю python, но не в этом случае.

Локальный почтовый сервис. Вы точно будете его использовать?

Раз уж мы вспомнили про минимализм, можно очень грубо сравнить наши дистрибутивы-лидеры в их минимальном варианте установки:

  • Лидером избыточности по дисковому пространству и числу пакетов оказывается Ubuntu 18.04 (2,8 ГБ дискового пространства, 342 пакета, 31 активный сервис systemd, 15 процессов при входе). Семейство systemd тут представлено в максимальном объеме - systemd, networkd, timesyncd, resolved, logind, есть dbus.
  • CentOS 7.5.1804 проигрывает по диску и числу пакетов, но лидер по вероятно-избыточным сервисам (1.1 ГБ дискового пространства, 299 пакетов, 34 активных сервиса systemd, 19 процессов при входе, среди которых - NetworkManager, firewalld, tuned, postfix, polkitd, auditd, journald + rsyslogd, dbus).
  • Debian 9.4.0 пытались сильно не надувать: 940 МБ, 334 пакета, 25 активных сервисов systemd, 14 процессов при входе. Само собой, тут тоже есть systemd (а также journald, timesyncd и сопутствующий dbus), но без особого фанатизма в части управления сетью.

holywar: cannot change mode to ‘disable’: Permission denied

Хочется странного

От части перечисленного выше можно (попробовать) избавиться вручную, но вдруг все уже придумано за нас? В идеале, от дистрибутива серверной операционной системы общего назначения хочется видеть:

  • Как ни странно, загрузчик, который дотянет нас до ядра;
  • Само ядро ОС (в рассматриваемом случае - linux);
  • Система инициализации, которую ядро запустит по готовности. Желательно, по простоте недалеко ушедшая от топора;
  • Минимальный набор процессов, который запустит система инициализации. Ну например:
  • Окончательная инициализация устройств и определение дополнительных параметров ядра;
  • Обеспечение журналирования (можно с текстовыми журналами? Ну пожалуйста);
  • Конфигурация сети (хорошо бы, с меньшим числом управляющих прослоек);
  • Синхронизация времени (ntpd / chronyd);
  • Несколько локальных консолей;
  • Опционально - периодическое выполнение задач (сrond);
  • Опционально - удаленный доступ к системе (sshd);
  • Хорошо бы еще сохранять и восстанавливать конфигурацию межсетевого экрана.

И на этом почти все, остальное - дело менеджера пакетов. Меньше исполняемого кода и конфигурации – меньше багов, меньше багов – меньше багов. А система все также запущена и доступна по сети. Идея выглядит неплохо, теперь посмотрим, насколько близок к ней дистрибутив Alpine Linux .

Про Alpine


Чем может очаровать Alpine, особенно после CentOS? Отчаянным минимализмом!
Ну и, конечно, отсутствием необходимости сертификации «
Linux Systemd Certified Voldemort ».


  • Понизили число используемых базовых компонентов;
  • Выбрали модули поменьше и попрозрачнее;
  • Упростили процесс конфигурирования системы.

А именно:

  • Чрезвычайно лаконичный процесс установки с использованием консольной утилиты setup-alpine;
  • В качестве загрузчика взят extlinux из состава проекта syslinux;
  • Небольшой инструмент сборки mkinitfs для создания временной файловой системы, используемой при загрузке;
  • Система инициализации openrc с определением зависимостей между сервисами, уровнями запуска и щепоткой скриптования;
  • Замена стандартной библиотеки GNU libc на более легковесную musl libc;
  • Вместо пакета GNU coreutils большинство стандартных системных утилит в несколько урезанном исполнении входят в состав пакета busybox, который может быть Вам знаком по встраиваемым решениям;
  • По умолчанию используется командный интерпретатор ash в составе busybox. Само собой, никто не мешает при необходимости поставить bash , ну и systemd ;
  • Собственный пакетный менеджер apk и собственная инфраструктура распространения пакетов.
  • Применили патчи ядра grsecurity/PaX (про их эффективность мнения расходятся, но все же); Уже нет, спасибо коллеге из комментариев. Как раз 26 июня вышла версия 3.8.0 .
  • Собрали пакеты с использованием режимов, снижающих вероятность эксплуатации ряда возможных уязвимостей.

П родавец: ООО «ДК БИЗНЕС». Адрес: 129226, г. Москва, ул. Сельскохозяйственная, д. 11, корп. 3, этаж 1, пом. II, ком. 2 (РМ114). ОГРН: 1207700184780Ламинат и Паркет Quick-StepПодробнееdigacompany.ru П акет Мой Офис для Linux!Подробнееoffice.lanitecm.ru В ся вентиляция в твоем смартфоне!Подробнееelectrotest.ru

В итоге мы получаем систему, снабженную рядом дополнительных механизмов защиты, позволяющую решить имеющуюся задачу и занимающую около 130 МБ . В запущенной системе установлен 41 пакет и выполняется 13 пользовательских процессов, можно стучаться по ssh.


И больше ничего. Осталось добавить то, что нужно вам (да и iptables с возможностью восстановления конфигурации при старте поставьте).

Приоткроем крышку

Обратите внимание – Alpine может пригодиться как учебная площадка при ознакомлении с ОС Linux! Увидеть логику работы компонентов субъективно проще, чем пытаться охватить сходу CentOS или Ubuntu:

  • Загрузчик нашей установленной системы прост, его конфигурация влезает в 12 строк:

  • Да и в /boot не слишком многолюдно:

  • А вот и запущенный загрузчик без модных обоев:

  • Ядро загружается, подхватывает initramfs, отрабатывает собственные шаги инициализации и вызывает команду init (которая, на самом деле, тоже идет в составе busybox). Init использует файл /etc/inittab:

  • И тут в явном виде прописано, что нужно запустить для инициализации системы:
  • Запустить 6 процессов getty, ожидающих на 6 виртуальных консолях локального входа пользователя.
  • Запустить систему инициализации openrc для поочередного достижения требуемых уровней инициализации (openrc использует не классические уровни инициализации 0-6, а собственные уровни/группы sysinit - boot - default).
  • Переменных, заданных в файлах каталога /etc/conf.d;
  • Скриптов запуска, находящихся в каталоге /etc/init.d;
  • Привязки скриптов запуска к «группам инициализации»:




Как видите, это не всегда эти ваши нелюбимые "портянки":



П родавец: ООО «ДК БИЗНЕС». Адрес: 129226, г. Москва, ул. Сельскохозяйственная, д. 11, корп. 3, этаж 1, пом. II, ком. 2 (РМ114). ОГРН: 1207700184780Ламинат и Паркет Quick-StepПодробнееdigacompany.ru П акет Мой Офис для Linux!Подробнееoffice.lanitecm.ru Б У Сервера IBM - Проверены!Подробнееsibrs.ru

Переменные, используемые при выполнении скрипта, определяются в соответствующем файле /etc/conf.d/syslog. В нашем случае, в файле определена переменная SYSLOGD_OPTS="-Z".
Обратите внимание - в скрипте декларативно определены зависимости данного сервиса.


Openrc честно перебирает в заданном порядке скрипты запуска, достигает уровня «default» - и вот она, рабочая система!

Демоны под крышкой

Что же именно скрывается под скриптами запуска openrc? Как ни странно - набор задач и демонов, перечисленных ниже.

  • Сначала, на уровне sysinit:
    • dmesg - выставляется уровень журналирования для сообщений от ядра;
    • devfs - монтируется и настраивается /dev;
    • mdev - запускается менеджер устройств;
    • hwdrivers - загружаются модули устройств на основе информации из /sys и /dev;
  • Следующим идет уровень boot:
    • modules - загружаются модули ядра, перечень которых определен в /etc/modules;
    • hwclock - настраиваются аппаратные часы реального времени;
    • sysctl - задаются параметры ядра, определенные нами в /etc/sysctl.conf;
    • swap - подключается swap-раздел;
    • bootmisc - очищаются временные каталоги;
    • urandom - настраивается генератор случайных чисел;
    • keymaps - инициализируется раскладка клавиатуры;
    • hostname - задается имя машины, которое определено в /etc/hostname;
    • networking - поиск и инициализация интерфейсов с использованием информации из /etc/network/interfaces;
    • syslog - запускается демон журналирования из состава busybox;
  • И наконец, уровень default:
  • chrony - запускается NTP-сервис;
  • crond - запускается сервис выполнения задач по расписанию;
  • acpid - запускается сервис отслеживания событий питания;
  • sshd - запускается сервис удаленного доступа.

Ура, после выполнения этих шагов система готова к работе! Не забудем и про зависимости от перечисленных выше сервисов, которые были заданы в init.d файлах:

  • sysfs - монтирование /sys;
  • fsck - проверка и исправление файловых систем ;
  • root - монтирование корневой системы на запись/чтение;
  • localmount - монтирование всех файловых систем, перечисленных в /etc/fstab;
  • klogd - журналирование событий ядра.

1 8+Программа для контроля на компьютерПодробнееru.neospy.tech В ся вентиляция в твоем смартфоне!Подробнееelectrotest.ru М обильное приложение под ключ!Подробнееvoid.az

Открываем одну из локальных консолей, где нас поджидает getty, вводим логин, после чего передаем пароль процессу login и получаем доступ к запущенному командному интерпретатору ash (при запуске которого выполняется содержимое файлов /etc/profile, /etc/profile.d/* и ~/.profile для подготовки пользовательского окружения).


Ура, никаких дополнительных сущностей (несомненно, полезных в ряде случаев, вроде PAM) - а мы в системе!


Осталось воспользоваться пакетным менеджером apk, и поискать нужные нам для нашей задачи пакеты. (Есть ли они там? Можно оценить это через веб-портал).

А еще

  • Авторы дистрибутива сделали свою собственную надстройку над iptables под названием «Alpine Wall». И она не висит постоянно отдельным процессом в системе;
  • Для тех, кто любит управлять сервером через веб-интерфейс, подготовлен пакет «Alpine Configuration Framework». Без PHP или Perl, но с Lua;
  • Для тех, кто желает рабочего стола, есть возможность установки графической среды (хотя это может оказаться больно в начале);
  • Для особых ценителей имеется «установка» Alpine в памяти с хранением конфигурации на внешнем хранилище (см. описание инструмента lbu).

Итог

Дистрибутив Alpine не идеален, но его лаконичность меня действительно впечатлила, особенно в роли контейнера (всего 6 процессов - init, 4*getty, syslogd). Для меня он выглядит так, как должна выглядеть минимальная серверная операционная система (прости меня, CentOS!).


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

Alpine Linux объяснить проще. Это линукс на musl и busybox. Чуть менее минималистичный и менее упоротый, чем TinyCore. Годится для всяких служебных виртуалок и контейнеров, от которых не требуется ни глибц-шной полноценности, ни арчевского обилия хипсторского ПО.

Ansible - это configuration management over SSH. Собственно, механизм для массового копирования по sftp и запуска скриптов. Большинство из готовых скриптов на python2, поэтому на кореосе (где вырезан не только перл, но и питон) приходится приседать (скриптом).

П акет Мой Офис для Linux!Подробнееoffice.lanitecm.ru П родавец: ООО «ДК БИЗНЕС». Адрес: 129226, г. Москва, ул. Сельскохозяйственная, д. 11, корп. 3, этаж 1, пом. II, ком. 2 (РМ114). ОГРН: 1207700184780Ламинат и Паркет Quick-StepПодробнееdigacompany.ru Г НСС-платы на 48% выгоднее рынкаПодробнееorsyst.ru

Хорош тем (в отличие от puppet и salt), что

а) можно использовать для установки софта на свежекупленные дешёвые VPS
б) "центр управления" практически неуязвим для атак

Дешёвые VPS (я говорю о ценах в разы ниже достаточно демпингующего DigitalOcean) в 100% (известных мне) случаев не поддерживают third-party images и даже SSH keys. Т.е. по-старинке как в 90-е сервер закупается вручную в шоппинг-карте и приходит емейл с адресом и рутовым паролем. Как правило, стоит панель вроде SolusVM, предоставляющая сервис переустановки и recovery console, и всё.

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

"Центр управления" Ansible основное время (когда конфигурация не меняется) вообще в оффлайне, а когда в онлайне - не слушает порты и может быть скрыт за NAT, работать под нерутом и достаточно легко зацементирован средствами Mandatory Access Control. А секреты лежать в ссш-агенте. Т.е. поверхность атаки очень мала, и надо суметь скрыть атаку от интерактивно присутствующего администратора. Конечно, тут есть много "но" - например, могут какие-то операции выполняться скриптами, что потребует постоянно запущенного демона, но всё равно обеспечить принцип минимальных привилегий легче, чем у конкурентов.

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

Puppet и Salt же:

а) имеют центральный сервер, постоянно находящийся в сети и доступный для exploitation. Причём сервер засекурен не через OpenSSH, а через самописные хипсторские сервера, что существенно повышает вероятность zero-day.

б) требуют для работы бутстрапа (вручную или с помощью инструментов, аналогичных Ansible) - установки агента и постоянной его работы в качестве демона.

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

Короче, надо теперь смотреть, сможет ли ансибле поменять локаль:) Ну, и учить их кукбуки - может это окажется полной парашей (в стиле chef) говорят, более-менее то же самое по сравнению с довольно сияющими декларативностью, идемпотентностью и augeas из паппета.

Alpine Linux - это операционная система на базе Linux с открытым исходным кодом , которая предоставляет пользователям ориентированную на сервер безопасную вычислительную среду. Это легкий, небольшой и простой дистрибутив Linux , основанный на пакетах Busybox и musl.


Распространяется в нескольких изданиях

1 8+Программа для контроля на компьютерПодробнееru.neospy.tech 1 8+amoCRM + PinscherCRM = Взрыв продажПодробнееlp.pinschercrm.ru В ся вентиляция в твоем смартфоне!Подробнееelectrotest.ru

Проект распространяется в нескольких изданиях, каждый из которых имеет свои собственные цели и способности. Основное издание называется Alpine Linux Standard, оно включает некоторые из наиболее часто используемых пакетов и ориентировано на серверы и маршрутизаторы, которые запускаются непосредственно из ОЗУ (системная память ). Второе издание называется Alpine Linux Mini, и на самом деле это минимальная версия Alpine Linux Standard. Он поставляется с некоторыми базовыми пакетами и может быть для установки операционной системы из сети.

Третье издание называется Alpine Linux VServer и включает только пакеты хостов Vserver. Сетевые специалисты могут использовать этот альпийский вкус для развертывания VServer-хостов, которые запускаются непосредственно из ОЗУ. Его также можно установить на локальный дисковод. Наконец, версия Alpine Linux Xen предоставляет пользователям пакеты Xen Dom0 Live CD и Xen. Он поддерживается только на 64-битных аппаратных платформах.

Поддерживает 32-битную и 64-разрядную архитектуры

Как уже упоминалось, проект предоставляет пользователям множество выпусков, распространяемых как изображения Live CD ISO, и поддерживает как 32-битную, так и 64-разрядную архитектуры. Конфигурация сети Alpine Linux аналогична конфигурации Debian, но те из вас, кто ранее использовал операционную систему на основе BusyBox, не должны были работать с этим дистрибутивом.

Разработчики Alpine Linux внесли ряд усовершенствований в BusyBox, чтобы заставить операционную систему работать как и любая другая. Имейте в виду, что он не имеет графической среды.


Нижняя линия

Независимо от того, используете ли вы его для развертывания собственного сервера или маршрутизатора, VServer-хостов и среды с нулевым доменом Xen, Alpine всегда здесь, чтобы помочь вам. Его также можно использовать для развертывания многофункционального сервера ownCloud.

Что нового в этой версии:

  • Поддержка netboot для всех архитектур
  • Добавить arm64 (aarch64) Изображение малины Pi
  • Добавить поддержку для малины Pi 3 Model B +
  • Поддержка ISO-образа на s390x (установка KVM)
  • Конец поддержки для закаленного ядра (неофициальная Grsecurity)
  • Поддержка языка Crystal
  • ЗНАЧИТЕЛЬНЫЕ ОБНОВЛЕНИЯ:
  • Linux 4.14
  • Go 1.10
  • Node.js 8.11 (LTS)
  • Rust 1.26
  • Ruby 2.5
  • PHP 7.2
  • ghc 8.4
  • OCaml 4.06
  • R 3.5
  • JRuby 9.2

П акет Мой Офис для Linux!Подробнееoffice.lanitecm.ru П родавец: ООО «ДК БИЗНЕС». Адрес: 129226, г. Москва, ул. Сельскохозяйственная, д. 11, корп. 3, этаж 1, пом. II, ком. 2 (РМ114). ОГРН: 1207700184780Ламинат и Паркет Quick-StepПодробнееdigacompany.ru Б У Сервера IBM - Проверены!Подробнееsibrs.ru

Что нового в версии 3.7.0:

  • НОВЫЕ ОСОБЕННОСТИ И ЗАМЕЧАНИЯ НОВЫХ ПАКЕТОВ:
  • Поддержка EFI;
  • Поддержка в установщике для загрузчика GRUB
  • ЗНАЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ:
  • GCC 6.4
  • LLVM 5.0
  • Перейти 1.9
  • Node.js 8.9 (LTS)
  • Perl 5.26
  • PostgreSQL 10
  • Rust 1.22

Что нового в версии 3.6.2:

  • Это версия исправления для мультии v3.6, основанная на ядрах linux-4.9.30, и содержит исправления.

Что нового в версии 3.5.2:

  • Это версия исправления для мультии v3.5, основанная на ядрах linux-4.4.52, и содержит исправления.

Что нового в версии 3.5.1:

  • Поддержка ZFS как root
  • Samba 4.5.3
  • GTK + 3.0 3.22.5
  • glib 2.50.2
  • Поддержка R, JRuby и OCaml
  • Улучшенная поддержка python3
  • xorg-server 1.18.4
  • libreoffice 5.2.3.3

Что нового в версии 3.5.0:

  • Переключение с OpenSSL на LibreSSL
  • Поддержка aarch64 (только для uboot)
  • Поддержка ZFS как root
  • Обновление PostgreSQL до 9.6.x. См. Документацию по PostgreSQL для инструкций по обновлению.
  • Samba 4.5.3
  • GTK + 3.0 3.22.5
  • glib 2.50.2
  • Поддержка R, JRuby и OCaml
  • Улучшенная поддержка python3
  • Пакет nodejs был переименован в nodejs-current и перемещен в репозиторий сообщества. Пакет nodejs-lts был переименован в nodejs. Это означает, что вы получаете версию LTS, если вы используете apk add nodejs.
  • Настольные приложения, обновленные в версии 3.5, включают:
  • xorg-server 1.18.4
  • libreoffice 5.2.3.3

Что нового в версии 3.4.6:

  • Это версия исправления v3.4 на основе musl, основанная на ядрах linux-4.4.30, и содержит важные исправления безопасности для ядра.

Что нового в версии 3.4.5:

  • Это версия исправления v3.4 на основе musl, основанная на ядрах linux-4.4.27, и содержит важные исправления безопасности для ядра и для musl libc.

1 8+Программа для контроля на компьютерПодробнееru.neospy.tech В ся вентиляция в твоем смартфоне!Подробнееelectrotest.ru М обильное приложение под ключ!Подробнееvoid.az

Что нового в версии 3.4.4:

  • Это версия исправления для мультовой ветки v3.4, основанная на ядрах linux-4.4.22.

Что нового в версии 3.4.3:

  • Это исправление, выпущенное ветвью v3.4 на основе musl, основанной на ядрах linux-4.4.17.

Что нового в версии 3.4.1:

  • Bartlomiej Piotrowski (2):
  • main / nginx: обновление до 1.10.1 (CVE-2016-4450)
  • main / nginx-lua: удалить, слияние с main / nginx
  • Carlo Landmeter (1):
  • сообщество / claws-mail: rebuild против libetpan
  • Франческо Колиста (1):
  • main / libnet: исправлено корректное обнаружение метода link-layer
  • Якуб Жирутка (4):
  • travis: отключить уведомления по электронной почте
  • main / qemu-openrc: обновление до 0.4.1
  • main / qemu: исправить chown / chmod для qemu-bridge-helper и gid группы qemu
  • main / busybox-initscripts: исправить tun / tap, изменить свою группу на netdev
  • Kaarle Ritvanen (2):
  • main / zabbix: обновление до 3.0.3
  • main / py-django: обновление до 1,8.12
  • Леонардо Арена (7):
  • main / owncloud: обновить контакты до 0.0.0.91. Исправления # 5702
  • main / php5-pear-auth_sasl: new aport
  • main / roundcubemail: исправить зависит
  • main / roundcubemail: исправить опечатку
  • main / vlc: обновление безопасности до версии 2.2.4 (CVE-2016-5108). Исправления # 5715
  • сообщество / drupal7: обновление безопасности до 7.44. Исправления # 5746
  • main / xen: обновление безопасности до 4.6.3. Исправления # 5775
  • Natanael Copa (50):
  • main / lighttpd: создание группы исправлений.
  • main / mariadb: добавить подпакет libs для серверных библиотек
  • main / syslinux: добавить восходящие исправления для gcc5
  • main / syslinux: исправление исправленных патчей gcc5
  • main / mariadb: переместить mysql_config в -dev
  • сообщество / openjdk8: корабль libjli.so с jre-base
  • сообщество / докер: включить все арки
  • main / mkinitfs: обновление до 3.0.5
  • main / alpine-baselayout: исправить предупреждение при завершении работы
  • main / busybox-initscripts: поддержка отключенных шлюзов и dns в udhcpcd
  • main / xen: исправить xorg segfaul в linux hvm
  • main / util-linux: исправить домашнюю страницу URL
  • main / util-linux: патч libblkid cdrom для backport
  • main / musl: исправить код возврата ошибки для getaddrinfo
  • main / alpine-conf: обновление до 3.4.1
  • сообщество / синхронизация: обновление до 0,13.6
  • main / djbdns: удалить предварительную установку из источника
  • main / gnats: удалить предварительную установку из исходного списка
  • main / openssl: исправление безопасности для CVE-2016-2177, CVE-2016-2178
  • main / expat: rebuild for CVE-2016-0718
  • main / busybox: исправить отчеты о размере df
  • main / mkinitfs: исправить последовательные консоли ttyMFD / ttyUSB и использовать скорость 115200
  • сообщество / firefox-esr: обновление до 45.2.0
  • main / jansson: исправление безопасности для CVE-2016-4425
  • main / bkeymap: добавить клавиатуру colemak
  • main / linux-grsec: удалить поддержку sysctl syscall
  • main / linux-grsec: обновление до 4.4.13
  • main / dahdi-linux-grsec: перестроить против ядра 4.4.13-r0
  • main / linux-vanilla: отключить sysctl syscall
  • main / devicemaster-linux-grsec: перестроить против ядра 4.4.13-r0
  • main / drbd9-grsec: перестроить против ядра 4.4.13-r0
  • main / ipfw-grsec: перестроить против ядра 4.4.13-r0
  • main / open-vm-tools-grsec: перестроить против ядра 4.4.13-r0
  • main / xtables-addons-grsec: rebuild против ядра 4.4.13-r0
  • main / linux-vanilla: обновление до 4.4.13
  • main / php5: обновление до 5.6.23
  • main / linux-vanilla: обновление до 4.4.14
  • сообщество / go: paxmark go on arm
  • сообщество / go: исправить paxmark для руки
  • main / linux-grsec: обновление до 4.4.14
  • main / dahdi-linux-grsec: перестроить против ядра 4.4.14-r0
  • main / devicemaster-linux-grsec: перестроить против ядра 4.4.14-r0
  • main / drbd9-grsec: перестроить против ядра 4.4.14-r0
  • main / ipfw-grsec: перестроить против ядра 4.4.14-r0
  • main / open-vm-tools-grsec: перестроить против ядра 4.4.14-r0
  • main / xtables-addons-grsec: rebuild против ядра 4.4.14-r0
  • main / haproxy: обновление безопасности до 1.6.6 (CVE-2016-5360)
  • main / py-pygments: исправление безопасности для CVE-2015-8557
  • main / linux-rpi: обновление до 4.4.14
  • ==== выпуск 3.4.1 ====
  • Przemyslaw Pawelczyk (11):
  • main / lighttpd: Исправить основную группу пользователя lighttpd.
  • main / dovecot: правильно установите основную группу в.pre-install.
  • main / {npre, postgrey}: правильно установите основную группу в.pre-install.
  • main / ympd: изменить порядок аргументов в.pre-install как в da4e96aacef5.
  • main / znc: переупорядочить аргументы в.pre-install как в da4e96aacef5.
  • main / aports-build: изменить порядок аргументов в.pre-install как в da4e96aacef5.
  • main / atheme-iris: Исправьте проблему непротиворечивости, как в a60b9f07dee0.
  • main / : Добавить группу и использовать ее как первичный в.pre- * скриптах.
  • main / : Исправлены ошибки pkgrel для исправлений.pre-install.
  • сообщество / [различные]: добавьте группу и используйте ее как первичную в сценариях.pre- *.
  • сообщество / [различные]: Bump pkgrel для исправлений сценариев.pre-install.
  • ScrumpyJack (1):
  • main / linux-rpi: добавляет модуль ядра dwc2 для поддержки USB-гаджетов
  • Soren Tempel (1):
  • сообщество / синхронизация: обновление до 0.13.5
  • Тед Траск (1):
  • main / acf-openssh: обновление до 0.11.1
  • Тимо Террас (7):
  • сообщество / fbida: backport from edge
  • сообщество / докер: временно отключить armhf.
  • main / rtmpdump: улучшите производительность, отрегулировав размер исходящего блока
  • main / bmd-tools: обновление до моментального снимка 2016-06-22
  • main / linux-rpi: обновление до 4.4.12
  • main / linux-rpi: обновить конфигурацию
  • main / linux-rpi: обновление до 4.4.13, новые исправления rpi, установка dtb install
  • Валерий Картель (1):
  • main / nginx: исправить столкновение с устаревшим пакетом «nginx-initscripts»

П родавец: ООО «ДК БИЗНЕС». Адрес: 129226, г. Москва, ул. Сельскохозяйственная, д. 11, корп. 3, этаж 1, пом. II, ком. 2 (РМ114). ОГРН: 1207700184780Ламинат и Паркет Quick-StepПодробнееdigacompany.ru П акет Мой Офис для Linux!Подробнееoffice.lanitecm.ru 1 8+Программа для контроля на компьютерПодробнееru.neospy.tech

Что нового в версии 3.4.0:

  • Это исправление, выпущенное ветвью v3.3 на основе musl. Он исправляет проблему с загрузкой с помощью малины Pi 3.

Что нового в версии 3.3.1:

  • Joao Arruda (1): main / acf-provisioning-polycom: обновить до 5.3.2 Leonardo Arena (12): main / roundcubemail: обновление безопасности до 1.1.4 main / owncloud: обновление до 8.1.5 main / linux -grsec: исправления безопасности main / xtables-addons-grsec: rebuild против ядра 4.1.15-r1 main / dahdi-linux-grsec: перестроить против ядра 4.1.15-r1 main / ipfw-grsec: перестроить с ядром 4.1.15- r1 main / devicemaster-linux-grsec: rebuild против ядра 4.1.15-r1 main / linux-grsec: исправления безопасности (CVE-2015-7872, CVE-2015-7885) main / dahdi-linux-grsec: перестроить против ядра 4.1 .15-r2 main / xtables-addons-grsec: rebuild против ядра 4.1.15-r2 main / ipfw-grsec: перестроить по ядру 4.1.15-r2 main / open-vm-tools-grsec: перестроить против ядра 4.1.15 -r2 Natanael Copa (5): main / devicemaster-linux-grsec: перестроить против ядра 4.1.15-r2 main / mkinitfs: удалить восходящие исправления main / mkinitfs: initramfs fix main / mkinitfs: обновить до 3.0.2 ==== релиз 3.3.1 ==== Ted Trask (2): main / acf-weblog: обновление до 0.10.5 main / lua-xml: Fix T AG bug and bump pkgrel Timo Teras (1): main / linux-rpi: применять вращающийся кодер dts fix и rpi mmc-spi fix.



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

Уже давно не секрет, что Docker часто использует Alpine в качестве базового образа для официальных docker-образов. Эта тенденция началась в начале 2016 года. Сейчас почти каждый официальный docker-образ имеет тег Alpine.

Но вряд ли будет так, что вы проснетесь одним прекрасным утром и подумаете: “О! А почему бы мне не использовать другую ОС для всех своих образов”. Тем более, когда до этого по умолчанию официальным образом был Debian. И позиции его были весьма прочными.

Вы всегда можете выбрать docker-образы на основе Debian. Но лучшее ли это решение?

Почему Alpine?

Звучит, конечно, интересно. Но что это значит для тех, кто регулярно использует Docker?

Главное преимущество - сжатие размеров

Если вы используете Docker, то вы должны стремиться к этому сжатию. Благодаря этому ваш docker-образ будет меньше.
Apline 3.6 весит всего 3,98 мб.

Вот сравнение с другими дистрибутивами:

Получается, что Alpine в 25 раз меньше Debian’а.

Всего с Docker Hub были сделаны уже миллионы пулов. Немного покопавшись с его публичным API, можно увидеть, что у Debian 45 275 515 пулов, в то время как у Alpine -целых 397 152 768 (по состоянию на 10.10.2017).

Уменьшение образа на 100 мб может иметь большое значение.

В реально используемых веб-приложениях, в которых установлено множество пакетов, можно заметить 2-3 - кратное уменьшение конечного образа с Alpine. Экономия этих 100 мб останется всегда, вне зависимости от того, что встроено в ваш образ.

О нлайн-конфигуратор SUPERMICROПодробнееittelo.ru 1 8+amoCRM + PinscherCRM = Взрыв продажПодробнееlp.pinschercrm.ru В ся вентиляция в твоем смартфоне!Подробнееelectrotest.ru

Сравним размер некоторых образов на основе Alpine и разных версиях Debian:

  • Redis на основе alpine весит 27,5 мб, а на jessie - 107 мб
  • Python на основе alpine- 89 мб, а на основе jessie - 690 мб
  • Golang на основе alpine - 270 мб, а на основе stretch- 733 мб

Конечно, если вы захотите использовать образ в реальном приложении, вам надо будет установить несколько зависимостей, поставить необходимые библиотеки и т.д через dockerfile. Все это приведет к “утяжелению” dockerfile’а. Но даже если сравнивать конечный dockerfile на основе debian и alpine, то последний будет легче.

Образ на Alpine следует использовать, когда конечный образ должен быть как можно меньше. Чтобы образы на основе Alpine были меньше, туда не включены такие инструменты, как git или bash. Если вы используете Alpine в качестве основы образа, то для установки необходимых вам пакетов их нужно добавить в dockerfile.

Alpine быстрый

Уменьшение размеров не единственное преимущество использования маленьких docker-образов.

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

Да, такими дистрибутивами, как Debian или Ubuntu пользовать легче, но они слишком большие и медленные по сравнению с Alpine. apt-get update тратит столько же времени на обновление списка актуальных пакетов, сколько Alpine тратит на установку или обновление всей системы. В Alpine используется свой менеджер пакетов apt-tools (ничего общего с форматом.apk в Android). Apk расшифровывается как “alpine package keeper”. Поскольку Alpine должен быть очень легкой системой, то нужен очень быстрый менеджер пакетов. В одном интервью один из разработчиков Alpine говорил: “Мы рассматривали pacman от arch linux, также deb, ipkg, .rpm и другие. Но приняли решение использовать свой менеджер пакетов, руководствуясь требованием “run-from-ram”.

Alpine безопасный

Еще одно преимущество того, что образ не занимает много пространства, заключается в том, что не так много целей для атаки.
Когда в системе мало пакетов и библиотек, шанс того, что что-то пойдет не так заметно снижается.

Для обеспечения безопасности системы разработчики делают упор не на фикс багов, которые привели к уязвимости, а делают все, чтобы эти баги не появились. В ядре системы минимально компонентов. В Alpine не устанавливается ничего, чем пользователи никогда не будут пользоваться. Например, BashShell. Вместо него используется по умолчанию используется BusyBox Bash. Кроме того, Alpine предоставляет блоки, из которых пользователь сам собирает то, что ему надо. Во многих дистрибутивах дела обстоят иначе: многие компоненты включены по умолчанию, и пользователям приходится самостоятельно отключать некоторые компоненты, чтобы обеспечить безопасность системы. И если находится библиотека, которая по мнению разработчиков более безопасна, то они ее меняют. Так они заменили OpenSSL на LibreSSL, т.к. по мнению разработчиков Alpine, эта библиотека является более безопасной.

П акет Мой Офис для Linux!Подробнееoffice.lanitecm.ru П родавец: ООО «ДК БИЗНЕС». Адрес: 129226, г. Москва, ул. Сельскохозяйственная, д. 11, корп. 3, этаж 1, пом. II, ком. 2 (РМ114). ОГРН: 1207700184780Ламинат и Паркет Quick-StepПодробнееdigacompany.ru Б У Сервера IBM - Проверены!Подробнееsibrs.ru

Несколько лет назад существовал bash-эксплойт, который позволял получить контроль над машиной, если она поражена так называемым “Shellshock”. Alpine таким атакам не был подвержен, так как по умолчанию bash там не установлен.

Установка пакетов на Alpine

Как я уже писал, для управления пакетами в Alpine используется apk. И некоторых пакетов, которые вам будут нужны, по умолчанию не будет в Alpine. Придется ставить их самостоятельно. Названия пакетов для Debian и Alpine будут отличаться. Например, чтобы установить пакет, который в Debian называется libpq-dev, в Alpine надо прописать apk add postgresql-dev.


Используйте лучший инструмент для работы

Alpine он делает все, чтобы быть легким и безопасным дистрибутивом. Поэтому использование Alpine в качестве основы для Docker-образа является оптимальным решением.

P.s. Спасибо моим коллегам из

Installation Quick-Start in 3 Easy Steps

Installation Handbook

Alpine can be booted or not, just use it. Alpine Linux installation process are so flexible that indeed can just boot up inside other broken Linux. You believe that every system needs a DVD disc, or a USB to install it?, but Alpine may not even need it , so much so that it can even boot from its phone memory. Obviously the more exquisite the more complicated method .

A proper setup of your system are need, but if you deploy all of an ecosystems in your own home and job.. in your only machine... you will need a proper guide to setup your main system (or maybe a parallel system?).

As any Linux installation, Alpine start process by booting from an external device (CD/DVD, USB Drive, etc...).

As Alpine uses Linux kernel, start step of collecting information to initialize a minimum system, the setup-alpine will copy files. This minimun system started before proceed to property install are a diskless mode started from the orig medium.

The post installation step provides the way to choose the root password, and eventually boot up the new installed system.

Overview of run modes for Alpine system

Alpine can be used in any of three modes respected the install process :

diskless mode

You"ll boot from a read-only medium such as the installation CD, a USB drive , or a Compact Flash card .

Tip: To prepare either a USB or Compact Flash card, you can use the setup-bootable script; see the pages linked above for details.

This mode may be used for desktops , development boxes, and virtual servers.

Further Documentation

Post-Install

  • Package Management (apk) (How to add/remove packages on your Alpine)
  • Alpine local backup (lbu) (Permanently store your modifications in case your box needs reboot)
Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования