nixp.ru v3.0

17 октября 2017,
вторник,
01:01:32 MSK

DevOps с компанией «Флант»
Аватар пользователя DimkaS
DimkaS написал 3 ноября 2005 года в 20:29 (1272 просмотра) Ведет себя как мужчина; открыл 84 темы в форуме, оставил 922 комментария на сайте.

1. В чем разница между apt-get и dpkg? Как я понял, apt — один из механизмов dpkg для получения пакетов. Так?

2. Скачал новый пакет. Как мне его установить? Сначало надо добавить в кэш, а потом сделать apt-get install? Но apt-cache add /…/packet.deb говорит E: Unimplemented… Как быть?

Sasha2

2.2 Как использовать APT локально

Иногда, вы можете располагать кучей пакетов .deb, которые вам хотелось бы устанавливать с помощью APT, чтобы зависимости обрабатывались автоматически.

Чтобы это сделать, создайте каталог и поместите в него .deb`ы, которые вам нужны. Например:

mkdir /root/debs

Вы можете изменить установки определений файла control из debian-пакета напрямую для вашего репозитория с помощью файла override. В этом файле вы можете определить какие-нибудь опции для перекрытия тех, которые приходят с пакетом. Это может выглядеть так:

package priority section

package — это имя пакета, priority — имеет значения low, medium или high, а section — это название раздела, в котором он находится. Имя файла не имеет значения, позже вы будете указывать его в качестве аргумента для команды dpkg-scanpackages. Если вы не хотите составлять файл override, тогда просто указывайте /dev/null. при вызове dpkg-scanpackages.

Из каталога /root дайте команду:

dpkg-scanpackages debs file | gzip > debs/Packages.gz

In the above line, file is the override file, the command generates a file Packages.gz that contains various informations about the packages, which are used by APT. To use the packages, finally, add: В вышеприведенной команде, file — это файл override, команда генерирует файл Packages.gz, который содержит различную информацию о пакетах, которые используются APT. Чтобы использовать пакеты, наконец, добавьте:

deb file:/root debs/

После всех этих манипуляций вы можете использовать команды APT как обычно. Вы также можете создать и репозиторий для исходных текстов. Для этого используется та же процедура, но помните, что вам нужны файлы .orig.tar.gz, .dsc и .diff.gz в каталоге, и вместо Packages.gz надо использовать Sources.gz. Также нужно использовать другую программу. Это программа dpkg-scansources. Командная строка выглядит примерно так:

dpkg-scansources debs | gzip > debs/Sources.gz

Обратите внимание на то, что программе dpkg-scansources не нужен override файл. Строка в sources.list:

deb-src file:/root debs/

Источник: http://www.debian.org/doc/manuals/apt-howto/index.ru.html#contents

DimkaS

Это howto я нашел и прочитал час назад. Не помогает. По-моему неправильно указана строка, которую надо записать в sources.list.

Должно быть что-то вроде:

deb file:/root/debs stable main

А еще, после правки sources.list надо сделать apt-get update. Вот там он начинает ругаться, а если закомментировать исправления — перестает.

Sasha2

Ну там же четко написано,что должно быть deb file:/root debs/, а не твое

deb file:/root/debs stable main

Sasha2

Вообще проще всего экспериментировать с файлом sources.list так:

1. # su

2. Ввод пароль для root

3. gedit (Открываем sources.list)

4. Входим в Synaptic

5. Далее редактирум файл sources.list и сохраняем

6. В Synaptic нажимаем кнопку Reload

7. Если все нормально (нет сообщений об ошибках), то тогда используем новый ркпозитарий, если же есть ошибки, то тогда goto к шагу 5.

Genie

как только народ не начнёт извращаться, лишь бы apt-setup из пакета base-config не использовать…

да и man 5 sources.list почитать.

DimkaS
Sasha2
Ну там же четко написано,что должно быть deb file:/root debs/, а не твое

deb file:/root/debs stable main

Прочитал howto еще 3 раза и понял, что не прав. Прописал, как показано, и все заработало. Ура! Всем спасибо.

А apt-setup, надеюсь, поковыряю на неделе.

DimkaS

Пытался на днях установить в Debian пакет с исходниками ядра. Делал все как в howto. Но dpkg-scansources выдает следующее:

Prototype mismatch: sub main::getopt: none vs (@) at /usr/bin/dpkg-scansources line 116.

В перле я не силен, про ошибку понял, а как исправить — не знаю.

Файл Sources.gz создается, но apt-get пакет не видит.

Что не так?

DimkaS

Установил apt-src. Сделал apt-get update, apt-src update.

Безрезультатно. Оба ничего не могут найти даже по шаблону kernel*.

DimkaS

Есть подозрение, что пакеты *.dsc не устанавливаются. Их нужно просто получить — а дальше build или распаковка с помощью dpkg-source. Да?

Genie

вроде бы с какого-то момента исходники ядра в Debian стали зваться linux*, а не kernel*.. что несколько раздражает.

DimkaS
Genie
вроде бы с какого-то момента исходники ядра в Debian стали зваться linux*, а не kernel*.. что несколько раздражает.

Возможно, но у меня есть вот эти файлы:

kernel-source-2.6.8_2.6.8-16.diff.gz

kernel-source-2.6.8_2.6.8.orig.tar.gz

kernel-source-2.6.8_2.6.8-16.dsc

Так ничего и не придумав, распаковал их dpkg-source и теперь пытаюсь скомпилить ядро. Пока не выходит…