Julia Dronova (administrator) Записей: 3144 |
Дорогие товарищи! Приводим общие понятие и принципы сборки программ из исходников, а также сборки RPM-пакетов. Материал по сборке пакетов конкретно в АльтЛинуксе будет добавлен чуть позже. Спасибо всем за внимание. Установка софта из исходников имеет некоторые положительные моменты, но и немало отрицательных. == Перед установкой ==
Прежде чем устанавливать софт из исходников, убедитесь, что подходящего пакета в вашем дистрибутиве нет. == Получение исходников ==
Закачиваем исходники. Здесь обычно есть два варианта: tar xvzf имя.архива.tar.gz * для архива '''.tar.bz2''':
tar xvjf имя.архива.tar.bz2
== Конфигурирование и компиляция (сборка) ==
Если инструкции требуют запуска скрипта с названием'' configure'' в качестве первого шага, сначала прогоняем ./configure --help и внимательно читаем, какие опции можно послать скрипту ''configure'' для правильного конфигурирования программы. ./configure == Установка ==
Если ''make'' прошел нормально, мы почти у цели. == Создание пакета ==
=== checkinstall === ./configure && make && make install эта утилита заменяет собой шаг make install, делая в принципе то же самое, но при этом регистрируя устанавливаемую программу в пакетной базе дистрибутива. checkinstall -R Построит и установит RPM пакет(для Fedora, Mandriva, SuSe, Alt, ASP...) checkinstall -D Создаст и установит DEB-пакет(для Debian, Ubuntu...) checkinstall -S Создаст и установит TGZ-пакет(для Slackware, Zenwalk, DeepStyle, Vektorlinux, Mops; в поставке дистра есть checkinstall, патченный самим make install prefix=/home/<userame>/foo/usr/local cd foo makepkg foo.tgz В результате получаем Слакварный пакет, который можно теперь установить программой installpkg. rpm -ivh имя_пакета.src.rpm В каталоге /usr/src/rpm/SOURCES должен появиться архив с исходниками нужной нам программы, а в каталоге /usr/src/rpm/SPECS - файл имя_программы.spec (это файл, описывающий правила сборки). (запускаем сборку программы) Вместо "архитектура_процессора" подставляем архитектуру процессора, под которую собираем пакет(в /usr/src/rpm/RPMS/архитектура_процессора_под_которую_собирался_пакет Переходим в эту директорию и оттуда делаем: rpm -ivh имя_программы.rpm Все, программа установлена. RPM RPM: руководство к использованию Упаковка программ с помощью RPM, часть 1: Создание и распространение пакетов |
Viktor Записей: 1327 |
Про cmake не хотите пояснить? |
Julia Dronova (administrator) Записей: 3144 |
Viktor писал(а): Про cmake не хотите пояснить? Сделаю, хорошо. Там ещё про Stow можно. |
Михаил Цалевич Записей: 1318 |
Один из специалистов, "участвующих" в АльтЛинуксе заявил (очень человек переживает!) : "У неё конкретный базовый набор дистрибутивов, а она общий текст постит. Ну не собирают в Alt пакеты от root. Причём у rpm там просто запрет, а она про /usr/src/rpm/ пишет. В ~/RPM всё по-умолчанию !" (С)С.Афонин Развейте сомнения , пожалуйста! |
Julia Dronova (administrator) Записей: 3144 |
Михаил Цалевич Сделаю конкретно и по Альтам, хорошо. Припишу сейчас сверху, что текст пока общего плана. ЗЫ -- рада, что материал привлёк внимание в любом случае, потому что вообще боялась наплыва критики а-ля "учителям это всё не нужно". :) |
Viktor Записей: 1327 |
А-ля "пошаговые инструкции как сделать всё, что угодно" для ALTLinux? Может быть лучше не надо? Посмотрел http://www.altlinux.org/Где_и_как_искать_программы и http://www.altlinux.org/СборкаПакетов. Стало страшно:). Большинство советов на alt-форумах сводятся к 1) Искать в репозитории программу или ее аналог 2) Разместить в списке рассылки просьбу собрать и поместить нужную программу в дистрибутив 3) Заплатить за сборку 4) Не доставать вопросами 5) Стать мейнтейнером PS Думаю все это будет не сильно способствовать появлению и использованию в ALTLinux (С)ПО сторонних разработчиков, например обучающих программ по предметам. Ведь многие делают *.run, а разработчики ALTLinux вряд ли будут создавать такой софт. > боялась наплыва критики а-ля "учителям это всё не нужно" |
testuser Записей: 990 |
Пугать народ не надо. По опыту, в любом RPM-дистрибутиве установка из *.src.rpm сводится к последовательности вроде rpm -i pkg-name.src.rpm cd ~/RPM/SPECS rpm -bb pkg-name.spec cd ../RPMS/arch_name su -c "rpm -Uhv pkg-name.rpm [ .. ]" ALT не исключение. Сборка руками a la ./configure --prefix=/usr/local/opt/pkg-name && make install в RPM/DEB-дистрибутивах тоже проблем не создает при правильном --prefix. Собирающему желательно понимать, что происходит при выполнении каждой вводимой руками команды. |
Julia Dronova (administrator) Записей: 3144 |
Viktor писал(а): А-ля "пошаговые инструкции как сделать всё, что угодно" для ALTLinux? Может быть лучше не надо? Виктор, вы понимаете, тут же такая вещь, что нас читает и обсуждает, как оказалось, огромное кол-во народу, и как-то конструктивно реагировать на такие вот эмоциональные отзывы, как предоставил Михаил ("у неё...", "а она...") -- мне тоже надо учиться. |
Viktor Записей: 1327 |
> Пугать народ не надо. Это не я. Чес слово:) "Почему нельзя собирать и ставить программы с помощью make; make install > rpm -i pkg-name.src.rpm .... ALT не исключение. Не уверен. " при установке чужих rpm-пакетов избегайте команд вида rpm -i и тем более rpm --nodeps --force. Используйте apt-get install." Там же. > Cобирающему желательно понимать, что происходит при выполнении каждой вводимой руками команды. Юлия, держитесь. Правда, если честно, я не совсем Вас понял. Первое предложение в кавычках в посте Михаила меня тоже покоробило. А на некорректные эмоциональные отзывы, да еще и переданные через третьих лиц, можно реагировать их удалением (отзывов или лиц решать Вам). Вообще тема сборки и установки пакетов из исходников вызывает какую-то странную реакцию у адептов ALTLInux Михаил Цалевич. Вы могли бы не цитировать первую фразу сообщения, адресованного неизвестно кому. Кстати, было бы неплохо приводить ссылки на оригинал. PS Давайте дальше по существу, ок? |
Julia Dronova (administrator) Записей: 3144 |
Viktor писал(а): PS Давайте дальше по существу, ок?
Согласна. Не в первый раз после появления Миши в теме приходится тему выправлять в первоначальное русло. Далее прошу всех по теме, оффтоп режется, как обычно. Возможно, у ув.testuser найдётся что сказать по сборке рпмок именно в Альте, помимо уже сказанного. Давайте не забывать, что большинство новообращённых школьных адептов СПО сидят на Альте. |
testuser Записей: 990 |
> "Почему нельзя собирать и ставить программы с помощью make; make install ... Кратко: если вы не понимаете, почему нельзя пользоваться configure; make; make install, то вам не стоит пользоваться этими командами." Можно почитать оригинал по первой ссылке: По ссылке доступно разъясняется, почему нельзя делать ``./configure ; make ; make install''. И простым языком говорится, как и почему надо делать ./configure [...] && make [ ... ] && make install [ ...], чтобы не поломать систему. >> rpm -i pkg-name.src.rpm .... ALT не исключение. > Не уверен. В ALT *.src.rpm ставятся, в том числе, именно так. > " при установке чужих rpm-пакетов избегайте команд вида rpm -i и тем более rpm --nodeps --force. Используйте apt-get install." Там же. Комментарий в контексте .src.rpm показателен. Лучше удалите. |
Viktor Записей: 1327 |
Мы с Вами говорим об одном и том же. Я привел ссылки для того, чтобы потенциальные пользователи обратили на это внимание. > В ALT *.src.rpm ставятся, в том числе, именно так. Большинство потенциальных пользователей привыкло устанавливать ПО двойным кликом и вообще не заботится о том из каких оно (ПО) источников. Да и разницу между *.src.rpm и *.rpm сразу не прочувствуют. > Комментарий в контексте .src.rpm показателен. Лучше удалите. Да ладно, пусть останется. Где-то это уже было:). PS Интересно, как на установку из исходников отреагирует тех. поддержка? |
Julia Dronova (administrator) Записей: 3144 |
Viktor писал(а): PS Интересно, как на установку из исходников отреагирует тех. поддержка?
Ой, ну я не думаю, что так уж все сейчас бросятся ставить. Но обычно это по умолчанию -- на свой страх и риск. Надо написать большой disclaimer в начале темы, помимо уже имеющихся предупреждений, а то мне уже боязно :) > Миллионы учителей с упоением бросились ставить из исходников :rolleyes: |
testuser Записей: 990 |
> Да и разницу между *.src.rpm и *.rpm сразу не прочувствуют. Непрочувствовавшимся не следует устанавливать из .src.rpm. Вредно для них и окружающих. >> Комментарий в контексте .src.rpm показателен. Лучше удалите. > Да ладно, пусть останется. Где-то это уже было:). Ok. Открытым текстом: чем отличается `rpm -i --force --nodeps pkg-name.src.rpm' от `rpm -U pkg-name.src.rpm'? |
BorisVlasenko Записей: 92 |
Добрый день.
"На свой страх и риск", "вредно для окружающих", "это всегда желательно понимать". А как понимать? Вот я, например, учитель информатики. И мне нужно для образовательного процесса какую-нибудь программу, которая в репозиториях отсутствует. Да, согласен - надо запастись временем и изучать теорию. Но у меня нет времени, поэтому я буду искать инструкции, делать как в них написано, не понимая, что происходит в системе и, самое главное, не понимая в чем РИСК? Вот это и главный вопрос: что и как может пойти не так? Если я ставлю на автомобиль разные шины на одну ось - я ставлю на свой страх и риск и я понимаю, что может проийзойти и в каком случае. И мне - страшно. Когда я собираю систему из пакетов я просто не воспринимаю предупреждений о страхе и риске. Большое спасибо за инструкции, обязательно воспользуюсь. В ближайшем будущем, например, буду ставить VirtualBox. Помню, что уже ставил, помню, что инструкцию брал на АльЛинуксовом сайте. А вот чем грозит мне такая установка, кроме общих фраз "самостоятельно следить за..." я не понимаю.
Спасибо, Борис. С уважением.
|
Julia Dronova (administrator) Записей: 3144 |
BorisVlasenko Попробую написать краткую информацию по зависимостям пакетов и чем, собственно, занимается пакетный менеджер кроме экономии времени пользователя при установке множественных программ. (речь идёт в том числе и об одном из коренных отличий Linux от Windows) Инструкция по сборке пакетов собственно в АльтЛинукс лежит ТУТ на самом деле. |
testuser Записей: 990 |
> Инструкция по сборке пакетов собственно в АльтЛинукс лежит ТУТ на самом деле. "Подготовьте репозиторий gear (являющийся частным случаем git-репозитория). Это необходимое условие для правки уже существующих пакетов" ^^^ Условие не необходимое. Можно простым rpmbuild, но неизолированная сборочная среда будет грязная. |
Julia Dronova (administrator) Записей: 3144 | |
BorisVlasenko Записей: 92 |
О зависимостях прочитал. Написано понятно. Спасибо. Должен отметить, что если вижу где-то аватарку с буквой А в цветах, то всегда ожидаю информативных и адекватных постов. Спасибо, Юлия.
О зависимостях я знал и ранее, но все равно не понимаю, что может произойти с системой, когда я ставлю "на страх и риск". Опять пример: когда я начал ездить на машине, то мог за рулем снять свитер, например (с полным отпусканием руля и потерей обзора на 3 секунды), я часто рулил одной рукой, держа ее на руле расслабленно. Прошло полгода и я держу руль двумя руками. Я НАСМОТРЕЛСЯ. Я стал понимать, что может произойти. В принципе, мне это непонимание жить не мешает. Я стараюсь ничего не ставить. Но если уж ставлю, то никакого страха не испытываю. А ставить - надо. Вот дойдут руки до VirtualBox и буду ставить. Мне приходят в голову несколько ситуаций: 2.??
|
Julia Dronova (administrator) Записей: 3144 |
BorisVlasenko Обдумывала, как лучше ответить, но лучше всё-таки на мой взгляд расмотреть конкретную ситуацию с какой-нибудь программой, так нагляднее будет, имхо. Также могу посоветовать в этом ключе вам заглянуть в интересную книгу, где описывается ручная сборка системы Linux с нуля (дистрибутив называется Linux From Scratch). Почитать её интересно будет для того, чтобы глубже уяснить все внутренние зависимости и переплетения системы: http://www.opennet.ru/docs/RUS/lfs6/ |
©2015 Все права защищены.
Портал информационной и технической поддержки ПО образовательных учреждений РФ.
Cо всеми проблемами и пожеланиями по работе портала и службы технической поддержки вы можете обратиться по адресу .