Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, Grienders, Вы писали:
G>>Например, скачал какую-нибудь inellij Idea в tar.gz. Куда ее распаковывать? Сколько людей, столько и мнений.
vsb>$HOME/apps
ты не поверишь, но прежде чем я прочитал это, я уже создал такую папку и установил туда. хотя, до этого нигде в интернете такой совет никто не давал.
почему не в opt или usr/share или куда-то еще?
Re[3]: Куда вы обычно устанавливаете (распаковыете) проги на
Здравствуйте, Grienders, Вы писали:
vsb>>Здравствуйте, Grienders, Вы писали:
G>>>Например, скачал какую-нибудь inellij Idea в tar.gz. Куда ее распаковывать? Сколько людей, столько и мнений.
vsb>>$HOME/apps G>ты не поверишь, но прежде чем я прочитал это, я уже создал такую папку и установил туда. хотя, до этого нигде в интернете такой совет никто не давал.
G>почему не в opt или usr/share или куда-то еще?
Ну каких-то глубоких размышлений на этот повод у меня нет, просто это моя программа, к системе отношения не имеющая, пусть лежит в домашнем каталоге. Можно и в /opt поставить и права на запись забрать у юзера (правда наверное сломаются обновления), и на /home поставить noexec. В плане безопасности возможно это может быть полезно, но для программиста всё же неудобно. В /usr я бы не стал лезть, это уже "логически" часть системы, пусть там пакетный менеджер всем заправляет.
Как аргумент — обычно /home выносят на отдельный раздел и при переустановке системы по какой-то причине он остаётся нетронутым. Соответственно какое-то окружение уже будет готово для использования без лишних телодвижений.
Здравствуйте, Grienders, Вы писали:
G>почему не в opt или usr/share или куда-то еще?
Нефиг засорять систему всяким рукоблудием. В /opt и /usr пусть ставит менеджер пакетов
или make install. Распаковка архива однозначно в домашнюю папку.
Re: Куда вы обычно устанавливаете (распаковыете) проги на Linux?
Здравствуйте, Grienders, Вы писали:
G>Например, скачал какую-нибудь inellij Idea в tar.gz. Куда ее распаковывать? Сколько людей, столько и мнений.
В /opt создать папку с владельцем- твоим юзером (не рутом), или в home как ты уже сделал. Идея при первом старте предложит создать ярлыки- и создаст где надо. Почему папка с идеей должна иметь владельцем тебя- в идее установка плагинов и фича обновления нажал-и-забыл- не умеют sudo.
Re: Куда вы обычно устанавливаете (распаковыете) проги на Linux?
Здравствуйте, -n1l-, Вы писали:
N>Здравствуйте, Grienders, Вы писали:
G>>Например, скачал какую-нибудь inellij Idea в tar.gz. Куда ее распаковывать? Сколько людей, столько и мнений.
N>Либо в opt либо в usr/local
Если кто-то говорит, что надо в home и не надо в opt и usr, то обязательно будет тот, кто скажет, что надо именно в opt и usr.
Re: Куда вы обычно устанавливаете (распаковыете) проги на Linux?
Здравствуйте, Grienders, Вы писали:
G>Например, скачал какую-нибудь inellij Idea в tar.gz. Куда ее распаковывать? Сколько людей, столько и мнений.
у меня есть $HOME/root, в нём bin, var, etc и прочий usr. Ну и $HOME/root/bin в пути добавлен.
Удобно, например, делать chroot и запускать в такой вот песочнице, если вдруг надо.
Idea, собсно, у меня стоит в $HOME/root/var/lib/intellij-idea, а линк на исполняемый файл в $HOME/root/bin.
Re: Куда вы обычно устанавливаете (распаковыете) проги на Linux?
Я туда предпочитаю ставить, ибо православно. удалять может чаще всего только рут, под судо идеально как мне кажется.
Если диск разбит то чаще всего под программы выделяется целый раздел, с определенной файловой системой. А хомы всякие они для мувиков и других файлов.
Re: Куда вы обычно устанавливаете (распаковыете) проги на Linux?
Здравствуйте, Grienders, Вы писали:
G>Например, скачал какую-нибудь inellij Idea в tar.gz. Куда ее распаковывать? Сколько людей, столько и мнений.
Для чего смотря...
В ~/tmp распаковываю, пару раз запустить только если
В ~/soft ставлю, раз в пару месяцев приходится пользовать если
Потестировать же когда захочу как в систему мой софт раскладывается — в /usr/local make install делаю
А вот случается когда обнаружить софт, в пакетах отсутствующий, но нужный — тогда опакечиваю его я, и стандартными средствами вливаю.
лучше ты. а вдруг, софт твой нужно тебе поставить будет в /usr например, как тестировать будешь ты?
ибо согласно GNU style guide, или FHS допустим, sysconfdir в /etc должен будет установлен тогда, а localstatedir в /var в таком случае...
а еще бывает такое, что `make install` есть, а вот `make uninstall` нету (cmake based builds)... удалять потом руками грустно будет тебе...
поддерживать DESTDIR конечно же система сборки должна твоя...
Re[3]: Куда вы обычно устанавливаете (распаковыете) проги на Linux?
Здравствуйте, Grienders, Вы писали: N>>Либо в opt либо в usr/local G>Если кто-то говорит, что надо в home и не надо в opt и usr, то обязательно будет тот, кто скажет, что надо именно в opt и usr.
В /home пользователи и всё, что туда устанавливают будет уничтожено с их папками. С одной стороны это удобно, вычистить мусор за конкретным пользователем, с другой нет, так как программа одного пользователя может понадобится нескольким. Чтобы не устанавливать много раз одну и ту же программу нужную всем пользователям лучше использовать /opt и /usr/local.
Так же стоить отличать /usr и /usr/local, в последнем хранятся вручную скомпилированные и установленные программы. К примеру, исходник на C/C++ отправится прямиком в /usr/local/src, после компиляции и установки с помощью make install он отлично загадит /usr/local. А вот создав в /usr/local пакет можно уже инсталлировать его через менеджер пакетов в /usr.
Потому лично моё мнение с папкой /usr должен работать штатный менеджер пакетов, а /usr/local для опытов, когда при обновлении теряется иерархия зависимостей, и для создания полноценных пакетов. Во всяком случае согласен именно с этой статьёй:
Исторически каталог /usr предназначался для пользовательских программ и данных. Ныне эти функции распределены между каталогами /usr/local и /home (хотя и сейчас во FreeBSD по умолчанию последний представляет собой символическую ссылку на /usr/home). Каталог же /usr — не изменяемый, но разделяемый, — служит вместилищем основной части прикладных программ и всего, что к ним относится — исходных текстов, конфигурационных файлов, разделяемых библиотек, документации и тому подобного хозяйства.
Состав каталога /usr существенно различается в BSD-системах и в Linux. В первых в него помещаются только неотъемлемые части операционной системы (того, что во FreeBSD объединяется понятием Distributions). Приложения же, устанавливаемые из портов или пакетов, имеют место своей прописки подкаталог /usr/local, который может представлять отдельную ветвь файлового древа.
В Linux каталог /usr служит вместилищем всех программ (и их компонентов), штатно включенных в состав дистрибутива. А подкаталог /usr/local предназначается обычно для программ, самостоятельно собираемых из исходников.
Ветвь /usr/local
Как уже было сказано, ветвь /usr/local в Linux предназначена для самостоятельно собираемых из исходников (не входящих в данный дистрибутив) программ. А во FreeBSD она служит вместилищем большей части пользовательских приложений — почти всего того, что выходит за рамки Distributions и устанавливается из пакетов или портов. Соответственно этому, структура каталога в целом повторяет таковую ветви /usr (с понятными исключениями):
Ветвь /opt
Каталог /opt предусмотрен стандартом FHS, но реально используется не во всех дистрибутивах Linux, а в BSD-системах и вовсе отсутствует. Тем не менее, все больше программ пишется в рассчете на умолчальную инсталляцию именно в него.
Исторически каталог /opt предназначался в Linux для коммерческих приложений и всякого рода программ не вполне свободного характера. Ныне же его назначение — размещение больших самодостаточных программных комплексов, таких, как библиотека Qt, KDE со всеми его компонентами и приложениями, OpenOffice.org и тому подобных. Структура каталога должна быть такой: /opt/pkg_name.
А /opt можно использовать для программ в которых релиз менеджер не заморачивался с пакетами и просто запихнул все зависимые библиотеки, исполняемые файлы, данные, конфигурации и прочее в одну папку, и его не волновало дублирование или нечто подобное, старый стиль винды, когда работало то, что просто скопировал.
Что же касается Java, то чаще всего эти пакеты у меня оказываются в папке загрузок пользователя, и поскольку не требуют компиляции оттуда же запускаются, хотя по идее можно было бы засунуть их в папку /opt. Так было бы скорее всего правильнее, если использовать несколько компьютеров и переносить программы копированием или синхронизацией каталогов.