Структура каталогов. (Наилучший способ размещения программ.)

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Лучшая структура каталогов.
Какой способ размещения программ Вы считаете правильным?

Без разницы, главное чтобы программы работали
7
9%
Способ Линукса
63
80%
Способ Windows
5
6%
Способ Макоси
4
5%
 
Всего голосов: 79

Что Вы думаете о проекте GoboLinux и им подобных?

Это полезное дело. GoboLinux помогает пользователям Windows легко адаптироваться в новой для них среде
3
4%
Это есть садо-мазо
38
48%
Не знаю
38
48%
 
Всего голосов: 79

Iskan Der
Сообщения: 270

Re: Структура каталогов.

Сообщение Iskan Der »

drBatty писал(а):
02.06.2009 21:43
Гениальность Linux'а в том, что мы можем взять, и сменить всем нашим собакам хвосты, или кастрировать всех котов(с возможностью UNDO для некоторых), а вот в другой ОС мы это всё будем делать по отдельности.

Наша пісня гарна, нова, починаєм її знову :)
Тут я снова риторически вопрошу, как же мне быть, если я не желаю каждый раз устраивать геноцид собачьим хвостам и кошачьим причиндалам? Или полумеры - не наш стиль, резать так резать :)
А вообще, если подумать, то обновление винды или макоси путем установки сервис-пака/апдейта так или иначе затрагивает установленное ПО, если обновляются библиотеки, состовлящие системный АПИ. Так что всеобщая вивисекция и в этих системах вполне реализуема, только проходит обычно с меньшими потерями.

drBatty писал(а):
02.06.2009 21:43
И вот ещё что:
И в Windows и в Linux файлы хранятся вовсе не в папке, а в разделе. Папки - всего-лишь списки, в которых написано, где и что лежит. Потому спорите вы несколько не о том... Для юзера абсолютно всё равно, как именно проиндексированна программа.

"Суха, мой друг, теория везде, а древо жизни пышно зеленеет". Было бы все равно, никто бы и не спорил :)
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Структура каталогов.

Сообщение Bluetooth »

Iskan Der писал(а):
02.06.2009 22:50
А вообще, если подумать, то обновление винды или макоси путем установки сервис-пака/апдейта так или иначе затрагивает установленное ПО, если обновляются библиотеки, состовлящие системный АПИ. Так что всеобщая вивисекция и в этих системах вполне реализуема, только проходит обычно с меньшими потерями.

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

Быть может, это не так. я просто предположил :)
И хотелось бы ваши комментарии на этот счет услышать. Для поддержания накала, так сказать :)
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Структура каталогов.

Сообщение drBatty »

Iskan Der писал(а):
02.06.2009 22:50
Было бы все равно, никто бы и не спорил

а по делу можете что-то сказать?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
altwazar
Сообщения: 427
Статус: Zz
ОС: Calculate

Re: Структура каталогов.

Сообщение altwazar »

Если за тебя все ставит менеджер пакетов, то какая разница :)
Когда сам что то делаешь, то можешь пихать как угодно.
Спасибо сказали:
VladimirP
Сообщения: 164

Re: Структура каталогов.

Сообщение VladimirP »

Iskan Der писал(а):
02.06.2009 18:37
Может хоть вы объясните внятно, в чем эта гениальность состоит?

Смотри. Есть у тебя программный пакет, причём достаточно большой. Он состоит из исполняемых бинарных файлов (по размеру довольно мелких), разных важных данных (картинки, настройки по-умолчанию, еще куча данных), он в процессе работы образует логи, которые могут быть полезны в течение долгого времени и генерирует временные файлы, которые между запусками ему не нужны.
Каждому понятно, что программные файлы запускаются, но не изменяются (кроме как во время обновления по команде админа); логи и прочие продукты жизнедеятельности пакета постоянно изменяются, но запускать на выполнение нечего; временные файлы можно удалять во время перезагрузки системы.

Структура каталогов Unix даёт возможность удобно разбить диски на разделы. Каталог с программами /usr можно смонтировать без права записи (запись разрешать только перед обновлением и сразу после обновления обратно запрещать). Данные для работы программы одинаковы для любой архитектуры, и если у нас есть и x86-е, и RISC-машины, мы можем держать только одну копию этих данных где-то на сервере и подключать ко всем машинам через NFS.
Каталог с логами можно монтировать с правом на запись, но запретить запуск. Добьемся вот чего: если из-за уязвимости сформируется опасный файл и будет попытка его запуска, эта попытка провалится: права на запуск нет (не на уровне прав на файл, а на весь дисковый раздел). Каталог /tmp очищается при загрузке системы, и ненужные временные файлы не плодятся и не засоряют диск.
Причем для каждого раздела можно подобрать свою файловую систему. Одни файловые системы хорошо работают с мелкими файлами, другие с огромными; для редко изменяемымх файлов не нужна транзакционная файловая система, для часто изменяемых, наоборот, нужна.

Если бы программа устанавливалась целиком в отдельный свой каталог, то никаких вышеперечисленных удобств мы бы сделать не смогли.
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Структура каталогов.

Сообщение Iskan Der »

Bluetooth писал(а):
03.06.2009 00:01
тут вот решил идейку вам подкинуть: А вы часто обновляли винду полностью? пару раз, небось, за всю жизнь? а сколько раз вы убунту обновляли, со своей маниакальной идеей держать все время самые новые пакеты? Быть может, если бы вы так же делали в любой другой системе, отваливалось бы не хуже, но вы такого не делали, потому, что это нереально?

Не потому что нереально, а потому что не нужно.
Убунту я не от хорошей жизни обновлял, мне хотелось лишь несколько приложений проапгрейдить, ну и бонусом на КДЕ 4й поглазеть. Увы, отдельно ото всех они обновляться не хотели, подключать левые репозитории с более новыми версиями - чревато боком, как неоднократно утверждал уважаемый Olegator, вот и пришлось.
А винду, как уже говорил, да и макось да, обновлял, без потерь (тьфу-тьфу-тьфу) :)

VladimirP писал(а):
03.06.2009 07:25
Смотри...

Говоря про установку в одну папку, я имел в виду именно установку, а не хранение там же всего и вся, связанного с программой.
В винде и макоси никоим образом не запрещено хранить данные и юзер-специфичные настройки в отдельных, специально предназначенных для этого каталогах. В сущности, такой подход даже поощряется. Для временных файлов средства есть, работают аналогично /tmp. Раздавать различные права на вышеперечисленные папки тоже никто не запрещает.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Структура каталогов.

Сообщение Bluetooth »

Не потому что нереально, а потому что не нужно.
Убунту я не от хорошей жизни обновлял, мне хотелось лишь несколько приложений проапгрейдить, ну и бонусом на КДЕ 4й поглазеть. Увы, отдельно ото всех они обновляться не хотели, подключать левые репозитории с более новыми версиями - чревато боком, как неоднократно утверждал уважаемый Olegator, вот и пришлось.
А винду, как уже говорил, да и макось да, обновлял, без потерь (тьфу-тьфу-тьфу) smile.gif

В линуксе это нужно не более, чем где-бы то ни было. Конечно, может убунта - она такая ,но я сильно сомневаюсь :)
А если бы вы линукс обновляли так же, как макос или винду, то потерь бы тоже не было. неоткуда было бы им взяться :)
Спасибо сказали:
VladimirP
Сообщения: 164

Re: Структура каталогов.

Сообщение VladimirP »

Iskan Der писал(а):
03.06.2009 08:44
Убунту я не от хорошей жизни обновлял, мне хотелось лишь несколько приложений проапгрейдить, ну и бонусом на КДЕ 4й поглазеть. Увы, отдельно ото всех они обновляться не хотели

Снова уместно вспомнить пословицу про лицо и зеркало. Вместо нескольких программ обновлять всю Убунту тебе пришлось, потому что ты плохо изучил возможности APT. APT позволяет объявить репозитории для несколько версий, например, текущую и следующую. Основной установить текущую стабильную, чтобы все пакеты ставились оттуда. А для отдельно взятых пакетов указывать, что их брать из новой версии. Ознакомься с опцией "-t" для команды apt-get.
А ты вместо этого кинулся обновлять весь дистрибутив на бета-версию и, что закономерно, получил нестабильную систему.

Iskan Der писал(а):
03.06.2009 08:44
Говоря про установку в одну папку, я имел в виду именно установку, а не хранение там же всего и вся, связанного с программой.

В Unix так и есть: устанавливается в /usr/bin, библиотеки в /usr/lib. В винде тоже программы в Program_files, библиотеки в WINNT\system32 и Common_files, и тебя это не смущает. Логи в /var не устанавливаются, они там формируются в процессе работы.
Про возможность хранения не зависящих от процессорной архитектуры файлов (каталог /usr/share) в единственном месте в сети ты умолчал. Что естественно, т.к. твой принцип установки пакетов эту возможность убивает.

Iskan Der писал(а):
03.06.2009 08:44
Раздавать различные права на вышеперечисленные папки тоже никто не запрещает.

В таком виде -- нельзя, нет таких средств в Windows. Права в моем примере не на каталоги, а на дисковые разделы. Иными словами, даже если ты файлу выдашь право на исполнение, он запуститься не сможет, потому что весь дисковый раздел подключен без права исполнения чего бы то ни было на нём расположенного (ознакомься с опциями noexec, nodev у команды mount или файла fstab).
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Структура каталогов.

Сообщение Iskan Der »

VladimirP писал(а):
03.06.2009 09:30
Ознакомься с опцией "-t" для команды apt-get.

Спасибо, почитаю :)

VladimirP писал(а):
03.06.2009 09:30
В Unix так и есть: устанавливается в /usr/bin, библиотеки в /usr/lib. В винде тоже программы в Program_files, библиотеки в WINNT\system32 и Common_files, и тебя это не смущает.

Я про установку бинарников приложения в папку этого приложения говорил. А что до винды, то программу можно ставить и не в Program Files, криминала тут нет; в system32 и Common Files гадят лишь отдельные неуравновешенные особи, таких сейчас все меньше.

VladimirP писал(а):
03.06.2009 09:30
Про возможность хранения не зависящих от процессорной архитектуры файлов (каталог /usr/share) в единственном месте в сети ты умолчал.

Что-то не понял этого момента. А в винде сетевую шару создать нельзя?

VladimirP писал(а):
03.06.2009 09:30
В таком виде -- нельзя, нет таких средств в Windows. Права в моем примере не на каталоги, а на дисковые разделы. Иными словами, даже если ты файлу выдашь право на исполнение, он запуститься не сможет, потому что весь дисковый раздел подключен без права исполнения чего бы то ни было на нём расположенного

Насколько помню, запрещающие опции в винде имеют приоритет над разрешающими. Т.е. если я всему разделу явно запрещаю выполнение, то с него ничего никогда не запустится. Оно?
Спасибо сказали:
Olegator
Сообщения: 2493
ОС: SuseLinux 11.2 KDE 4.3

Re: Структура каталогов.

Сообщение Olegator »

Iskan Der писал(а):
03.06.2009 08:44
Увы, отдельно ото всех они обновляться не хотели, подключать левые репозитории с более новыми версиями - чревато боком, как неоднократно утверждал уважаемый Olegator, вот и пришлось.

По Вашим словам у меня какое-то ужасное впечатление про убунту складывается, такое ощущение что там только 2 репозитария - либо вышедшая версия, либо разрабатываемая и что бы посмотреть на kde4 нужно весь дистриб обновить до unstable, что-то мне подсказывает что это не так
Спасибо сказали:
mandrivauser
Сообщения: 285
ОС: Ubuntu 9.10

Re: Структура каталогов.

Сообщение mandrivauser »

Bluetooth писал(а):
03.06.2009 00:01
Iskan Der писал(а):
02.06.2009 22:50
А вообще, если подумать, то обновление винды или макоси путем установки сервис-пака/апдейта так или иначе затрагивает установленное ПО, если обновляются библиотеки, состовлящие системный АПИ. Так что всеобщая вивисекция и в этих системах вполне реализуема, только проходит обычно с меньшими потерями.

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

Быть может, это не так. я просто предположил :)
И хотелось бы ваши комментарии на этот счет услышать. Для поддержания накала, так сказать :)


Кстати да. Если обновить WinXP SP2 до WinXP SP3 - могут вылезти различные глюки...

Интересно, а есть-ли возможность обновления до висты и семерки? Если да, то как оно проходит? Никто не пробовал?

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

Что-то я об это даже не подумал... Спасибо, Камрад! :)
Спасибо сказали:
VladimirP
Сообщения: 164

Re: Структура каталогов.

Сообщение VladimirP »

Iskan Der писал(а):
03.06.2009 10:14
VladimirP писал(а):
03.06.2009 09:30
Про возможность хранения не зависящих от процессорной архитектуры файлов (каталог /usr/share) в единственном месте в сети ты умолчал.

Что-то не понял этого момента. А в винде сетевую шару создать нельзя?

На каждую программу придется делать отдельную шару. В Юниксе надо сделать только одну шару для всех расшариваемых данных всех программ.
Давай возьмем пример трех абстрактных программ: prog1, prog2, prog3, которые в винде ставят бинарники и дополнительные ресурсы, соотв., в Program files/prog1/bin, Program files/prog1/shared_data, Program files/prog2/bin, Program files/prog2/shared_data, Program files/prog2/bin, Program files/prog2/shared_data; а в Юниксе ставят в традициях Юникса.

В винде нам потребуются отдельные шары для prog1/shared_data, prog2/shared_data, prog2/shared_data, т.к. общего корня для расшариваемых данных в этой структуре каталогов нет. В юниксе мы подключим на /usr/share всего лишь один сетевой ресурс, а в нем уже будут подкаталоги prog1, prog2, prog3.

Iskan Der писал(а):
03.06.2009 10:14
Насколько помню, запрещающие опции в винде имеют приоритет над разрешающими. Т.е. если я всему разделу явно запрещаю выполнение, то с него ничего никогда не запустится. Оно?

Нет, не оно. Не силься найти аналогии. В винде такой возможности просто нет.
Это как если бы можно было диск D: иметь в системе то с такими правами, то с другими -- и при этом не менять ничего в правах на каталоги и файлы на этом диске.
Спасибо сказали:
ubuntoid
Сообщения: 29
ОС: ubuntu 9.04

Re: Структура каталогов.

Сообщение ubuntoid »

drBatty писал(а):
02.06.2009 21:43
Iskan Der писал(а):
02.06.2009 18:37
Может хоть вы объясните внятно, в чем эта гениальность состоит?

BURF писал(а):
02.06.2009 19:48
надо все разобрать на составные части и сложить похожие в одну коробку. вот например у кошки и собаки много схожих мест, зачем их держать в разных оболочках?)

Гениальность Linux'а в том, что мы можем взять, и сменить всем нашим собакам хвосты, или кастрировать всех котов(с возможностью UNDO для некоторых), а вот в другой ОС мы это всё будем делать по отдельности.


Спасибо Создатель, что ты не программист и делаеш цельные проекты!

p.s. лично у меня, за 3 года с покупки до модернизации компьютера, winXP ни разу не упала, не хватала вирусов и не требовала переустановки. При этом она обновлялась, и программы тоже.
Спасибо сказали:
Flaming
Сообщения: 2579

Re: Структура каталогов.

Сообщение Flaming »

После того, как я обновил winxp sp1 до sp2, она у меня просто не запускалась. ^_^
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Структура каталогов.

Сообщение Iskan Der »

VladimirP писал(а):
03.06.2009 11:21
В винде нам потребуются отдельные шары для prog1/shared_data, prog2/shared_data, prog2/shared_data, т.к. общего корня для расшариваемых данных в этой структуре каталогов нет. В юниксе мы подключим на /usr/share всего лишь один сетевой ресурс, а в нем уже будут подкаталоги prog1, prog2, prog3.

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

VladimirP писал(а):
03.06.2009 11:21
Нет, не оно. Не силься найти аналогии. В винде такой возможности просто нет.
Это как если бы можно было диск D: иметь в системе то с такими правами, то с другими -- и при этом не менять ничего в правах на каталоги и файлы на этом диске.

Ммм, ставлю для диска D: запрет на выполнение программ. Папкам и файлам ничего не меняю, они все равно эти разрешения унаследуют. После этого с диска D: уже ничего не выполнится. Я могу закинуть туда exe-шник со стороны, и все равно система не даст ему запуститься. Не могу понять, что же не так в этой схеме.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Структура каталогов.

Сообщение Bluetooth »

Давай возьмем пример трех абстрактных программ: prog1, prog2, prog3, которые в винде ставят бинарники и дополнительные ресурсы, соотв., в Program files/prog1/bin, Program files/prog1/shared_data, Program files/prog2/bin, Program files/prog2/shared_data, Program files/prog2/bin, Program files/prog2/shared_data;

НЕ забудьте еще прибавить прогу, которая ставится Program Files/razrabotchick/proga :)
Никакой системы. никакой логики :)
Тут, кстати получается что дистрибы Линукс просто обновляются чаще, в то время как одна и та же версия винды стоит годами, при том, учитывая кое-какие причины, автоматическое обновление почти у всех отключено.

Можно взять дистриб с долгим сроком поддержки, и не обновляться долго :)
А еще можно взять дебиан, люди, которым я верю, говорят, что проблем с обновлением там нет.
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Структура каталогов.

Сообщение Iskan Der »

Bluetooth писал(а):
03.06.2009 13:24
НЕ забудьте еще прибавить прогу, которая ставится Program Files/razrabotchick/proga :)
Никакой системы. никакой логики :)

90% прог при установке спросят, куда их ставить. Можно даже свою личную "систему" завести и соблюдать.
А FHS, она тоже не застрахована от бескультурного разработчика, который решит файло своего творения разместить в каком-нибудь удивительном месте. Прецеденты бывают, причем не так уж и редко.
Спасибо сказали:
Olegator
Сообщения: 2493
ОС: SuseLinux 11.2 KDE 4.3

Re: Структура каталогов.

Сообщение Olegator »

Iskan Der писал(а):
03.06.2009 13:39
А FHS, она тоже не застрахована от бескультурного разработчика

нет застрахована, в репозитарии такая прога не попадёт, например с Opensuse Build Service это не прокатит, в debian думаю тоже самое
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Структура каталогов.

Сообщение Bluetooth »

90% прог при установке спросят, куда их ставить. Можно даже свою личную "систему" завести и соблюдать.

Идиотизма системы это не отменяет. Кстати, и в FHS вы тож можете все пакеты собирать сами и ставить куда заблагорассудится :)
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Структура каталогов.

Сообщение Iskan Der »

Olegator писал(а):
03.06.2009 13:42
нет застрахована, в репозитарии такая прога не попадёт, например с Opensuse Build Service это не прокатит, в debian думаю тоже самое

Про Java в /lib и Apache в /var я вроде уже упоминал. Ментейнеры репозиториев тоже могут ошибиться или что-то проглядеть (и нередко такой возможностью пользуются). Про всякие third-party репозитории и вовсе говорить нечего, там может быть все, что угодно.

Bluetooth писал(а):
03.06.2009 13:45
Кстати, и в FHS вы тож можете все пакеты собирать сами и ставить куда заблагорассудится :)

Можно вообще весь софт себе самостоятельно писать и вручную раскладывать по фэн-шую. Увы, лично для меня установка софта - не столь увлекательное занятие, чтобы посвящать ему большую часть своей жизни :)
Спасибо сказали:
Olegator
Сообщения: 2493
ОС: SuseLinux 11.2 KDE 4.3

Re: Структура каталогов.

Сообщение Olegator »

Iskan Der писал(а):
03.06.2009 13:54
Ментейнеры репозиториев тоже могут ошибиться или что-то проглядеть (и нередко такой возможностью пользуются)

Вообще-то это всё происходит автоматически, и майнтейнеры в этом не учавствуют, контролируется это на уровне спек файлов, я думаю те, кто работал с OBS это подтвердят
Спасибо сказали:
Flaming
Сообщения: 2579

Re: Структура каталогов.

Сообщение Flaming »

Iskan Der писал(а):
03.06.2009 13:54
Можно вообще весь софт себе самостоятельно писать и вручную раскладывать по фэн-шую. Увы, лично для меня установка софта - не столь увлекательное занятие, чтобы посвящать ему большую часть своей жизни smile.gif

Тогда и не утверждайте подобное:
Iskan Der писал(а):
03.06.2009 13:39
90% прог при установке спросят, куда их ставить. Можно даже свою личную систему" завести и соблюдать.

Учитывая, что от этого получится помойка пострашнее. Ибо наверняка проги начнут конфликтовать друг с другом, если их все попытаться установить в C:\usr
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Структура каталогов.

Сообщение Iskan Der »

Flaming писал(а):
03.06.2009 14:17
Ибо наверняка проги начнут конфликтовать друг с другом, если их все попытаться установить в C:\usr

Ну если отвлечься от традиции валить все в одну кучу и ставить каждую прогу в отдельную папку внутри C:\usr, то проблем не будет ни одной. Соответствующая правка предлагаемого пути установки при инсталляции занимает ~1-5 секунд - не очень обременительно, даже при моей нелюбви к установке.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Структура каталогов.

Сообщение drBatty »

Iskan Der писал(а):
03.06.2009 14:30
Соответствующая правка предлагаемого пути установки при инсталляции занимает ~1-5 секунд - не очень обременительно, даже при моей нелюбви к установке.
но, зачем это надо? что это даёт? имитацию /usr? зачем?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
VladimirP
Сообщения: 164

Re: Структура каталогов.

Сообщение VladimirP »

Iskan Der писал(а):
03.06.2009 13:23
Если программе действительно нужно что-то хранить в расшаренных папках, то ее автор просто добавит соответствующую настройку.

1) А в Unix не нужно добавлять в программу такую функциональность. Эта возможность всегда есть на системном уровне.
2) Как быть, если не программе нужно хранить в расшаренных папках, а самому администратору захотелось хранить общие данные в одном экземпляре для всех систем? Для экономии ли места, для централизованного обновления или по любой другой причине.

Вообще, почитайте историю, как и почему появилась именно такая структура каталогов в Unix. Она там такая неспроста.
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Структура каталогов.

Сообщение Iskan Der »

VladimirP писал(а):
03.06.2009 15:28
1) А в Unix не нужно добавлять в программу такую функциональность. Эта возможность всегда есть на системном уровне.

Если я правильно понимаю, для расшаривания данных программа должна что-то писать в /usr/share, чего она может и не делать, если автор не счел это необходимым (или возможным). Все отличие от виндового приложения получается лишь в том, что в линуксе путь /usr/share/proga будет захардкоден, а в винде - взят из конфига (с точки зрения программиста - две лишние строчки кода).
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Структура каталогов.

Сообщение watashiwa_daredeska »

Iskan Der писал(а):
03.06.2009 16:49
для расшаривания данных программа должна что-то писать в /usr/share
Не писать, а читать. Писать туда запрещено.
Iskan Der писал(а):
03.06.2009 16:49
чего она может и не делать, если автор не счел это необходимым
Это примерно так же, как если бы программа для windows ставилась бы в C:\bin, C:\lib, C:\share и держала данные в C:\var. Т.е. возможно, конечно, но никто так не делает, потому что это неприлично.
Iskan Der писал(а):
03.06.2009 16:49
Все отличие от виндового приложения получается лишь в том, что в линуксе путь /usr/share/proga будет захардкоден, а в винде - взят из конфига (с точки зрения программиста - две лишние строчки кода).
Разница в том, что линуксовые приложения реально на практике используют статические данные в /usr/share/proga, а виндовые настройку пути в конфиге -- нет.
Спасибо сказали:
mandrivauser
Сообщения: 285
ОС: Ubuntu 9.10

Re: Структура каталогов.

Сообщение mandrivauser »

Еще, кстати плюс нашел:

Так вот казалось бы, размер приложения сейчас не важен. Однако, есть разница - выкачать из репозитория пару метров, или пару гектаров...
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Структура каталогов.

Сообщение Bluetooth »

Про Java в /lib и Apache в /var я вроде уже упоминал.

Так давайте вернемся к этому вопросу. Вам сказали, что на то есть объективные причины, на что Вы сказали, что сможете найти объективную причину для целесообразности приготовления яичницы на утюге. Я попросил Вас привести эти причины, чтобы потом сравнить с причинами апача в вар. Но Вы написали в ответ маловразумительное "ЧТД", и больше к этому не возвращались(я, кстати, заметил, что Вы таки мастерски обходите некоторые вопросы в ходе нашей дискуссии, я вижу, у Вас огромный опыт в этом деле)
Можно вообще весь софт себе самостоятельно писать и вручную раскладывать по фэн-шую. Увы, лично для меня установка софта - не столь увлекательное занятие, чтобы посвящать ему большую часть своей жизни smile.gif

Именно так. Потому-то возможность делать по-своему в винде(да и не только в винде, вообще везде) не отменяет идиотизма принятой системы.
но, зачем это надо? что это даёт? имитацию /usr? зачем?

Ничего не дает. Идея ни о чем :)
Спасибо сказали:
Аватара пользователя
InterChaynik
Сообщения: 345
ОС: Windows/Linux

Re: Структура каталогов.

Сообщение InterChaynik »

Проголосовал "Без разницы, главное чтобы программы работали" и "Не знаю".
Vexhin писал(а):
28.05.2009 16:35
Опрос навеян обсуждением в этой теме.

Там lukomore написал:
lukomore писал(а):
22.05.2009 16:04
а нафиг мне вообще знать где корень? я знаю что программы все устанавливаютца в ProgramFiles, каждая в свою папку со ВСЕМИ файлами этой программы, а не разборсана по ВСЕМУ харду, что фиг найдешь потом. Конфиг в одном месте, экзешник в другом, хэлп в третьем и т.д.

с чем я не согласен: в Виндовс только кажется, что все программы ложатся в одно место, а на самом деле они могут раскинуть корни по всей системе. И их, уже как сор, не лучшим образом сказывающийся на производительности системы, приходиться, после удаления самой программы, "выщипывать" вручную.
mandrivauser писал(а):
29.05.2009 18:55
Минус, однако, у структуры каталогов Линукса есть - зависимости. Бездумно устанавливая одни приложения, можно легко повредить работе других.
Вот в этом направлении, считаю, стоит поработать. Допустим, если вновьустанавливаемое приложение требует обновленныю библиотеку Х, которую может использовать и другое приложение, но которое с обновленной библиотекой Х корректно работать не будет (а может быть и вообще работать не будет) - то было бы неплохо, чтобы старая библиотека никуда не девалась, а дополнительно загружалась и её обновленная версия.
Конечно, тут есть риск "захламления" системы - но это лучше, чем когда после установки обновлений отдельные компоненты перестают работать.

ubuntoid писал(а):
30.05.2009 09:56
Сейчас диски большие, я бы хотел чтоб установка программы была распаковкой архива и все нужное в нем, пусть сто раз продублируются некоторые библиотеки, зато никаких зависимостей, и гарантированная работа программы. Удалил папку и нет программы, как и небыло никогда.
Какая будет структура каталогов не важно.

Полностью согласен.
drBatty писал(а):
02.06.2009 21:43
Гениальность Linux'а в том, что мы можем взять, и сменить всем нашим собакам хвосты, или кастрировать всех котов(с возможностью UNDO для некоторых), а вот в другой ОС мы это всё будем делать по отдельности.

Тревожит слово "всем" - я так понимаю, что вот установишь одну какую-нибудь новую программу с бракованными библиотеками, которая предложит заменить уже существующие бибиотеки на свои, и "полетят" тогда ВСЕ ваши программы, данные библиотеки использующие...Если наступит время, когда Линуксы станут действительно распространённой системой и под них начнут писать все кому не лень, думаю, такая проблема редкостью не будет. А лекарством от неё как раз и станет вариант "всё в себе" со своими собственными инсталяторами и библиотеками. А места на современных ХДД, надеюсь, хватит.
Не, ну если не так - буду рад это услышать + хорошо если заодно объясните что да как.
На мой взгляд хорошо бы было, если б некоторые заведомо нужные библиотеки (так и есть, но я про то, чтоб расширить практику) изначально имелись в самом дистрибутиве, но был бы предусмотрен и вариант, когда программа "кучковалась" бы со всеми своими (своими, а не из "общего котла") причиндалами всё-таки в одном месте, но однако ж с выводом своих продуктов жизнедеятельности (кэш, временные файлы, swap, подкачки ради, и пр.) в отдельные места, а лучше на отдельный раздел, а не как в Окнах, когда прога при работе мусорит и "раздувается" не где-то там, а прямо тут.
Линукс люблю, но Гейтса уважаю.
Спасибо сказали: