LINUX.ORG.RU

Релиз LFS 8

 


3

3

Сформированы новые выпуски руководств Linux From Scratch 8.0 (LFS) и Beyond Linux From Scratch 8.0 (BLFS), а также редакций LFS и BLFS с системным менеджером systemd. В Linux From Scratch приведены инструкции по созданию с нуля базовой Linux-системы, используя лишь исходные тексты необходимого программного обеспечения. Beyond Linux From Scratch дополняет инструкции LFS информацией о сборке и настройке около 800 программных пакетов, охватывающих различные области применения, от СУБД и серверных систем, до графических оболочек и медиапроигрывателей.

В Linux From Scratch 8.0 произведено обновление 29 пакетов, исправлены ошибки в загрузочных скриптах, выполнены редакторские работы в пояснительных материалах по всей книге. В новой версии осуществлён переход на ядро Linux 4.9, обновлены glibc 2.24, binutils 2.27, gcc 6.2.0, Bash 4.4, Perl 5.24.1, Util-Linux 2.29.1, Vim 8. В Beyond Linux From Scratch 7.10 по сравнению с прошлым выпуском отмечено 775 обновлений программ, среди которых KDE Plasma 5.9, KDE Applications 16.12 и GNOME 3.22. Переход к новой ветке 8.0 обусловлен удалением символической ссылки с /lib на /lib64, прекращением использования отдельной директории /usr/lib64 и включением нового компоновщика /usr/bin/ld.gold, который пока не задействован по умолчанию.

Кроме LFS и BLFS в рамках проекта выпускалось несколько дополнительных книг:

  • «Automated Linux From Scratch» — фреймворк для автоматизации сборки LFS-системы и управлению пакетами;
  • «Cross Linux From Scratch» — описание кроссплатформенной сборки LFS-системы, поддерживаются архитектуры: x86, x86_64, sparc, mips, PowerPC, alpha, hppa, arm;
  • «Hardened Linux From Scratch» — инструкции по повышению безопасности LFS, применению дополнительных патчей и ограничений;
  • «LFS Hints» — подборка дополнительных советов с описанием альтернативных решений для описанных в LFS и BLFS шагов;
  • «LFS LiveCD» — проект по подготовке LiveCD. На данный момент не развивается.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: Psych218 (всего исправлений: 3)

Ответ на: комментарий от NextGenenration

Например, ради того, чтобы получить систему без зависимостей от иксов

Сервер etc.

Valman_new
() автор топика
Ответ на: комментарий от Deleted

У меня недостаточно опыта работы с генту, чтобы ответить на так поставленный вопрос. К тому же «лучше» без уточнений — это очень расплывчато и почти всегда субъективно. Так что, вероятно, ничем.

anonymous
()
Ответ на: комментарий от NextGenenration

Такого ещё не встречал. Какова цель?

Шёл 2006-й год. На дачу была приобретена машина i486/12 Mb RAM. На неё был установлен Debian Woody. С иксами. Однако, иксы встали на бэды. И быстро падали после взлёта. Но, я не стал расстраиваться, и понял что это он - шанс поближе познакомиться с текстовой консолью. И втянулся. Настолько втянулся, что по возвращении в город снёс иксы.
Шёл 2007-й год. Я втянулся в использование ядерной консоли без иксов ещё сильнее. Однако, обратил внимание на то, что в Debian'е, как бинарном дистрибутиве, куча консольного софта слинкована с иксовыми библиотеками. И их не вычистить из системы даже при отсутствии иксов. При этом всё могло быть собрано и с более подходящими опциями. И тогда я обратил внимание на Gentoo. А потом перешёл с Gentoo на LFS.
На данный момент я пишу из той системы, которая получена многократными обновлениями LFS'а, который был установлен в 2007-м году.

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 3)
Ответ на: комментарий от saahriktu

Однако, обратил внимание на то, что в Debian'е, как бинарном дистрибутиве, куча консольного софта слинкована с иксовыми библиотеками. И их не вычистить из системы даже при отсутствии иксов.

Зачем?

NextGenenration ★★
()

шо вы тут спорите, дайте мне handbook на русском по сборке именно это й версии лфс8 (не гуглом переводчик) или гайд по сборке аналога.

eR ★★★★★
()
Ответ на: комментарий от NextGenenration

Как это «зачем»? Перфекционизм - он такой. Именно он приводит людей в Gentoo и LFS. Чтобы собрать систему своей мечты. В которой будет только нужное, и ничего лишнего. В т.ч. чтобы это лишнее не занимало зря место на жёстком диске и никогда не читалось.

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 1)

Очень многие задают вопрос, зачем нужен LFS. Я предложу еще один, наверное, самый непопулярный вариант ответа - для развлечения. Я в прошлом собирал собственный дистрибутив (пожалуй, это громко сказано) на основе Illumos - делал это без какой-либо практической цели. Просто пока одни проводили время за компьютерными играми, я строил свою сборку ОС с этим ядром.

anonymous
()
Ответ на: комментарий от anonymous

О, здорово, друг. Сам недавно перешел с слаки на крукс. Много лет смотрел на этот дистр, и наконец мои красные глаза поспели.

Хочу спросить всякие tips & tricks, юзкейсы, и советы по дистру. К примеру, что за столько лет использования, могли появиться привычки, совсем неочевидные такому новичку, как я.

Спасибо.

Deleted
()
Ответ на: комментарий от NextGenenration

Конкретные имена софта и библиотек уже точно не помню, но точно помню, что с иксами был слинкован консольный софт.

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

На данный момент я пишу из той системы, которая получена многократными обновлениями LFS'а, который был установлен в 2007-м году.

и%ать ты самурай!

Deleted
()
Ответ на: комментарий от Deleted

К примеру, что за столько лет использования, могли появиться привычки

Наверняка появились, вот только как их выделить и описать, непонятно. Да ещё чтобы они кому-то кроме меня оказались полезны.

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

Порты собираю от простого пользователя (fakeroot pkgmk), от рута только pkgadd/pkgrm. prt-get'ом поэтому для сборки не пользуюсь, только для информации. Вообще, порты мне удобнее собирать каждый отдельно, так контроля больше.

Если меняешь что-то в портах, то сохраняй в другой директории, иначе ports -u твои изменения перезапишет. У меня раньше были директории типа core-my, opt-my, etc. Теперь, когда у меня почти во всех портах свои изменения, просто храню своё дерево портов отдельно, а ports -u делаю только чтобы посмотреть, что там официальные мейнтейнеры обновили (если поставить в качестве драйвера для портов git, то особенно удобно отслеживать изменения, но можно и на сайте посмотреть).

Систему инициализации я переделал чтобы работала с dash (не люблю bash). pkgutils у меня тоже патчены парой патчей от коммьюнити и парой моих.

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

Ну ты спрашивай поконкретней, а то ведь не факт что мои привычки тебе подойдут.

PS. Это мы с тобой переписывались про dbus и gtk3. Надо уже на лоре зарегиться, что ли...

anonymous
()
Ответ на: комментарий от NextGenenration

зачем тогда нужен второй?

Да вы, батенька, философ. Вообще, это дискуссионный вопрос. Но лучше давайте не будем: судя по ответам на мой первоначальный пост, похоже, что тема секаса для местной аудитории - больной вопрос. Можно-бы толсто потроллировать отписавшихся про задротство, красноглазие, и секас с конпилянием линукса, но у меня что-то настроения нет ...

DawnCaster ★★
()
Ответ на: комментарий от MihailZenkov

То есть после сборки LFS ощущения еще круче ? :)

Если оно с первого раза загрузилось - то, однозначно, да. На правах ИМХО, конечно )

DawnCaster ★★
()
Ответ на: комментарий от NextGenenration

Например, ради того, чтобы получить систему без зависимостей от иксов
Такого ещё не встречал. Какова цель?

Например, разработка прошивки для своего устройства. Которое ты-же и разрабатываешь, и никаких готовых дистрибутивов ОС, BSP, и даже тулчейна под него нет.

Это только один из примеров.

А вообще - линуксовые сервера обычно без X11 устанавливаются, настраиваются, и работают.

DawnCaster ★★
()
Ответ на: комментарий от anonymous

Да, я уже перешел на локальное дерево портов, поселился в ирках, подписался на RSS их гит-реп. Очень удобно: при обновлении софта (не только крукса), приходит уведомление на почту, и высвечивается на экран (dunst).

Вот, кстати: как ты пишешь Pkgfile для git софта? Я использую такой шаблон:

# Description: A customizable and lightweight notification-daemon
# URL:         https://github.com/knopwob/dunst
# Depends on:  dbus git libnotify libxdg-basedir xorg-libxscrnsaver

name=dunst
version=git
release=$(date +%Y%m%d)

build() {
        cd $PKGMK_SOURCE_DIR

        if cd $name; then
            git fetch -q; git reset --hard origin/master
        else
            git clone git://github.com/knopwob/$name $name
            cd $name
        fi

        make
        make DESTDIR=$PKG PREFIX=/usr install

        rm -rf $PKG/usr/share/dunst
}
Очень удобно: prt-get update -fr pkg и софт пересобрался с последним коммитом. Однако есть одна деталь: если я сегодня уже собирал софт, и версия у него этого дня, а через пару часов пришел важный коммит, то prt-get update pkg (без -fr, скажет, что версия уже самая последняя). Я хотел как-то намутить с version (git rev-parse --short HEAD) чтоб брать последний хэш коммита... но возникает проблема:
=======> Building '/usr/ports/pkgs/dunst#git-51cb545.pkg.tar.gz' succeeded.
prt-get: installing dunst git-$(cd $PKGMK_SOURCE_DIR/$name; git rev-parse --short HEAD)
fatal: Not a git repository (or any of the parent directories): .git
pkgadd: could not open dunst#git-.pkg.tar.gz: No such file or directory
prt-get: error while install

Как бы лучше решить эту проблему? Хочется предсказуемого поведения update для git-софта.

Еще, покажи свой локальный репо. Вот мой:

arc-firefox-theme arc-theme aspell-ru boost cyrus-sasl dev86 dmenu dunst elementary-icon-theme enchant faac ffmpeg flash-player-plugin gegl gimp gmtp gmusicbrowser google-talkplugin hostapd hunspell iotop libdca libmp4v2 libmtp librsvg libtorrent-rasterbar libxdg-basedir mplayer p5-cairo p5-extutils-pkgconfig p5-glib p5-gtk2 p5-gtk2-notify p5-gtk2-trayicon p5-net-dbus p5-pango p5-xml-twig pidgin-libnotify pidgin-skypeweb pidgin-window_merge pm-utils qt5 sxiv thunderbird udevil vifm virtualbox-bin wine wireshark xorg-xf86-video-v4l yeahconsole

А то, я на днях искал virtualbox, и нигде не мог найти. Пару дней потерял на попытку скомпилировать, накладывал патчи с других дистров, всё безуспешно. Пока не нашел у автора Nutyx Linux'a Pkgfile бинарной перепаковки, который адаптировал для себя. Надеюсь мэйнтейнеры обновят сломанный в репе. Ну, и, надеюсь у тебя есть какой-то софт, который нет у других.

Deleted
()
Ответ на: комментарий от anonymous

Регься, буду кастовать, если что.

От дистра я в восторге. Бывают проблемы, от которых хочется спрятаться. На днях так было с непомерное высокой IO нагрузкой. Искал, рыскал, отчаивался. Много раз посещала мысль сбежать обратно. Всё-таки взял себя за яйки, и нашел, hostapd срал в логи, сейчас тестирую планировщики.

Осталась проблема еще: Закрыл virtualbox с Save Machine State. Сам винт оси находится на усб носителе. При запуске virtualbox'a снова, пока загружается прежнее состояние, винт шуршит как трактор (не усб), хомяк, куда выгружался образ в оперативке. Всё подвисает. Как загрузился - всё ок.

Да, это проблемы не дистра. Тут реально всё с нуля нужно делать. А система портов — просто сказка.

Deleted
()
Ответ на: комментарий от anonymous

pkgutils у меня тоже патчены парой патчей от коммьюнити и парой моих.

Что за патчи? Покажи, плиз.

Порты собираю от простого пользователя (fakeroot pkgmk), от рута только pkgadd/pkgrm. prt-get'ом поэтому для сборки не пользуюсь, только для информации

в вики есть статья, как добавить это в контексте prt-get, через алиасы в pkgmk.conf.

Вообще, порты мне удобнее собирать каждый отдельно, так контроля больше.

ок.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Вот, кстати: как ты пишешь Pkgfile для git софта?

По возможности использую релизы. Но если гит неизбежен, то у меня есть скриптик, который выкачивает репо (--depth 1 по возможности), вытаскивает дату из лога, вычищает .git и пакует результат в name-date.tar.xz. Так у меня получается архив с исходником и датой в качестве версии. Дальше как обычно.

Еще, покажи свой локальный репо.

http://pastebin.com/14ZhKz3q

Он пока ещё в процессе наведения порядка.

anonymous
()
Ответ на: комментарий от Deleted

Что за патчи? Покажи, плиз.

Названия говорят (ну, почти) сами за себя:

  • compress-hardlinked-mans.patch
  • compress-info.patch
  • create-dirs.patch
  • no-nonsense.patch
  • noexec-libs.patch

Самый интересный — create-dirs. Он позволяет хранить исходники каждый в своей директории. Удобно, когда несколько файлов. И когда исходники типа v0.6.tar.gz (с гитхаба обычно такие).

Тут надо заметить, что все исходники у меня хранятся в /usr/ports/sources, а все собранные пакеты в /usr/ports/packages.

anonymous
()
Ответ на: комментарий от anonymous

а где достать эти патчи?

P.S. Можешь расшарить репо? Раздел games пригодился бы. В кваку зарубиться, вспомнить молодость))

Deleted
()
Ответ на: комментарий от anonymous

Исходники только у меня - по сути написанный с нуля slackpkg.

skvitek ★★★
()
Ответ на: комментарий от matumba

Вообще, LFS как мануал - полное *овно. Даёт глубокие детали, но бессистемно. Полностью пропускает объяснения где и что можно поменять под свои нужды или заменить другой программой.

Уже после первой сборки LFS можно понять что и как тебе нужно делать, а если дать всё и сразу - отстрелишь ногу и опять «почти соберёшь».

----------

Смотрю в LFS/BLFS за патчами или глобальными изменениями софта, а так все цепи сборки заскриптованы, собираются в пакеты и устанавливаются. Скрипты в одном месте, файлы с опциями в другом, готовые пакеты в третьем. И никакой школомейнтейнер не засовывает в зависимости nano какой-нибудь пш-ш-ш-аудио.

skvitek ★★★
()
Последнее исправление: skvitek (всего исправлений: 1)
Ответ на: комментарий от Deleted

а где достать эти патчи?

Напастил тебе патчи, спасибо утилите pastebinit.

Можешь расшарить репо?

Да надо бы. Я, вообще, человек очень не публичный, но в последнее время сам стал задумываться, вдруг мои наработки кому-то пригодятся. Расшарю, порядок вот только там навести сначала надо.

Кваку пастить уже неудобно, предложи какой-нибудь файлохостинг без регистрации, скину тебе туда архив.

anonymous
()
Ответ на: комментарий от anonymous

Напастил тебе патчи, спасибо утилите pastebinit.

Спасибо. Я использую wgetpaste, она может сразу дать прямую ссылку на файл (для curl/wget), и скопипастить url в буфер обмена(через xclip).

вдруг мои наработки кому-то пригодятся

В ирке уже обсуждали что хорошо бы что-то наподобие create-dirs. Незнаю как насчёт compress-info и no-nonsense, а вот остальные надо в crux-devel, должны принять. Пробовал?

А все остальное — открывай. Вокруг CRUX уже сформировалось маленькое сообщество, глядишь и организуется, как случилось с slackware, в последнее время.

Кваку пастить уже неудобно, предложи какой-нибудь файлохостинг без регистрации, скину тебе туда архив.

ох, файлохостинги, ностальгия наравне кваки. Какой размер файла? my-files.ru попробуй, или rgho.st, я хз. Открой vsftpd, если исходящий трафик норм.

P.S. У тебя Pkgfile для virtualbox'a нет? У меня, тока virtualbox-bin, и от осознания что одна софтина не скомпилирована с оптимизациями под проц, не уютно на душе.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Я использую wgetpaste, она может сразу дать прямую ссылку на файл (для curl/wget), и скопипастить url в буфер обмена(через xclip).

Да, примерно то же. Я тебе нагенерил список ссылок вот так:

for f in *.patch; do url=$(pastebinit -b paste2.org -f diff -t $f $f); echo "[*][url=${url}]${f}[/url]"; done

В ирке уже обсуждали что хорошо бы что-то наподобие create-dirs

Вот как раз create-dirs я брал откуда-то, кажется, с багтрекера крукса. Оригинальный патч был от Alan Mizrahi, только в нём много мне ненужного было. Я оставил себе только часть про создание директорий.

Незнаю как насчёт compress-info и no-nonsense, а вот остальные надо в crux-devel, должны принять.

compress-info нужен тем, у кого info-файлы не потёрты. В круксе принято их тереть, а я емаксер, я ими пользуюсь. А остальные патчи — это мой личный вкус и перфекционизм. Не думаю, что они многим нужны.

Держи yamagi quake2:

http://rgho.st/6V5WW2Gpt

Тока тебе нужны будут оригинальные файлы от квейка, Mission Pack: The Reckoning и Mission Pack: Ground Zero, соответственно. У меня их сейчас нет, поэтому не предлагаю.

Посмотри там по Pkgfile и футпринтам, какие файлы из оригиналов брать и как запаковать.

У тебя Pkgfile для virtualbox'a нет?

Нет. Всё, что есть, показал, ничего не утаил. :)

anonymous
()
Ответ на: комментарий от anonymous

Вот как раз create-dirs я брал откуда-то, кажется, с багтрекера крукса. Оригинальный патч был от Alan Mizrahi, только в нём много мне ненужного было. Я оставил себе только часть про создание директорий.

Угу, нашел. Уже пропатчил, полёт нормальный. Кстати, очень приглянулся патч:

>6. adds an option to keep work directory only if the build fails:
   /etc/pkgmk.conf: PKGMK_KEEP_WORK="failed"
Нужная в моём хоз-яйстве вещь :) Выдрал, если пригодится: keep_work_failed.patch

P.S. За кваку спасибо, займусь на выходных.

Deleted
()
Ответ на: комментарий от Deleted

Нужная в моём хоз-яйстве вещь :) Выдрал, если пригодится: keep_work_failed.patch

Да, спасибо. Может и правда пригодится.

Вот, кстати, по поводу полезных привычек при сборке. В последнее время почти для всех сколько-нибудь нетривиальных пакетов сохраняю логи сборки в файл типа build-log-$version. Бывает полезно во многих случаях: сравнить с предыдущей версией, с версией с другими опциями сборки, отследить зависимости, которые молча подхватил configure, и т.п.

anonymous
()

собрал я этот релиз в режиме «multilib», с пятыми кедами, без pam и systemd, это просто сказка.

PS// сижу «тень чернобыля» прохожу с начала.(ностальгия замучила, да)

Gramozeka ★★
()
Последнее исправление: Gramozeka (всего исправлений: 2)
Ответ на: комментарий от saahriktu

2006-й год
приобретена машина i486/12 Mb RAM

Ты лох.

anonymous
()
Ответ на: комментарий от timdorohin

они таки обновили CLFS-Embedded под новый GCC и musl-libc.

А чем оно лучше скажем LEDE или OpenWRT? Там тоже с нуля собирается.

Xenius ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.