LINUX.ORG.RU

Arch Linux прощается с /lib

 


0

1

После жарких дискуссий и тщательного планирования в репозиторий [core] дистрибутива Arch Linux был помещён пакет glibc, содержащий файлы в /usr/lib, вместо традиционной /lib. Это обновление завершает процесс отказа от отдельной папки lib в корне, которая теперь, в целях совместимости со сторонним ПО, заменена ссылкой на /usr/lib.

Разработчики Arch Linux, известные своими новаторскими взглядами на развитие дистрибутива, уже не раз производили масштабные изменения в структуре ФС, в частности пытались разместить десктопные среды в /opt, одними из первых реализовали /run и разместили его в tmpfs. Текущее обновление потребовало всего лишь переcборки ядра и модулей, pam, systemd-tools (бывший udev), systemd, kmod и ещё нескольких системных утилит и библиотек.

Данное изменение завершает переход от устаревшей концепции содержания базовой системы в корне к использованию для этих целей mkinitcpio и упрощает скрипты сборки ряда пакетов, ранее хранивших часть своих файлов в /lib, а часть в /usr.

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



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

Если ты это говно называешь прогрессом, я тебе сочувствую.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от geekless

Никакого прогресса

уася, эти ваши дёрганья с systemd и переносом каталогов - не прогресс, а пьяные танцульки под Луной

//впиливал systemd на свою генту, сокрость загрузки абсолютно такая же, что и на openrc, а гемора на порядок больше

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

ну так скомпиль один раз, а дальше только обновления в фоне раз в неделю по крону

или у тебя тачка слабая?

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

эти ваши дёрганья с systemd и переносом каталогов - не прогресс, а пьяные танцульки под Луной

//впиливал systemd на свою генту, сокрость загрузки абсолютно такая же, что и на openrc, а гемора на порядок больше

systemd не нужен. А перенос каталогов в /usr — дело полезное.

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

Слабоватая. Но, чует мое сердце, таки перейду я на gentoo. Надо будет только какой-нибудь компьютер сначала сделать стартовой площадкой для экспериментов. Если все пройдет гладко, оставлю арчик только на радиоприемнике.

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

Слабоватая

а конкретнее?

Надо будет только какой-нибудь компьютер сначала сделать стартовой площадкой для экспериментов

у тебя что, не найдётся свободного места гигов на 20? выделяешь раздел, и из своего текущего дистрибутива собираешь на этом разделе генту в chroot, параллельно занимаясь своими делами

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

Слабоватая.

А поточнее?:)

Надо будет только какой-нибудь компьютер сначала сделать стартовой площадкой для экспериментов.

Слабоватая настолько, что виртуалку не тянет?

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

зачем виртуалка, если есть chroot?

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

Все дистрибутивные файлы концентрируются в одном каталоге. Система становится четко разделена на файлы пакетов, конфигурацию хоста и изменяемые данные хоста. /usr можно сделать ro. А вот / на современных линуксах в общем случае без мозготраха сделать ro не получится, т.к. некоторые программы срут в /etc. Так что всё логично.

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

выделяешь раздел, и из своего текущего дистрибутива собираешь на этом разделе генту в chroot

Ну или так, так даже Ъ-нее.:)

свободного места гигов на 20?

Ежели система планируется с блекж^W KDE и libreoffice'ом, то маловато будет.

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

Система становится четко разделена на файлы пакетов, конфигурацию хоста и изменяемые данные хоста

наркоманское разделение

/opt - это не файлы пакетов? а в /boot от пакетов тоже ничего нет? или это всё тоже в /usr засунут? и кстати, теперь простой юзер сможет запускать системные программы, или в /usr/bin будет адова мешанина из прав доступа?

/usr можно сделать ro. А вот / на современных линуксах в общем случае без мозготраха сделать ro не получится, т.к. некоторые программы срут в /etc

походу, весь смысл переноса и заключается в этой бредовой возможности сделать /usr и ro

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

у меня с kde, LO и кучей другого софта занимает около девяти гигов, но там ещё несколько версий ядер в /usr/src/

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

А вот / на современных линуксах в общем случае без мозготраха сделать ro не получится, т.к. некоторые программы срут в /etc. Так что всё логично.

Какого мозгтраха? Подробнее, пожалуйста.

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

/opt - это не файлы пакетов? а в /boot от пакетов тоже ничего нет? или это всё тоже в /usr засунут? и кстати, теперь простой юзер сможет запускать системные программы, или в /usr/bin будет адова мешанина из прав доступа?

Более того, в /etc многое лежит именно от пакетов.

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

из своего текущего дистрибутива собираешь на этом разделе генту в chroot

Хм, а ведь и правда. Надо будет попробовать.

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

Кеш компиляции вынесен куда-то на внешний сторадж? А то LO для компиляния как раз 9+ гигов требует.:)

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

Ну, согрешу перед Патрегом, если в таком деле не посоветую слакварь) В качестве пакетного менеджера можно поставить slackpkg + sbopkg, или slapt-get (бинарь) + slapt-src (сорцы). Базу слэкбилдов можно слить себе на комп, или брать с сервера... Можно вбить в менеджер пакетов (не бинарь который), чтоб он сразу несколько веток искал (13.0, 13.1, 13.37), и тогда будет выбор из нескольких версий пакетов, который можно собрать. Еще можно поднять локальную базу слакбилдов, и тоже добавить в пакетный менеджер.

Конечно, гента гибче. Но слака проще в этом взгляде) Примитивнее. Делай что хочешь, бери что хочешь :)

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

/opt - это не файлы пакетов? а в /boot от пакетов тоже ничего нет?

Знаешь как это выглядит? Вот так:
— Давайте сделаем вот в этом месте систему логичнее.
— Наркоман штоле?! А вот тут она не логичная! И еще вот там!

Гражданин, успокойтесь. До остальных нелогичностей тоже со временем доберёмся. Идея вынести модули ядра в /boot или /kernel в рассылке уже мелькала.

Голову-то включи.

и кстати, теперь простой юзер сможет запускать системные программы, или в /usr/bin будет адова мешанина из прав доступа?

Эпичное незнакомство с матчастью. Юзер и так имеет право запускать любые бинарники /sbin.

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

Давайте сделаем вот в этом месте систему логичнее

дело в том, что сабжевое действо - нихрена не делают систему логичнее

До остальных нелогичностей тоже со временем доберёмся

а, так ты один из этих реформаторов? пнятненько

Юзер и так имеет право запускать любые бинарники /sbin

лолчё? это в каком говнодистрибутиве /sbin находится в юзерском PATH? почему, когда я в генте вбиваю любую команду из /sbin, баш говорит мне, что команда не найдена?

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

а в /bin лежат БИНАРНИКИ!!!1111адынадын

и почему бинарники пакетов должны лежать в /usr, а конфиги пакетов не должны лежать в /usr? особая ебаньковская логика?

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

дело в том, что сабжевое действо - нихрена не делают систему логичнее

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

это в каком говнодистрибутиве /sbin находится в юзерском PATH?

Анон, не отличающий:

права доступа

и

PATH

линуксу не нужен. Уходи.

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

и почему бинарники пакетов должны лежать в /usr, а конфиги пакетов не должны лежать в /usr?

Файлы классифицируются не по принаджедности пакету, а по функциональному назначению.

По принадлежности к пакетам — это вам в винду. При чем, сразу в 95-ю для полной ванильности, потому что даже MS впоследствии осознала ущербность такого подхода и пытается кое-что переделать.

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

В /etc лежит КОНФИГУРАЦИЯ.

Так пусть лежит. Она кому-то сильно мешает?

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

Разумеется, делает

4.2

Но люди, которые не способны отделить логику от привычек понять не в состоянии

люди с спгс, узрившие логику там, где её нет, конечно, многое понимают :)

Анон, не отличающий: права доступа и PATH линуксу не нужен

капец ты осёл, я не говорил про права доступа

сейчас разделение прав запуска делается на уровне переменных PATH

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

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

Файлы классифицируются не по принаджедности пакету, а по функциональному назначению.

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

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

Файлы классифицируются не по принаджедности пакету, а по функциональному назначению

а кто кукарекал про

Система становится четко разделена на файлы пакетов

?

по функциональному назначению файлы и сейчас прекрасно разделены, мало того - они разделены ещё и по правам запуска

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

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

я не говорил про права доступа

Есть конечно вероятность, что это писал другой анон:

теперь простой юзер сможет запускать системные программы, или в /usr/bin будет адова мешанина из прав доступа?

Но гораздо больше вероятность, что ты просто п***ь.

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

Права запуска устанавливаются битом x. Иди уже курни матчастьца и перестань нести этот бред.

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

?

Я недостаточно четко выразился, ок. Имелись ввиду файлы пакета, не требующие правки ни при каких условиях при нормальной работе системы. Если что-то внутри /usr требует ручного вмешательства, значит либо админ что-то делает не так, либо сборщик ПО был не в себе.

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

О-о-о, анон, ты жжошь как адский сотона. Не позорься, ладно?

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

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

Упоролся? Бывает. :}

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

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

Но гораздо больше вероятность, что ты просто п***ь

реформатор не научился понимать написанное, понемаю

теперь простой юзер сможет запускать системные программы, или в /usr/bin будет адова мешанина из прав доступа?

специально для дурачков: при разделении по PATH разграничение по правам доступа фактически не нужно, хотя и права доступа легко выставляются, т.к. мясо отдельно, мухи отдельно

когда все бинари в одной куче, как ты будешь разделять программы по PATH? правильно, никак, остаются только права доступа, которые придётся задавать для каждого файла отдельно, это ведь так весело - разгребать помойку из двух тысяч бинарников, пытаясь понять, что из них богу предназначено, а что - кесарю

Права запуска устанавливаются битом x

т.е. любой юзер сможет запускать любой бинарник наравне с рутом, всё понятно

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

т.е. любой юзер сможет запускать любой бинарник наравне с рутом, всё понятно

А сейчас не может что ли? :-D

$ /sbin/route | grep eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0

ЧЯДНТ?

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

Если файлы разделены по функциональному назначению, то зачем нужна лишняя сущность в виде разделения на пакеты?

В файловой системе на каталоги — по назначению. В пакетах — по пакетам. Что тебе не понятно?

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

Имелись ввиду файлы пакета, не требующие правки ни при каких условиях при нормальной работе системы

открой для себя каталог /usr/share/config, «знаток» :D

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

ок, вместо «покалечить систему» подставь «покалечить данные»

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

пользуешься говнодистрибутивом

test@avalon ~ $ /sbin/route
bash: /sbin/route: Нет такого файла или каталога
anonymous
()
Ответ на: комментарий от anonymous

открой для себя каталог /usr/share/config

Очередное подтверждение упоротости разрабов KDE.

Открой для себя FHS.

/usr is the second major section of the filesystem. /usr is shareable, read-only data. That means that /usr should be shareable between various FHS-compliant hosts and must not be written to. Any information that is host-specific or varies with time is stored elsewhere.

ок, вместо «покалечить систему» подставь «покалечить данные»

Юзер со своими данными может делать всё, что ему захочется. Это вам не винда с её «А вы уверены, что вы уверены?».

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

Открой для себя FHS

а реформаторы FHS хоть раз открывали?

Это вам не винда с её «А вы уверены, что вы уверены?»

с такими реформами, чую, скоро придётся разрабам делать дополнительные страховки в стиле венды

раньше ответственность за безопасность выполняемых операций лежала на системе и юзере, а теперь разделение прав запуска сломали, а юзеры всё тупее и тупее

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

а реформаторы FHS хоть раз открывали?

Обсуждаемый перенос каталогов не противоречит FHS.

раньше ответственность за безопасность выполняемых операций лежала на системе и юзере

Это всё твои глюки. Пользователь может всё, на что имеет право. И не может ничего, на что прав не имеет. Всегда так было и всегда так будет.

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

В файловой системе на каталоги — по назначению. В пакетах — по пакетам. Что тебе не понятно?

Твоя же фраза выше по треду:

Файлы классифицируются не по принаджедности пакету, а по функциональному назначению.

Странно, как ты быстро её забыл. Не находишь?

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

Это факт.

$ ls -ld /sbin /usr/sbin/
drwxr-xr-x 2 root root  4096 июля  15 12:17 /sbin
drwxr-xr-x 2 root root 12288 июля  16 01:22 /usr/sbin/
geekless ★★
()
Ответ на: комментарий от anonymous

пользуешься говнодистрибутивом

test@avalon ~ $ /sbin/route
bash: /sbin/route: Нет такого файла или каталога

Что за дистр? А то у меня такое: `bash: /sbin/route: Permission denied'.

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

иногда может что-нибудь не собраться

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

Ага. Например, запросто могут отвалиться мышка и клавиатура в X-ах (потребуется пересборка x11-drivers/*)

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

Или если при сборке нового ядра забыть пересобрать модуль nvidia, то после ребута тебя ждет Страшная Чорная Канцоль.:)

Половина из этого регулярна и давно известна, про вторую половину сам emerge пишет в выхлопе - пересоберите это, сделайте то. В общем «сурпризов», подобных арчевским, я как бэ и не припомню вообще, впрочем я и про арч не припоминаю, до начала внедрежки всякого шита.

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

Неужели там тоже подобные «косяки» выскакивают?

Там похлеще. etc-update, revdep-rebuild и старые версии библиотек, которые не принадлежат ни одному пакету, т.к. не удаляются при обновлении. При этом добровольно-принудительно надо читать километры вывода emerge, который (по дефолту? или вообще?) нигде в логах не сохраняется - только в stdout.

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

Зато там есть eselect news, вот чего в арче точно не хватает.

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

было только два раза при переходе с одной ветки иксов на другую

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

открой для себя каталог /usr/share/config, «знаток» :D

не требующие правки ни при каких условиях

Да ты упорот. /usr/share/config нужен для складирования дефолтных конфигов. Конфиг оттуда копируется в /etc при установке (для системного софта) или в ~/.config при первом запуске (для юзерского). И там, собственно, правится.

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

то гента была

test@avalon ~ $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3:/usr/lib64/subversion/bin:/usr/games/bin:/opt/vmware/bin:/opt/cuda/bin

как видите, юезр не видит /bin и /sbin, как и должно быть

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

Т.е. чтобы узнать IP-адрес, юзеру нужно набирать /sbin/ip или /sbin/ifconfig. Юзерофильненько.

//первым делом на федорах добавлял в $PATH /sbin'ы и ~/.bin.

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

Скопируй его туда

может, мне ещё каталоги туда-сюда попереносить? будто заняться больше нечем

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

про вторую половину сам emerge пишет в выхлопе

Предлагаете весь лог emerge --keep-going -uND @world читать ? Я, может, обновляюсь раз в месяц.

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

Расскажи мне о стандартной портажевской читалке простыни логов emerge.

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

выскакивают

Скорее, валят потоком (это я как гентуюзер со стажем).

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

Вот за этот ликбез спасибо, я об этом не догадывался!

З.Ы. Я не из тех анонимусов, с которыми ты говоришь.

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

Я, что то не совсем понял, у меня после установки в arch сквозной PATH, и для root и для пользователей он одинаковый. пришлось это в скриптике переделывать.

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

# Set the default system $PATH: PATH=«/usr/local/bin:/usr/bin:/bin:/usr/games»

# For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in # the $PATH. Some means of connection don't add these by default (sshd comes # to mind). if [ «`id -u`» = «0» ]; then echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null if [ ! $? = 0 ]; then PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH fi fi

Я привык к такому поведению, каких то обоснованных причин для этого я придумать не могу.

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

свежий портеж не пробовали?

там те версии библиотек старые есть возможность вычистить.

и главные вещи из того лога выводятся в конце работы.

я уж молчу что и лог всегда сохранялся, не помню только где и надо ли было что-либо для этого делать.

и вообще на современном компе генту пересобирается полностью где-то за день. посему revdep-rebuild вполне терпим. а etc-update штука крайне полезная.

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