Файлы в каталоге — архивы пакетов. Программа появится в системе, когда пакет установят.
Программы в Ubuntu ставят пакетами. Пакет приходит архивом с расширением .deb: внутри файлы программы и описание — имя, версия и список других пакетов, без которых программа не работает.
Пока архив лежит в каталоге, это обычный файл. Установку выполняет dpkg: раскладывает файлы из архива по системе — программу в /usr/bin, настройки в /etc — и делает запись в базе пакетов. В записи хранятся имя, версия и список установленных файлов.
dpkg -s читает эту запись. Сравни пакет из урока и tree — программу, которую поставили вместе с системой:
Для lab-pkg-report записи нет: package 'lab-pkg-report' is not installed and no information is available. Для tree первые строки — Package: tree и Status: install ok installed.
tree поставили из архива в /var/cache/apt/archives, потом этот архив удалили. Что напечатает dpkg -s tree?
-
dpkg -sчитает запись в базе пакетов, а архив не открывает. Запись и файлы программы после удаления архива на месте. -
Архив нужен только при установке.
dpkg -sберёт сведения из базы пакетов.
Установка разложила файлы tree по системе и сделала запись в базе пакетов. После неё архив больше не нужен: dpkg -s читает запись, а tree работает из /usr/bin/tree.
Главное в шаге
-
Пакет приходит архивом
.deb: в нём файлы программы и её описание. - Установка раскладывает файлы по системе и делает запись в базе пакетов.
-
dpkg -sчитает запись в базе: она есть — пакет установлен.