package-management.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 09 Oct 2017 10:49:36 +0300
changeset 2188 e95731eef030
parent 2144 f8891b4321f5
child 2228 837f1337c59b
permissions -rw-r--r--
Fixed: NameError: name 'locale_encoding' is not defined File /bin/rst2html.py, line 17, in <module> from docutils.core import publish_cmdline, default_description File /usr/lib/python2.7/site-packages/docutils/core.py, line 20, in <module> from docutils import frontend, io, utils, readers, writers File /usr/lib/python2.7/site-packages/docutils/frontend.py, line 41, in <module> import docutils.utils File /usr/lib/python2.7/site-packages/docutils/utils/__init__.py, line 20, in <module> import docutils.io File /usr/lib/python2.7/site-packages/docutils/io.py, line 18, in <module> from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput File /usr/lib/python2.7/site-packages/docutils/utils/error_reporting.py, line 60, in <module> codecs.lookup(locale_encoding or '') # None -> '' NameError: name 'locale_encoding' is not defined

.. -*- 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

Show package content
====================

CentOS from repository::

  $ repoquery -l bash
  $ repoquery --list bash

Debian from reposiroty::

  $ sudo apt-file update
  $ apt-file list bash