LINUX.ORG.RU
ФорумTalks

Управление срачем в домашней директории


1

0

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

[Кстати, поздравьте меня, я снес винду. Я ей уже года 2 не пользовался (ну, ладно, пару раз бывало). А тут думаю, а чего она у меня место занимает...
Во время переразбивки винта решил посмотреть почему у меня хомяк такой большой...]

Так вот, подходишь к пользователю винды и говоришь:
- Вот ты программку поставил, потом снес. А после нее знаешь сколько всего остается? А вот есть такая классная ОС - линукс, так там ничего не остается!

Как бы не так! В системных директориях действительно все вычищает менеджер пакетов, а вот в домашней директории....

При том, это размазано в лучших традициях:
.название_проги
.local
.config
.cache

Еще куча всего. Вот открываем .local, а там - share и там куча всякого добра от разных прог, а еще там есть (в .local) usr, а там опять share. И везде лежит оно - добро.
Так вот, про размазывание, файлы одной программы лежат и в .local, и в .config, и в .cache, при том, это все еще раскидано по дереву (во всякие share и т.п.)
И этого добра - тысячи файлов.
Если удалить, какой-нибудь пакет, то все добро остается.

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

Но ведь можно как-то выйти из ситуации?
Например:
После удаления пакета package_name какой-нибудь скрипт проверяет наличие /home/*/.config/package_name и прочие помойки, и если там есть файлы, то спрашивает пользователя что с ними делать.
Можно в ненавязчивой форме, например, выводить уведомление «Пакет package_name был удален. Чтобы почистить срач нажмите сюда».
Почему вообще пользователи должны это все вычищать, да еще и знать где оно лежит?
Ладно бы сделали чтобы все проги использовали .config/prog_name и хранили бы _все_ свое добро, так нет, одни хранят в .config/prog_name, другие в .prog_name, третьи в каком-нибудь .local....
А многие хранят добро в разных местах: кеш в .cache; настройки в .config; еще что-нибудь в .local (он у меня аж 152 МБ, ща буду разбираться кто наделал кучу).
Ну, unix-way, разделение по назначению, Ъ и все такое.
1) Зачем это так? Ну, с общесистемными файлами еще понятно (bin, lib и т.п.). Но с домашними зачем так, профит какой?
2) Для системных есть пакетный менеджер, а для домашних? Если уж решили размазать все красиво, то сделали бы тулзу для руления помойкой.

Да, в винде хуже, там есть еще и общесистемный срачЪ.

Так, вот... Что делать то?

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

> Возможность класть конфиги куда хочется. Можно кучу условий назадавать.. Например, проверять наличие директории, воткнутой флешки

Да не, это лишнее уже. Достаточно описанного мной выше варианта.

pevzi ★★★★★
()

Зато можно понастальгировать:

~$ ls -ldt .[a-z]* | tail -1
drwxr-xr-x  4 sergey sergey      73 2004-06-19 19:01 .xmms
sdio ★★★★★
()
Ответ на: комментарий от pevzi

> Да не, это лишнее уже

Ну.. кому лишнее, а кому и интересно потрахаццо :) Через fuse, например, можно перехватить обращения к файлам в $HOME?

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

> а кому и интересно потрахаццо

В линуксе и так есть где потрахаться, а ты еще траходромы выдумываешь :3

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

Каждый трахается с тем, с чем хочется и там, где захочется :) Free as a freedom!

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

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

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

Ох что там намутили с домашними директориями это просто звездец. Я не осилил, честно (:

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

Оно у меня каждый день апдейтится.. В смысле, реально каждый день прилетают обновления

boombick ★★★★★
()
Ответ на: комментарий от ls-h

Собственно это образно конечно, что-то типа отдельных веток реестра которые кто-то видит а то-то нет; либо видит основную ветку, либо, если есть своя то свою. Чем не недочрут с недоюнионфс? :) А ссылок нет, так, окружающие говорят разное.

sin_a ★★★★★
()

> Можно в ненавязчивой форме, например, выводить уведомление «Пакет package_name был удален. Чтобы почистить срач нажмите сюда».

Чувак, а ты принимал во внимание, что основной юз-кейс любого юникса — это несколько пользователей на одной машине, предположительно с совершенно разными предпочтениями, а также разными взглядами насчет необходимости тех или иных дотфайлов? То, что у нас миллионы быдлохомячков, дела не меняет: хомячку корона с головы не слетит, если он сам вычистит говно, а в случае автоматического удаления всего те, кому оно было нужно, заколебутся восстанавливать.

Давай пойдем дальше. Пусть dpkg --purge gimp убирает из хомяка все изображения, чо. Или пусть dpkg --purge openoffice.org убирает нах все документы, чо.

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

А ты почитай что ты процитировал.
Выводить уведомление с _предложением_ очистки конфигов и кеша проги, но не документов.
Уведомления можно отключить, типа «[x] Больше не показывать предложения об очистке»
Понятно, толстячок?

ls-h ★★★★★
() автор топика

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

Какой-нибудь дистрибутив будет проходить фстэк - а там стандарт (внезапно!), глядишь всё всё нормально переделают.

guilder
()

сортируй и чередуй, всё равно получишь ...!

Boy_from_Jungle ★★★★
()

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

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

А что помешало исторически определить ~/etc, или даже ~/.etc? Насколько я помню, этого даже в LSB нет. Что еще должно поменяться?

eugine_kosenko ★★★
()

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

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

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

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

> Да и решать админу за других пользователей, какие настройки им хранить или удалить после удаления пакета — грубейшее нарушение приватности.

Хм, да, не подумал. Зайдет какой-нибудь Василий в синаптик, удалит gajim — и вместе с конфигами и хистори Иннокентия.

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

> Через LSB, вестимо

Точно. Надо попробовать что ли.

pevzi ★★★★★
()

Сколько латентных вендузятников в треде

Значит объясняю один раз:

Проблема №1. Мои нежные виндузятские глазки не могут смотреть на это:

ls — не показывать директории с конфигами.

ls -a — показывать директории с конфигами.

Проблема №2. На моем двухгиговом диске кончилось место.

du, ggmap, kdirstat,baobab

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

запускаешь любую программу таким образом:

cp $HOME/.Xauthority /path/to/config; env HOME=/path/to/config opera


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

и не нужно никакого демона.

По топику - пока система будет позволять писать файлы куда угодно в home, все программы будут писать их куда угодно в home, а на любые демоны/стандарты все будут забивать. На freedesktop.org есть стандарт хранить настройки в .config, но видимо мало кто про него знает/использует. Хорошо еще, что никуда дальше дома система не разрешает вылезать чисто физически - ато бы было как в винде - половина программ хранит настройки в program files, половина в домашней папке, половина в реестре и т.п.

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

> Хорошо еще, что никуда дальше дома система не разрешает вылезать чисто физически

Хорошо что небо сверху а земля под ногами.

sin_a ★★★★★
()
Ответ на: комментарий от ls-h

С предложением? А теперь подумай. Захожу прекрасным утром на машинку, а в ней мои любимые дотфайлы испарились. Потому что какое-то мудило решило нажать «да» и галочку поставить, меня не спросясь. Потому что тем вечером именно оно удаляло пол-КДЕ.

Дело пахнет кирпичом при таком раскладе.

А если у машинки 10 пользователей, то что, у каждого спрашивать? И не удалять пакет, пока все не определятся?

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

Далее, рисую картинку маслом. Машинок двадцать штук, ПО локальное, а $HOME монтируется по сети и один на все машинки. На одной из них решают временно снести Emacs. Я бы процитировал некоторых пользователей, но сие уж очень ненормативно.

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

а вообще можно развить идею и например при удалении oo.org рекурсивно искать и удалять по хомяку все odt/ods-документы

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

кстати, как вариант - определить глобально HOME на /home/user/.config - тогда весь срач автоматически перенесется в .config, а в /home/user все будет чистенько. Останется только переопределить всякие приятные ярлычки Desktop/Documents/Downloads например в дельфине.

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

> Потому что какое-то мудило

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

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

> а вообще можно развить идею и например при удалении oo.org рекурсивно искать и удалять по хомяку все odt/ods-документы

эээ.

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

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

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