LINUX.ORG.RU

Arch Linux перемещает все исполняемые файлы в /usr/bin

 , , ,


2

5

Прошло без одного дня 4 месяца с тех пор, как Arch Linux отказался от SysV Init в пользу systemd, и вот новое серьёзное изменение в структуре дистрибутива. Очередное обновление filesystem принесло с собой серьёзные изменения:

  • Все исполняемые файлы из /bin, /sbin и /usr/sbin перемещаются в /usr/bin;
  • Файлы библиотек из /lib — в /usr/lib
  • Для совместимости, /bin, /sbin и /usr/sbin теперь являются всего лишь символическими ссылками на /usr/bin, а /lib — на /usr/lib соответственно

Обновление потребует некоторых ручных действий от пользователя (см. подробности).

Ранее подобное решение уже было принято в дистрибутиве Fedora.

О причинах решения в рассылке разработчиков

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

★★★★★

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

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

Просто линуксу давно необходима какая-то стандартизация, потому что то что сейчас - чистейший АД. Взять например автостарт программ. Вот ты сходу можешь без гугла мне сказать как отрубить автостарт мускула в redhat, debian и gentoo? Зато я точно знаю что на арче, федоре и во всём остальном где есть systemd я всё это сделаю одной командой: sudo systemctl disable mysqld

И это только один пример, самый примитивный.

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

На кой хрен вообще нужны эти /usr/*, хоть кто-то способен объяснить?

дык, была модульность, а теперь монолит как в венде.

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

И что? Это всё равно что ответить

/bin/sh

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

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

С /Arch кстати идея не плохая, как по мне! Можно на одном разделе по несколько дистрибов держать :D Это шутка, если что.

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

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

Что? :))))) Вот блин... дожили :)

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

Ну да, если только нет такой редкости, как дропбеар в initrd.

Но это не главное - поинт был не в /usr, а в том, что не нужно доводить систему до состояния, в котором ремонт == лайв юсб. И говорить про это не нужно, и также не нужно говорить про то, что «потеря Х-сервера (прикладной программы) == краш системы». Так что не надо тому господину двух чаёв, я вот о чём.

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

О... Ну надо же... :) И в чем кардинальное отличие линков у разных дистрибутивов, что не дает понять как что остановить? :)

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

Ну хотя бы знание того, что за чем должно стартовать. Циферки же там не просто так написаны :D За это должна отвечать система, а не пользователь. Я уже молчу про то что без systemd все сервисы стартуют поочерёдно (привет, 21 век!), а не одновременно.

И каким образом искать какой сервис стартует при загрузке системы, а какой нет? find'ом по /etc/rc*?)) А если сим-линку дали название 01abrakadabra? В общем гемор полный, имхо.

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

Та же фигня. Наиболее подходящий вариант - AlpineLinux, но там свои проблемы, из-за несовместимой с glibc uclibc + плюс полное отсутствие локалей (снова особенность uclibc, и каюсь, а даже не осилил руссифицировать консольку, и это в 2013 году :) )

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

Там можно сейчас жить без сборки пакетов /устанавливать бинарные/ и только досборкой нужных?

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

Дядька, что там в круксе сейча с депендами пакетов, если устанавливать не с репозитория? И не запили ли аналог AUR? :-)

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

вам придётся обновлять (собирать) 2 - 3 раза в неделю по 1 - 2 небольших пакета.

Несколько раз в неделю обновляются только наркоманы. Обновляюсь раз в месяц-два, брат жив.

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

Тебе, конечно, легко привести список профитов, которые принесло это избавление?

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

Не можешь. Просто потому, что там нет списка профитов.

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

Ушёл на CRUX

Моар инфы! Софтина из портов?

Из «родных» портов, из самодельных портов, из слепленных вручную (лень было собирать) бинарных пакетов.

Ведро компилял?

Да. Покрасноглазил немного.

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

Костыль - это /usr.

Избавление от костыля, это как минимум, упразднение /usr по типу: mv -r /usr/* /

С другой стороны - а кому оно мешало? Особенно когда используются «похудевшие» клиенты: загрузка базовой системы, а /home и /usr со сториджа.

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

Дядька, что там в круксе сейча с депендами пакетов, если устанавливать не с репозитория? И не запили ли аналог AUR? :-)

Привет, h4tr3d! С депендами портов? Всё по-старому, база зависимостей ведь внешняя. Так что только делать свой репозиторий, если надо, и устанавливать с него.

Вместо AUR'а только это. :( Но самому делать порты просто, проще, чем PKGBUILD, даже у меня с первого раза получилось. ;)

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

Да я вкурсе про круксовые порты: когда сидел на слаке, сделал из них автообновлялку. Т.е. брались круксовые спеки и строились пакеты для слаки.

Вообще зависимости иногда помогают, поэтому на crux не особо смотрю как на альтернативу.

Кстати, на первых порах PKGBUILD почти не отличался от Pkgfile

h4tr3d ★★★★★
()

если я ничего не путаю, то вся эта бодяга поднялась из-за того, что поттеринг не мог правильно systemd свой гребучий написать. и тут все сразу вспомнили что отдельный /usr суть зло. с каких пор идеологические решения упраздняются в угоду программистам-неумехам? где-то натыкался на цитату:

----

Но что больше всего меня не радует, так это то, что systemd не предлагая ничего нового, ломает старое. Когда выяснилось, что systemd не умеет грузиться на системах с отдельным /usr/ стали копать и выяснили, что это из-за udev, который что-то оттуда тянет(специфические ресурсы для всяких блютузов и т.п.). Только вот openrc почему успевал сначала дёрнуть udev, чтобы получить список винтов, примонтировать разделы, а потом уже параллельно дёргать udev для голубого зуба и загружать остальные демоны. Что же это за система загрузки будущего такая, которая не может сделать того, что могут «устаревшие скрипты»? И что делают дальше? Правильно, решают, что раз systemd не может, надо отказаться от использования отдельных разделов, не исправлять ошибки в udev и вообще, чего уж там мелочиться, объединить /usr/(bin|sbin) с корневыми.

----

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

Да я вкурсе про круксовые порты

Ну так сторонние порты — и есть аналог AUR'а, не?

на crux не особо смотрю как на альтернативу.

Ты раньше на slitaz смотрел, как он теперь?

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

2) Безопасность: выносишь /usr на отдельную партицию, и уже сложнее положить систему окончательно, например, при установке программ заполнив раздел до отказа (/usr имеет свойство пухнуть), повредив радел как-либо (журнал - не панацея) и т. п.

Нужно лишь потому, что линакс не умеет в объединения, в отличие от Plan 9.

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

Кстати, после того, как убрали pacman-static, было пару раз больно. Очень выручало. И оно как раз лежало в /sbin

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

Просто линуксу давно необходима какая-то стандартизация, потому что то что сейчас - чистейший АД.

Есть же FHS, где последняя буква означает именно «стандарт». И следование ему позволяет обеспечить какую-никакую переносимость между любыми *nix-ами. Теперь же возглавляемые Поттерингом пионеры сруткладут на существующие стандарты и стараются всюду запилить свои, призванные потешить ЧСВ Леннарта и максимально изолировать Linux от прочих Unix-подобных систем (Леннарт и сам уже признавался, что принципиально пишет непортабельный Linux-only код).

anonymous
()

Всё правильно сделали.

Deleted
()

На самом деле, вместо /usr/ лучше сделать платформо-зависимый префикс, как в Plan 9, например: /386/bin/. Плюс символические ссылки в корень. Так хоть можно избежать боли с кросс-компиляцией.

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

Ну так ведь самый любимый объект фапааргумент systemdфилов — быстрая параллельная загрузка. А ты предлагаешь откладывать инициализацию bluetooth до окончания монтирования разделов... У них же шаблон порвëтся от последовательного выполнения действий, относящихся к независящим друг от друга устройствам.

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

$HOME уже включает путь. Петросянишь, так хоть делай это правильно :}

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

А ещë #!/bin/sh и #!/bin/bash даëт возможность запустить скрипт в любой Unix-подобной системе. Портабельность — непозволительная роскошь для Леннарта, RH и всяких школопионеров.

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

Ты раньше на slitaz смотрел, как он теперь?

что-то не пошло, не то :)

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

А ещë #!/bin/sh и #!/bin/bash даëт возможность запустить скрипт в любой Unix-подобной системе. Портабельность — непозволительная роскошь для Леннарта

_Это_ они не сломали - /bin является симлинком на /usr/bin.

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

Вкурсе, поэтому про количество знаков и написал :)

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

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

Или:

/usr/ - костыль

симлинки /bin, /sbin, /usr/sbin - не костыль

Okay.

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

Okay.

Перефразируя Линуса: «This is a system programming masturbation. It may feel good, but you don't actually get anything _done_. On the other hand, it is mostly harmless.»

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tuxy-jahn

постабильнее testing/LMDE

Довелось на нём посидеть. Он ппц кривой. Ржака в том, что mate почему-то не создаёт английскую раскладку - только ту, которую выбрал при установке - в итоге, если пароль не цифры - фиг зайдёшь в систему (ибо в mate нельзя добавить новую раскладку, в отличие от старого второгнома). Блоб amd там тоже не смог завести ни разу. Магия прям какая-то.

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

Никто совместимость с FHS не ломает, упырьте мел.

Номинально нет. Но оставить большую часть директорий симлинками на /usr/bin - это значит по факту признать что директория будет одна.

Да, программы по-прежнему будут собираться и работать, я не спорю.

Но, как уже заметили выше, можно и с /Program Files линков понаделать - с тем же успехом. Arch конечно не Gobo Linux, но тоже идет каким-то нездоровым путем

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

За command ifconfig not found надо руки отрывать. А вручную /sbin/ и /usr/sbin в PATH добавлял под этими убунтами

И вместо добавления в PATH по умолчанию из коробки они решили перенести все в /usr/bin? :-)

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

Ну вот, опять ведь брешешь

У тебя бзик на то, что я всегда вру? С таким же успехом я могу и тебя объявить лжецом - в половине случаев ты слился предоставить пруфы. А там где ты нормальные пруфы предоставил, я признал, что заблуждался.

ну-ка приведи test-case когда постоянные имена становятся непостоянными

http://www.gentoo.ru/node/27146

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

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

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

ЛОР ни при чем: http://blog.flameeyes.eu/2013/03/predictably-non-persistent-names.

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

Чуваку нужно и чтоб не компилять и чтоб типо гента. Варианты? :-)

//я то понимаю что нельзя быть «немножко беременным» ;-)

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

А на что перешли, если не секрет?

FreeBSD

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

Ну хотя бы знание того, что за чем должно стартовать. Циферки же там не просто так написаны :D За это должна отвечать система, а не пользователь. Я уже молчу про то что без systemd все сервисы стартуют поочерёдно (привет, 21 век!), а не одновременно.

никто не мешал осилить openrc и не иметь этих проблем уже много лет.

Да и как будто ты и в systemd не можешь юнит mysql переименовать в 01abrakadabra.

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

Это чревато более большим объёмом обновлений (пересборки пакетов ) и вероятной проблемой разрешения зависимостей из-за того, что за два месяцы из дерева portage удалили некоторые версии ebuild`ов.

В том, что бы выполнить хотя бы раз в неделю

emerge --sync
emerge -auvDN system
emerge -auvDN world
и пересобрать 2-4 пакета нет ничего сложного.

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