Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Где следует размещать файлы?  (Прочитано 1231 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Frankenstein2017

  • Автор темы
  • Участник
  • *
  • Сообщений: 222
  • Хатуль Мадан
    • Просмотр профиля
Где следует размещать файлы?
« : 22 Февраля 2011, 23:15:23 »
Пишу простую логическую игру. Цель - попробовать перейти с Delphi на Lazarus, а заодно написать хоть немного получше того, что есть в Ubuntu.
Пишу с возможностью компиляции под Linux/Windows. Возник такой вопрос - где "правильно" размещать файлы данных - звуки, уровни и т.д.? Как я это понимаю:
Звуки - /usr/share/sounds/%my_game_title%
Уровни и прочее - /var/lib/%my_game_title%/дальше_что_угодно
Сохранённые результаты - ~/.%my_game_title%
Я правильно определил?

P.S. Потестить дам в конце недели, основной функционал уже написан.
У б у н т а р и и   в с е х   с т р а н ,   о б ъ е д и н я й т е с ь !

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Где следует размещать файлы?
« Ответ #1 : 22 Февраля 2011, 23:17:46 »
>>Уровни и прочее - /var/lib/%my_game_title%/дальше_что_угодно
Может /usr/lib ?!
это как бы намекает. что в либ только либы, а в шаре все остальное.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Ghostdmn

  • Участник
  • *
  • Сообщений: 215
  • Linux Macht Frei
    • Просмотр профиля
Re: Где следует размещать файлы?
« Ответ #2 : 22 Февраля 2011, 23:18:17 »
Пишу простую логическую игру. Цель - попробовать перейти с Delphi на Lazarus, а заодно написать хоть немного получше того, что есть в Ubuntu.
Пишу с возможностью компиляции под Linux/Windows. Возник такой вопрос - где "правильно" размещать файлы данных - звуки, уровни и т.д.? Как я это понимаю:
Звуки - /usr/share/sounds/%my_game_title%
Уровни и прочее - /var/lib/%my_game_title%/дальше_что_угодно
Сохранённые результаты - ~/.%my_game_title%
Я правильно определил?

P.S. Потестить дам в конце недели, основной функционал уже написан.
Не лучше в локали все размещать? А то ставить придется от рута.

Оффлайн Frankenstein2017

  • Автор темы
  • Участник
  • *
  • Сообщений: 222
  • Хатуль Мадан
    • Просмотр профиля
Re: Где следует размещать файлы?
« Ответ #3 : 22 Февраля 2011, 23:35:34 »
RazrFalcon, так я и спрашиваю потому, что не уверен. Хотя, Music Player Daemon по умолчанию свои списки воспроизведения размещает именно в /var/lib/mpd/playlists.
Хотя задумался над вариантом /usr/share/%my_game_title%/levels, /usr/share/%my_game_title%/sounds и т.д. Это нормально?
Ghostdmn, можно уточнить, что имеется в виду?
У б у н т а р и и   в с е х   с т р а н ,   о б ъ е д и н я й т е с ь !

Оффлайн Ghostdmn

  • Участник
  • *
  • Сообщений: 215
  • Linux Macht Frei
    • Просмотр профиля
Re: Где следует размещать файлы?
« Ответ #4 : 22 Февраля 2011, 23:40:12 »
Я имею в виду, что установку по возможности сделать в указанной конечным пользователем директории (чего часто нехватает), а либы в зависимости выставить. Ну, с другой стороны, это дело и право создателя.

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Где следует размещать файлы?
« Ответ #5 : 22 Февраля 2011, 23:42:49 »
Хотя задумался над вариантом /usr/share/%my_game_title%/levels, /usr/share/%my_game_title%/sounds и т.д. Это нормально?
/usr/share/%my_game_title% - а тут уже устраиваем свою файло-помойку.  ;)
Ну и на всякий случай: http://www.linuxcenter.ru/lib/books/kostromin/gl_04_03.phtml
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Frankenstein2017

  • Автор темы
  • Участник
  • *
  • Сообщений: 222
  • Хатуль Мадан
    • Просмотр профиля
Re: Где следует размещать файлы?
« Ответ #6 : 22 Февраля 2011, 23:46:48 »
Я имею в виду, что установку по возможности сделать в указанной конечным пользователем директории (чего часто нехватает), а либы в зависимости выставить. Ну, с другой стороны, это дело и право создателя.
В данном случае нету смысла. Файлы настроек, результаты и т.д. будут сохраняться в профиль пользователя.
/usr/share/%my_game_title% - а тут уже устраиваем свою файло-помойку.  ;)
Ну и на всякий случай: http://www.linuxcenter.ru/lib/books/kostromin/gl_04_03.phtml
Значит, я правильно понял. А за ссылку огромное спасибо.
У б у н т а р и и   в с е х   с т р а н ,   о б ъ е д и н я й т е с ь !

gengzu

  • Гость
Re: Где следует размещать файлы?
« Ответ #7 : 23 Февраля 2011, 01:08:54 »
лучше всего рядом с приложением в папке пользователя, если других прав нет.
решит вопрос удаления. грохнул папку и делов. а не вытравливать по 100500 папок по всей системе.

Оффлайн Frankenstein2017

  • Автор темы
  • Участник
  • *
  • Сообщений: 222
  • Хатуль Мадан
    • Просмотр профиля
Re: Где следует размещать файлы?
« Ответ #8 : 23 Февраля 2011, 01:36:23 »
лучше всего рядом с приложением в папке пользователя, если других прав нет.
решит вопрос удаления. грохнул папку и делов. а не вытравливать по 100500 папок по всей системе.
И каждый пользователь ставит в свою локальную папку? А зачем несколько экземпляров, если можно одним обойтись?
У б у н т а р и и   в с е х   с т р а н ,   о б ъ е д и н я й т е с ь !

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Где следует размещать файлы?
« Ответ #9 : 23 Февраля 2011, 10:58:14 »
Наверное дополню своими словами, то что по вышеприведённой ссылке про иерархию было. Некоторые моменты там не были учтены.

/etc - системные конфигурационные файлы
/usr - вторичная иерархия, для прикладных задач.
   /usr/bin - для исполняемых бинарников
   /usr/sbin - для исполняемых бинарников администрирования системы.
   /usr/share - платформонезависимые ресурсы
   /usr/lib - разделяемые бинарные библиотеки
/var - для частоизменяемых данных
   /var/lib - сюда демоны обычно складывают рабочие данные (базы данных и т.п.)
   /var/run - сюда складываются артефакты для межпроцессного взаимодействия (сокеты, pid'ы)
/usr/local (и порой /opt)  - третичная иерархия, для локальных программ. На практике, обычно помоится тем, что неподвластно пакетным менеджерам.

т.е. по сути получается, что всё, кроме /var и /home вообще может быть read-only.

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

Оффлайн Frankenstein2017

  • Автор темы
  • Участник
  • *
  • Сообщений: 222
  • Хатуль Мадан
    • Просмотр профиля
Re: Где следует размещать файлы?
« Ответ #10 : 23 Февраля 2011, 11:19:55 »
Наверное дополню своими словами, то что по вышеприведённой ссылке про иерархию было. Некоторые моменты там не были учтены.

...
Спасибо. Это бы в wiki или ещё куда вынести, пригодится не только мне. Информация полезная.
У б у н т а р и и   в с е х   с т р а н ,   о б ъ е д и н я й т е с ь !

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Где следует размещать файлы?
« Ответ #11 : 23 Февраля 2011, 11:37:14 »
Сохранённые результаты - ~/.%my_game_title%

$XDG_DATA_HOME defines the base directory relative to which user specific data files should be stored. If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share should be used.

$XDG_CONFIG_HOME defines the base directory relative to which user specific configuration files should be stored. If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used.

$XDG_CACHE_HOME defines the base directory relative to which user specific non-essential data files should be stored. If $XDG_CACHE_HOME is either not set or empty, a default equal to $HOME/.cache should be used.

Зачем всё это нужно?
Чтобы не загаживать $HOME.

Как это может пригодиться?
rsync $HOME --exclude $USER/.cache ...

Lifewalker

  • Гость
Re: Где следует размещать файлы?
« Ответ #12 : 23 Февраля 2011, 12:30:38 »
RazrFalcon, так я и спрашиваю потому, что не уверен. Хотя, Music Player Daemon по умолчанию свои списки воспроизведения размещает именно в /var/lib/mpd/playlists.

Давайте для начала определимся таки что же и куда. /usr — оно для неизменяемых данных, контролируемых менеджером пакетов и доступных на запись от рута, /var  — оно для данных программ системного уровня типа СУБД или прочего. Остальные даные — документы и прочее в том числе списки воспроизведения конкретного пользователя логично размещать в соответствующем каталоге внутри /home.

Кажется так гласит дзен, разве нет?

Оффлайн Frankenstein2017

  • Автор темы
  • Участник
  • *
  • Сообщений: 222
  • Хатуль Мадан
    • Просмотр профиля
Re: Где следует размещать файлы?
« Ответ #13 : 23 Февраля 2011, 12:49:40 »
Кажется так гласит дзен, разве нет?
А можно ссылку на дзен?
А вообще, решил так:
/usr/bin/ - исполняемый файл (он будет один);
/usr/share/%my_game_title%/ - данные игры для всех пользователей (уровни, звуки и т.д.);
~/.%my_game_title%/ - данные пользователя (результаты, в будущем сохранённые сеансы и т.д.).
У б у н т а р и и   в с е х   с т р а н ,   о б ъ е д и н я й т е с ь !

Оффлайн maximum2000

  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: Где следует размещать файлы?
« Ответ #14 : 23 Февраля 2011, 12:59:32 »
Кажется так гласит дзен, разве нет?
А можно ссылку на дзен?
А вообще, решил так:
/usr/bin/ - исполняемый файл (он будет один);
/usr/share/%my_game_title%/ - данные игры для всех пользователей (уровни, звуки и т.д.);
~/.%my_game_title%/ - данные пользователя (результаты, в будущем сохранённые сеансы и т.д.).

Я именно так и делаю для своих программ..... вроде правильно....

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.