Установка приложений из источника

12

Я задавался вопросом об общих установках всех приложений в Linux. И что это значит? Ну, когда я использовал Windows, я знал, что если я хочу установить приложение, я дважды щелкаю по файлу .exe и затем «следующий, следующий, следующий».

В Linux я понял, что, возможно, существует общий (не универсальный) способ установки любого приложения. Может быть установка из источника? Ну есть ли какой-то пошаговый метод, который можно использовать для установки приложения, как в Windows, или нет?

Я спрашиваю, потому что я не хочу продолжать спрашивать Google, как? Итак, мне удалось недавно установить из исходного руководства freecad из этого руководства, и я думаю, что это было бы очень хорошим началом в качестве распространенного метода, верно?

Но дело в том, где найти правильный источник и когда приложение имеет очень уникальный метод установки!

Габриель
источник
Возможный дубликат как установить из .tar.gz?
Тахион
Нет, мой вопрос был ясен, я думаю! Просто более глубокая информация
Габриэль
отлично здорово как howtogeek.com/105413/…
Мохаммад Реза Резвани

Ответы:

14

Инструкции по установке различаются для разных программ, хотя существуют хорошо зарекомендовавшие себя инструменты, такие как autotools (включая automake и autoconf) и cmake.

Поскольку программы могут быть на разных языках программирования, сложно дать общие команды, подходящие для всех пакетов. Например, в Python часто есть сценарии setup.py, где программы на C часто используют автоинструменты или, по крайней мере, Makefile.

Я всегда начинаю с поиска файлов INSTALL, README или аналогичных. Если вам нужно скомпилировать программу из исходного кода, вам, вероятно, понадобится build-essentialпакет, который зависит от компиляторов и других универсальных пакетов разработки.

В зависимости от программы, которую вы пытаетесь скомпилировать, вам может потребоваться установить другие зависимости. Проверьте README для этого или вывод ./configureскрипта (исполняемый файл, расположенный в корне извлеченного источника). Например, если говорится, что вам нужны «заголовки разработки x11», попробуйте найти «x11-dev» или «libx11-dev» в репозиториях (в данном случае это то, libx11-devчто вы ищете).

Исходные дистрибутивы, созданные с помощью autoconf / automake, можно извлечь и настроить с помощью:

tar xf foo-1.0.tar.gz
cd foo-1.0
./configure
make
sudo make install

Используйте ./configure --helpдля доступных вариантов. По умолчанию файлы часто устанавливаются, /usr/localчто совершенно нормально. Если вы не собираетесь упаковать файл в файл .deb, не меняйте этот префикс, так /usrкак он может конфликтовать с системой управления пакетами (dpkg).

makeпредполагается начать компиляцию всего, где make installфайлы устанавливаются в указанные места ( sudoнеобходимо для записи в привилегированные места, такие как /usr/local). Чтобы удалить его позже, запустите из исходного каталога sudo make uninstall(при условии, что пакет правильно собран с помощью autoconf / automake, за которую отвечает разработчик, а не вы, пользователь!

Если вы просто заинтересованы в компиляции пакета из центра программного обеспечения на вашем компьютере, выполните следующие действия (замените packageи версию соответственно):

sudo apt-get build-dep package
apt-get source package
cd package-1.0
dpkg-buildpackage -b -uc -us

Смотрите соответствующие страницы руководства для более подробной информации о командах. (например, запустить man dpkg-buildpackageв терминале). После выполнения этих команд у вас будет файл .deb в родительском каталоге. По возможности рекомендуется использовать пакеты из репозиториев Ubuntu. Вышеуказанные шаги показаны в образовательных целях, но обычно вы хотите внести изменения в некоторые файлы перед сборкой пакета.

Lekensteyn
источник
Действительно, очень полезно, поэтому единственный распространенный метод - это загрузить пакет (tar ??) и затем извлечь его, чтобы увидеть его содержимое! Позже мне нужно спросить, я извлекаю файлы и затем выполняю все те команды, которые вы упомянули выше. Таким образом, установочный файл - это тот файл, над которым я работал со всеми этими командами? Или все файлы-каталоги приложений специфичны либо для установки из центра, либо для установки из исходного кода? Чтобы было ясно, я просто хочу установить приложение там, где я хочу, чтобы все было в / opt или / usr? Спасибо
Габриэль
Смотрите обновленный пост. Извлечение и изменение каталога составляет 99% всех случаев. Вы можете увидеть различные расширения после .tar, например .gz, .bz2, .xz. Они относятся к формату сжатия. .zip встречается реже, так как не может хранить права доступа к файлам, но он виден как минимум в 7-zip. Примечание: мои инструкции являются более общими для "компиляции из исходного кода". Пути и конфигурация не такие, как в Ubuntu Software Center.
Лекенштейн
Таким образом, не имеет значения, в каком каталоге я работаю ./configure, make и make install. Например, id я загружаю и распаковываю в домашний каталог, затем я должен выполнить эти команды, и автоматически команда make install поместит установочные файлы в конкретный каталог правильно?
Габриэль
Там нет, поэтому, определенный каталог, как окна "Program Files", верно?
Габриэль
После распаковки архива измените каталог на распакованный. Точное местоположение не имеет значения, вы можете сделать это в своем домашнем каталоге или в ~ / Downloads, просто убедитесь, что путь не содержит пробелов, поскольку он ломает большинство инструментов. Например, ~/Downloaded Sourcesплохая идея, где ~/Downloaded-sourcesвсе в порядке. Последний вопрос см. По адресу askubuntu.com/q/27213/6969
Lekensteyn,
7

FreeCAD доступен в Центре программного обеспечения Ubuntu, поэтому его не нужно было собирать и устанавливать из исходного кода.

Ubuntu Software Center всегда первое место, куда вы должны смотреть. Для установки достаточно нажать кнопку.

В левой части экрана есть значок для Ubuntu Software Center.

Если вы действительно хотите собрать и установить программу из исходного кода, найдите файл README или другие инструкции, прилагаемые к программе.

Многие программные пакеты используют GNU autotools в качестве системы сборки и могут быть собраны и установлены с помощью следующих команд:

./configure
make
sudo make install

Перед сборкой программы вам необходимо проверить, какие библиотеки необходимы и другие зависимости (это также должно быть упомянуто в документации по программе). На packages.ubuntu.com вы можете найти пакеты Ubuntu, которые содержат необходимые библиотеки.

Предположим, что программе нужна библиотека с именем blah, тогда вам, вероятно, потребуется установить пакет libblah-dev(посмотрите точное имя на странице пакетов Ubuntu, о которой я упоминал выше).

sudo apt-get install libblah-dev
Jesper
источник
ХАХА, да, я знаю этот значок! НО, если вы когда-либо замечали, что в центре приложений есть описание, в котором говорится, что «canonical не предоставляет критических обновлений», а версия freecad была 0.8, и я установил freecad v0.13.I просто хочу получить более глубокие знания в системах Linux, а не ответы, указывающие, где находится центр программного обеспечения, в любом случае, спасибо! :-)
gabriel
ТЕПЕРЬ ты говоришь правильно! И спасибо ОЧЕНЬ большое, это глубокое знание, которое я просто хочу! Продолжай!
Габриэль
Итак, если я хочу установить приложение из исходного кода, люди этого приложения должны предоставить исходный код? Например, если я хочу установить коммерческое приложение, я не могу установить из исходного права? ЭТО проект с открытым исходным кодом в любом случае правильно? у приложений есть источник, открытый для всех, но не коммерческий.
Габриэль
"Если я хочу установить приложение из исходного кода, люди этого приложения должны предоставить исходный код?" - Да, конечно, вот что значит «из источника »! И если это коммерческая программа с открытым исходным кодом, то вы не получите исходный код.
Джеспер
Так вот почему большинство приложений Windows не могут быть установлены в Linux, не так ли?
Габриэль
2

Есть только два основных подхода:

  1. Используйте Центр программного обеспечения или связанный инструмент (Synaptic apt-getи т. Д.). Обычно это лучший вариант. Выход за пределы этого метода может привести к проблемам, таким как конфликты и трудности с обновлениями, поэтому вы должны делать что-то еще, если знаете, что делаете.
  2. Прочитайте документацию и используйте ее для установки. Вы можете найти его на веб-сайте проекта, в архиве или в том месте, где вы получили файл. Или, может быть, нет документации, в этом случае вам придется Google или угадать. Существует очень много разных способов установки программного обеспечения. Если это сбивает с толку, вернитесь к номеру 1.

    Если ваш пакет использует стандарт ./configure; make; sudo make install, вы можете использовать checkinstallдля получения .deb того, что вы собрали. Таким образом, вам не нужно жертвовать управлением пакетами.

Скотт Северанс
источник
Хорошо, я задал этот вопрос, потому что у меня были некоторые проблемы с центром программного обеспечения и файлами .deb. Например, я хотел установить draftsight, программу cad, и она только для 32-разрядных систем. Поэтому я попытался с помощью команд игнорировать зависимости и архитектуру, но ничего не пришло on.So - это извлечение файла .deb, например, возможна ручная установка с make и sudo make и т. д. Спасибо
gabriel
Если для вашей архитектуры нет .deb, вам придется установить программу другим способом. Вы можете Google узнать, как это сделали другие люди, или найти .dev с нужной аркой, или собрать из исходного кода. Смотрите мое предстоящее редактирование для чего-то важного.
Скотт Северанс
проверьте, прежде чем мы запустим эти команды? и что, .deb появился? ((я должен спросить, как вы делаете ваши сообщения красивыми и организованными? с выделенными командами и персоналом? любое руководство для askubuntu?)) Так что я могу извлечь Затем .deb checkinstall и заставить его работать на 64bit, например, или я ошибаюсь и глуп с этим вопросом?
Габриэль
Вы не можете использовать checkinstallсуществующие пакеты .deb. Если у вас уже есть .deb, технически вы можете извлечь его и установить вручную, но это не лучший способ. checkinstallдля когда вы строите из источника. Для справки по форматированию см. Ссылку справки, которая всегда появляется при публикации.
Скотт Северанс
Таким образом, файл .deb с архитектурой, отличной от 64-битной, которая у меня есть, не должна быть извлечена, а затем установлена ​​вручную? И когда вы говорите «это когда вы строите из исходного кода». файл .deb создается откуда? Использует ли он тот же исходный код, который вы строите из исходного кода? Глупый вопрос?
Габриэль
0

Установка из источника очень трудно поддерживать.

По возможности устанавливайте из центра программного обеспечения. Это эквивалентно менталитету Windows Next-> Next-> Finish.

Вы можете установить вещи из источника на окнах тоже. Это не уникально для linux, просто больше доступных приложений предназначено для linux.

RobotHumans
источник
1
ну, я просто хочу использовать мой опыт работы с Linux, мне уже три года, и я хочу, наконец, не продолжать спрашивать, как и как, ты чувствуешь меня? Просто чтобы сделать мои знания о Linux все глубже и глубже. объясните мне источник и т.д?
Габриэль
linuxfromscratch.org
RobotHumans
Кроме того, когда приложение не имеет .deb в моей Ubuntu, как установить из центра программного обеспечения? Тогда я готов снова спросить в askubuntu.com или google.gr '' 'как установить ЭТО в Ubuntu 11.10?' ''
Габриэль
Да. Специфическое приложение лучше. Они дают целевые воспроизводимые ответы для конкретных пользователей. Следовательно они полезны.
RobotHumans
Ну, это действительно очень полезно. Вы просто чувствуете меня и даете мне то, что я просто хочу. Но я хотел бы спросить вас после долгих чтений о Linux и Linux, я никогда не смогу установить ЛЮБОЕ приложение в системах Linux? ИЛИ что-то еще? как это невозможно никак?
Габриэль
0

Ubuntu предлагает различные способы установки

  1. Через централизованную упаковочную систему

    Это предпочтительный метод в Ubuntu (но лично мне он не нравится), для него пригодятся софт-центр, синаптик и aptitude.

  2. Автономный пакет deb: - Этот метод проще, чем в случае с Windows, просто дважды щелкните файл и нажмите кнопку установки Например: менеджер пакетов Gdebi

  3. бинарное программное обеспечение: оно очень похоже на установку Windows .exe, предлагает различные графические интерфейсы для установщика, обычно это файлы .bin

    Вы можете использовать бит рок или подобные инструменты, чтобы сделать такие паки

  4. autopackage и аналогичные инструменты: - это сторонние менеджеры пакетов, созданные для поддержки различных дистрибутивов Linux

  5. Исходный код: это первый метод в установке программного обеспечения. В этом методе исходный код преобразуется в двоичные исполняемые файлы. Инструкции по установке для этих программ обычно сопровождаются исходным кодом, и они действительны только для ПО с открытым исходным кодом.

Предупреждение: -Это только мои наблюдения, я новичок в Linux, поэтому не стесняйтесь редактировать / понижать голосование Если есть что-то не так

Тахионы
источник
Ну, спасибо, из моего опыта я обычно вижу в центре программного обеспечения описание приложения, и если канонический предоставляет обновления, то я устанавливаю его из центра. Если я не гуглю, поэтому я разместил этот вопрос, и все ответы были вер helpfull.Спасибо
Габриэль
Вариант 1 намного лучше, чем 3 и 4, потому что вы можете получать обновления автоматически. Вариант 2 подходит, когда нужного вам пакета или версии нет в вашем хранилище (вариант 1). Избегайте номеров 3 и 4, если это вообще возможно, потому что они не используют всех чудесных преимуществ управления пакетами и могут привести к конфликтам в будущем. Несмотря на то, что Autopackage осуществляет свое собственное управление пакетами, это все еще отдельная система, которая может привести к конфликтам и тому подобным вещам, которые устаревают. И, если вы не программист, старайтесь избегать сборки для исходного кода. Управление пакетами - замечательная вещь!
Скотт Северанс
Я предпочитаю эти методы только потому, что у меня интернет-соединение sloooow: p
Tachyons