Установка программ

Аватар пользователя Ilya

https://asplinux.net/node/14
На этой странице нашел руководство по устаноке программ.
Скажите, как программу установить из исходных кодов? Или в данном руководстве как раз говорится об установке из исходников (не считая rpm)?
Хотелось бы на примере.

Аватар пользователя Radik

Re: Установка программ

Слизано со статьи:

Цитата:
cd "путь и имя папки"

Как правило в каталоге находится скрипт configure который нужно запустить, и Makefile, которого может и не быть(в нашем случае), тогда его нужно создать.

./configure

Перед вами может появиться лицензионное соглашение, или иная информация с предложением продолжить или прервать установку (y/n ?)

После запуска ./configure происходит проверка системы, это может занять несколько минут, потом появляется сообщение о создании Makefilo-в и их директориях.
Теперь создаём пакет с помощю утилиты make (info make - справка).

make

При запуске утилита пытатся выстроить "цепочку" из Make файлов, происходит компиляция и сборка, это также может занять несколько минут (запуск make -n выведет в терминал комманды которые нужно выполнить, но при этом ничего выполняться не будет).

После компиляции и сборки что бы установить программу, надо дать команду

make install

Всё! Улыбка

Попробую расписать. Например у Вас есть архив tar.bz2. Обычно я использую графический архиватор File roller (вроде так пишется). Разорхивируем этот архив например в вашу домашнюю дирректорию /home/username/<имя разорхивированной папки>
Теперь запускаем терминал и указываем путь к нужной папке командой вида cd /home/username/<имя разорхивированной папки>
Далее вводим комманду su (если Вы не под root) и вводим пароль root.
Ну теперь по порядку вводим комманды
./configure
make
make install
Если все необходимы библиотеки установлены, то все должно пройти в нормальном режиме, то есть без ошибок.
Удачи!

Аватар пользователя DRVTiny

Re: Установка программ

Всё правильно, только su надо выполнять перед make install'ом Улыбка
Например, так:

./configure && make && su -c "make install"

Если на в ответ на ./configure Вы получаете "No such file or directory", попробуйте просто make && make install Есть ещё особо тяжёлый случай - программы, написанные на вездесущем Perl'е, но об этом как-нибудь в другой раз...
А вообще перед установкой любой программы рекомендую вкратце ознакомиться с файлом INSTALL:

less INSTALL
(выход по нажатию на q)
Аватар пользователя moisha

Re: Установка программ

Цитата:
Ilya пишет:
https://asplinux.net/node/14
На этой странице нашел руководство по устаноке программ.
Скажите, как программу установить из исходных кодов? Или в данном руководстве как раз говорится об установке из исходников (не считая rpm)?
Хотелось бы на примере.

А если что-то не идет, то проверьте установлены ли у Вас пакеты
gcc, make, glibc,glibc-devel, binutils, kernel source, libc :good:

Аватар пользователя matyuhin

Re: Установка программ

Пишу ./configure а в ответ bash: ./configure: Отказано в доступе - что может означать

Аватар пользователя Radik

Re: Установка программ

matyuhin писал(а):
Пишу ./configure а в ответ bash: ./configure: Отказано в доступе - что может означать

А Вы вводили комманду из-под root или обычного пользователя?

Аватар пользователя matyuhin

Re: Установка программ

Вводил из-под root

Аватар пользователя Radik

Re: Установка программ

Вы случайно не указываете на папку, которая находится на разделе виндовс, то есть на FAT32?
В статье есть строчки:

Цитата:
Перед установкой будет полезно узнать переменную PATH, в различных дистрибутивах она может отличаться. Для проверки наберите в терминале

echo $PATH

Примерно так это должно выглядеть:

[alex@localhost ~]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/home/alex/bin

Через двоеточия перечислены дирректории в которых возможен запуск приложения "по имени".
Обычно по умолчанию новый софт ставится в /usr/local/, /usr/local/bin/, а некоторые, как правило графические приложения в /usr/X11R6/, а для справочной информации - /usr/doc/.

Попробуте последовать совету...
Если не поможет, отпишитесь, будем ждать совета более опытных товарищей... :-?

Аватар пользователя matyuhin

Re: Установка программ

попробовал - не помогает

Аватар пользователя DRVTiny

Re: Установка программ

Цитата:
Пишу ./configure а в ответ bash: ./configure: Отказано в доступе - что может означать

1) ls -l ./configure и видим, что бит x ("бит исполняемости") нигде в маске вида -rw-rw-r-- не установлен
Пишем chmod u+x ./configure - проблема решается
2) смотрим /etc/fstab - для файловой системы, с которой Вы пытаетесь запускать configure, прописана опция noexec
В этом случае: убираем эту опцию, сохраняем файл, перезагружаемся
3) опять же - смотрим /etc/fstab и к своему неописуемому удивлению видим, что Вы, оказывается, пытаетесь запустить configure с файловой ситемы, которая вообще UNIX'овые маски прав доступа не поддерживает (NTFS, FAT32). В таком случае отказываемся от порочной практики распаковки исходников на Window'ые разделы.

Цитата:
А Вы вводили комманду из-под root или обычного пользователя?

rrraD, а почему Вы столь настойчиво убеждаете собирать программы из-под root? При установке из исходников права root нужны исключительно для make install, при чём лишь в том случае, если у обычного пользователя, под которым Вы осуществляете сборку, нет прав записи в каталог, указанный в опции --prefix скрипта ./configure (ка известно, по умолчанию, prefix=/usr/local, куда пользователи действительно писать ничего не могут). Например, для того, чтобы поставить программу в свой собственный домашний каталог $HOME/apps, никаких прав root'а не нужно просто по определению. Очень редко встречаются, правда тарболлы, создававшиеся как архивные копии с сохранением всех прав доступа, тогда при распаковке файлы из этих тарболлов оказываются принадлежащими несуществующему в системе пользователю, у которого нет имени, но зато есть некий загадочный uid, но в этом случае нужно во-первых просто взять и поменять uid/gid владельца всех файлов под root'ом: su -c "chown -R имя_пользователя.группа_пользователя каталог_с_распакованными исходниками", а во-вторых - не поленится написать коротенькое письмецо безответственному человеку, собравшему архив "с сюрпризом", в котором объяснить товарищу, в чём он неправ и вкратце описать те неудобства, которые Вам пришлось испытать из-за допущенной им ошибки.

Аватар пользователя Radik

Re: Установка программ

DRVTiny писал(а):
1) ls -l ./configure и видим, что бит x ("бит исполняемости") нигде в маске вида -rw-rw-r-- не установлен
Пишем chmod u+x ./configure - проблема решается
..................................................................................

Ну вот видите, matyuhin, опытные товарищи всегда рады помочь! :thanks:

Цитата:
rrraD, а почему Вы столь настойчиво убеждаете собирать программы из-под root?

Возможно не прав...
Просто по мне, так легче сразу ввести пароль root, дабы не отвлекаться на него потом...
Возможно моя позиция ошибочна. Если да, то прошу объяснить в чем опасность такого подхода...

Аватар пользователя DRVTiny

Re: Установка программ

Цитата:
Если да, то прошу объяснить в чем опасность такого подхода...

Не опасность, а неудобство: Вы не сможете под обычным пользователем нормально работать с теми файлами, которые у Вас создадутся в процессе ./configure && make, запущенного под root'ом. К тому же, получится, что в каталогах пользователя, под которым Вы работаете, у Вас после каждой сборки из исходников появляется всё больше и больше файлов, принадлежащих root'у, что само по себе - нонсенс.

Аватар пользователя Radik

Re: Установка программ

Спасибо, DRVTiny!!! :thanks: :thanks: :thanks:
Теперь понятно! Исправлюсь! ;-)

RSS-материал