Где и как искать программы: различия между версиями
Нет описания правки |
Нет описания правки |
||
(не показано 19 промежуточных версий 5 участников) | |||
Строка 18: | Строка 18: | ||
# Затем поищите нужную программу в других репозиториях ALT Linux, например, используя поиск на сайте [http://packages.altlinux.org/ru http://packages.altlinux.org] и [[#Программа есть в сетевом репозитории другой версии|далее]]. | # Затем поищите нужную программу в других репозиториях ALT Linux, например, используя поиск на сайте [http://packages.altlinux.org/ru http://packages.altlinux.org] и [[#Программа есть в сетевом репозитории другой версии|далее]]. | ||
# Если нужной программы не оказалось среди пакетов ALT, то найдите в интернете сайт разработчиков программы, и далее следуйте [[#Программы нет в дистрибутиве, но её можно туда включить|инструкции]]. | # Если нужной программы не оказалось среди пакетов ALT, то найдите в интернете сайт разработчиков программы, и далее следуйте [[#Программы нет в дистрибутиве, но её можно туда включить|инструкции]]. | ||
# Если непонятно, какая именно программа нужна, можно посмотреть информацию [[SoftwareCenter/Applications|тут]], [[Sysadmin|тут]] и [[Замена|тут]]. Эти списки ПО не претендуют на полноту, но могут оказаться полезными. | |||
=== Программа есть на диске пользователя === | === Программа есть на диске пользователя === | ||
Строка 48: | Строка 49: | ||
=== Программа есть в сетевом репозитории вашей версии === | === Программа есть в сетевом репозитории вашей версии === | ||
Настройте вашу систему управления пакетами на использование сетевого репозитория, и установите программу обычным способом (например, это можно сделать с помощью [[Synaptic]]). | Настройте вашу систему управления пакетами на использование сетевого [[Репозитории_ALT_Linux|репозитория]], и установите программу обычным способом (например, это можно сделать с помощью [[Synaptic]]). | ||
''Примечание: не следует забывать про дополнительные репозитории [[Autoimports]]''. | |||
==== Что делать, если «интернет дорогой» ==== | ==== Что делать, если «интернет дорогой» ==== | ||
Строка 58: | Строка 61: | ||
Вы увидите примерно следующее: | Вы увидите примерно следующее: | ||
< | <pre>gimp-2.6.3-alt1 | ||
Требует: libgimp = 2.6.3-alt1 | Требует: libgimp = 2.6.3-alt1 | ||
Строка 72: | Строка 75: | ||
coreutils-6.12-alt2 | coreutils-6.12-alt2 | ||
...</ | ...</pre> | ||
=== Программа есть в сетевом репозитории другой версии === | === Программа есть в сетевом репозитории другой версии === | ||
Строка 108: | Строка 111: | ||
* в каждом дистрибутиве есть специфические настройки, особое расположение конфигурационных файлов и т. п. При сборке пакета мейнтейнер учитывает эти нюансы, make install их игнорирует. | * в каждом дистрибутиве есть специфические настройки, особое расположение конфигурационных файлов и т. п. При сборке пакета мейнтейнер учитывает эти нюансы, make install их игнорирует. | ||
Все вышесказанное относится и к программам, устанавливаемым с помощью инсталляционных скриптов типа '''*.run''', '''install.sh''' и т.п. | Все вышесказанное относится и к программам, устанавливаемым с помощью инсталляционных скриптов типа <div style="display: inline; color: red;">'''*.run'''</div>, <div style="display: inline; color: red;">'''install.sh'''</div> и т.п. | ||
==== Почему нельзя ставить пакеты из других дистрибутивов ==== | ==== Почему нельзя ставить пакеты из других дистрибутивов ==== | ||
Кратко: если вы не знаете, почему нельзя ставить чужие rpm, не стоит этого делать! | Кратко: если вы не знаете, почему нельзя ставить чужие rpm, не стоит этого делать! | ||
Часто пользователи пытаются поставить rpm-пакеты (а иногда и deb-пакеты) из других дистрибутивов, обычно Mandriva или RedHat. Но в каждом дистрибутиве свои особенности настроек, именования пакетов и т. п. Поэтому есть отличная от нуля вероятность разломать свою систему установкой чужих пакетов. | Часто пользователи пытаются поставить rpm-пакеты (а иногда и deb-пакеты) из других дистрибутивов, обычно Mandriva или RedHat. Но в каждом дистрибутиве свои особенности настроек, именования пакетов и т. п. Поэтому есть отличная от нуля вероятность разломать свою систему установкой чужих пакетов<ref>[[Alfabank_eToken#pkiclient|Пример разлома посредством установки pkiclient-5.00.28-0.i386.rpm]]</ref>. | ||
Отдельно стоит упомянуть проблему с версиями разделяемых библиотек, так как она касается не только дистрибутивов от разных производителей, но и дистрибутивов просто разных версий от одного производителя. Использование разделяемых библиотек позволяет экономить на объёмах памяти, скорости загрузки приложений и т.п., но накладывает ограничение на переносимость бинарных пакетов. Поэтому, даже в рамках ALT Linux, как правило, нельзя просто взять пакет из Sisyphus и установить его в дистрибутив на базе стабильного бранча: требуется [[Backports|пересборка пакета]] в соответствующем окружении. Исключение составляет небольшой промежуток времени после отделения последнего бранча - какое-то время бинарная совместимость сохраняется. | Отдельно стоит упомянуть проблему с версиями разделяемых библиотек, так как она касается не только дистрибутивов от разных производителей, но и дистрибутивов просто разных версий от одного производителя. Использование разделяемых библиотек позволяет экономить на объёмах памяти, скорости загрузки приложений и т.п., но накладывает ограничение на переносимость бинарных пакетов. Поэтому, даже в рамках ALT Linux, как правило, нельзя просто взять пакет из Sisyphus и установить его в дистрибутив на базе стабильного бранча: требуется [[Backports|пересборка пакета]] в соответствующем окружении. Исключение составляет небольшой промежуток времени после отделения последнего бранча - какое-то время бинарная совместимость сохраняется. | ||
==== Если нельзя, но очень | ==== Если нельзя, но очень хочется и epm ==== | ||
Есть утилита [[epm|epm]]. Она позволяет перепаковать как чужие rpm, так и deb. Иногда это работает, но гарантии нет. При этом перепаковка для некоторых пакетов даже тестируется и пишутся вспомогательные скрипты, но гарантии, что это будет работать со следующей версией пакета тоже нет. | |||
==== Если нельзя, но очень хочется и make ==== | |||
Иногда очень хочется или очень надо поставить пакет из исходников. '''Делайте это на свой страх и риск, и не говорите потом, что вас не предупреждали, и не засоряйте рассылки и форумы нытьём типа «я тут сделал, и у меня не работает».''' | Иногда очень хочется или очень надо поставить пакет из исходников. '''Делайте это на свой страх и риск, и не говорите потом, что вас не предупреждали, и не засоряйте рассылки и форумы нытьём типа «я тут сделал, и у меня не работает».''' | ||
Некоторые рекомендации: | Некоторые рекомендации: | ||
* практически у всех программ скрипт '''configure''' понимает параметр '''--prefix''', в который можно и нужно указать «альтернативный» каталог для установки, чтоб ваша программа не конфликтовала с другими программами из системы. Используйте что-то вида '''--prefix=/opt/usr''' или '''--prefix=$HOME/my_progs'''. | * практически у всех программ скрипт '''configure''' понимает параметр '''--prefix''', в который можно и нужно указать «альтернативный» каталог для установки, чтоб ваша программа не конфликтовала с другими программами из системы. Используйте что-то вида '''--prefix=/opt/usr''' или '''--prefix=$HOME/my_progs'''. | ||
* инсталляторы *.run тоже (обычно) умеют ставить программу в указанный каталог. Не ставьте ничего в /usr! | * инсталляторы *.run тоже (обычно) умеют ставить программу в указанный каталог. Не ставьте ничего в '''/usr''' (при этом, '''/usr/local''' использовать можно) ! | ||
* при установке чужих rpm-пакетов избегайте команд вида '''rpm -i''' и тем более '''rpm --nodeps --force'''. Используйте '''apt-get install'''. | * при установке чужих rpm-пакетов избегайте команд вида '''rpm -i''' и тем более '''rpm --nodeps --force'''. Используйте '''apt-get install'''. | ||
* выбирайте rpm со статическими сборками, в их именах часто (но не обязательно) присутствует слово static. | * выбирайте rpm со статическими сборками, в их именах часто (но не обязательно) присутствует слово static. | ||
Строка 128: | Строка 133: | ||
<div id="no_install_unpackaged_video"></div> | <div id="no_install_unpackaged_video"></div> | ||
==== Отдельное замечание про драйвера nVidia и AMD(ATi) ==== | ==== Отдельное замечание про драйвера nVidia и AMD(ATi) ==== | ||
Очень часто пользователи пытаются скачать с сайта производителя и поставить драйвера для видеокарт нВидиа или АТи/АМД. '''Не стоит так делать! Самостоятельная установка драйверов путём запуска *.run разломает вам графическую подсистему с очень высокой степенью вероятности!''' | Очень часто пользователи пытаются скачать с сайта производителя и поставить драйвера для видеокарт нВидиа или АТи/АМД. '''Не стоит так делать! Самостоятельная установка драйверов путём запуска *.run разломает вам графическую подсистему с очень высокой степенью вероятности!''' | ||
Строка 134: | Строка 140: | ||
==== Отдельное замечание про установку VirtualBox ==== | ==== Отдельное замечание про установку VirtualBox ==== | ||
Часто пользователи ставят проприетарную сборку VirtualBox. См. [[ | Часто пользователи ставят проприетарную сборку VirtualBox. См. [[VirtualBox_(устарело)#Установка_проприетарной_сборки_VirtualBox |инструкцию]]. | ||
==== Как устанавливать AppImage-файлы ==== | |||
Устанавливать программы в формате AppImage не нужно. Они работают без установки см. [[Appimage|инструкцию]]. | |||
=== Программы нет в дистрибутиве, и её нельзя туда включить === | === Программы нет в дистрибутиве, и её нельзя туда включить === | ||
Некоторые программы невозможно включить в дистрибутив. Иногда по техническим причинам. Тогда самое правильное будет ждать, пока устранят технические причины. За подробностями обращайтесь в [http://lists.altlinux.ru списки рассылки]. | Некоторые программы невозможно включить в дистрибутив. Иногда по техническим причинам. Тогда самое правильное будет ждать, пока устранят технические причины. За подробностями обращайтесь в [http://lists.altlinux.ru списки рассылки]. | ||
Некоторые программы нельзя включить в дистрибутив по лицензионным ограничениям. Например, <s>браузер Opera</s> или интернет-телефон Skype. Для некоторых программ некоторые пользователи в частном порядке собирают rpm-пакеты. Например, [http://fly.osdn.org.ua/~drool/ fly.osdn.org.ua/~drool/] (см. [[FAQ#Как поставить Skype|FAQ]]). Можете воспользоваться такими «альтернативными» источниками пакетов. Другой выход — установка статических сборок вручную (см. [[#Если нельзя, но очень хочется | Некоторые программы нельзя включить в дистрибутив по лицензионным ограничениям. Например, <s>браузер Opera</s> или интернет-телефон Skype. Для некоторых программ некоторые пользователи в частном порядке собирают rpm-пакеты. Например, [http://fly.osdn.org.ua/~drool/ fly.osdn.org.ua/~drool/] (см. [[FAQ#Как поставить Skype|FAQ]]). Можете воспользоваться такими «альтернативными» источниками пакетов. Другой выход — установка статических сборок вручную, либо использование epm (см. [[#Если нельзя, но очень хочется и epm|выше]]). | ||
=== Программа вообще не работает в Linux === | === Программа вообще не работает в Linux === | ||
Строка 147: | Строка 156: | ||
<references /> | <references /> | ||
[[Категория:компоненты]] | [[Категория:компоненты]] | ||
[[Категория:Программное обеспечение]] | [[Категория:Программное обеспечение]] | ||
{{Category navigation|title=Программное обеспечение|category=Программное_обеспечение|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Программное обеспечение|category=Программное_обеспечение|sortkey={{SUBPAGENAME}}}} | ||
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} | |||
[[Категория:Управление ПО]] |
Текущая версия от 17:44, 5 апреля 2024
Где и как искать программы, и как их потом устанавливать
Все программы для Linux можно разделить на две большие категории (с подкатегориями):
- программы, имеющиеся в дистрибутиве[1]
- программы, которых в дистрибутиве нет
Далее описаны краткие примерные инструкции что делать во всех этих случаях.
Общая рекомендация: если вам нужна какая-то программа, то
- Сначала поищите её в тех источниках установки, на которые настроена ваша система управления пакетами.
- Затем поищите нужную программу в других репозиториях ALT Linux, например, используя поиск на сайте http://packages.altlinux.org и далее.
- Если нужной программы не оказалось среди пакетов ALT, то найдите в интернете сайт разработчиков программы, и далее следуйте инструкции.
- Если непонятно, какая именно программа нужна, можно посмотреть информацию тут, тут и тут. Эти списки ПО не претендуют на полноту, но могут оказаться полезными.
Программа есть на диске пользователя
Если у вас есть CD/DVD диск с дистрибутивом ALT (например тот, с которого вы поставили систему), то поиск и установка нужной программы осуществляется очень просто. Достаточно подключить этот диск в качестве источника установки и использовать программы работы с пакетами, такие как apt-get или synaptic.
Если у вас на жёстком диске есть целый набор rpm-пакетов, и они ещё не организованы в репозиторий, то самое время создать из них репозиторий, подключить его в качестве источника установки, и см. выше.
Если у вас имеется одиночный[2] пакет с нужной программой, то можно попробовать установить его следующим образом:
от рута перейдите в каталог, где лежит нужный пакет и выполните команду apt-get install ./ИМЯ_ФАЙЛА.rpm. Например:
[alexei@threebears tmp]$ su - Password: [root@threebears ~]# cd /tmp [root@threebears tmp]# apt-get install ./kde4plasma-addon-yawp-0.1-alt1.svn20081227.1.i586.rpm Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Выбрано kde4plasma-addon-yawp для './kde4plasma-addon-yawp-0.1-alt1.svn20081227.1.i586.rpm' Следующие НОВЫЕ пакеты будут установлены: kde4plasma-addon-yawp 0 будет обновлено, 1 новых установлено, 0 пакетов будет удалено и 2 не будет обновлено. Необходимо получить 0B/581kB архивов. После распаковки потребуется дополнительно 1193kB дискового пространства. Совершаем изменения... Preparing... ########################################### [100%] 1: kde4plasma-addon-yawp ########################################### [100%] Running /usr/lib/rpm/posttrans-filetriggers Завершено.
Программа есть в сетевом репозитории вашей версии
Настройте вашу систему управления пакетами на использование сетевого репозитория, и установите программу обычным способом (например, это можно сделать с помощью Synaptic).
Примечание: не следует забывать про дополнительные репозитории Autoimports.
Что делать, если «интернет дорогой»
Иногда случается так, что нужная программа есть в сетевом репозитории, но подключить и использовать его невозможно, потому что на целевом компьютере дорогой интернет, или вообще нет сети. Можно попробовать скачать нужный пакет и все его зависимости
на другом компьютере, принести все эти пакеты на целевой компьютер, и далее воспользоваться инструкцией по установке одиночного пакета.
Отследить зависимости уже установленных программ (например gimp) можно следующей командой:
$ apt-cache depends gimp
Вы увидите примерно следующее:
gimp-2.6.3-alt1 Требует: libgimp = 2.6.3-alt1 Требует: icc-profiles Требует: </lib/ld-linux.so.2> glibc-core-6:2.9-alt1 Требует: </usr/bin/env> coreutils-6.12-alt2 ...
Программа есть в сетевом репозитории другой версии
Самый правильный способ — «повесить» запрос на перенос нужного пакета в вашу версию дистрибутива. Однако, этот способ не самый быстрый :)
Еще один неплохой способ — попробовать самостоятельно собрать нужный пакет «в своём окружении», то есть под свою версию системы. Проще всего это сделать с помощью Hasher. Вам понадобится скачать пакет с исходными текстами нужной программы (src.rpm пакет), и воспользоваться инструкцией по работе с Hasher.
Примечание: сборка в Хэшере требует настроенного источника пакетов. В процессе сборки из источника будут получены пакеты на десятки (или даже сотни) мегабайт. Следите за трафиком :)
Еще один способ: пересобрать src.rpm с помощью команды rpm --rebuild (за подробностями — в man rpm). При такой пересборке не понадобится выкачивать из источника пакетов те пакеты, которые уже установлены в вашей системе, что может сэкономить время и деньги. Но удовлетворение сборочных зависимостей придётся делать вручную, что требует определённой квалификации. Кроме того, произойдёт «засорение» системы devel-пакетами. Метод не рекомендуется неопытным пользователям!
Если сборка программы завершается ошибками, и вашей квалификации не хватает для их устранения, см. первый способ.
Программы нет в дистрибутиве, но её можно туда включить
Существует огромное множество программ. И ни один дистрибутив не может охватить все это множество.
Почему нужная конкретно вам программа не попала в дистрибутив? Скорее всего потому, что:
- никому из тех, кто обладает достаточной квалификацией, она не нужна (в данный момент)
- программа редкая и/или новая, и о ней просто никто не знает
- в силу различных ограничений (технического или лицензионного характера), программу нельзя включить в дистрибутив.
Что делать в таком случае?
Простой и правильный способ: разместить в списке рассылки просьбу собрать и поместить нужную программу в дистрибутив. Если это действительно хорошая и нужная программа, то, возможно, найдётся тот человек, который захочет и сможет собрать и поместить её в дистрибутив. Или вам посоветуют аналогичную (возможно, гораздо более качественную) программу из имеющихся в дистрибутиве.
Сложный и совсем правильный способ: стать мейнтейнером данной программы! То есть изучить правила сборки пакетов для ALT Linux, собрать пакет, и влиться в ряды разработчиков.
Почему нельзя собирать и ставить программы с помощью make; make install
Кратко: если вы не понимаете, почему нельзя пользоваться configure; make; make install, то вам не стоит пользоваться этими командами.
Многие неопытные пользователи часто возмущаются, когда им говорят, что в дистрибутивах, основанных на пакетах (rpm, deb и т. п.) не стоит устанавливать программы с помощью make install. Основные причины не использовать эти команды:
- программа, установленная таким образом, не попадает в базу данных установленных программ, в общем виде её невозможно корректно обновить или удалить, она порождает файлы, принадлежность которых невозможно определить.
- между программами есть зависимости, часто очень сложные. Разрешение зависимостей при make install не работает, и такая установка программы может привести к неработоспособности других программ или всей системы.
- в каждом дистрибутиве есть специфические настройки, особое расположение конфигурационных файлов и т. п. При сборке пакета мейнтейнер учитывает эти нюансы, make install их игнорирует.
Все вышесказанное относится и к программам, устанавливаемым с помощью инсталляционных скриптов типа
,
и т.п.
Почему нельзя ставить пакеты из других дистрибутивов
Кратко: если вы не знаете, почему нельзя ставить чужие rpm, не стоит этого делать!
Часто пользователи пытаются поставить rpm-пакеты (а иногда и deb-пакеты) из других дистрибутивов, обычно Mandriva или RedHat. Но в каждом дистрибутиве свои особенности настроек, именования пакетов и т. п. Поэтому есть отличная от нуля вероятность разломать свою систему установкой чужих пакетов[3].
Отдельно стоит упомянуть проблему с версиями разделяемых библиотек, так как она касается не только дистрибутивов от разных производителей, но и дистрибутивов просто разных версий от одного производителя. Использование разделяемых библиотек позволяет экономить на объёмах памяти, скорости загрузки приложений и т.п., но накладывает ограничение на переносимость бинарных пакетов. Поэтому, даже в рамках ALT Linux, как правило, нельзя просто взять пакет из Sisyphus и установить его в дистрибутив на базе стабильного бранча: требуется пересборка пакета в соответствующем окружении. Исключение составляет небольшой промежуток времени после отделения последнего бранча - какое-то время бинарная совместимость сохраняется.
Если нельзя, но очень хочется и epm
Есть утилита epm. Она позволяет перепаковать как чужие rpm, так и deb. Иногда это работает, но гарантии нет. При этом перепаковка для некоторых пакетов даже тестируется и пишутся вспомогательные скрипты, но гарантии, что это будет работать со следующей версией пакета тоже нет.
Если нельзя, но очень хочется и make
Иногда очень хочется или очень надо поставить пакет из исходников. Делайте это на свой страх и риск, и не говорите потом, что вас не предупреждали, и не засоряйте рассылки и форумы нытьём типа «я тут сделал, и у меня не работает».
Некоторые рекомендации:
- практически у всех программ скрипт configure понимает параметр --prefix, в который можно и нужно указать «альтернативный» каталог для установки, чтоб ваша программа не конфликтовала с другими программами из системы. Используйте что-то вида --prefix=/opt/usr или --prefix=$HOME/my_progs.
- инсталляторы *.run тоже (обычно) умеют ставить программу в указанный каталог. Не ставьте ничего в /usr (при этом, /usr/local использовать можно) !
- при установке чужих rpm-пакетов избегайте команд вида rpm -i и тем более rpm --nodeps --force. Используйте apt-get install.
- выбирайте rpm со статическими сборками, в их именах часто (но не обязательно) присутствует слово static.
- при установке бинарных сборок таких программ как Firefox или OpenOffice и им подобных, качайте с сайта пакет «для всех дистрибутивов», обычно это tgz-архив, и распаковывайте его в, например, /opt или $HOME/progs.
Отдельное замечание про драйвера nVidia и AMD(ATi)
Очень часто пользователи пытаются скачать с сайта производителя и поставить драйвера для видеокарт нВидиа или АТи/АМД. Не стоит так делать! Самостоятельная установка драйверов путём запуска *.run разломает вам графическую подсистему с очень высокой степенью вероятности!
Все необходимые драйвера уже есть в дистрибутиве (на CD/DVD или в сетевых репозиториях; как ставить). Если у вас очень новая карта, и имеющиеся драйвера её не понимают, то вешайте запрос в Багзиллу на обновление драйверов.
Отдельное замечание про установку VirtualBox
Часто пользователи ставят проприетарную сборку VirtualBox. См. инструкцию.
Как устанавливать AppImage-файлы
Устанавливать программы в формате AppImage не нужно. Они работают без установки см. инструкцию.
Программы нет в дистрибутиве, и её нельзя туда включить
Некоторые программы невозможно включить в дистрибутив. Иногда по техническим причинам. Тогда самое правильное будет ждать, пока устранят технические причины. За подробностями обращайтесь в списки рассылки.
Некоторые программы нельзя включить в дистрибутив по лицензионным ограничениям. Например, браузер Opera или интернет-телефон Skype. Для некоторых программ некоторые пользователи в частном порядке собирают rpm-пакеты. Например, fly.osdn.org.ua/~drool/ (см. FAQ). Можете воспользоваться такими «альтернативными» источниками пакетов. Другой выход — установка статических сборок вручную, либо использование epm (см. выше).
Программа вообще не работает в Linux
Некоторые программы вообще не работают в Linux. Например, бинарные программы, написанные под другую операционную систему (Windows, Solaris, BSD), или программы (даже с исходниками) написанные под очень старые версии Linux. Если вам очень хочется поработать с такими программами, поставьте ту ОС, для которой они написаны.
Примечания
- ↑ Под дистрибутивом в данном контексте понимается не отдельно взятый CD или DVD, который оказался у пользователя, а полный набор пакетов в определённой ветке репозитория, или во всех репозиториях ALT Linux’а
- ↑ По возможности, стоит избегать такой ситуации! Потому что одиночному пакету по зависимостям могут понадобиться другие пакеты, которых не найдётся в вашей системе и источниках установки.
- ↑ Пример разлома посредством установки pkiclient-5.00.28-0.i386.rpm