@yourisus

Возможно ли собрать пакет из исходников?

Ответьте пожалуйста на ряд интересующим меня вопросов:
1) Все пакеты программ, которые нужны системе находятся в главных директориях
/bin /sbin
?
2) Все пакеты программ, которые никоим образом не влияют на функционирование системы устанавливаются в папку
/usr (/sbin, /bin)
?
3) Какую роль играет директория
/var
? Пользуются ли ей все программы: системные и пользовательские?
4) Как организовать программу и понять, что отнести в папку
/bin | /lib | /share | /local/
?
5) Возможно ли собрать пакет из исходников, если нету никаких файлов "makefile", а лежат голый директории с файлами? В архиве\гитхабе.
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!
1.
/bin /sbin
Насколько я помню, там лежат программы необходимые, для того, что бы система загрузилась и нормально функционировала.

2. Пропущу этот пункт, т.к. ответ и "да" и "нет", довольно сложно сказать "глобально". Но в большей степени Вы правы.

3. Там хранятся постоянно изменяющиеся файлы, например, базы данных. Сокращение от слово "variable". Но это всё так же формальности, не редко эти же данные могут храниться в абсолютно неожиданно месте. В т.ч. там могут храниться виртуальные машины например, степень "изменяемости" которых, определить довольно сложно. И т.д.

? Пользуются ли ей все программы: системные и пользовательские?

Все - нет, некоторые - определённо пользуются.

4) Как организовать программу и понять, что отнести в папку /bin | /lib | /share | /local/

/bin - мы уже обсуждали выше, скорее всего, туда вносить ничего не нужно.
/lib - там хранятся "разделяемые библиотеки", аля .DLL в виндовсе, причем, там хранятся библиотеки которые уже предоставляет система, по этому, в Вашем случае, туда скорее всего вносить ничего не нужно.
/share - разделяемые документы/файлы/etc., например, обои по умолчанию, доступные всем пользователям.
/local и /usr/local - там могут быть как просто программы, не входящие в состав дистрибутива, так и целая файловая система, в т.ч. свой /bin /var и так далее. Когда Вы собираете программу из исходного кода, обычно она заселяется именно туда.

5) Возможно ли собрать пакет из исходников, если нету никаких файлов "makefile", а лежат голый директории с файлами? В архиве\гитхабе.

Возможно конечно. Что бы этому процессу на Ваш взгляд могло помешать?

P.S. Файловая система линуксе, хоть и стандартизирована, но стандарт действует на уровне "рекомендации", и не редко, можно встретить довольно ощутимые различия в логике примерно всего, от именования пакетов до того, как и куда эти пакеты устанавливаются, и какие каталоги используют. Более того, как я уже писал выше, не редко, программы собираемые из исходного кода, создают/используют свою файловую систему в /usr/local.

Стандарт FHS - рекомендую Вам с ним ознакомиться, но опять таки, не забывайте, что мало какие дистрибутивы и тем более производители ПО/пакетов для этих дистрибутивов, придерживаются этих правил на 100%.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
sim3x
@sim3x
5) Возможно ли собрать пакет из исходников, если нету никаких файлов "makefile", а лежат голый директории с файлами? В архиве\гитхабе.
нет, нужпо писать мейк файл
Другой вопрос, что пакеты deb-src имеют мейк файлы
Ответ написан
Комментировать
kale
@kale
1. man hier
2. Если ОЧЕНЬ надо, то можно. НО геморр..
Ответ написан
Комментировать
qlkvg
@qlkvg
python backend developer
В доролнение к вышесказанному, если хотите подробнее узнать про FHS, посмотрите лекцию Курячего - https://m.youtube.com/watch?v=_NYkCj6_Nro. Рассказывает очень понятно и подробно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы