LINUX.ORG.RU

Гентушники, как вы управляете своим оверлеем?

 , ,


1

1

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

Естественно, почти все действия я выполняю из-под пользователя, который не root. Там и ssh-ключи лежат, и оверлей я создал в хомяке пользователя, и git настроен на моё имя и email. Если бы можно было просто в оверлее добавлять файлики, всё было бы замечательно, но ведь нужно ещё генерировать Manifest при каждом изменении файликов, а команда ebuild digest отказывается работать, мотивируя это тем, что пользователь portage не имеет доступа в мой хомяк.

Можно было бы вносить изменения из-под рута напрямую в каталоге, куда положил мой оверлей layman. Но тут неприятностей ещё больше: layman настраивает git так, что user.name=layman, user.email=layman@localhost; ssh-ключей моих нет.

Вопрос к тем, кто имеет собственные оверлеи: как вы справляетесь со всеми этими неудобствами? Есть какой-то некостыльный способ разруливания проблем?

У меня тоже лежит в хомяке. Пользователь portage туда доступ, разумеется, имеет. Больших раздражений это всё не создаёт. Манифесты раньше обновлял, потом открыл для себя thin-manifests и стало ещё проще. «Одноразовые» ебилды, скопированные из gentoo и приправленные страшными хаками, лежат в отдельном оверлее без гита.

const86 ★★★★★ ()

drwx------ на хомяк, сам в группе portage и имею доступ на запись в ${DISTDIR}; ни о чём, связанном с доступом при ebuild *.ebuild manifest меня великий и могучий Portage не спрашивал ни разу.

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

Пользователь portage туда доступ, разумеется, имеет.

Вот только сейчас пришла мысль с помощью ACL дать пользователю portage доступ rx в каталог с оверлеем, а в вышележащие каталоги дать только x, по идее, ни в какие лишние места он пролезть теперь никак не может.

Манифесты раньше обновлял, потом открыл для себя thin-manifests и стало ещё проще.

Сейчас прочитал про эти thin-manifests. Они ведь всё равно же не спасут от необходимости добавлять в манифест контрольные суммы исходников, так что всё равно обновлять манифест придётся?

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

drwx------ на хомяк, сам в группе portage и имею доступ на запись в ${DISTDIR}; ни о чём, связанном с доступом при ebuild *.ebuild manifest меня великий и могучий Portage не спрашивал ни разу.

Точно, это, кстати, тоже хороший вариант — запускать команду ebuild от своего пользователя, который при этом имеет возможность писать в $DISTDIR. Это даже лучше, чем давать пользователю portage право писать в часть моего хомяка.

gentoo_root ★★★★★ ()

но ведь нужно ещё генерировать Manifest при каждом изменении файликов

Бедняжечка!!! Ты find и ebuild digest не осилил? Ну ничего не переживай вон у меня возьми.

как вы справляетесь со всеми этими неудобствами?

Молча.

Есть какой-то некостыльный способ разруливания проблем?

Есть. Не создавать оверлей.

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

Ты find и ebuild digest не осилил?

Хорошо, что ты осилил прочитать ОП только до этого места и побежал писать ответ не по теме, даже не дочитав то предложение до конца.

gentoo_root ★★★★★ ()

Правишки:

pinkbyte@oas1 /var/lib/layman/pinkbyte $ ls -la | head -4
итого 5
drwxr-xr-x 32 pinkbyte users 912 июн 19 12:04 .
drwxr-xr-x  5 root     root  360 июн  8 23:44 ..
drwxr-xr-x  4 pinkbyte users  96 июн 23 14:51 app-emulation

Настройки:

pinkbyte@oas1 /var/lib/layman/pinkbyte $ cat .git/config
[user]
        name = Sergey Popov
        email = admin@pinkbyte.ru

Синхронизация:

oas1 pinkbyte # cat /etc/cron.daily/porticron.cron 
#!/bin/sh
porticron
chown pinkbyte:users -R /var/lib/layman/pinkbyte

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

Хорошо, что ты осилил прочитать ОП только до этого места и побежал писать ответ не по теме, даже не дочитав то предложение до конца.

А я в упор не вижу там вопросов. Вижу лишь одно нытьё неосилятора.

Но тут неприятностей ещё больше: layman настраивает git так, что user.name=layman, user.email=layman@localhost; ssh-ключей моих нет.

Бедняяяжечка!! А перенастроить как ТЕБЕ надо наверное религия запрещает да?

А по всему остальному либо root и вообще никаких проблем либо любой пользователь включенный в группу portage.

И да в git, если что, еще есть такие замечательные вещи как hooks. Но ты ж об этом и без меня знаешь ведь правда?

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

chown pinkbyte:users -R /var/lib/layman/pinkbyte

А после чего может слететь владелец, что его нужно в кроне выставлять?

Не будет ли layman --sync ругаться, когда не сможет записать в /var/lib/layman/pinkbyte?

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

А по всему остальному либо root и вообще никаких проблем

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

hooks

Больше костылей, хороших и разных!

любой пользователь включенный в группу portage.

Это единственное конструктивное предложение от тебя, только если бы ты прочитал ещё чуть больше, то заметил бы, что backbone уже предложил это, и я уже так и сделал.

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

Не будет ли layman --sync ругаться, когда не сможет записать в /var/lib/layman/pinkbyte?

Если pinkbyte не настолько „одаренный“ чтобы одновременно вносить локальные изменения в оверлей и не комиття их делать layman -S т.е. для git-а это git fetch --all; git pull --all, для синхронизации с возможной работой других людей, то ничего страшного не произойдет.

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

Я имел в виду права доступа, вообще-то. Там как бы в /var/lib/layman/pinkbyte может писать только pinkbyte и root, вряд ли layman --sync запускает git из-под рута, я думаю, он это делает из-под пользователя portage.

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

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

Осиль уже man ssh на тему опций -F, -i и не позорься. Если что ключи ssh ВНЕЗАПНО не обязаны быть исключительно в ~/.ssh но чтобы это понять это сперва нужно понять…

Больше костылей, хороших и разных!

Т.е. встроенная фича git-а есть не что иное как костыль? Бедняжка… трудно тебе в этом мире.

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

Там как бы в /var/lib/layman/pinkbyte может писать только pinkbyte и root, вряд ли layman --sync запускает git из-под рута, я думаю, он это делает из-под пользователя portage.

Ну? И в чем конкретно проблема если пользователь pinkbyte включен в группу portage и layman работает из под всё той же группы portage?

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

layman и porticron работают из под рута. Лень перепиливать.

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

см. выше. layman запускается через porticron в кроне, то есть из под рута

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

Если что ключи ssh ВНЕЗАПНО не обязаны быть исключительно в ~/.ssh но чтобы это понять это сперва нужно понять…

Ппц, есть простое решение — добавиться в группу portage, чтобы можно было писать в $DISTDIR. Но нет, давайте перенастроим гит так, чтобы он дёргал ssh с какими-то особыми опциями, брал ключи откуда-то из жопы, навешаем хуков в гите, в итоге ещё и под рутом сидеть будем. Трудно здесь будет только тебе, если ты до сих пор не понял, что из этих двух решений костыль, а что не костыль.

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

layman(по крайней мере до 2.0) если запускался из под рута, создавал файлы с правами root:portage

Отсюда и chown. Но вообще да, я себя включил в группу portage

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

И в чем конкретно проблема если пользователь pinkbyte включен в группу portage и layman работает из под всё той же группы portage?

В том, что ты не осилил юниксовые права доступа:

drwxr-xr-x 32 pinkbyte users 912 июн 19 12:04 .
Я подскажу: записывать сюда может только root и pinkbyte.

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

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

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

layman(по крайней мере до 2.0) если запускался из под рута, создавал файлы с правами root:portage

Ага, тогда понятно, я думал, что он дропает привилегии до portage.

gentoo_root ★★★★★ ()

У меня наверное самый неудобный. В хомяке есть копия репы. В layman добавлен свой же оверлей. Да, две копии. %)

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

У меня наверное самый неудобный. В хомяке есть копия репы. В layman добавлен свой же оверлей. Да, две копии. %)

По-моему, вполне удобно, у меня теперь так и работает после того, как мне подсказали, что можно добавиться в группу portage. Из-под пользователя можно сидеть и вносить все изменения, а потом layman --sync всё правильно посинкает, не надо какие-то особые костыли городить для своего оверлея, потому что он ничем не отличается от остальных при таком способе.

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

Ппц, есть простое решение — добавиться в группу portage, чтобы можно было писать в $DISTDIR.

The DISTDIR variable defines the location where Portage will store the downloaded source code archives. It defaults to /usr/portage/distfiles.

Т.е. у тебя оверлей в /usr/portage/distfiles и для этого тебе нужна группа portage а упорот из нас двоих я? Ну ок…

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

Нет… Давайте вообще забудем начисто про пользователей и группы а так же о том, что чуть менее чем всем командам в GNU linux вообще посрать где хомяк ака ~ и в условиях когда тебе всем/нескольким пользователям сразу одновременно нужен доступ к одному и тому же гитхабу то можно ключи вообще куда угодно кроме хомяка положить. И очевидно что хомяк в таком случае не лучший выбор - НО НЕЕЕЕТ ЭТО ЖЕ „КОСТЫЫЫЫЛЬ“

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

Да. У меня оверлей не в /usr/portage/distfiles.

Постой постой… а вот этот высер про $DISTDIR

Ппц, есть простое решение — добавиться в группу portage, чтобы можно было писать в $DISTDIR.

это писал не ты а невидимый макаронный монстр у которого оверлей в дистфайлсах?

Принимай разупорин а потом возвращайся.

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

Объясняю последний раз для обделённых интеллектом. Писать в $DISTDIR нужно, потому что ebuild digest скачивает туда исходники. Если я запускаю ebuild digest от пользователя, этот пользователь должен состоять в группе portage. Я считаю дальнейшее обсуждение бессмысленным, ты уже несколько раз в этом треде продемонстрировал абсолютное непонимание того, как работают простейшие вещи в линуксе.

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

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

Уж кто бы говорил про непонимание.

Ну хотя да если для тебя хуки гита костыли дальше все очевидно.

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

Если я запускаю ebuild digest от пользователя, этот пользователь должен состоять в группе portage.

Если ты не в группе portage запустить команду ebuild тебе тупо не дадут. А уж писать в какие-то $DISTDIR-ы и подавно. Причины и следствия… Следствия и причины.

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

А… ну ок.

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

Омг, да чего ж тебя так бомбит сегодня? По два раза на одну фразу отвечаешь, забыл, видать?

Если ты не в группе portage запустить команду ebuild тебе тупо не дадут.

Ты уже второй раз за сегодня не осилил юниксовые права доступа xD

$ ls -lH /usr/bin/ebuild
-rwxr-xr-x 1 root root 12026 Апр 12 23:45 /usr/bin/ebuild

Ещё как запускается и даже успешно отрабатывает, если не начинает пытаться писать в $DISTDIR.

Ну хотя да если для тебя хуки гита костыли дальше все очевидно.

Я ни разу не утверждал, что использовать хуки гита нельзя никогда и что это костыль всегда. Костыли — это вместо простого, элегантного и правильного решения начинать сидеть под рутом и перенастраивать гит, чтобы он брал чужие ключи и делал коммиты от чужого имени. Неправильно сидеть под рутом для выполнения одной задачи, в то время как я все остальные задачи делаю из-под своего пользователя. Для моего пользователя настроено окружение, конфиги vim, ssh, git, у меня там в хомяке лежит каталог с проектами. Поэтому логичнее для управления оверлеем работать под этим пользователем и дать нужные права, чем дублировать настройки под рутом и собирать потом свои файлы по всем разделам жёсткого диска (оверлей-то будет не в ~). Но я сомневаюсь, что моя мысль до тебя дойдёт хотя бы на этот раз, проблемы с пониманием текста на русском языке у тебя возникли ещё с первого твоего комментария. Если ты всё ещё считаешь, что это не костыль, можешь оставаться при своём мнении, у меня нет цели переубеждать тебя, я просто высказал своё мнение.

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

Лично у меня никогда даже не возникало вопросов где именно должен „жить“ мой оверлей. Физически он у меня всегда был ровно там же где его располагает layman.

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

А тебя кто-то заставляет постоянно сидеть под root-ом? Кто-то запретил sudo/su -c? Еще раз прими разупорина и почитай внимательно что тебе пишут.

Там и ssh-ключи лежат, и оверлей я создал в хомяке пользователя, и git настроен на моё имя и email.

Да насрать где именно лежат ssh ключи. Однако если у тебя несколько локальных юзеров которые должны работать с одним удаленным git-ом то по моему очевидно что хомяк одного из локальных юзеров не лучший выбор для таких «общих» ключей.

И точно так же насрать где именно физически располагается оверлей.

Про запись в $DISTDIR - ок юзер с урезанными правами, низя писать…, печалька и боль. А кто-то видимо запретил использовать sudo куда прописать emerge без пароля и просто от кого твоей душе угодно хоть от portage хоть от root а дальше тупо алиас в любимом shell-е? Но неет это видимо тоже „костыли“.

Итого ты не осилил: пользователи & группы, sudo/su и выполнение программ одним пользователем от имени другого, shell и его конфиг, алиасы, ssh ключи (которым вообще без разницы где именно лежать ага --> „ssh-ключей моих нет“) и git (который можно перенастраивать как тебе угодно и тебе уже даже показали как именно это делать ага --> „layman настраивает git так, что user.name=layman, user.email=layman@localhost;“)

И заметь до gentoo мы еще даже не дошли но упорот из нас двоих безусловно я.

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

Кто-то запретил sudo/su -c?

Разницы не будет никакой, программы запускаются от рута, конфиги берутся рутовские.

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

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

А кто-то видимо запретил использовать sudo куда прописать emerge

emerge тут ни при чём. Если ты про ebuild, то запуск от рута не поможет, он сбросит привилегии до portage и не сможет залезть в мой хомяк. /* Как же надоело тебе десятый раз повторять то, что уже обсосано миллион раз в этом треде и ещё в ОП, ей-богу. */

Итого ты не осилил: пользователи & группы, sudo/su и выполнение программ одним пользователем от имени другого, shell и его конфиг, алиасы, ssh ключи (которым вообще без разницы где именно лежать ага --> „ssh-ключей моих нет“) и git (который можно перенастраивать как тебе угодно и тебе уже даже показали как именно это делать ага --> „layman настраивает git так, что user.name=layman, user.email=layman@localhost;“)

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

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

Разницы не будет никакой, программы запускаются от рута, конфиги берутся рутовские.

Так ты определись мы разговариваем про вообще все программы или про конкретно emerge?

Потому что если тебе вообще все программы нужны от root-а внимание вопрос на кой хрен ты конфиги и всё остальное делаешь только у пользователя. Чтобы затем страдать?

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

Если у тебя на физически одном компе за которым работает один единственный живой человек несколько учетных записей и у тебя есть удаленный git репозиторий то и в таком случае ты будешь делать каждой локальной учетке по своему собственному ssh ключу? Разупорин видимо еще не подействовал…

Если ты про ebuild, то запуск от рута не поможет, он сбросит привилегии до portage и не сможет залезть в мой хомяк.

Если ebuild будет работать от юзера root то дальше насрать в чьём именно хомяке будет лежать оверлей… главное чтобы этот оверлей был прописан в make.conf… хотя и это не сильно важно…

Еще раз прими разупорин а потом пойми или запиши себе на бумажечке - права доступа на оверлей для работы portage несущественны. Права важны для тебя самого потому что если ты отредактировав от root-а и не сделав chown на своего обделенного пользователя затем не сможешь от обделенного пользователя редактировать свой оверлейчик а это пичалька… Но в то же время portage на эти проблемы попросту насрать потому что портежам ВНЕЗАПНО вообще достаточно доступа на чтение.

А вообще ты сперва попробуй а потом строй свои идиотские догадки.

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

Так ты определись мы разговариваем про вообще все программы или про конкретно emerge?

Про emerge мы вообще не говорили. Мы разговариваем про управление оверлеем, это даже в заголовке написано.

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

В том-то и дело, что я ничего не делаю под рутом, и оверлеем под рутом мне было бы управлять неудобно.

один единственный живой человек несколько учетных записей

Нет у меня шизофрении, раздвоения личности тоже.

Если ebuild будет работать от юзера root то дальше насрать в чьём именно хомяке будет лежать оверлей… главное чтобы этот оверлей был прописан в make.conf… хотя и это не сильно важно…

И ты в очередной раз продемонстрировал, что ты совершенно не понимаешь, что происходит в системе, зато делаешь очень уверенные заявления. Если ebuild будет запущен от root, то он сбросит привилегии до portage и не сможет записать в мой хомяк обновлённый манифест (это я написал даже в ОП, но ты же его так и не осилил).

главное чтобы этот оверлей был прописан в make.conf

Нет, вообще пофиг на это, я могу запустить ebuild и для ебилда не из оверлея, прописанного в make.conf.

Еще раз прими разупорин а потом пойми или запиши себе на бумажечке - права доступа на оверлей для работы portage несущественны.

Смеялся над этой фразой 5 минут. Ну я в этом уже сообщении чуть выше опроверг это.

Но в то же время portage на эти проблемы попросту насрать потому что портежам ВНЕЗАПНО вообще достаточно доступа на чтение.

Нет, для обновления манифеста внезапно нужно право на запись.

А вообще ты сперва попробуй а потом строй свои идиотские догадки.

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

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

Разницы не будет никакой, программы запускаются от рута, конфиги берутся рутовские

┌─[root@desktop] - [~] - [Сб июн 28, 09:21]
└─[$] <> cat /etc/sudoers | grep -i reset     
Defaults !env_reset
iVS ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.