package-management.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 30 Jan 2017 00:44:30 +0200
changeset 2075 ccaa2f364422
parent 1989 20198cc725e6
child 2144 f8891b4321f5
permissions -rw-r--r--
Improve page formatting.

.. -*- coding: utf-8; -*-

====================
 Package management
====================
.. contents::
   :local:

Local install with root permission
==================================

Если вы root то по Linux FHS ставим в /opt.

Смотри:

  http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

Не забываем обновить переменную окружения PATH!

Local install without root permission
=====================================

Лучшим решением, если у Вас нету прав root, будет установить ее в домашнем
каталоге. Тут дело личных предпочтений. У меня это ~/usr.

Если программа в бинарном виде - просто распаковываем::

  $ cd /your/temp/dir
  $ gzip -d -c prog.tar.gz | tar xf -
  $ mv prog/* ~/usr

Если программу придестя собирать из исходников, почти всегда можно указать ключ
``--prefix``::

  $ configure --prefix=$HOME/usr
  $ make
  $ make install

Обычно run-инсталляторы разархивируют содержимое в ``$PWD/$pkg``. В любом
случае::

  $ ./nvidia-driver-1.2.9.run --help

Show all installed packages
===========================

RPM based package manager::

  $ rpm -qa

DEB based package manager::

  $ dpkg -l

Find packages a file belong to
==============================

Find what package hold file among installed packages::

  $ rpm -qf /usr/bin/free
  $ zypper search -f stdlib.h

Find what package hold file among all packages from enabled repositories::

  $ yum whatprovides '*/stdlib.h'

  $ sudo yum install yum-utils           # old alternative
  $ repoquery --whatprovides '*bin/grep'

For ``pacman`` package system from ``pkgtools`` package::

  $ pkgfile -si stdlib.h