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)

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

Хм, а если у меня /usr на корне, то проблемы «usr почему-то не смонтировался» нет.

за то есть проблема: «почему НИЧЕГО не грузится???».

Ну и интересны причины отмонтирования именно /usr (а то вдруг придется админить что-то, а полезную штуку пропущу).

без /usr остаётся минимально-рабочая система. Из-за её минимальности, вероятность её повреждения мала.

drBatty ★★
()

Покойся с миром, Арч. Ты вечно будешь жить в наших сердцах. Мы запомним тебя молодым и простым.

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

без /usr остаётся минимально-рабочая система. Из-за её минимальности, вероятность её повреждения мала.

Вероятность повреждения tiny core linux, который весь целиком помещается в своём собственном initramfs, — еще меньше.

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

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

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

Что-то у тебя с намекалкой... http://www.pathname.com/fhs/pub/fhs-2.3.html : /sbin : Essential system binaries; Static binaries ...

Ага, целых пять штук, да и те опциональны на случай проблем с системой... Про «статичность» линковки остальных программ в /sbin там ничего не сказано.

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

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

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

Что пофиг всем, что ты там на /usr выставил, вот что. make install никто делать не будет => твое решение в корне неверное.

kroz$ sudo chown root:kroz /usr/local/bin
kroz$ sudo chown root:kroz /usr/local/lib
kroz$ sudo chown root:kroz /usr/local/include
kroz$ sudo chown root:kroz /usr/locals/hare/man/man1/

kroz$ cd /tmp
kroz$ wget http://www.mpg123.de/download/mpg123-1.15.4.tar.bz2
kroz$ tar -jxvf mpg123-1.15.4.tar.bz2
kroz$ cd mpg123-1.15.4
kroz$ ./configure
kroz$ make
kroz$ make install

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

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

Вероятность повреждения tiny core linux, который весь целиком помещается в своём собственном initramfs, — еще меньше.

угу. Но лишняя сущность ИМХО.

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

Да, многие кричат про лобби systemd, всяких объединений и прочих отступлений от POSIX (Поттеринг это открыто провозгласил), FHS и прочего. Лично мне это кажется в основном истерией перед нововведениями. Остается только подождать ближайшие год-два и посмотреть на реакцию таких больших дядь, как дебиан. Всё равно я решений ни в одном дистрибутиве не принимаю :)

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

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

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

Тут не истерия скорее, а рациональная осторожность и жизненный опыт. Нововведения хороши либо на некритичных участках, либо когда уже оттестированы, либо при однозначных аргументах «за». Как я понимаю, споры вокруг достаточности аргументации сторонников слома работающей, годами отлаженной логики, пусть относительно устаревшей и не без недостатков. Вопрос предсказуемости и рисков...

tuxy-jahn
()
Ответ на: комментарий от Kroz

Больше на Windows\System32 похоже. Я бы на их месте так не мелочился, а сразу убрал бы еще и lib-libexec-include и все эти непонятные каталоги. Не, ну а чо, только с толку сбивают

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

В 2013 году, например, потеря X-сервера (который в /usr) вполне считается повреждением системы. И что, что вы можете из консоли его восстановить? С live usb вообще все восстановить можно.

Два чая этому анониму.

Бред отстойнейший.

Разница, блин, огромная - live usb сначала надо где-то взять. А если у тебя, блин, сервер на площадке? Ехать флешку вставлять? :D:D:D

Умники с чаем. Джеймс Бонды просто-таки с Липтоном.

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

А если у тебя, блин, сервер на площадке

Если у тебя сервер на площадке, то с неисправным /usr он загрузиться до инициализации sshd не сможет. Ваш кэп.

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

ну покажи мне дистрибутив и репозиторий с Q3 для нерута. А то я таких не видел.

Я не изучал все дистрибутивы. Я знаю что если мне понадобится такое реализовать, я знаю как. При условии, что /usr от корня отделен. Но не в случае, если они объедены.

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

Благодарю за хорошее описание проблемы.

You are welcome

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

О, еще один крутой одмин, у которого на сервере/корпоративных пк пользователи могут сломать систему, но при этом должны иметь возможность устанавливать программы. Слушай, как насчет остальные комментарии сначала прочитать, а потом уже икспертное мнение высказывать, а?

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

$HOME может с noexec монтироваться, корпоративная политика например

а вот какой-то недорут корпоративной политикой разрешён?

1. Либо юзер может ставить всё что угодно, и тогда ему надо дать рута

2. либо — не может, и тогда нельзя давать рута. Можно и noexec поставить

3. либо может, но так, чтоб только себе мешал. Тогда noexec не надо ставить, и рута давать тоже не надо.

Есть ещё варианты?

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

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

tuxy-jahn
()
Ответ на: комментарий от Kroz

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

а зачем? почему же в $HOME нельзя ставить какой-то Q3?

Я не очень понимаю, за кой ляд давать права юзеру на /usr/?

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

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

профит же! У портных, которые имеют хотя-бы начальное фельдшерское образование. Ибо простой портной яйцо грамотно отрезать не сможет.

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

Ну вот тебе вариант навскидку: SOHO конторка с отделом девелоперов, /usr и /home монтируются по nfs (два разных физических винта), /home однозначно с noexec чтобы хернёй не страдали, а в /usr/local девелоперам шара выдана. Хорошее решение? Нет. Реальное? Вполне.

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

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

То есть ты настолько неадекватен, что приравниваешь чтение к компиляции ядра?
Нет, чувак, ты не можешь нести эту чушь серьёзно. Просто признайся, что троллишь.

Хорошо, процентов на 15% троллю :) Но только своим тоном общения, но не смыслом.

Касательно чтения и компиляции ядра. Человек обладает неким набором навыков. Удобными и легкими он считает те, которыми он владеет хорошо. То есть дело не в сложности чего-либо, дело в компетенции и привычке. Например, мне пофиг на каком языке говорить: английском или русском; для кого-то англоязычная программа - усложнение жизни, для меня - я просто не замечаю язык интерфейса. Некоторые действия мне легче делать в консоли, большинство людей же шарахается от консоли. Мне проще написать скрипт (неважно, это bash или VBA или что-то еще), чем минут 15 делать делать монотонную работу вручную, многие говорят что я усложняю простые вещи. Но мне правда так легче. Десятипальцевый набор - напрягает, до тех пор, пока не овладеешь им на хорошем уровне.

Скомпилить ядро для меня - не сложнее чем установить любой другой софт.

Дело не в конкретном действии, а в твоих навыках. Я не хочу тебя или кого-то упрекать в владении или не владении каким-то навыком, просто пойми, что компиляция ядра - это не «не чем заняться» и не «фанат», это просто легко. Для некоторых.

неспособность опакетить софт

Да, для меня это более напряжно, чем, скажем, установить из сырцов. А для тебя это как для меня установить ядро.
Но я осознанно не хочу этому учиться потому, что 1) пока меня вполне устраивало комиляция из сырцов или запуск .run 2) это узкое знания привязанное к конкретному дистрибутиву, а я хочу легко перемещаться между любым дистром, а потому предпочту пользоваться универсальными методами (ну, за исключением случаев, когда это приносит больше зла, как, например, установка всего софта с помощью ./configure && make && make install)

Ценность Линукс (была) в универсальности: взяв книгу, например, «Линукс для профессионалов» или любую другую, я могу применить знания оттуда к любому дистру. Сейчас Линукс удаляется от этой приятной особенности, и объединение каталогов - пример из того, что этому способствует...

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

мог-бы просто в $HOME/bin/ собирать. use prefix.

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

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

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

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

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

Я не очень понимаю, за кой ляд давать права юзеру на /usr/?

Так, если я не смог до тебя довести это за эти полтора часа, то за последующую ночь тоже не фат что получится.

Остальные аргументы из этого принимаешь? Arch Linux перемещает все исполняемые файлы в /usr/bin (комментарий)

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

Насчет проблем с установкой проприетарных программ не в курсе; единственный .run-файл, который я видел, был драйвером для видеокарт nvidia. Вряд ли это из тех программ, которые пользователю надо устанавливать.

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

home однозначно с noexec чтобы хернёй не страдали, а в /usr/local девелоперам шара выдана.

бред какой-то: они хернёй будут страдать прямо на сервере, в /usr/local/.

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

нормально. В ro.

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

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

тогда подымай свой репозиторий со своим софтом для своих юзеров. Да, для этого нужны права рута, как у тебя, так и на машинах юзеров. Т.е. согласие администратора репозитория, и администратора юзеров.

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

Например, есть .run файлы, и большинство проприетарного софта распространяется именно через них.

это исключение, подтверждающее правило.

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

бред какой-то

ну почему, в хомяке любимое порно, оно главнее. И в хомяке живут некомпетентные юзеры, noexec это быстро и просто. А в /usr/local фигня всякая, к тому же девелоперы покомпетентней Ж)

нормально. В ro.

Ну да. Поэтому отдельный /usr нужен :)

tuxy-jahn
()
Ответ на: комментарий от Kroz

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

поправочка: не показывается то, что НЕ НУЖНО.

в целом я согласен, за исключением последнего:

снабдив /usr (ну, и некоторые другие каталоги) правильными правами, можно разрешить определенным пользователям ставить дополнительный софт, но при этом не дать им возможность повредить саму систему.

это ИМХО лишнее.

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

ну почему, в хомяке любимое порно, оно главнее. И в хомяке живут некомпетентные юзеры, noexec это быстро и просто. А в /usr/local фигня всякая, к тому же девелоперы покомпетентней Ж)

у некомпетентных юзеров и девелоперов РАЗНЫЕ хомячки. Проблема в том, что умные девелоперы могут набыдлокодить кривой софт, который взломают враги под видом «неопытных юзеров». Потому, необходим барьер между девелопером и системой с врагами.

Ну да. Поэтому отдельный /usr нужен

ну скажем так, решать это должен админ, а не Леннарт.

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

Хорошо, что я свалил с арча задолго до того, как начался весь этот маразм. А хорошо же было, с единым rc.conf и без всего этого лишнего хлама, да и иерархия была нормальная...

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

Откинь все эти предрассудки и взгляни на картину трезво. Подыми на виртуалке арч и посиди за ним денёк-другой. Всё логично и просто с тем же systemd, при чём нет этих идиотских особенностей каждого из дистрибов, потому что зная 5-6 основных команд systemd можно рулить вообще любыми дистрибами, которые на нём построены (а всё к этому рано или поздно придёт, вернее, уже приходит).

Итого: система стартует у меня за 5 секунд, всё рулится командой systemctl, нет никаких глюков, система не глохнет при ошибке в rc.conf (который я фанатично любил ещё со времён FreeBSD), я владею инструментом который мне позволит настроить ЛЮБУЮ современную linux-систему. Минусов я вообще не нахожу. А «бинарные логи», «встроенный хттп-сервер» - это уже огласки идиотов, способных придраться ко всему тому новому в чём не разобрались и что можно отрубить на худой конец.

Ну а с иерархией вообще никаких проблем нет: создан сим-линк, я вообще не заметил что что-то поменялось кроме как при `ls -l /`

'{s}bin -> usr/{s}bin/'

вместо

'{s}bin'

ведь даже совместимость не поломана никакая.

В общем, советую задуматься)

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

Для логов они куда более лютую мапуку задумали, aka бинарный формат )))

tuxy-jahn
()

На кой хрен вообще нужны эти /usr/*, хоть кто-то способен объяснить?
Ну, кроме того, что это легаси, которому тридцать лет и теперь все обязаны его тащить до самой смерти вселенной.

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