The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Перемещение всех пользовательских файлов конфигурации в отдельную директорию
Чтобы принудительно переместить все пользовательские файлы конфигурации из
корня домашней директории в отдельный каталог (допустим ~/.config) можно
воспользоваться библиотекой libetc (http://ordiluc.net/fs/libetc/). libetc
подгружается к приложениям через механизм LD_PRELOAD, подменяя собой некоторые
библиотечные вызовы и самостоятельно обрабатывая ситуацию открытия файлов и
директорий, начинающихся с точки. Базовый путь берется из переменной окружения
$XDG_CONFIG_HOME, определенной для этих целей в стандарте http://standards.freedesktop.org/basedir-spec/

Пример использования, в ~/.bashrc, ~/.zshrc или ~/.xsession добавляем:

   # загружаем библиотеку
   export LD_PRELOAD=libetc.so.0 
   # список игнорирования
   export LIBETC_BLACKLIST=/bin/ls:/bin/mv:/bin/cp:/bin/ln:/usr/bin/find:/bin/rm 
   # Перемещаем файлы конфигурации в директорию /home/luc/config
   export XDG_CONFIG_HOME=/home/luc/config

Если явно не определена переменная окружения XDG_CONFIG_HOME, в качестве
базового пути будет использована директория ~/.config/

Работа libetc проверена в таких программах, как OpenOffice.org, KDE, Gnome,
Firefox, Mutt, vim, Thunderbird, Sylpheed, Gimp.
 
Ключи: libetc, config, ld_preload, lib
Раздел:    Корень / Пользователю / Файлы, копирование, архивация

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, SwitNJ (??), 10:59, 29/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    давно бы уже унесли все настройки в одну директорию! это именно то что меня больше всего напрягает - куча точечных директорий муляющих под ногами
     
     
  • 2.2, Heckfy (ok), 11:19, 29/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    vim?
    я бы не рискнул его изолировать. :)
     
  • 2.7, фтфтф (?), 13:12, 31/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Уже давно все в одной, $HOME зовётся.

     

  • 1.3, Anon (?), 17:15, 29/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати да. Было бы неплохо так сделать сразу для целого дистра. Может подкинуть идейку Шаттворту?
     
  • 1.4, Хоменко (ok), 18:13, 29/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Без паники, товарищи, без паники.

    Миграция всех ~/.fafa.conf в ~/.config уже идет полным ходом. Третьего дня обнаружил в ~/.vlc файл readme, где говорилось, что ~/.vlc по прочтении данного файла можно удалить, и что они переехали в ~/.config.

    Все устроится в свое время. А костыль с LD_PRELOAD есть что-то на манер proof of concept. Не нужен он.

     
  • 1.8, кодир (?), 12:17, 01/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Система файлов-конфигов тоже как бы устарела - слишком примитивно. Линуксу давно уже надо было подумать о центральном реестре. Да, как у винды, что с того? Зато это универсальнее и переносимее.
     
     
  • 2.9, Игорь Фролов (?), 12:42, 01/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Может оно и хорошо бы было, но глядя на виндовый реестр заметны некоторые проблемы:
    1. Иногда реестр погибает, а поскольку формат бинарный и точно в его устройстве никто кроме как "разработчик" не уверен, восстановить его практически нереально (то что его необходимо бэкапить - это и коню понятно, только делают это далеко не все)
    2. При эксплуатации реестр забивается различным информационным хламом, толково очистить от которого не в состоянии ни один "чистильщик реестра".
    Я бы не хотел уходить от текстовых настроек
     
     
  • 3.10, Вова (?), 13:28, 01/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    я вообще не вижу проблемы в файликах в хомесе ~/.*, на домашней эвм $HOME прожил 8 лет, ничего не было утеряно, проблем не замечал, на рабочем месте 4ре года -полёт нормальный.
     
  • 2.11, Hate (ok), 20:08, 01/04/2010 [^] [^^] [^^^] [ответить]  
  • +/

    >Система файлов-конфигов тоже как бы устарела - слишком примитивно. Линуксу давно уже

    Согласен.


    >надо было подумать о центральном реестре. Да, как у винды, что
    >с того? Зато это универсальнее и переносимее.

    Реестр это утопия.

    Не понимает это только ленивый. :)

     
  • 2.12, rm_ (ok), 08:21, 02/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Система файлов-конфигов тоже как бы устарела - слишком примитивно.

    Колесо тоже как бы устарело - слишком примитивно.

     
  • 2.14, Kroz (??), 14:45, 06/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Система файлов-конфигов тоже как бы устарела - слишком примитивно. Линуксу давно уже надо было подумать о центральном реестре. Да, как у винды, что с того? Зато это универсальнее и переносимее.

    Можно пример того, как вы реестр перенесете реестр (в одном бинарном файле!) на другой тазик? Винда сама использует текстовые файлы для переноса кусков реестра в другое место. Получается два формата конфигурационных файлов вместо одного. Зачем?

    Универсальностью и не пахнет. То есть мне нужен будет специальный костыль, чтобы открывать файлы конфигурации? Бррр. ИМХО F3/F4 в mc, cat, less, vi, kwrite, grep, sed (дальше перечислять не нужно?) намного универсальней.

    <ИМХО> Система конфигурации в отдельных файлах в текстовом виде - гениальное изобретение Unix. Такое же, как архитектура клиент-сервер для большинства прог, единая root filesystem, простых и эфективных аттрибутов, /proc и /dev файловых систем, максимальная модульность и т. д. Что нужно конфигурационным файлам, так это унификация синтаксиса. Например вида "[section]\n parameter=value" или "#!/bin/sh\n variable=value" или уже XML (хотя XML немного страшноват для этого). Но это не критично. </ИМХО)

     

  • 1.13, pika (?), 12:32, 06/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    цитата1
    "Перемещение всех пользовательских файлов конфигурации в отдельную директорию"

    цитата2
    "Пример использования, в ~/.bashrc, ~/.zshrc или ~/.xsession добавляем:"

    Ну и что это за перенос ВСЕХ файлов, если мне нужно полюбом .bashrc оставить в стандартном месте ?

    Не страдайте фигней..

     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру