LINUX.ORG.RU

Как замаскировать world?

 


0

3

Как сделать так, чтобы даже если я по-пьяни напишу emerge -euvDN world, никаких последствий не было и просто пересобрались те пакеты, что уже стоят!

В свете наступающего линуксокапца уже совершенно невозможно доверять автообновлениям: сегодня они поставят пульсу ради скайпа, а завтра системд забульбенят? И за что боролись?

В случае с emerge -u system все проще: там практически все можно смело обновлять, замаскировав лишь udev и еще пару-тройку сервисов, которые обновлять категорически нельзя.

Итак, что хочется: обновление system автоматом все обновляет (а что обновлять не надо, я замаскирую вручную), а обновление world тупо пересобирает все, что установлено (а если я что-то захочу вдруг обновить, я вручную укажу этот пакет, потому что достойных для обновления пакетов всего 2: freecad и kicad; ну, может, еще sdcc какой допилят получше).

☆☆☆☆☆

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

emerge -C portage

anonymous
()

Используй сеты

imul ★★★★★
()

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

funeralismatic ★★★
()

Навскидку:

EIX_LIMIT=0 eix --selected-file -c

Выдаст на список пакетов из world-файла в формате: category/name (version@date) описание пакета

Дальше всё это приводим к удобоваримому виду регулярками на каком-нибудь sed и вносим в package mask.

raven_cler ★★
()

Пропиши в конфиге чтобы media-sound/pulseaudio не устанавливало совсем. Ну а со скайпом пропиши чтобы ставило до текущей версии без pulseaudio.

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

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

потому что нет абсолютно никакой надобности в такой функции

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

А как-нибудь просто замаскировать world нельзя что ли?

он для того, чтобы его ОБНОВЛЯТЬ, а не МАСКИРОВАТЬ.

тебе уже накидали кучу вариантов (в т.ч. покончить с собой, да, но это не по-гентушному), ты решить проблему тред создал, или поплакаться всему ЛОРу? если первое — куча вариантов, понапредлагали кучу всего, выбирай, решай; если второе, то увы, я пас.

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

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

funeralismatic ★★★
()

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

USE="-pulseaudio -systemd"
iVS ★★★★★
()
Ответ на: комментарий от templarrr
┌─[root@desktop] - [~] - [Сб июн 21, 11:54]
└─[$] <> emerge -pv skype

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ~] net-im/skype-4.3.0.37 [4.2.0.13] USE="-pax_kernel -pulseaudio% (-selinux)" 0 kB

Total: 1 package (1 upgrade), Size of downloads: 0 kB
┌─[root@desktop] - [~] - [Сб июн 21, 11:55]
└─[$] <> 
iVS ★★★★★
()

замаскировав лишь udev

Зачем, если есть чудесный eudev? Потом, тебе никто не мешает добавить в make.conf USE="-systemd -pulseaudio" и вообще выключить всё, что тебе не нужно (я себе -systemd прописал тогда, когда оно ещё и флагом-то не было, и сейчас разруливаю только совсем клиничекие случаи, да и то довольно быстро)

anonymous
()

Как сделать так, чтобы даже если я по-пьяни напишу emerge -euvDN world, никаких последствий не было и просто пересобрались те пакеты, что уже стоят!

По-пьяни пиши только emerge -evDN world.

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

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

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

У меня и так заминусована вся дрянь:

DISABLE="-abiword -gstreamer -bluetooth -consolekit -doc -eds -gnome -gtk3 -handbook \
-joystick -kde -networkmanager -perl -phonon -policykit -pulseaudio \
-qt3 -qt4 -qt5 -sdl -systemd -udisks -upower -wallpapers"

Просто многие приложения до того скатились (взять тот же firefox, например), что их уже категорически нельзя обновлять.

Eddy_Em ☆☆☆☆☆
() автор топика

Добавь к команде "-a", или "--ask" в make.conf

Надо будет нажимать Y когда будешь уверен что обновление необходимо.

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

Естественно, командой mount. Но udev мне прописывает нужную строчку в fstab + создает директорию в /media (я ж в ЛОРвики выложил правило для udev)

Eddy_Em ☆☆☆☆☆
() автор топика

Автообновления не нужны
«emerge -uDNav world» смотришь что там обновляется, принимаешь решение.
Чтобы systemd не тянулось, можно использовать eudev

TheAnonymous ★★★★★
()

Как сделать так, чтобы даже если я по-пьяни напишу emerge -euvDN world, никаких последствий не было и просто пересобрались те пакеты, что уже стоят!

Просто не синхронизируй портежи. Юзы укажи нужные. Новые ебилды кидай в оверлей.

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

Извращенец.

Вот как надо:

cat /etc/portage/make.profile/use.mask 

systemd

pulseaudio

cat /etc/portage/package.mask/custom 

## Masking systemd & pulseaudio
media-sound/pulseaudio
media-sound/projectm-pulseaudio
sec-policy/selinux-pulseaudio
kde-misc/kcmsystemd
sys-apps/gentoo-systemd-integration
sys-apps/systemd-sysv-utils
sys-apps/systemd-ui
sys-devel/systemd-m4
sys-apps/systemd
USE="-openmp -hpcups -real -lto -graphite -deprecated -gnutls -bindist -win64 -32bit -cdr -hal -zeroconf -systemd -pulseaudio -gtk3
Deleted
()
Ответ на: комментарий от funeralismatic

Если не через одну сложную регулярку(сам не умею толком их задротить), а несколько, да ещё и с учётом «лишь бы работало», то всё просто и прозаичо.

Удалить часть строки после определённого символа(в данном случае это @).

sed -r 's/@.+//'
Заменить первые четыре символа в каждой строке на >.
sed -e 's/^.\{4\}/>/'
Удалить последнюю строку
 sed '$d'
Теперь заменим пробел и стоящий за ним символ на -. (дабы не возиться с круглыми скобками).
sed 's/ ./\-/g'
Проверим вывод, и увидим, что eix почему-то пишет некоторые версии пакетов по два раза. В связи с чем:
 sed -r 's/\(.+//'
Не то, чтобы совсем краткий и простой вариант, но «вручную» при 50+ пакетов в world(а меньше их вряд ли будет) всё выполняется куда как дольше. Конечная команда будет выглядеть так:

EIX_LIMIT=0 eix --selected-file -c |  sed 's/ ./\-/g; s/^.\{4\}/>/; $d' | sed -r 's/@.+//; s/\(.+//'

(ну и >> package.mask в конце после проверки) Хотя, как мне кажется, у dr. Batty или какого-нибудь другого знатока sed оно выглядело бы лучше. Eddy_Em, попробуй, должно сработать.

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

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

Извращенец
USE="-openmp

Ну и кто ещё извращенец?

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

Поставь ФС со снапшотами и откатывай после каждой пьянки.

А вообще фс со снапшотами в данном случае не нужна потому что достаточно просто бекапа важных файлов/директорий… И по синьке не «менять пароли»…

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

zfs через одно место…

ну если модуль ядра - это через одно место, то у вас там весь линупс через это место работает.

anonymous
()

И да „тред не читал“ ™ но отвечу - world а точнее @world это есть специальный встроенный в portage set, примерно такой же как и @system и прочие… и так как это дефолтные set-ы самого portage ты сделать с ними можешь НИЧЕГО.

В свете наступающего линуксокапца уже совершенно невозможно доверять автообновлениям

А им никогда нельзя было доверять.

Ваш К.О.

А про „линуксокапец“ пиши исчо!

И за что боролись?

https://en.wikipedia.org/wiki/Gentoo_Linux

Gentoo is sometimes described as a meta-distribution, «because of its near-unlimited adaptability», in that the majority of users have configurations and sets of installed programs which are unique to themselves

gentoo - метадистрибутив ( пруф ^ ) а лично твоё мнение несущественно. „Haters Gonna Hate“ так было и так будет ВСЕГДА но на gentoo в отличие от других дистрибутивов у тебя есть выбор, инструменты и своё видение того что ты желаешь видеть на своём компе а то что ты {любишь/ненавидишь} это твои личные проблемы. Ровно такие-же как и надо оно лично тебе или нет.

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

А вообще фс со снапшотами в данном случае не нужна потому что достаточно просто бекапа важных файлов/директорий

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

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

ну если модуль ядра - это через одно место, то у вас там весь линупс через это место работает.

zfs уже не по говнолицензии и вообще в ядро его официально приняли? и zfs уже давно использует все те же самые буферы что и прочие фс в официальном ядре linux?

Вот поэтому до тех пор zfs есть и будет „через одно место“.

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

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

Ну если тебе делать некакого то да бекапь и /usr и /tmp еще не забудь! Самое важное ваще /dev/urandom зобекапить дооооо…

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

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

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

Ну если тебе делать некакого то да бекапь и /usr и /tmp еще не забудь! Самое важное ваще /dev/urandom зобекапить дооооо…

клоун, поведай нам, как ты в случае обновления будешь «откатываться» без бэкапа /usr?

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

Это проблемы разработчиков ZFS, выбравших несовместимую ни с чем лицензию.

это как раз таки исключительно проблемы gpl, что оно ни с чем другим не совместимо, вон парни из bsd используют zfs без костылей и ничего, а вам лицензия не подходит видите ли.

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

проблемы лицензии волнуют только упоротых фанатиков

В данном случае проблема лицензии почему-то волнует упоротых разработчиков zfs on linux… которых все равно ( ОЙ… ) в официальное ядро не пустят с тем высером который у них написан в лицензии.

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

клоун, поведай нам, как ты в случае обновления будешь «откатываться» без бэкапа /usr?

Быдло, до тех пор пока у меня есть бекап настроек portage, @world и /var/db я и без python и без portage в основной системе могу обновится. Это не говоря про какие-то мелочи в сраном /usr.

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

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

А мозгами надо думать до факапов, канпеляний и работы… Вообще ими думать никогда не мешает элементарный пример прям по сабжу темы - FEATURES="buildpkg" и жить становится намного проще особенно если пакеты кроме локальной машины дублируются еще и на NFS шару. А потом ты в случае факапа пойдешь ныть на ЛОР с очередной темой «всиопрапала… гента уныла…» где будешь ныть и обзывать всех клоунами а я за пол часа разверну ту же систему что была до факапа и продолжу работать как ни в чем ни бывало. Но чтобы узнать о FEATURES="buildpkg" надо прочитать man portage а до этого надо подумать головой…

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

проблемы лицензии волнуют только упоротых фанатиков

только тупые школотроны не осиливают сложить А с Б и понять, что лицензионные проблемы в данном контексте влекут за собой проблемы сугубо технического плана, а именно: ZFS никогда не будет в mainline ядра со всеми вытекающими

это проблемы линукса и жопээл, а не zfs, как таковой

да ладно? а по мне так это проблемы ZFS, которая мало кому нужна вместе с ОС, в которых она нативна, лол

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

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

что там используют парни из затхленького болотца - никому не интересно

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

это как раз таки исключительно проблемы gpl, что оно ни с чем другим не совместимо, вон парни из bsd используют zfs без костылей и ничего, а вам лицензия не подходит видите ли.

а еще они GPL у себя выпиливают)))

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

А мозгами надо думать до факапов, канпеляний и работы… Вообще ими думать никогда не мешает элементарный пример прям по сабжу темы - FEATURES=«buildpkg» и жить становится намного проще

это ты эдику расскажи, мне как-то до лампочки.

особенно если пакеты кроме локальной машины дублируются еще и на NFS шару.

не жирновато ли для одной машины хранить собранные пакеты? ещё и в 2х местах.

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

молодец, а откатиться со снэпа дело пары минут.

Но чтобы узнать о FEATURES=«buildpkg» надо прочитать man portage а до этого надо подумать головой…

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

anonymous
()

Как сделать так, чтобы даже если я по-пьяни напишу emerge -euvDN world, никаких последствий не было и просто пересобрались те пакеты, что уже стоят!

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

(пишу из собственного опыта, т.к. у жены на ноуте некроарч с второгномом, 4й год без обновлений)

Итак, что хочется: обновление system автоматом все обновляет (а что обновлять не надо, я замаскирую вручную), а обновление world тупо пересобирает все, что установлено

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

waker ★★★★★
()
Последнее исправление: waker (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.