Linux как устанавливать tar bz2

Установка программ tar bz2, из исходных кодов в Linux

Linux-системы неразрывно связаны с концепцией GNU – проекта, поддерживающего и развивающего философию свободно распространяемого программного обеспечения (ПО), в том числе и в виде исходного кода. А поскольку систем на базе ядра Linux существует великое множество и разработчики дистрибутивов всегда для своих систем используют исходный код ПО при сборке комплектов утилит, пакетов, да и самого ядра, то, очевидно, что использование исходных кодов ПО — это неотъемлемый аспект в эксплуатации Linux-систем. По крайней мере, любому пользователю, достаточно хорошо освоившему UNIX-подобные системы, рано или поздно приходится сталкиваться со сборкой ПО из исходных кодов.

Самым распространённым случаем, когда приходится собирать ПО из «исходников» является ситуация, когда в свет выходит новая версия какого-либо пакета с устранением критической уязвимости в системе безопасности или с добавлением важного функционала. Но поскольку системы Linux, как правило, снабжены хранилищами пакетов (репозиториями), из которых происходит загрузка, установка и обновление ПО, то часто бывает так, что разработчики дистрибутива, которые и поддерживают репозитории, ещё не успели сформировать новые пакеты ПО, для которых уже выпущено обновление. В этом случае можно прибегнуть к самостоятельной сборке требуемых пакетов из исходного кода.

Для чего нужно построение пакетов из исходного кода?

Как уже отмечалось ранее, это необходимо, в первую очередь для устранения брешей в безопасности. Часто новые версии ПО выпускаются в результате внедрения новых подходов и технологий при разработке и оптимизации программного кода, что существенно может сказаться на производительности ПО, и это также довольно частая причина обновления программных пакетов путём их сборки из исходных текстов.

Владельцы и администраторы хостинг-площадок предпочитают также устанавливать в качестве веб-серверов, PHP-интерпретаторов и серверов баз данных (БД) предварительно собранные на целевом оборудовании соответствующие программные пакеты. Это позволяет добиться максимальной совместимости ПО с оборудованием, на котором предполагается его работа и, как следствие — стабильности, что для веб-хостинга очень важно.

Для программистов навыки по построению исполняемых файлов из исходного кода являются ключевыми, несмотря даже на то, что с этой задачей прекрасно справляются все современные интегрированные среды разработки (IDE), однако, как показывает практика, часто приходится производить сборку ПО без применения IDE.

Общий порядок сборки пакетов — утилита make

Для облегчения сборки ПО из исходных кодов существует свободная утилита make. Она применяется во всех UNIX-подобных системах для подавляющего большинства утилит. При сборке пакета очень полезно изучать информацию, содержащуюся, как правило, в файлах README или INSTALL, входящих в пакет. В этих файлах разработчики ПО указывают инструкции и специфические мероприятия для успешной сборки пакетов. Здесь также можно найти и системные требования для работы ПО и описания необходимых зависимостей, без которых собрать пакет будет невозможно.

Общий порядок сборки выглядит так:

  1. Распаковка архива tar bz2, содержащего исходные коды (обычно именно так «исходники» и распространяются).
  2. Переход в директорию с распакованными исходными текстами.
  3. Конфигурирование предстоящей сборки (указание директорий установки, сторонних библиотек, архитектуры, дополнительных компонентов и т.д.). Для этого обычно используются служебные скрипты.
  4. Непосредственно, сама сборка — команда make.
  5. Установка (распространение) построенного ПО — команда make install.

Ниже будет приведена эта процедура на примере с FTP-клиентом FileZilla, итак распаковка архива с «исходниками»:

В результате, в домашнем каталоге пользователя в поддиректории Builds появится директория filezilla-3.38.1. Нужно перейти в неё:

Просмотрев содержимое этой директории можно заметить файл INSTALL, в котором приведены инструкции для сборки/установки FileZilla:

Читайте также:  Как удалять файлы командой linux

Посмотрим этот файл

Раздел «Compilation» из файла INSTALL:

Теперь, согласно этой инструкции, нужно создать директорию compile и перейти в неё:

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

Подобные скрипты создаются разработчиками ПО для облегчения процесса сборки/установки. Символы ../ означают переход в каталог на уровень вверх — именно там

по отношению к недавно созданной директории compile находится служебный скрипт configure.

Вывод этого скрипта показывает , готов ли данный пакет к сборке:

В данном случае для сборки необходима библиотека libfilezilla более свежей версии, чем имеющаяся на данный момент в системе. По указанному адресу её можно скачать и собрать отдельно:

Здесь также присутствует файл INSTALL с указанием порядка сборки библиотеки libfilezilla-0.15.0

Изучив вывод скрипта configure, можно сделать вывод о том, стоит ли далее приступать к сборке пакета. Обычно о критических ошибках сообщается фразами «configure: error». Убедившись, что всё нормально, можно приступать к построению:

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

В выводе этой команды при успешном завершении обычно присутствует сообщения вида:

Сборка и установка библиотеки завершена, можно приступать к построению пакета FileZilla:

По-умолчанию установка будет произведена в директорию /usr/bin. Для изменения директории установки следует использовать опцию —prefix=каталог:

Сборка FTP-клиента FileZilla из исходных кодов на этом завершена. Следует отметить, что для FileZilla требуются также сторонние библиотеки инструментов, обеспечивающие работу с криптографическими алгоритмами (nettle), а также для отрисовки графического пользовательского интерфейса (GUI) — wxWidgets. Специфические требования всегда указываются разработчиками ПО в файлах README или INSTALL, входящих в архив пакета или исходных кодов.

Помимо установленных в системе требуемых пакетов, удовлетворяющим зависимостям для сборки, также необходимо, зачастую, устанавливать версии этих пакетов для разработки.

Обычно такие пакеты имеют идентичные с оригинальными наименования, но оканчивающиеся на «dev», к примеру nettle-3.1-dev или wx-gtk-base-dev. В данном примере предполагается, что данные пакеты установлены и правильно настроены.

Ручная сборка

Ручная сборка из исходных кодов выполняется следующим образом:

Для кода на процедурном C:

Здесь «program» — это собранный исполняемый файл, который можно теперь запускать:

Теперь стоит рассмотреть чуть более сложный вариант. Например, исходный код приложения состоит из классов, содержащихся в отдельных файлах. Класс BaseClass, заголовочный файл BaseClass.h:

Реализация, файл BaseClass.cpp:

Класс ChildClass, заголовочный файл ChildClass.h:

Файл с функцией main, main.cpp:

Пусть все приведённые файлы находятся в директории «HelloWorld», причём заголовочные файлы в поддиректории «include», а файлы реализаций *.cpp — в «src». Чтобы построить исполняемый файл в данном случае нужно выполнить следующие команды:

Определите аргументы программы! Пример: ./program 5.25

Автоматическая сборка — написание Make-файлов

Конечно, для больших проектов ручная сборка — это крайне неудобно. Именно поэтому и была когда-то давно разработана утилита make, позволяющая производить построение проектов любой сложности. Она выполняет инструкции и правила по автоматизации процесса сборки, хранящиеся в специальных Make-файлах.

Синтаксис Makefile’а следующий:

Это описание цели, в котором указываются зависимости dependencies, команды для достижения цели system command, а также сама цель target. Символ табуляции [tab] является обязательным и только этим символом обозначаются команды для достижения целей. Например, для данного примера, одна из целей будет иметь следующее описание:

Эта запись означает, что для получения объектного файла BaseClass.o нужно использовать исходный код из файла src/BaseClass.cpp, использовав команду g++, которой, в свою очередь, передаются соответствующие параметры.

Для вышеупомянутого проекта HelloWorld Make-файл будет иметь следующий вид:

Make-фалы обычно имеют имя Makefile. Это, своего рода унификация для того, чтобы утилита make самостоятельно отыскивала и распознавала Make-файлы без надобности явно их ей передавать в качестве аргумента в командной оболочке.

Читайте также:  Dsdt editor mac os catalina

Теперь нужно выполнить команду make и запустить построенный исполняемый файл:

Но даже и такой вариант для больших проектов не подойдёт, поскольку придётся обрабатывать практически каждый файл отдельно, задавая для них описания целей. Используя правила implicit rules, а также predrfined implicit rules можно заставить Make-файл автоматически обрабатывать содержимое проекта и генерировать описания целей для его компонентов. Для того, чтобы составлять универсальные Make-файлы нужно придерживаться определённых правил или даже стандартов, определяющих структуру всего проекта, например:

  1. Имя конечного исполняемого файла должно совпадать с папкой проекта.
  2. Заголовочные файлы и файлы реализаций находятся в отдельных (include и src соответственно) поддиректориях.
  3. Функция main находится в отдельном файле, расположенном в корне проекта над директориями src и include.
  4. Объектные файлы должны создаваться в отдельной поддиректории, например obj.
  5. Конечный исполняемый файл должен создаваться в отдельной поддиректории, например build.

Make-файл, удовлетворяющий этим требованиям для данного проекта HelloWorld может иметь такой вид:

Обращение к переменным производится с помощью конструкции $(VALUE). Запись SOURCES=$(wildcard $(MAIN) $(SRC)/*.cpp) указывает, что исходные тексты будут искаться в поддиректории src по маске *.cpp и в файле main.cpp. А конструкция:

описывает, как будут генерироваться цели для создания объектных файлов в каталоге obj из исходных текстов файлов в каталоге src. Цель clean подразумевает удаление всего, что связано с предыдущими сборками. Функция filter-out, присутствующая в списке команд для этой цели, нужна для того, чтобы при очистке не удалились нужные файлы, в данном случае — main.cpp. Цель .PHONY описывает зависимости, не связанные напрямую с файлами.

Теперь, после выполнения команды make:

исполняемый файл будет в директории build:

Объектные файлы — в директории obj:

Следует отметить, что грамотное составление универсальных Make-файлов требует предварительно и внимательного изучения соответствующей документации, например по адресу http://www.gnu.org/software/make/manual/, где можно найти исчерпывающее описание для более подробного изучения данной темы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Как мне установить файл.tar.gz (или.tar.bz2)?

Я скачал файлы tar.gz. Но я не знаю, как его установить. Как мне установить этот тип файла?

13 ответов

Первое, что вам нужно сделать, это извлечь файлы из архива tar в папку. Давайте скопируем файлы на ваш рабочий стол. Вы можете извлечь архив, щелкнув правой кнопкой мыши значок файла архива в браузере файлов и нажав соответствующую запись в контекстном меню. Извлечение архива должно создать новую папку с аналогичным именем. например program-1.2.3 , Теперь вам нужно открыть свой терминал и перейти в этот каталог с помощью следующей команды:

Убедитесь, что вы прочитали файл с именем INSTALL , INSTALL.txt , README или что-то подобное, если один был извлечен. Вы можете проверить, существует ли такой файл из терминала, используя ls команда. Файл можно открыть и прочитать с помощью команды:

Где INSTALL — это имя вашего файла. Этот файл будет содержать правильные шаги для продолжения процесса установки. Обычно три «классических» шага:

Вам также может понадобиться установить некоторые зависимости, если, например, работает configure запросил у вас сообщение об ошибке, какие зависимости вы пропустили. Вы также можете использовать checkinstall вместо make install , Смотрите здесь https://help.ubuntu.com/community/CheckInstall

Помните, что ваш пробег может отличаться.

Вы не можете «установить» .tar.gz файл или.tar.bz2 файл. .tar.gz файлы — сжатые архивы gzip, сжатые архивы как .zip файлы. Файлы.bz2 сжимаются с помощью bzip2. Вы можете извлечь .tar.gz файлы, использующие:

Точно так же вы можете извлечь.tar.bz2 файлы с

Если вы хотите, чтобы файлы распаковывались во время распаковки, добавьте v :

Даже если у вас нет подключения к Интернету, вы все равно можете использовать систему управления пакетами Ubuntu, просто загрузите .deb файлы с http://packages.ubuntu.com/. Не забудьте также скачать зависимости.

Чтобы упростить установку пакетов в автономном режиме, см. Вопрос » Как установить программное обеспечение в автономном режиме»?,

Читайте также:  Выключение компа по таймеру windows 10

Как вы компилируете программу из источника

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

извлечь файлы с помощью одной из команд

  • Если это tar.gz использовать tar xvzf PACKAGENAME.tar.gz
  • если это использовать tar.bz2 tar xvjf PACKAGENAME.tar.bz2

Загрузите пакет из источников программного обеспечения или из центра программного обеспечения.

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

Вы можете просто установить MYPACKAGE набрав в терминале:

sudo apt-get install MYPACKAGE

или с помощью программного центра и поиска MYPACKAGE , Но если это не так, идите с источником..

Перво-наперво

Как правило, не рекомендуется загружать и устанавливать приложения из интернет-файлов. Большинство приложений для Ubuntu доступны через «Ubuntu Software Center» в вашей системе (например, K3B ). Установка из Центра программного обеспечения намного безопаснее, намного проще и позволит приложению получать обновления из Ubuntu.

Тем не менее, как установить tar пакеты

Лучший способ — сначала загрузить пакеты tar.bz2 и tar.gz в вашу систему. Затем нажмите правой кнопкой мыши на файл и выберите извлечь, чтобы распаковать файлы. Откройте расположение извлеченной папки, найдите файл Readme и дважды щелкните его, чтобы открыть его, и следуйте инструкциям по установке конкретного пакета, поскольку для правильной установки файла могут быть разные инструкции, как в обычной процедуре. возможно, не сможет предотвратить без каких-либо ошибок.

Это только для .tar.* файлы, код которых предварительно скомпилирован, но упакован в файл tar.

Хорошо, это довольно сложная задача для новичка, но просто следуйте моим инструкциям, и все должно быть в порядке.

Прежде всего, загрузите .tar.* файл, и сохраните его. Не открывай это. (В этих примерах я буду устанавливать бета-сборку Dropbox, потому что я все равно собирался ее установить, поэтому я решил, что я также могу задокументировать установку.)

После того, как вы загрузили свой файл, (при условии, что вы сохранили его в Downloads ,) введите следующее:

ПРИМЕЧАНИЕ: используйте имя любого файла, который вы скачали. (например, для 64-битной сборки Firefox Nightly 19.0a1 вы должны набрать sudo cp firefox-19.0a1.en-US.linux-x86_64.tar.bz2 /opt/ )

Теперь перейдите к /opt/ каталог, распакуйте программу и удалите старый файл:

(снова используйте имя загруженного файла. Не забудьте расширение.)

Хорошо, проверьте, как называется извлеченная папка:

вы получите что-то вроде этого:

Хорошо, в нашем примере мы установили Dropbox, и единственная папка там называется .dropbox-dist , Это, вероятно, папка, которую мы хотим, поэтому подключите ее к следующему шагу (добавьте / до конца, так как это папка.)

Хорошо, теперь он помечен как исполняемый, поэтому пришло время создать символическую ссылку (это то, что позволяет запустить его из Терминала):

ПРИМЕЧАНИЕ: это sudo ln -s /opt// /usr/bin/ . Будь уверен что заменяется упрощенной строчной версией названия программы (например, для Firefox Nightly, введите firefox-nightly ; для сервера uTorrent введите utserver , Что бы вы здесь ни вводили, это будет команда, которую вы используете при запуске программы из Терминала. Думать о /usr/bin/ как переменная PATH в системах Windows.)

Ладно, все готово. Программа теперь установлена ​​и запущена из Терминала.
Что это? Вы говорите, что хотите запустить его из программы запуска, и хотите, чтобы на нем была иконка? Нет проблем!

Эта часть довольно проста:

ПРИМЕЧАНИЕ. Если вы устанавливаете НАД предыдущей установкой, используйте ls -a /usr/share/applications и искать уже существующий файл.desktop. Вместо этого вставьте имя этого файла.

Теперь вот где вы создаете иконку. Вот хороший шаблон; отредактируйте его соответствующим образом.

Вы можете полностью отключить опцию MimeType. Это может быть очень плохо, если вы этого не сделаете.

Теперь нажмите «Сохранить», закройте его, и вы в деле!

Источник

Оцените статью