Alpine linux установка. Открыл для себя Ansible и Alpine Linux. Главное преимущество — сжатие размеров

The design goal for Alpine Linux is to provide a secure and lightweight distribution, which should cater the needs of most of the Linux users. It is based on musl and BusyBox; today Alpine Linux 3.2.1 has been released, in this article we will be reviewing the noteworthy features of this Linux distribution and the installation process for this latest release.

Alpine Linux is extremely lightweight Linux distro, full installer package is around 300 MB only and it consumes very low amount of computer resources; ideally, a small and fast Linux operating system. It comes with its own Package Manager for the installation of new packages; known as APK. It uses OpenRC init system and the way packages are compiled for this distribution, adds extra layer of security to the operating system.

Here are the release notes for this new version. Its includes many bug fixes with respect to security and Musl.

Installing Alpine Linux 3.2.1

Alpine does not have a rich graphical installer like majority of the other Linux distributions, it has a text based installer, but it is pretty easy to use and install alpine Linux.

There are couples of ways through which you can initiate the install of this OS.

(a) Download Alpine Linux 3.2.1 and burn it to DVD/USB drive and boot your system using this DVD/USB.

(b) Create Virtual machine on your current operating system using tools like and boot your Virtual machine using ISO of this operating system.

Whichever method you choose, here is the very first screen you should see when booting your system using this ISO.

Here simply type “root” and hit Enter. It will take you to the command line of this operating system. Run following command here to initiate the install of this operating system.

It will immediately start the installation process, on very first step, it will let you specify your Keyboad layout.

Hit Enter once done, Type the computer hostname on next step and hit Enter.

Specify Ethernet interface for your computer on next step.

Here, it will let you set root password for your new installation, enter the password twice.

Select your time zone from this step, in order to keep the default choice, just hit Enter.

If you are using any proxy for internet browsing, specify that here.

Now choose mirror for the package manager, specify whichever location is closet to you, so that package manager should work faster on your system.

Select the hard disk you want to perform this installation on.

That’s it, it will take few minutes to complete the installation. Reboot your system once done and start using new Alpine release.

Conclusion

As you might have noticed, new release focuses on bug fixes and security hardening. It is a suitable operating system to run on your old computer having limited resources. The installers for new release are available in both 32 and 64-bit architectures. You can also try its “minimum” installation package, which is just 88 MB in size.

Please follow and like us:

Alpine Linux - один из самых компактных и нетребовательных к железу дистрибутивов Linux, ориентированных на безопасность пользователя. Зачастую его можно встретить во многих встраиваемых системах. Alpine Linux прекрасно подходит для таких задач как создания контейнеров, организации серверов или ознакомления с основами Линукс, поскольку дистрибутив не отягощён избыточным функционалом, но при этом поддерживает установку любой популярной графической среды.
Дистрибутив основан на BusyBox вместо GNU coreutils. Alpine будет хорошим выбором для пользователей, которые ищут упрощенный вариант для работы с минимальным набором функций, при этом максимально эффективный и полезный:

  • Небольшое количество базовых компонентов, которые благоприятно сказываются на размерах оболочки - без ядра базовая система весит всего около 5 МБ;
  • Быстрая и простая установка через консольную утилиту;
  • Удобные настройки конфигурации системы пользователем;
  • В дистрибутиве применены свежие версии ядер, а также реализована возможность применять патчи, повышающие степень безопасности системы. Также реализована защита стека от переполнения.
Также в Alpine linux имеется большинство необходимых для комфортной работы пользователя пакетов. Сюда входят GNOME, Firefox и ряд других, кроме пока что не портированного KDE. Есть патчи grsec и PaX, встроенные в ядро дистрибутива, что помогает защититься от эксплойтов.

Ссылки для скачивания Alpine Linux:

Название Версия Разрядность Образ Размер Ссылка
Alpine Extended 3.8.2 64-bit ISO 369 Mb Скачать
Alpine Extended 3.8.2 32-bit ISO 355 Mb Скачать
Alpine Standart 3.8.2 64-bit ISO 104 Mb

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)

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


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

Проект распространяется в нескольких изданиях, каждый из которых имеет свои собственные цели и способности. Основное издание называется 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

Что нового в версии 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.

Что нового в версии 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»

Что нового в версии 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.

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

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

Хорош тем (в отличие от 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 из паппета.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: