Куда я должен поместить только что собранное программное обеспечение? [закрыто]

Меня давно интересует вопрос установки программ в Linux (Ubuntu). Поскольку я привык к Windows OS, все программы устанавливаются с помощью своего рода "мастера", обычно мне не нужно ничего настраивать, просто нажать "next" и все, но в мире Linux, есть много программ, которые должны быть собраны путем запуска некоторых commend, как правило, куча .c файлов. Даже я знаю структуру файловой системы Linux, но я все еще не до конца понимаю, куда должен попасть каждый файл после сборки, например, некоторые программы имеют исполняемые файлы и файл конфигурации, эти два файла должны быть расположены раздельно. И иногда, чтобы сделать исполняемый файл доступным для поиска, я не могу просто поместить все в свою пользовательскую папку. Я чувствую, что должна существовать конвенция для установки программного обеспечения в Linux box (особенно для тех, которые должны быть собраны из commend). Итак, есть ли такая конвенция? Как сделать мои файлы установленных программ хорошо организованными, чтобы они не разваливались на части.

-1
задан 20 June 2012 в 23:45

1 ответ

Все программное обеспечение, написанное на таких языках, как C, C ++, Java, C # и т. Д., Должно быть скомпилировано. Используете ли вы Windows, OS X, Android, iOS, Ubuntu или любой другой дистрибутив GNU / Linux, это одинаково верно. Он не имеет ничего общего с Linux, за исключением того, что люди чаще распространяют исходный код в Linux. В Windows вам обычно разрешено запускать программу, и вы никогда не получите файлы .c, что объясняет, что программа на самом деле делает с вашей системой.

Если вы получаете только исходный код, то это верный признак того, что программное обеспечение является либо исключительно специализированным, либо что оно предназначено для использования не обычными пользователями, а для разработчиков. В противном случае вы получите файл .deb для двойного щелчка. Для этого вам не нужны никакие мастера, кроме случаев, когда разработчики нуждаются в вашей настройке, и в этом случае они будут отображать диалоги.

В любом случае исходный пакет должен иметь скрипт сборки, который поместит все готовые файлы на свои места. Это действительно довольно просто. Сначала вы запустите программу для адаптации программного обеспечения к вашей системе. Затем вы скомпилируете программное обеспечение и затем установите его. Это все автоматически. Старый способ сделать это - запустить что-то вроде ./configure; make && sudo make install, но это установит приложение вне системы пакетов, что является плохой вещью, потому что его нельзя будет удалить с помощью обычных инструментов, и это может конфликтовать с другими программное обеспечение, которое вы устанавливаете. Таким образом, вместо этого вы будете использовать checkinstall, чтобы сначала создать пакет, а затем установить этот пакет.

Итак, вот как обычно будет выглядеть этот процесс:

./configure
make
sudo checkinstall

Если вы не хотите устанавливать программное обеспечение в обычных местах, тогда вы можете использовать ./configure --PREFIX=/some/directory ( обычно / opt) вместо.

Эта страница содержит подробную информацию с реальными примерами: https://help.ubuntu.com/community/CompilingSoftware

0
ответ дан 20 June 2012 в 23:45

Другие вопросы по тегам:

Похожие вопросы: