Подготовлен (https://alpinelinux.org/posts/Alpine-3.8.0-released.html) релиз Alpine Linux 3.8 (http://alpinelinux.org), минималистичного дистрибутива, построенного на базе системной библиотеки Musl (https://www.opennet.me/opennews/art.shtml?num=39365) и набора утилит BusyBox (https://www.opennet.me/opennews/art.shtml?num=43131). Дистрибутив отличается повышенными требованиями к обеспечению безопасности и собран с патчами SSP (Stack Smashing Protection). Alpine применяется (https://www.opennet.me/opennews/art.shtml?num=43828) для формирования официальных образов контейнеров Docker. Загрузочные iso-образы (http://dl-4.alpinelinux.org/alpine/v3.8/releases/) (x86_64, x86, armhf, aarch64, ppc64le, s390x) подготовлены в пяти вариантах: стандартном (104 Мб), с ядром без патчей (90 Мб), расширенном (371 Мб) и для виртуальных машин (37 Мб).В новом выпуске:
- Для всех поддерживаемых архитектур предоставлена возможность сетевой загрузки (netboot);
- Добавлена поддержка платы Raspberry Pi 3 Model B+ и сформирована сборка для Raspberry Pi на базе архитектуры arm64 (aarch64);
- Подготовлен 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.
URL: https://alpinelinux.org/posts/Alpine-3.8.0-released.html
Новость: https://www.opennet.me/opennews/art.shtml?num=48850
...и всем альпинистам привет :)
Привет, альт-ру-ист!
А ещё с обновлением установилось несколько десятков пакетов linux-firmware-* которых я раньше не наблюдал у себя. Вроде работает после обновления без проблем.
> А ещё с обновлением установилось несколько десятков пакетов linux-firmware-* которых я
> раньше не наблюдал у себя. Вроде работает после обновления без проблем.17.09.2017 09:26 Поставляемые в составе ядра Linux прошивки будут вынесены в отдельный репозиторий
https://www.opennet.me/opennews/art.shtml?num=47218Вы стали свидетелем, как эпохальное переклыдывание блобов из одной директории в другую на kernel.org, докатилось тёплой волной до вашего локалхоста.
И ничего не изменилось. #успех
сижу на edge, радуюсь, поздравляю всех с релизом
С иксами?
Edge это браузер.
для анонимов?
> для анонимов?Идут по улице два анонима.
Один - одет как все, подстрижен как все и ничем не выделяется.
Другой обмотан подушками и на голове у него чугунное ведро.
Вопрос кто из этих двоих дольше останется анонимным?
Второй, конечно же.
Камеры видеонаблюдения уже зафиксировали лицо первого, были определены его имя, возраст, пол, социальный статус, наличие кредитов и задолженностей, предпочтения и благонадежность. Данные были переданы тов. майору для дальнейшего использования в случае, если благонадежность этого гражданина будет поставлена под сомнение.
тот, что обмотан подушками?
> тот, что обмотан подушками?Это вопрос с подвохом. Ни тот, ни другой. А тот, другой-третий, что из своей землянки в лесу днём не выходит.
Alpine - очень классный и легкий дистрибутив, образ Mini root filesystem весит всего 2.5 мегабайта и в тоже время предоставляет возможность установить или собрать почти что угодно.
Musl тоже очень медленный
Пруфы?
> Пруфы?
>>Один маленький недостаток Alpine — все пакеты собраны с -Os по-умолчанию.
>>А это примерно -20% скорости работы.
>-Os: На этом уровне код будет оптимизирован по объему. Он активирует все параметры -O2, которые не приводят к увеличению размера генерируемого кода. Он может быть полезным на компьютерах, которые обладают чрезвычайно ограниченным пространством жесткого диска и/или процессоры с небольшим размером кэша.
Ок, а с O2/O3 musl не собирается? Просто получается, что не сам Musl медленный, а его собирают медленным.
Вот сравнение с glibc.
Сравнение делал сам автор musl
>I am the author of musl,http://www.etalabs.net/compare_libcs.html
MUSL vs GLibc меньше лучше
Tiny allocation & free 0.005 0.002
Big allocation & free 0.027 0.016
Zero-fill (memset) 0.023 0.012
и тд.
Сам musl спроектирован для уменьшения размера в ущерб скорости.
Это не баг, это фича.
Во, так уже лучше гораздо. Но должен сказать, что по бенчмаркам Musl не выглядит очень медленным. По многим пунктам из сравнения он медленнее glibc, но ведь по некоторым и быстрее (например декодирование utf-8). Да и по оставшимся разница не выглядит принципиальной.В общем это я всё к тому, что "Musl очень медленный" звучит как-то слишком сильно. :)
>Musl не выглядит очень медленнымВыглядит. Аллокация памяти - важнейший процес для libc. Разница в производительности почти в 2 раза это очень много.
Для сравнения ява в аналогичном тесте медленнее всего на 20%.>но ведь по некоторым и быстрее (например декодирование utf-8)
Вот исходник теста
http://www.etalabs.net/src/libc-bench/utf8.c
В качестве тестовой нагрузки там вызов mbrtowc
MUSL mbrtowc
https://github.com/ifduyue/musl/blob/master/src/multibyte/mb...
GLIBC
https://github.com/lattera/glibc/blob/master/wcsmbs/mbrtowc.c
Код Glibc значительно сложнее, но это из-за подержи большого количества locale-ей
> All other locales are still processed as multibyte UTF-8, and the intent is that the plain C locale’s character set be thought of as “UTF-8, but processed byte-by-byte and without validation”.А musl знает C locale а всё остальное пихает в UTF-8 без проверки.
Откуда и выигрыш в скорости.
Хм, ну да, звучит убедительно. Мне на это нечем возразить, спасибо за развернутый ответ.
loop:
...
if (*s-0x80u >= 0x40) GOTO ilseq;
GOTO loop;
Собираю деньги на книгу "GOTO Considered Harmful" для авторов MUSL-а.
«О вреде оператора GOTO» - это знаменитая работа Эдсгера Дейкстры.
Эх сейчас бы цикл через метки и GOTO запилить как в 1967...
> Собираю деньги на книгу "GOTO Considered Harmful" для авторов MUSL-а.Мне тут одна утилита по автоматической проверке качества кода на КАЖДЫЙ else написала ворнинг с отсылкой на статью, что ЛЮБОЙ if/else всегда можно переписать так, что ветки else не потребуется (в крайнем случае выделить в отдельную функцию и в конце if-ветки использовать возврат из неё).
Полагаю, после этой информации вы сможете комментировать тут в КАЖДОЙ новости про софт.
А вы попробуйте переписать эту функцию так, чтобы без goto было понятнее.Там хитрая логика-то.
> Код Glibc значительно сложнееПостойте-постойте. Мне показалось, или функция выше в musl выполняет ВСЮ необходимую работу, тогда как в glibc это ЛИШЬ ОБВЯЗКА для вызова настоящей функции? Тогда это совсем лол.
> 0.005 [...] 0.002 [...] 0.027 [...] 0.016 [...] 0.023 [...] 0.012Это типа теперь профессионалы бенчат так, да? Измерение в пределах погрешности.
> Musl тоже очень медленныйно можно установить glibc
> Alpine - очень классный и легкий дистрибутивЛёгкий, пакетов почти нет: https://repology.org/statistics
> образ Mini root filesystem весит всего 2.5 мегабайта
Сейчас не существует носителей для которых это было бы актуально. Предпочту 2.5 гигабайта, но чтобы 1) установить что угодно была на практике, а не словах 2) к этому в простых случаях не нужно было прибегать вообще, потому что базовые вещи есть из коробки.
Для многих задач легче десяток контейнеров запустить с оверхедом в 15 мегабайт RAM на каждый, чем развертывать дистр на 2.5 гига.
Это дистр не для десктопа, проходи мимо.Уточню, он и в десктопах может применятся, но не как хост, а как основа для контейнеров, так что о его существовании на своем десктопе типичный юзер может и не догадываться.
> Это дистр не для десктопа, проходи мимо.А я хоть слово сказал про десктоп?
почему могут не устанавливаться переменные окружения LINES и COLUMNS?
захожу в docker exec -it IMAGE sh и поскольку переменных нет, то тот же mc не корректно работает. как залечить кроме как установкой этих переменных ручками?
> почему могут не устанавливаться переменные окружения LINES и COLUMNS?
> захожу в docker exec -it IMAGE sh и поскольку переменных нет, то
> тот же mc не корректно работает. как залечить кроме как установкой
> этих переменных ручками?/me поперхнулся чаем
Зачем вам в контейнере ... mc? Ставьте сразу Nautilus с гномом.Ситуация как в анекдоте:
Купил чукча машину, но не понравилась- олени быстро устают!
элементарно Ватсон - мне прилетает ошибка и я лезу в контейнер тестовой площадки чтобы понять что происходит и тут нужен mc который я ставлю через apk add mc
>я лезу в контейнерпопробуйте в дырку унитаза.
>тут нужен mcи инвалидная коляска.
>ставлю через apk add mcпослал письмо мейнтейнерам docker/alphine, что бы они удалили apk,
а то дегенераты, не понимающие что такое контейнеры,
тратят свое и чужое время.
идиот тут только ты дядя. еще раз: тестовая площадка. на продакшене ясен пень никакой mc нафиг не нужен
ты имбицил? docker exec еще им напиши выпилить. анус себе запрети
Аааа… так ты сознательно это делаешь… тогда сам разберись, чо.
Кхм... и ЗАЧЕМ вы ЭТО делаете?
Что внутри контейнера вы видите через mc такого, что:
1. Нельзя посмотреть через mc с хоста.
2. Нельзя посмотреть без mc.
> почему могут не устанавливаться переменные окружения LINES и COLUMNS?
> захожу в docker exec -it IMAGE sh и поскольку переменных нет, то
> тот же mc не корректно работает. как залечить кроме как установкой
> этих переменных ручками?в .profile закинь
так они по идее ведь меняться должны при изменении размера терминала
а, речь об этом, тогда не знаю, но предполагаю, что тамошний терминал слишком простоват для таких задач.
решение проблемы с LINES/COLUMNS описано тут - https://github.com/moby/moby/issues/33794
> решение проблемы с LINES/COLUMNS описано тут - https://github.com/moby/moby/issues/33794А есть решение проблемы с (ч)удаками которые bash то не осилили, не говоря уже о docker(docker cp? нет, не слышал).
Мое предложение: обматывать их синей изо лентой, которую они так любят, и отправлять в /dev/null
> А есть решение проблемы с (ч)удаками которые bash то не осилили, не
> говоря уже о docker(docker cp? нет, не слышал).
> Мое предложение: обматывать их синей изо лентой, которую они так любят, и
> отправлять в /dev/nullказалось бы причем тут bash. кстати, по фс докера можно лазить незаходя а контейнер, хоть наутилусом, хоть фаерфоксом. нужен лишь ssh доступ к хосту и id контейнера.
уже хотел ставить - ан смотрю в пакажах Питона любимого нет или плохо смотрю.... питононенавистники штоли вон Ноду и ту всунули ведь..
Плохо смотрите: https://repology.org/metapackages/?search=python&inrepo=alpi...