Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Linux pkg install

pkg-config — Unix, Linux Command

SYNOPSIS

pkg-config [—modversion] [—help] [—print-errors] [—silence-errors] [—cflags] [—libs] [—libs-only-L] [—libs-only-l] [—cflags-only-I] [—variable=VARIABLENAME] [—define-variable=VARIABLENAME=VARIABLEVALUE] [—uninstalled] [—exists] [—atleast-version=VERSION] [—exact-version=VERSION] [—max-version=VERSION] [LIBRARIES. ]

DESCRIPTION

The pkg-config program is used to retrieve information about installed libraries in the system. It is typically used to compile and link against one or more libraries. Here is a typical usage scenario in a Makefile:

pkg-config retrieves information about packages from special metadata files. These files are named after the package, with the extension .pc. By default, pkg-config looks in the directory prefix/lib/pkgconfig for these files; it will also look in the colon-separated (on Windows, semicolon-separated) list of directories specified by the PKG_CONFIG_PATH environment variable.

The package name specified on the pkg-config command line is defined to be the name of the metadata file, minus the .pc extension. If a library can install multiple versions simultaneously, it must give each version its own name (for example, GTK 1.2 might have the package name «gtk+» while GTK 2.0 has «gtk+-2.0»).

OPTIONS

Rather than using the version-test options, you can simply give a version constraint after each package name, for example:

ENVIRONMENT VARIABLES

WINDOWS SPECIALITIES

In addition to the PKG_CONFIG_PATH environment variable, the Registry keys HKEY_CURRENT_USERSoftwarepkgconfigPKG_CONFIG_PATH and HKEY_LOCAL_MACHINESoftwarepkgconfigPKG_CONFIG_PATH can be used to specify directories to search for .pc files. Each (string) value in these keys is treated as a directory where to look for .pc files.

AUTOCONF MACROS

The macro PKG_CHECK_MODULES can be used in configure.ac to check whether modules exist. A typical usage would be:

This would result in MYSTUFF_LIBS and MYSTUFF_CFLAGS substitution variables, set to the libs and cflags for the given module list. If a module is missing or has the wrong version, by default configure will abort with a message. To replace the default action, specify an ACTION-IF-NOT-FOUND. PKG_CHECK_MODULES will not print any error messages if you specify your own ACTION-IF-NOT-FOUND. However, it will set the variable MYSTUFF_PKG_ERRORS, which you can use to display what went wrong.

Note that if there is a possibility the first call to PKG_CHECK_MODULES might not happen, you should be sure to include an explicit call to PKG_PROG_PKG_CONFIG in your configure.ac

Defines the PKG_CONFIG variable to the best pkg-config available, useful if you need pkg-config but don’t want to use PKG_CHECK_MODULES.

PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])

Check to see whether a particular set of modules exists. Similar to PKG_CHECK_MODULES(), but does not set variables or print errors.

Similar to PKG_CHECK_MODULES, make sure that the first instance of this or PKG_CHECK_MODULES is called, or make sure to call PKG_CHECK_EXISTS manually

METADATA FILE SYNTAX

Here is an example file:

You would normally generate the file using configure, of course, so that the prefix, etc. are set to the proper values.

Files have two kinds of line: keyword lines start with a keyword plus a colon, and variable definitions start with an alphanumeric string plus an equals sign. Keywords are defined in advance and have special meaning to pkg-config; variables do not, you can have any variables that you wish (however, users may expect to retrieve the usual directory name variables).

Note that variable references are written «$«; you can escape literal «$<" as "$$<".

Установка пакетов Ubuntu

Установка новых программ — один из самых важных моментов при работе с вашей системой. Раньше мы уже рассматривали добавление PPA в систему и установку программ из исходников. Но даже в PPA есть далеко не все пакеты, а установка из исходников слишком сложна для новичков.

Нередко возникает необходимость поставить программу, для которой уже есть собранные deb пакеты в интернете. Это может быть какая-нибудь не очень популярная программа или даже драйвера, которые вы скачали и хотите установить на компьютер где нет сети. На компьютере без сети установка программ с флешки ubuntu может стать единственным решением. В этой статье будет рассмотрена установка deb пакетов в ubuntu. Мы рассмотрим где их взять и как установить deb в ubuntu.

Где взять deb пакеты?

Ответ прост — на просторах интернета. Если это нужная вам программа, то вы уже знаете где взять для ее пакет. В случае с драйверами ситуация немного сложнее. Все программы и драйвера, которые находятся в официальных репозиториях Ubuntu вы можете найти на сайте launchpad.net, это очень удобно, если на машине, где они должны быть установлены нет интернета. Например, ищем linux-firmware и открываем ее страницу на Launchpad, внизу выбираем версию программы:

Дальше выбираем архитектуру:

И осталось получить deb файл для нашей системы:

Если у вас есть другой компьютер с интернетом или вы планируете устанавливать программы потом, а сейчас нужно только скачать deb пакеты, то это можно сделать с помощью apt:

apt download имя_пакета

Пакет будет сохранен в текущей папке и дальше вы сможете все без проблем установить. Но будет скачан только сам пакет, без его зависимостей. Зависимости мы можем получить только в системе с интернетом используя команду apt-rdepends:

apt download имя_пакета $(apt-rdepends имя_пакета|grep -v «^ «)

Теперь у вас есть не только пакет, но и все его зависимости.

Установка deb пакетов Ubuntu

Установить Deb пакет Ubuntu не так уж сложно, для этого даже есть несколько утилит. Можно устанавливать как с помощью графического интерфейса, так и в терминале.

Читать еще:  Linux mount smb

Самый простой способ установки — в графическом интерфейсе, с помощью центра приложений, с него и начнем. Откройте файловый менеджер в папке с пакетом:

Выполните двойной клик по deb пакету, далее откроется центр приложений, где вы посмотреть информацию о пакете и запустить установку нажав кнопку установить.

Установка программ Ubuntu с помощью центра приложений мне не очень нравится, он обычно очень долго думает и не всегда правильно открывает программу, но можно воспользоваться другой графической утилитой — gdebi. Сначала ее нужно установить:

sudo apt-get install gdebi

Теперь кликаем правой кнопкой мыши по файлу, выбираем открыть с помощью и gdebi:

Дальше осталось нажать кнопку установить и дождаться завершения установки пакета ubuntu. Программа автоматически установит все зависимости, если есть доступ к сети.

Установка deb из консоли Ubuntu выполняется не намного сложнее. Для этого используется утилита dpkg. Сначала переходим в папку куда был загружен deb пакет:

sudo dpkg -i имя_пакета.deb

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

$ sudo dpkg -i *.deb

Программа не умеет разрешать зависимости, даже если есть доступ к сети, она только устанавливает пакет, поэтому для установки зависимостей после установки deb ubuntu выполните:

$ sudo apt-get -f install

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

Это не единственный способ установки пакетов ubuntu через терминал, утилиту gdebi тоже можно запустить таким способом:

sudo gdebi имя_пакета.deb

Возможно, вы не знали, но apt тоже умеет устанавливать deb пакеты и даже более чем успешно разрешает зависимости. Только утилите нужно передать полный путь к файлу для установки. Если вы находитесь в папке с deb пакетом выполните:

sudo apt install ./имя_пакета.deb

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

Выводы

Вот и все. Теперь установка deb пакетов в Ubuntu не вызовет у вас проблем. Оказывается, есть несколько способов установки программ в ubuntu и все они имеют свои преимущества. Если у вас остались вопросы, спрашивайте в комментариях!

PKG_CONFIG_PATH переменная среды

Рассмотрим настройку переменной среды PKG_CONFIG_PATH, если вы установленное программное обеспечение в нестандартном префиксе. Что это значит?

8 ответов

PKG_CONFIG_PATH — это переменная среды, которая указывает дополнительные пути, в которых pkg-config будет искать свои .pc-файлы.

Эта переменная используется для увеличения пути поиска pkg-config по умолчанию. В типичной системе Unix он будет искать в каталогах /usr/lib/pkgconfig и /usr/share/pkgconfig . Обычно это распространяется на модули, установленные системой. Однако некоторые локальные модули могут быть установлены в другом префиксе, таком как /usr/local . В этом случае необходимо добавить путь поиска, чтобы pkg-config мог найти файлы .pc.

Программа pkg-config используется для получения информации об установленных библиотеки в системе. Основное использование pkg-config — это предоставление необходимых деталей для компиляции и привязки программы к библиотеке. Эти метаданные хранятся в файлах pkg-config. Эти файлы имеют суффикс .pc и находятся в определенных местах, известных инструменту pkg-config.

Чтобы проверить значение PKG_CONFIG_PATH , используйте следующую команду:

Чтобы установить значение PKG_CONFIG_PATH , используйте:

Первый ответ недостаточно технически достаточно ясен. На странице man (откройте терминал, введите man pkg-config ):

pkg-config извлекает информацию о пакетах из специальных файлов метаданных. Эти файлы названы в честь пакета и имеют расширение .pc . В большинстве случаев систем, pkg-config выглядит в /usr/lib/pkgconfig , /usr/share/pkgconfig , /usr/local/lib/pkgconfig и /usr/local/share/pkgconfig для этих файлов. Это дополнительно просмотрят разделенные двоеточиями (в Windows, разделенные точкой с запятой) список каталогов, заданных переменной среды PKG_CONFIG_PATH .

Таким образом, программа pkg-config не находится в каталоге PKG_CONFIG_PATH ; однако, если вы устанавливаете библиотеку, чтобы доступная информация использовалась в скрипте automake , она должна быть в каталоге, о котором знает pkg-config .

Чтобы узнать, где pkg-config (версия 0.24 или новее) ищет установленные библиотеки по умолчанию, используйте следующую команду:

Чтобы изменить этот путь, установите переменную среды PKG_CONFIG_PATH . Состояние файла man PKG_CONFIG_PATH :

Разделенный двоеточием (в Windows, разделенный точкой с запятой) список каталоги для поиска .pc-файлов. Каталог по умолчанию всегда будет искать после поиска пути; по умолчанию используется libdir / pkgconfig: datadir / pkgconfig где libdir — это libdir, где pkg-config и datadir — это datadir, где установлен pkg-config.

Вы пытаетесь создать часть программного обеспечения, допустим, Widget. Виджет полагается на другую библиотеку libcog ради аргумента. Процесс сборки виджета (возможно, скрипт configure) использует pkg-config для определения того, как использовать libcog. pkg-config ничего не знает о libcog.

Если libcog не установлен, это ваша проблема. Существует хорошая вероятность того, что стандартная установка libcog устранит проблему. В зависимости от вашей системы вам может потребоваться установить дополнительную версию «разработчика» пакета; он часто имеет «-devel» или «-dev» в конце, поэтому, если вы установите «libcog», вам также может понадобиться установить «libcog-devel».

Если установлен libcog, он, вероятно, не установлен таким образом, чтобы pkg-config мог его найти. Возможно, файл libcog.pc находится где-то в вашей системе. Для аргументации он находится в /opt/cog/lib/pkgconfig/libcog.pc. В этом случае вы можете сообщить об этом pkg-config, установив PKG_CONFIG_PATH в каталог, содержащий libcog.pc. Таким образом, в оболочке Bourne или подобном, что-то вроде

Как только это будет сделано, повторное выполнение неудавшейся команды, надеюсь, будет работать.

Использование pkg для управления бинарными пакетами

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

pkgng не является заменой для утилит управления портами, таких как ports-mgmt/portmaster или ports-mgmt/portupgrade. В то время, как ports-mgmt/portmaster и ports-mgmt/portupgrade позволяют устанавливать приложения сторонних разработчиков как из бинарных пакетов, так и из Коллекции Портов, утилита pkgng дает возможность устанавливать приложения исключительно из бинарных пакетов.

Читать еще:  Настройка apache linux

Начало работы с pkgng

Во FreeBSD 9.1 и более поздние включена программа «самонастройки» («bootstrap») pkgng. Она скачивает и устанавливает основную утилиту pkgng.

Для запуска самонастройки, выполните:

Для более ранних версий FreeBSD утилиту pkgng необходимо установить из Коллекции Портов или из бинарных пакетов.

Для установки pkgng из порта, запустите следующее:

Для установки из бинарного пакета, выполните:

Действующие инсталляции FreeBSD требуют преобразования базы данных установленных пакетов утилиты pkg_install к новому формату. Для выполнения конвертирования, запустите:

Вышеприведенный шаг не требуется для новых инсталляций, в которых не было установлено программ сторонних разработчиков.

Важно:

Этот шаг необратим. После перевода базы данных установленных пакетов к формату pkgng утилитами pkg_install более пользоваться не следует.

Примечание:

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

Чтобы убедиться, что Коллекция Портов FreeBSD регистрирует новые программы при помощи pkgng, а не pkg_install, для версий FreeBSD, предшествующих 10.X, в файл /etc/make.conf необходимо внести следующую запись:

Настройка окружения pkgng

Система управления пакетами pkgng при выполнении большинства операций обращается к пакетному репозиторию. Адрес используемого по умолчанию репозитория указан в /usr/local/etc/pkg.conf или в переменной окружения PACKAGESITE. Последняя переопределяет адрес, указанный в конфигурационном файле.

Дополнительные опции конфигурации pkgng описаны в pkg.conf(5).

Основные операции pkgng

Информацию по работе с pkgng можно найти на странице справочника pkg(8), или в выводе утилиты pkg, запущенной без аргументов.

Каждый аргумент команды pkgng описан на соответствующей странице справочника. Например, чтобы ознакомиться со страницей справочника для pkg install, запустите любую из двух нижеследующих команд:

Получение информации об установленных пакетах при помощи pkgng

Информация об установленных в системе пакетах может быть отображена при помощи команды pkg info. Подобно до pkg_info (1) , в выводе перечисляются версии и описания всех установленных пакетов.

Если необходима информация о конкретном пакете, выполните:

Например, для получения версии pkgng, который установлен в системе, запустите:

Установка и удаление пакетов при помощи pkgng

В общем, бинарные пакеты устанавливаются при помощи:

Команда pkg install обращается к пакетному репозиторию, это упоминалось в Раздел 5.5.2, >. Команда pkg-add(8), напротив, не выполняет обращений к пакетному репозиторию, а также игнорирует переменную PACKAGESITE. Как следствие — зависимости не отслеживаются, и необходимые зависимые компоненты не скачиваются с удаленного источника. В этом разделе описана работа с pkg install. За подробностями работы с pkg add обратитесь к справочной странице по pkg-add(8). Утилита pkg install может устанавливать дополнительные бинарные пакеты. Например, для установки curl, выполните:

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

Пакеты, в которых более нет необходимости, могут быть удалены при помощи pkg delete. Например, если выяснится, что curl не нужен:

Обновление установленных пакетов при помощи pkgng

Пакеты, версии которых устарели, можно найти при помощи команды pkg version. Версии установленных пакетов сравниваются с версиями приложений из локального дерева портов, а в случае отсутствия портов pkg-version(8) обращается к удаленному репозиторию пакетов.

При помощи pkgng можно обновлять пакеты до новых версий. Предположим, вышла новая версия curl. Установленный пакет можно обновить к новой версии, выполнив:

Аудит безопасности пакетов при помощи pkgng

Изредка в приложениях из Коллекции Портов обнаруживаются уязвимости. В pkgng встроена возможность выполнять аудит безопасности, действующая подобно приложению из ports-mgmt/portaudit. Для выполнения аудита установленных в систему программ, выполните:

Сложные вопросы работы с pkgng

Автоматическое удаление неиспользуемых зависимостей при помощи pkgng

После удаления пакета в системе могут остаться неиспользуемые зависимости, наподобие security/ca_root_nss из примера выше. Такие пакеты остаются установленными, несмотря на то, что они более не требуются другим пакетам. Определить и удалить неиспользуемые пакеты, которые были установлены как зависимости, можно при помощи:

Резервное копирование базы данных установленных пакетов pkgng

В отличие от традиционной системы управления пакетами, pkgng располагает своим собственным механизмом резервного копирования базы данных. Для ручного создания резервной копии базы данных установленных пакетов, выполните:

Примечание:

Замените имя файла pkgng.db на более подходящее.

В дополнение, pkgng содержит скрипт periodic (8) , позволяющий выполнять ежедневное автоматическое копирование базы данных установленных пакетов. Для активации данной возможности задайте переменной daily_backup_pkgng_enable значение YES в файле periodic.conf (5) .

Подсказка:

Для предотвращения периодического запуска аналогичного скрипта системы pkg_install, также выполняющего резервное копирование базы данных установленных пакетов, задайте переменной daily_backup_pkgdb_enable значение NO в файле periodic.conf (5) .

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

Удаление копий устаревших пакетов в системе pkgng

По умолчанию, pkgng сохраняет копии установленных бинарных пакетов в каталог, указанный переменной PKG_CACHEDIR в pkg.conf(5). При обновлении пакетов командой pkg upgrade старые версии обновленных пакетов автоматически не удаляются.

Для удаления устаревших версий бинарных пакетов из кеш-каталога, выполните:

Изменение метаданных пакетов pkgng

Со временем программы из Коллекции Портов могут претерпевать изменения старшего (major) номера версии. В отличие от pkg_install, pkgng располагает встроенной командой для обновления информации о происхождении (origin) пакета. Например, изначально порт lang/php5 был версии 5.3. Позже этот порт был переименован в lang/php53, а под именем lang/php5 был создан порт версии 5.4. Утилитам системы pkg_install для обновления информации о происхождении (origin) пакета в собственной базе данных установленных пакетов потребовалась бы помощь дополнительного программного обеспечения, такого как ports-mgmt/portmaster.

Читать еще:  Python hello world linux

В отличие от ports-mgmt/portmaster и ports-mgmt/portupgrade для портов, порядок перечисления новой и старой версий отличаются. Для pkgng необходим следующий порядок:

Например, в вышеприведенном случае для замены информации о происхождении пакета, выполните:

Еще один пример: для изменения информации о происхождении пакета с lang/ruby18 на lang/ruby19, выполните:

И последний пример: для замены информации о происхождении пакета разделяемой библиотеки libglut с graphics/libglut на graphics/freeglut, запустите:

Примечание:

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

Open/Extract xar/pkg File with Freeware on Windows/Mac/Linux

xar (short for eXtensible ARchive) is an open source file archiver and the archiver¡¯s file format. It was created within the OpenDarwin project and is used in Mac OS X 10.5 for software installation routines, as well as browser extensions in Safari 5.0. Xar replaced the use of gzipped pax files.

pkg is just .xar archives with a different extension and a specified file hierarchy. pkg is an OS X Installer file. This file format is used by Apple Inc. on its Macintosh line of computers and on the iPhone. It is also used by Sony PlayStation 3 on downloadable content over PlayStation Network. The contents of a PKG file can be installed using the Apple Installer application.

The XAR project aims to provide an easily extensible archive format. Important design decisions include an easily extensible XML table of contents for random access to archived files, storing the toc at the beginning of the archive to allow for efficient handling of streamed archives, the ability to handle files of arbitrarily large sizes, the ability to choose independent encodings for individual files in the archive, the ability to store checksums for individual files in both compressed and uncompressed form, and the ability to query the table of content’s rich meta-data.

The XAR file format has three main regions, The Header, The Table of Contents, and The Heap. The header is a small binary data structure that identifies the file format (file magic). The table of contents is parsed as an XML document. The heap occupies the remainder of the file. Files’ data are stored in the heap.

Files in xar are individually compressed. This allows for quick extraction of individual files without the extra disk space requirements and CPU usage of extracting the entire archive, as compared to a compressed tar archive. This makes xar useful for quick restores of accidentally deleted or overwritten files, from a backup archive. Additionally, this means xar can use different compression methods for each file in the archive. For instance, it might not be a good idea to try to try to compress an already compressed file, but a large file might benefit greatly from using bzip2, whereas a small text file would be better served to use gzip.

Open/Extract xar/pkg File on Windows

Easy 7-Zip opens/extracts xar/pkg file easily on Windows. The Easy 7-Zip was developed based on 7-Zip. 7-Zip is a famous open source file archiver. The Easy 7-Zip is an easy-to-use version of 7-Zip. The open source freeware keeps all features of 7-Zip and adds a few useful features that makes the software more user-friendly.

Easy 7-Zip works on Windows 10/8.1/8/7/Vista/2008/2003/XP/2000 (both 32-bit and 64-bit compatible).

  1. Free Download Easy 7-Zip
  2. Install Easy 7-Zip by step-by-step instructions
  3. The installation will associate xar/pkg with Easy 7-Zip automatically
  4. Double-click on xar/pkg file to open xar/pkg file with Easy 7-Zip

    You will see files or folders within the xar/pkg file then, click button Extract to extract the xar/pkg file.

Alternatively, Right-click on xar/pkg file on Windows Explorer

And then, choose Extract files. , Extract Here, or Extract to «folder» to extract the xar/pkg file.

Easy 7-Zip Download Links:

Open/Extract xar/pkg File on Mac

You can open pkg file directly on Mac. If you want to extract xar/pkg you need to install extra software. B1 Free Archiver opens/extracts xar/pkg file on Mac. B1 Free Archiver is a free software for creating archive folder and extracting archive file. B1 Archiver works on all platforms — Windows, Linux, Mac and Android. The freeware supports most popular formats including xar/pkg.

B1 Free Archiver is compatible with:

  • Mac OS X 10.9 Mavericks
  • Mac OS X 10.8 Mountain Lion
  • Mac OS X 10.7 Lion
  • Mac OS X 10.6 Snow Leopard

Open/Extract xar/pkg File on Linux

You need to install xar on Linux.

If an error «configure: error: Cannot configure without xml2-config» occurs when running configure, please install libxml2-dev. On Debian, type:

List folders and files in xar/pkg:

Open/Extract xar/pkg file with xar on Linux:

xar command options:

  • -t: Lists an archive
  • -x: Extracts an archive
  • -v: Print filenames as they are archived
  • -f: Specifies an archive to operate on

Alternatively, you can use p7zip to extract xar/pkg file. p7zip is the Unix command-line port of 7-Zip.

Install p7zip-full on CentOS and Fedora

Install p7zip-full on Debian and Ubuntu

List directories and files in xar/pkg file

Extract xar/pkg file with p7zip on Linux

Copyright © 2013-2017 James Hoo All rights reserved.

Ссылка на основную публикацию
Adblock
detector