Как удалить приложение в debian и подобных(purge или remove?)

Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

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

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

Получение информации о новых/обновлённых пакетахsudo aptitude update
Обновлениеsudo aptitude safe-upgrade
Поиск пакета по именам пакетовaptitude search key_word
Поиск пакета по точному названиюaptitude search «^name$»
Поиск по описаниюaptitude search «?description(«key_word»)»
Информация о пакетеaptitude show package_name
Установкаsudo aptitude install package_name
Удалениеsudo aptitude remove package_name
Полное удаление (вместе с конфигами)sudo aptitude purge package_name
Очистить кэш загруженных пакетов (освободить место)aptitude autoclean # удалятся только пакеты неактуальных версий
aptitude clean # очистится весь кэш

Установка отдельно скачанного/созданного пакета (для создания пакета из сторонних исходников нужно использовать утилиту checkinstall с флагом -D)
sudo dpkg -i /path/to/package.deb
Для получения доп информацииman aptitude
sudo aptitude install aptitude-doc-en

и смотрим документацию (/usr/share/doc/aptitude/html/en/index.html), кому быструю справку по поисковым шаблонам, тому сюда — /usr/share/doc/aptitude/html/en/ch02s04.html. Если лень ставить доку, то в сети она есть.
Вводная на Debian Wiki: wiki.debian.org/Aptitude

А теперь то что не очевидно или требует полного прочтения документации

1. Как после update посмотреть какие пакеты будут обновлены?aptitude search ?upgradable
также можно юзать (если поставить)sudo daptup
но после его установки точно также будет себя вести и обычный update 2. Как узнать что изменилось в пакетах которые будут обновлены? Можно пробоватьsudo aptitude changelog package_name
для каждого пакета.

Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию.

Для этого нужно запуститьsudo dpkg-reconfigure apt-listchanges
3. Что делать если обновление что-то поломало и нужно откатиться? Отката нет, можно попробовать найти предыдущую версию пакетаsudo aptitude version package_name
и установить еёsudo aptitude install package_name=version
4.

Как найти все пакеты установленные вручную? есть вариант команды (aptitude search '~i!~M'), но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов/var/log/aptitude (+ ротированные куски)
/var/log/installer/initial-status.gz
/var/log/dpkg.

log (+ ротированные куски)
но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить 5. Как посмотреть список файлов в пакете? если пакет установленdpkg -L package_name
для любых пакетов поставить apt-file иapt-file list package_name
6. Как посмотреть какому пакету принадлежит файл?dpkg -S file_name
7.

Как удалить все пакеты, где есть key в названии пакета?sudo aptitude purge ~ikey
8. Как удалить оставшиеся конфиги от удалённых пакетов?sudo aptitude purge ~c
9. Как найти пакет пакет, в котором содержится файл lib.so:apt-file search lib.so
10. Как сконвертировать rpm пакет в deb?alien —to-deb /path/to/file.rpm
11.

Как найти список установленных ядер?dpkg —list linux-* | grep ii
12. Как установить пакет из testing или experimental?

На эту тему нужно писать отдельно (например так), но если кратко, то команды для этого есть

sudo aptitude -t testing package_name
илиsudo aptitude package_name/testing
13. Как удалить метапакет, но оставить одну из зависимостей?

придётся почитать документацию про ключ unmarkauto или глянуть сюда.

14. Как узнать что попало в файловую систему мимо системы управления пакетами? Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открытsudo cruft -d / -r report —ignore /home —ignore /var —ignore /tmp
15. Какие есть дополнительные репозитории?

Debian — wiki.debian.org/UnofficialRepositories

Ubuntu — множество всяких PPA 16. Что есть ещё?

apt-cdrom

apt-spy
auto-apt. заметка на хабре
apt-key
apt-add-repository
Некоторые вещи умеет только apt-get
Есть альтернативные утилиты для управления пакетами, например wajig, который пытается вобрать в себя функционал всех остальных утилит. 17. Как найти пакеты зависящие от данногоapt-cache rdepends package_name
также может пригодитсяaptitude why package_name

Благодарю всех кто помог своими советами в рассылке, жж (JackYF) и хабре ( run4way, sledopit, nazarpc, AgaFonOff, amarao, traaance, adrianopol, Karamax). Замечания и дополнения приветствуются.

Источник: https://habr.com/post/150131/

Как полностью удалить пакет с зависимостями в Linux, использующим пакетный менеджер apt

При установке программ, при помощи пакетного менеджера apt, у многих часто возникаем вопрос как их удалять. Для этого есть команды:

sudo apt-get autoremove имя_программы

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

sudo apt-get remove имя_программы

Команда удаляет пакет не затрагивая зависимости.

sudo apt-get purge имя_программы

Команда удаляет конфигурационные файлы пакета.

Казалось бы, на этом все, но не тут-то было, apt-get autoremove не всегда удаляет всё что было установлено вместе с пакетом.

Что бы наверняка удалить все что было установлено вместе с пакетом, можно посмотреть лог apt:

cat /var/log/apt/history.log | more

Пример вывода этой команды:

Start-Date: 2016-08-03  07:46:19
Commandline: apt-get install samba
Install: python-tdb:amd64 (1.3.8-2, automatic), python-samba:amd64 (2:4.3.9+dfsg
-0ubuntu0.16.04.2, automatic), python-dnspython:amd64 (1.12.0-1, automatic), sam
ba:amd64 (2:4.3.9+dfsg-0ubuntu0.16.04.2), samba-dsdb-modules:amd64 (2:4.3.9+dfsg
-0ubuntu0.16.04.2, automatic), libaio1:amd64 (0.3.110-2, automatic), tdb-tools:a
md64 (1.3.8-2, automatic), attr:amd64 (1:2.4.47-2, automatic), samba-common:amd6
4 (2:4.3.9+dfsg-0ubuntu0.16.04.2, automatic), samba-vfs-modules:amd64 (2:4.3.9+d
fsg-0ubuntu0.16.04.2, automatic), samba-common-bin:amd64 (2:4.3.9+dfsg-0ubuntu0.
16.04.2, automatic), python-ldb:amd64 (2:1.1.24-1ubuntu3, automatic)
End-Date: 2016-08-03  07:47:23

Здесь видно что при установке samba, так же были установлены python-tdb, python-samba и т.д. Соответственно для полного удаления установленного пакета можно набрать команду:

sudo apt-get autoremove —purge python-tdb python-samba python-dnspython samba samba-dsdb-modules libaio1 tdb-tools attr samba-common samba-vfs-modules samba-common-bin python-ldb

Для того что бы не искать и не выбирать эти программы из лога вручную можно спарсить лог:

sudo sed -n '/Commandline: apt-get install имя_пакета/,/End-Date:.*/p' /var/log/apt/history.log | sed -n '/Install.*/p' | sed -e s'/Install: //g' | sed -e s'/:amd64 //g' | sed -e s'/(.[^)]*),{0,1}//g' | tr '
' ' '

Читайте также:  Установить последнюю версию mesa в ubuntu/linux mint

Внимание: эти команды парсят весь лог, т.е. если несколько раз устанавливалась/удалялась программа, на экран выведутся все программы которые были установлены при каждой установке, не только при последней.

Что бы отображались программы только при последней установке нужно в конце строки заменить «tr '
' ' '» на «tail -1», т.е. команда должна быть:

sudo sed -n '/Commandline: apt-get install имя_пакета/,/End-Date:.*/p' /var/log/apt/history.log | sed -n '/Install.*/p' | sed -e s'/Install: //g' | sed -e s'/:amd64 //g' | sed -e s'/(.[^)]*),{0,1}//g' | tail -1

На экран выведутся программы, которые были установлены при установке пакета.

Что бы их удалить можно ввести:

sudo sed -n '/Commandline: apt-get install имя_пакета/,/End-Date:.*/p' /var/log/apt/history.log | sed -n '/Install.*/p' | sed -e s'/Install: //g' | sed -e s'/:amd64 //g' | sed -e s'/(.[^)]*),{0,1}//g' | tr '
' ' ' | sudo xargs apt-get autoremove —purge -y

Все что устанавливалось при установке вашего пакета, будет удалено.

Видео по теме:

0 0

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.

Если вам помогла статья, вы можете >>отблагодарить автора

Источник: https://www.mytechnote.ru/comment/167

Установка программ в Debian и дистрибутивах, основанных на нем

Для установки и распространения Debian-основанные дистрибутивы используют файлы с расширением *.deb. Но, как правило, программы распространяются не в виде отдельных пакетов, а в виде репозиториев — хранилищ большого числа файлов.

Для поиска и установки пакетов существуют различные менеджеры.

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


Synaptic

Определенно это лучший графический менеджер пакетов в Debian.

Тут можно делать практически всё, что может понадобиться: как устанавливать, так и удалять пакеты, добавлять различные репозитории, включая диски.

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


APT

Набор консольных утилит для работы с репозиториями. Вообще, консоль частенько бывает удобнее, чем оконный режим. Особенно если ты знаешь, что конкретно тебе требуется. Проще сразу написать что-то вроде apt-get install vlc, чем запускать синаптик, в поиск вбивать тот же vlc, потом его отмечать и жать «применить». А вообще вот самые используемые случаи apt:

# apt-get update — получить обновлённые списки пакетов с сервера;

# apt-cdrom add — добавить диск в список репозиториев;

# apt-get install package_name — установить/обновить пакет;

# apt-get upgrade — обновить пакеты, установленные в систему;

# apt-get remove package_name — удалить пакет, установленный в систему (файлы конфигурации остаются!);

# apt-get purge package_name — удалить пакет, установленный в систему, с удалением файлов конфигурации;

$ apt-cache search package_name — поиск пакета. Выдаёт довольно большой список (так как ищет в имени и описании), если надо искать более строго, то можно поступать следующим образом (на примере mplayer);

$ apt-cache search mplayer | grep mplayer — в список попадают только те пакеты, где в имени или кратком описании встречается «mplayer».


Aptitude

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

# aptitude

Наиболее часто используемые клавиши в таком режиме:

«/» — поиск по имени пакета;

«n» — перейти к следующему пакету, удовлетворяющему условиям поиска;

«+» — установить пакет;

«-» — удалить пакет, оставив конфиги;

«_» — удалить пакет вместе с конфигами (purge);

«g» — перейти к следующему шагу работы с пакетами (установка/удаление);

«q» — возврат или выход.

Кроме того, aptitude можно использовать прямо из консоли подобно apt. Вот некоторые его параметры:

download — просто скачать нужный пакет;

install, remove, search, upgrade, update, purge — аналогично apt;

markauto/unmarkauto — поставить/снять отметку «установлено автоматически»;

reinstall — переустановить пакет.

Небольшое замечание по использованию aptitude. Aptitude рекомендуется к использованию (и в инсталляторе используется именно он) — у него более интеллектуальный механизм решения проблем с зависимостями (в крайнем случае, он позволяет разобраться с ними вручную). Особенно это заметно при крупных обновлениях системы. В таких случаях apt даже может разрушить систему.


Классический способ установки (сборка из тарболов)

Исходные файлы представляют собой архивированные исходные тексты и имеют следующий вид:

name.tar.gz (иногда .tgz)

name.tar.bz2

Сначала необходимо распаковать эти архивы. Это можно сделать при помощи какого-либо графического приложения, а можно и из консоли:

$ tar -xzf name.tar.gz

$ tar -xjf name.tar.bz2

После этого переходим в каталог с распакованными файлами:

$ cd name

Очень рекомендую перед компиляцией прочитать файл README. Там, как правило, всё подробно расписано. Но если его нету, то, скорее всего, необходимо выполнить следующее:

$ ./configure

Этот скрипт проверяет все зависимости и настраивает компилятор (и создает Makefile). При ошибке выдаётся сообщение об отсутствующих пакетах, которые надо поставить (обычно необходимо установить пакеты, название которых заканчивается на -dev).

Примечание. По умолчанию обычно не ставятся пакеты, необходимые для компиляции. Для того, чтобы всё работало, надо установить пакет build-essential:

# aptitude install build-essential

Если у вас всё сконфигурировалось нормально, то можно запускать компилятор:

$ make

Ждём. Процесс сборки может быть долгим (для некоторых приложений — несколько часов, особенно, если у вас слабый процессор). По окончанию, если не появилось каких-нибудь сообщений об ошибке, можно устанавливать то, что у нас получилось. Обычно это делается следующей командой:

# make install

Но в таком случае ваш пакет не будет отображаться в менеджерах. Для решения этой задачи нужно самостоятельно собрать deb-файл. Конечно, можно сделать это вручную, но можно и воспользоваться утилитой checkinstall, которая сделает всё сама — она и соберёт, и установит пакет (в этом случае не надо запускать make install).

# checkinstall -y

Читайте также:  Выбор пароля(защита от злоумышленников)

Ключ -y мы задали для того, чтобы нам не задавали никаких вопросов.

Примечание. Если вы ставите свежую версию пакета, установленного в системе, то стоит его предварительно удалить, иначе checkinstall выдаст ошибку при установке пакета.


Другие варианты установки

Если вам нужно поставить отдельный пакет не из репозитория (что не рекомендуется), то можно воспользоваться следующей командой.

# dpkg -i package.deb

Осторожнее с такой установкой! dpkg проверяет все зависимости после того, как скопируются все файлы. В случае ошибки корректность работы не гарантируется.

Иногда приходится устанавливать файлы формата rpm. Это не родные дебиановские файлы, поэтому гарантий корректной работы ещё меньше, чем в предыдущем случае (и не думайте ставить что-то системное таким образом!). Но можно поставить программу alien, которая пересоберёт deb-пакет, после чего его можно устанавливать как показано выше.

# aptitude install alien

Ну и вообще редкий случай — когда программы снабжаются собственным инсталлятором. Например, Opera имеет такой вариант установки. Как правило, достаточно просто его запустить, и он сам всё копирует. Но в таком случае ничего не будет отображаться в менеджерах.

Ну вот и всё. Теперь можно и поэкспериментировать с системой, посмотреть, что же у нас есть в дистрибутиве. Всё-таки Debian — огромное поле для экспериментов, и из него можно сделать всё, что угодно.

Антон «Oni» ЛИПАРИН,
oni-ddr.livejournal.com

Источник: https://www.kv.by/archive/index2008261106.htm

Управление пакетами в Debian

APT использует файл, который содержит список «источников» из которых могут быть получены пакеты. Это файл /etc/apt/sources.list. Записи в этом файл обычно следуют формату:

deb http://URL/debian distribution parameter1 parameter2 parameter3
deb-src http://URL/debian distribution parameter1 parameter2 parameter3

Конечно, указанные выше записи приведены только для примера и не должны использоваться.

Первое слово каждой линии, deb или deb-src, показывают тип архива: является ли эта строка ссылкой на бинарные пакеты (deb), которые являются прекомпилированными пакетами, которые мы обычно используем, или это это ссылки на исходные коды оригинальных программ, плюс контрольные файлы Debian (.dsc) и diff.gz, содержащие изменения необходимы для «дебианизации» программы.

В Debian версии 6.0.5, установленного загрузкой файлов из интернета, sources.list имеет следующее содержание:

#deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ — Official amd64 NETINST Binary-1 20120512-20:40]/ squeeze main deb http://mirror.yandex.ru/debian/ squeeze main
deb-src http://mirror.yandex.ru/debian/ squeeze main deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main #squeeze-updates, previously known as 'volatile'
deb http://mirror.yandex.ru/debian/ squeeze-updates main
deb-src http://mirror.yandex.ru/debian/ squeeze-updates main

Здесь представлены строки, необходимые для базовой установки Debian. Первый блок указывает на региональный архив основных файлов, второй — на обновления безопасности, а третий на обновления Debian.

Строки, начинающиеся с deb — ссылки на архивы бинарных пакетов, начинающиеся с deb-src — ссылки на архивы исходных кодов пакетов.

Файл /etc/apt/sources.list может содержать различные типы строк. APT умеет использовать архивы следующих типов: http, ftp, file (локальные файлы, то есть директории, содержащие примонтированные файловые системы типа ISO9660) и ssh, насколько мне известно.

Не забудьте запустить команду apt-get update после изменения файла /etc/apt/sources.list. Вы должны сделать это чтобы APT мог получить списки пакетов из указанных вам источников. Когда вы устанавливаете пакет APT получает необходимые файлы с хостов перечисленных в /etc/apt/sources.list, сохраняет их в локальном репозитарии (/var/cache/apt/archives/) и переходит к установке.

Основные утилиты для управления пакетами

dpkg – установщик пакетных файлов Debian
apt-get – утилита командной строки для APT
aptitude – имеет как псевдографический интерфейс, так и вариант для командной строки
synaptic – графический (gui) интерфейс для APT
dselect – менеджер пакетов на основе меню
tasksel – установщик задач

Для установки программ с помощью apt выполните следующее:

# apt-get install software

Утилита имеет следующие параметры:

-h — отобразить справку
-d — только загрузить пакеты, но не устанавливать их
-f — попытаться продолжить, если тесты целостности не пройдены
-s — ничего не делать, только провести симуляцию установки
-y — отвечать Да на все вопросы и ничего не спрашивать
-u — также отобразить список обновляемых пакетов.

Примеры использования apt-get

Если вы как-либо повредили установленный пакет или просто хотите обновить пакет до последней версии, которая доступна, вы можете использовать параметр —reinstall, к примеру, так:

# apt-get —reinstall install packagename

Обновление списка пакетов из источников, перечисленных в вашем файле sources.list:

# apt-get update

Обновление программ с помощью APT:

# apt-get -u upgrade

Чтобы изменить список зеркал APT:

# apt-setup

Искать пакет в локальном кэше:

# apt-cache search package

Удалить программу с помощью APT:

# apt-get remove software

Обновить список пакетов:

# apt-get update

Обновить доступные списки пакетов:

# dselect update

Обновить все установленные пакеты:

# apt-get upgrade

Установить пакет:

# apt-get install pkg

Удалить пакет:

# apt-get remove pkg

Показать все установленные и удалённые пакеты:

# dpkg -l

Показать статус установки пакета:

# dpkg -l pkg

Показать все пакеты, удовлетворяющие маске:

# dpkg -S pattern

Показать пакеты, которые содержат строку:

# dpkg

Показать список файлов в пакете:

# dpkg -L pkg

Показать статус пакета:

# dpkg -s pkg

Показать детали пакета:

# dpkg -p pkg

Показать связанные пакеты:

# apt-cache search string

Установить пакет из deb файла:

# dpkg -i file.deb

Вычистить пакет из системы вместе с конфигурационными файлами:

# dpkg -P pkg

Повторно запустить конфигурацию для пакета:

# dpkg-reconfigure pkg

Получить исходные коды пакета:

# apt-get source pkg

Определяет зависимости для исходников и устанавливает их, если нужно:

# apt-get build-dep name

Установить пакет из указанного релиза:

# apt-get -t release install pkg

Предотвращает загрузку указанной программы при старте системы:

# update-rc.d -f name remove

Обновить дистрибутив:

# apt-get –u dist-upgrade

Параметр -u показывает список обновляемых пакетов:

# apt-show-versions -u

Как узнать, какие пакеты могут быть обновлены?

apt-show-versions — это программа, которая показывает какие пакеты в системе могут быть обновлены и, кроме того, некоторую полезную информацию.

Читайте также:  Как проверить wifi сигнал из терминала?

Управление пакетами с помощью aptitude

Aptitude является в настоящий момент предпочтительной системой для работы с APT (Advanced Package Tool). Она запоминает, какие пакеты были установлены напрямую Вами, а какие пакеты были установлены за счет зависимостей.

Недавние пакеты будут автоматически удалены системой aptitude, когда они будут уже не будут требоваться какому-либо пакету, установленному напрямую.

Aptitude имеет продвинутые функции фильтрации пакетов, но они могут быть сложны в настройке.

Обновление локального кеша доступных пакетов (ранее: apt-get update):

# aptitude update

Обновить доступные пакеты (ранее: apt-get upgrade):

# aptitude upgrade

Обновить доступные пакеты, даже если это значит удаление части пакетов (ранее: apt-get dist-upgrade):

# aptitude dist-upgrade

Установить пакет (ранее: apt-get install):

# aptitude install pkgname

Удалить пакет (ранее: apt-get remove):

# aptitude remove pkgname

Удалить пакет и конфигурационные файлы (ранее: apt-get –purge remove):

# aptitude purge pkgname

Искать пакет с текстом «string» в имени или описании (ранее: apt-cache search string):

# aptitude search string

Показать подробную информацию о пакете (ранее: apt-cache show pkgname):

# aptitude show pkgname

Удалить загруженные файлы пакетов (ранее: apt-get clean):

# aptitude clean

Удалить только файлы пакетов старых версий, но пакеты текущих версий оставить (ранее: apt-get autoclean):

# aptitude autoclean

Зафиксировать пакет на текущей версии и не обновлять его автоматически (ранее: не понятная команда echo-to-file):

# aptitude hold pkgname

Чтобы снять фиксацию следует использовать параметр unhold.

Оптимизированный sources.list

Вообще говоря, усилия для создания оптимизированного sources.list не дают особого улучшения.

apt-spy создает sources.list автоматически, на основе задержек и пропускной способности. netselect-apt создает более полный sources.list, но использует более простой метод выбора лучшего зеркала (сравнения времени пингов).

# aptitude install apt-spy
# cd /etc/apt ; mv sources.list sources.list.org
# apt-spy -d testing -l sources.apt

Команда dpkg-divert

Файловые «отклонения» (divertions) — это способ заставить dpkg не устанавливать файл в директорию по умолчанию, но устанавливать в измененную директорию.

«Отклонения» могут быть использованы с помощью дебиановских скриптов управления пакетами для перемещения файла в другое место когда он вызывает конфликты.

Системные администраторы также могут использовать «отклонение» для подавления конфигурационного файла пакета или в случае, когда некоторые файлы (которые не помечены как conffiles) должны быть сохранены системой dpkg во время установки новой версии пакета, содержащего эти файлы.

# dpkg-divert [—add] filename # add «diversion»
# dpkg-divert —remove filename # remove «diversion»

Что делать, если команда dpkg сломана

Сломанный dpkg делает невозможным установку любых .deb файлов. Процедура, описанная ниже, поможет вам в этой ситуации. Вам понадобится любая команда для браузинга сайтов, к примеру, links.

$ links http://http.us.debian.org/debian/pool/main/d/dpkg/
… download the good dpkg_version_arch.deb
$ su
password: *****
# ar x dpkg_version_arch.deb
# mv data.tar.gz /data.tar.gz
# cd /
# tar xzfv data.tar.gz

Для архитектуры i386, в URL может быть использована также ссылка http://packages.debian.org/dpkg

Локальный архив пакетов

Для того, чтобы создать локальный архив пакетов, совместимый с APT и системой dselect, пакеты должны быть созданы и занесены в особое дерево директорий.

Локальный deb репозитарий, похожий на официальный архив Debian, может быть создан следующим образом:

# aptitude install dpkg-dev
# cd /usr/local
# install -d pool # physical packages are located here
# install -d dists/unstable/main/binary-i386
# ls -1 pool | sed 's/_.*$/ priority section/' | uniq > override
# editor override # adjust priority and section
# dpkg-scanpackages pool override /usr/local/ > dists/unstable/main/binary-i386/Packages
# cat > dists/unstable/main/Release > /etc/apt/sources.list

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

# aptitude install dpkg-dev
# mkdir /usr/local/debian
# mv /some/where/package.deb /usr/local/debian
# dpkg-scanpackages /usr/local/debian /dev/null |
gzip — > /usr/local/debian/Packages.gz
# echo «deb file:/usr/local/debian ./» >> /etc/apt/sources.list

К этим архивам можно получить удаленный доступ, если предоставить доступ к этим директориям посредством HTTP или FTP и внести соответствующие изменения в файл /etc/apt/sources.list

Команда auto-apt

auto-apt — это приложение для установки пакетов по требованию.

$ sudo auto-apt update
… update database
$ auto-apt -x -y run
Entering auto-apt mode: /bin/bash
Exit the command to leave auto-apt mode.
$ less /usr/share/doc/med-bio/copyright # access non-existing file
… Install the package which provide this file.
… Also install dependencies

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

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

1. Если Вы получили представленное ниже сообщение, когда пытались выполнить команду вида apt-get install package

Reading Package Lists… Done
Building Dependency Tree… Done
W: Couldn't stat source package list 'http://people.debian.org unstable/ Packages' (/var/state/apt/lists/people.debian.org_%7ekov_debian_unstable_Packages) — stat (2 No such file or directory)
W: You may want to run apt-get update to correct these missing files
E: Couldn't find package penguineyes

то вы забыли выполнить команду apt-get update после того, как внесли изменения в файл /etc/apt/sources.list.

2. Если ошибка выглядит как эта:

E: Could not open lock file /var/lib/dpkg/lock — open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

в момент, когда вы пытаетесь воспользоваться одним из методов apt-get, кроме source, то у вас нет прав суперпользователя, то есть вы работаете под обычным пользователем.

Существует ошибка похожая на представленную выше, которая возникает когда вы запускаете две копии apt-get в одно и то же время или если вы даже пытаетесь запустить apt-get пока активен процесс dpkg. Единственный метод, который может использоваться одновременно с другими — это метод source.

3. Если установка прерывается в середине процесса и вы обнаруживаете, что более нет возможности устанавливать или удалять пакеты, попробуйте воспользоваться следующими двумя командами:

# apt-get -f install
# dpkg —configure -a

и затем попробуйте заново провести установку. Может понадобиться выполнить вторую из представленных выше команд больше чем один раз. Это может быть хорошим уроком для тех приключенцев, которые любят использовать «не стабильный» софт.

4. Если вы получили ошибку

Источник: http://debian-help.ru/index/upravlenie-paketami-debian/

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