Имеется компьютер с SSD и HDD
На SSD стоит система, HDD примонтирован к /home/user/HDD
Возникло желание перенести каталог /usr/portage/distfiles на HDD
Смотрю права доступа на distfiles
Нужно, чтобы пользователь portage имел доступ на чтение и исполнение ко всем родительским компонентам пути. В вашем случае это /home, /home/user, /home/user/HDD. Очевидно, расширять права доступа к /home/user - не самая лучшая идея. Хотя некоторые дистрибутивы (*кхе* Debian *кхе*) по умолчанию дают очень широкий доступ к домашним каталогам пользователей, и никто особо не жалуется, так что не всё так страшно. Но всё же лучше, наверное, присобачить /home/user/HDD ещё куда-нибудь через mount --bind. Или даже /home/user/HDD/distfiles в /usr/portage/distfiles.
/dev/random А где описывается, что пользователь portage должен иметь такие права "на чтение и исполнение ко всем родительским компонентам пути"? Не совсем понятно, зачем ему может такое понадобиться.
P.S. Хотя с "--bind" тоже хорошее решение, но хотелось бы разобраться
Мудрость приходит с возрастом.
Иногда возраст приходит один. Эхо разума
А где описывается, что пользователь portage должен иметь такие права "на чтение и исполнение ко всем родительским компонентам пути"?
В любом учебнике по unix-подобным системам. Доступ к файлу по его имени производится системой по запросу программы пошагово, начиная от корневого каталога (или текущего, для относительного пути). Для того, чтобы открыть файл или подкаталог, нужно сначала открыть родительский каталог с правами на исполнение (а перед этим - его родительский, и т.д.). Наткнувшись на симлинк, система повторяет все эти шаги для целевого пути симлинка. Права на чтение, строго говоря, не требуются, но я сталкивался с программами, которые производят различные проверки, требующие права на чтение. По сути, для каталога, право чтения - это право узнать имена лежащих там файлов и подкаталогов; право исполнения - это право обращаться к содержимому, если вы уже знаете (или угадали) имя этого содержимого; право записи - право создавать/удалять/переименовывать/линковать файлы внутри.
Хм, и зачем надо было делать символическую ссылку, если можно было прописать путь в make.conf, переменной DISTDIR.
Ну, хотя бы потому, что ошибка будет та же самая. Пока, нормально работает вариант с "mount --bind"
А насчёт правильных/неправильных точек монтирования - тут всё просто. HDD появился позже системы и монтировался руками к каталогу, находящемуся внутри домашнего каталога. Просто потому, что так было удобнее на тот момент. При необходимости он отмонтировался и использовался как просто носитель данных. А потом, в какой то момент, прирос и покрылся многочисленными ссылками из основной системы. На текущий момент нет совершенно никакой надобности монтировать его "правильно" куда либо ещё.
Мудрость приходит с возрастом.
Иногда возраст приходит один. Эхо разума
ясное дело вообще монтировать внутрь домашнего каталога -- это уже нечто. Так же, как и запрещать на персональном компьютере всем остальным какой-либо доступ в свой домашний каталог.
devilr
Дело не в прекрасном, канонах, стандартах... Вы саме себе придумали проблему, а теперь её последствия героически преодолеваете. Но упорно не хотите исправить первопричину.
s.xbatob
Если сейчас начать устранять "первопричину" (в данном случае), то вылезут 100500 проблем с другими ссылками на этот же винт. Да, может быть, я изначально не туда смонтировал. Но это уже в прошлом и вот прямо сейчас мне есть чем заняться, кроме как устранять "проблему". Тем более, что "mount --bind" её решил так, как меня устраивает.
P.S. Хотя, если вы знаете, как можно решить проблему с символическими ссылками, указывающими (после переноса диска в другое место) "не туда" - подскажите, буду признателен. Возможно, что есть другое решение, кроме ручного переписывания таких ссылок, но я не знаю.
Мудрость приходит с возрастом.
Иногда возраст приходит один. Эхо разума
devilr
Вы их уже получили.
Для начала смонтируйте диск в общедоступное место, а у себя сделайте ссылку. А потом периодически удаляйте, смотрите что сломалось и чините
В любом случае -- ничего из того, что не относится к вам, к вашем приватным файлам или путям относиться не должно.
Нет, это не закон и не правило. Просто вы нарвались. Возможно, по незнанию. Ну, все мы были чайниками. Только -- надо учиться, а не упираться. Исправлять свои ошибки.