Loading
Красноглазым Джедаям
компьютерной вселенной
посвящается.

Установка программ в Linux Debian

Если после ввода комманды в терминал выводится сообщение вроде "комманда не найдена", скорее всего программа, обеспечивающая выполнение этой команды не установлена. В Линукс DEBIAN устанавливать либо обновлять программное обеспечение можно только используя так называемые пакеты (пакеты это программы для установки, то есть инсталяторы имеют вид имяПрограммы_версияПакета-номерРевизииДебиан.deb). Репозиторий Debian — это набор пакетов Debian, размещённых в специальном дереве каталогов, в которых также есть несколько дополнительных файлов с индексами и контрольными суммами пакетов. Если пользователь добавит репозиторий в свой файл /etc/apt/sources.list, то он сможет легко просматривать и устанавливать пакеты из репозитория. Для устаноки пакетов из репозиториев нужны системы управления пакетами.

Умна та женщина, в обществе которой можно вести себя как угодно глупо.

Как работают репозитории

Репозиторий состоит как минимум из одного каталога, в котором хранятся DEB пакеты и два специальных файла: Packages.gz для бинарных пакетов и Sources.gz для пакетов с исходными текстами.

Если ваш репозиторий описан правильно в sources.list (об этом позже), то apt-get загрузит индексный файл Packages.gz для бинарных пакетов (ключевое слово deb ) и файл Sources.gz для пакетов с исходными текстами (ключевое слово deb-src ).

Packages.gz содержит название, версию, размер, краткое и полное описание и зависимости для каждого пакета, плюс некоторую дополнительную информацию, которая нам не интересна. Вся эта информация читается (и используется) менеджерами пакетов Debian, например dselect или aptitude.

Sources.gz содержит название, версию и зависимости для сборки (пакеты, которые нужны для сборке программы) каждого пакета (плюс некоторую дополнительную информацию, которая нам опять не интересна). Эта информация используется apt-get source и подобными программами.

Подключение каждого репозитория занимает одну строку в /etc/apt/sources.list; для репозитория с бинарными пакетами используется команда deb , а для репозитория с исходными текстами команда deb-src . Каждая строка имеет следующий синтаксис: deb|deb-src uri дистрибутив [компонент1] [компонент2] [...] Файлы uri — это URI (унифицированный идентификатор ресурса), указывающий на корень репозитория, например, ftp://ftp.yoursite.com/debian, http://yoursite.com/debian или, для файлов на вашем жёстком диске, file::///home/joe/my-debian-repository. Последняя косая черта является необязательной. Для автоматических репозиториев вы должны указать дистрибутив и один или более компонент; дистрибутив не должен заканчиваться символом косой черты.

Два автоматических репозитория из sources.list deb ftp://sunsite.cnlab-switch.ch/mirror/debian/ unstable main contrib non-free deb-src ftp://sunsite.cnlab-switch.ch/mirror/debian/ unstable main contrib non-free

Добавляем CD ROM в sources.list

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

# apt-cdrom add

Способы создания репозиториев.

Использование apt-ftparchive (пакет apt-utils)

apt-ftparchive — используется для перемещения набора файлов пакетов Debian в надлежащую архивную иерархию, соответствующую официальному архиву Debian. Данная программа является частью пакета apt-utils . apt-ftparchive генерирует индексные файлы архивов Debian. Он поддерживает множество стилей генерации: от полностью автоматической до замены функций пакетов dpkg-scanpackages и dpkg-scansources. Способ применения прост. Предварительно свалив все нужные пакеты в одну папку, в терминале под ROOT, стоя прямо на ней сказать:

# apt-ftparchive contents . | gzip -c >Contents.gz # apt-ftparchive packages . | gzip -c >Packages.gz # echo deb file:`pwd` ./ >>/etc/apt/sources.list # aptitude update

Использование apt-move

apt-move — используется для перемещения набора файлов пакетов Debian в надлежащую архивную иерархию, соответствующую официальному архиву Debian. Именно этот способ решит все проблемы так как нужно лишь указать, где лежит архив файлов и куда выложить ваше зеркало. apt-move update - переносит из /var/cache/apt/archives пакеты в директорию локального зеркала (указывается в /etc/apt-move.conf как переменная LOCALDIR=path_to). То есть перед использованием команды, необходимо ее сконфигурировать, отредактировав файл /etc/apt-move.conf.

$ apt-move update

Использование dpkg-scanpackages (пакет dpkg-dev)

Данная программа является частью пакета dpkg-dev. dpkg-scanpackages создаёт файл Packages , а dpkg-scansources файл Sources . Результат обеих программ направляется в stdout (стандартный выходной поток); таким образом, для сжатия файлов вы можете использовать цепочку команд:

dpkg-scanpackages аргументы | gzip -9c > Packages.gz.

Данные программы работают схожим образом; им передаётся два аргумента (на самом деле есть и другие, но они здесь не показаны; вы можете прочитать о них в страницах руководства); первым параметром указывается каталог с пакетами, а вторым файл override. Для простых репозиториев файл override не нужен, но всё равно этот аргумент является обязательным, поэтому мы просто передаём /dev/null.

dpkg-scanpackages сканирует .deb пакеты; dpkg-scansources сканирует .dsc файлы. Необходимо располагать файлы .orig.gz, .diff.gz и .dsc вместе. Файлы .changes необязательны.

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

$ cd my-repository $ dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz $ dpkg-scansources source /dev/null | gzip -9c > source/Sources.gz

Как установить пакеты

Комманды терминала

Использование dpkg

Этот способ позволяет установить пакет без обращения к репозиториям. То есть можно в любом каталоге сохранить пакет и не создавая репозитория напрямую установить его. Такая установка не рекомендуется ввиду того, что зависимости программного обеспечения не проверяются. Но если точно знать что делаешь, то можно находясь в том же каталоге ввести в терминале.

# dpkg -i название_пакета.deb

Использование apt-get

Этот способ позволяет установить пакет путем обращения к репозиториям, прописанным в /etc/apt/sources.list. Поскольку команда apt-get проводит изменения системного масштаба, то для работы с ней вам нужно стать суперпользователем-root, или получить его права, в противном случае ничего сделать вы не сможете.

# apt-get install имя_программы

Системы управления пакетами

Наиболее известные системы управления пакетами это:

Предустановлена в системе, доступна сразу после установки Debian и наиболее удобна для установки synaptic программа aptitude


Контактная информация

E-Mail: oleynikww@gmail.com

Добавить комментарий

Комментарии пользователей