Отправляет email-рассылки с помощью сервиса Sendsay

Информация о пакете в Debian

Здравствуйте.

Такой вопрос, как в Debian узнать когда был установлен тот или иной
пакет? Как узнать когда и где был скомпилирован тот или иной пакет?

Ответить   Konstantin Korikov Wed, 26 Jul 2006 17:08:17 +0300 (#575337)

 

Ответы:

On Wed, 26 Jul 2006 17:08:17 +0300
Konstantin Korikov <lostcl***@i*****.ua> wrote:

=) Дебиан?!

В самих пакетах такая инфа не хранится. Можно посмотреть по дате модификации
файла. Сборка - только до уровня архитектуры.
С инсталляцией тоже самое. Я смог найти только сведения о факте установки. А
вот когда...

А зачем такие сведения могут понадобится, если не секрет?

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 27188; Возраст листа: 1097; Участников: 1710
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/575349

Ответить   Matviychuk Oleg Wed, 26 Jul 2006 17:36:18 +0300 (#575349)

 

В сообщении от 1153924578 секунд после начала Эпохи Matviychuk Oleg написал(а):

Да. Сервер.

А какого файла? Если пакеты ставятся по сети.

Это как?

А

Ну сервер. Хочется знать когда был установлен пакет. Еще хочется знать
на сколько старая сборка. Например если сбора раньше даты N, но я знаю
что после даты N нашли баг в безопасности, то я буду точно знать что
эта сборка не содержит патчей, устаняющих этот баг. И вообще, стоит
пакет, а я не знаю откуда он был установлен, и на сколько он
стабильный. Ведь в `sources.list' могут прописать и testing ветку,
установить ПО, а потом вернуть это файл в исходное состояние.

Ответить   Konstantin Korikov Wed, 26 Jul 2006 20:57:52 +0300 (#575409)

 

On Wed, 26 Jul 2006 20:57:52 +0300
Konstantin Korikov wrote:

Я имел ввиду *.deb. Все пакеты, скачиваемые по сети, валятся
в /var/cache/apt/archives

Ну, вот под i386 собрано. А может быть и под i686. И вообще, под что угодно.
Около 10 архитектур поддерживается кажется.

По поводу дырок есть
deb http://security.debian.org/ stable/updates main contrib
Учитывая то, что в стейбле софт и так древний, то дыры в нем уже полатали
основательно. У меня вот на обновление просятся всего пару пакетов из 900 с
копейками установленных. И те - какие-то графические редакторы, которые за
собой гном потянул :).

Попробуй, найди эксплойты под те версии, что в стейбле.

А по поводу того, откуда ноги у пакета ростут... Если удалится Packages.gz
соответствующего репозитория с твоего кэша, то он будет считатся local install,
ибо он нигде не нашелся. Вроде бы так. А локал инстал - это любой деб пакет,
установленный dpkg -i <файл>.

Ответить   Oleg Matviychuk Thu, 27 Jul 2006 00:40:16 +0300 (#575454)

 

В сообщении от 1153950016 секунд после начала Эпохи Oleg Matviychuk написал(а):

Ё-мое

# du -sh /var/cache/apt/archives/
213M /var/cache/apt/archives/

Как это отключить? Оно чиститься периодически? А.. кажется вспомнил
ручками `apt-get clean' делать надо. Но все же этот каталог ведь
не для этих целей предназначен? Кешь я могу и ручками очистить чтобы
место не занимало, но инфа о дате установки и сборки мне нужна.

А как мне узнать что тот или иной пакет был установлен из
stable/updates main contrib ?

Например есть zope2.7_2.7.5-2sarge1_i386.deb. Версия не самая свежая,
вроде должен быть стабильный, но почему то глючит при установке
компонентов. Вот я и не могу разобраться, это разработчики до сих пор
не пофиксили или это сервер давно не обновлялся. Если бы я знал когда
был собран этот пакет, я бы уже мог себе представить на сколько активно
над ним работают. Баги они и в старом софте вылазят. И если пакет
обновляется часто, это хорошо, а если он не стабильный и давно не
обновлялся в репозитории, то нужно что-то думать про смену
дистрибутива :)

А ChangeLog'и мантайнеров можно увидеть где нибудь? Если их можно
увидеть, то картинка сразу прояснится.

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

Ответить   Konstantin Korikov Thu, 27 Jul 2006 01:14:07 +0300 (#575458)

 

On Thu, 27 Jul 2006 01:14:07 +0300
Konstantin Korikov wrote:

А то. У мну там уже на болванку насобиралось =)

Угу. Tot d мане сказано, что при использовании dselect это делается автоматом.
Не пробовал, не знаю.

Но все же этот каталог ведь

Для них, родимых...

Кешь я могу и ручками очистить чтобы

<пожимает плечами>

с

Когда доступны несколько версий пакета, то можно сделать так:
# apt-cache policy centericq
centericq:
Установлен: 4.20.0-1
Кандидат: 4.21.0-9bpo1
Таблица версий:
4.21.0-9bpo1 0
500 http://www.backports.org sarge-backports/main Packages
4.20.0-1sarge4 0
500 http://security.debian.org stable/updates/main Packages
*** 4.20.0-1 0
500 ftp://mat.lin ./ Packages
100 /var/lib/dpkg/status

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

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

А ты версии сравни. То что после дефиса - версия сборки пакета. Чем больше
циферка, тем больше фиксили версию по идее.

Если бы я знал когда

А может, про смену софта?

А то. /usr/share/doc/<$package_name>/changelog.Debian.gz
Иногда там и ридми дебиановский валяется.

Да. Они будут считаться установленными из альтернативного репозитория. Выше ты
видел, как выглядит запись о таком источнике. А в /etc/apt/sources.list это
выглядит так:

deb ftp://mat.lin/debian/ ./

Ответить   Oleg Matviychuk Thu, 27 Jul 2006 08:01:32 +0300 (#575515)

 

В сообщении от 1153976492 секунд после начала Эпохи Oleg Matviychuk написал(а):

Спасибо. То что нужно.

Отлично! Спасибо.

Ответить   Konstantin Korikov Thu, 27 Jul 2006 12:23:52 +0300 (#575651)

 

Константин, привет !


Боюсь соврать, но с этим туго. В пакете не содержится явной информации о его
создании. Но. Deb пакет представляет собой ar архив. Если его (ar) запустить
с ключом ar -tv imjapaketa_0.0.1.deb то он выдаст такую информацию:

rw-r--r-- 0/0 4 Jun 21 01:49 2006 debian-binary
rw-r--r-- 0/0 411 Jun 21 02:05 2006 control.tar.gz
rw-r--r-- 0/0 204487 Jun 21 01:38 2006 data.tar.gz

Внутри лежат три файла, строго в такой последовательности:

1. debian-binary версия бинарного пакета (обычно строчка "2.0" и возврат строки)

2. control.tar.gz содержит управляющую информацию пакета (описание, скрипты
установки-удаления, итд) внутри находится как минимум файл control с описанием.
Например, такого минималистского содержания:
Package: prawda
Version: 0.4.1-1
Section: text
Priority: optional
Architecture: i386
Depends: prawda-dictionaries
Provides:
Installed-Size: 597
Maintainer: Alexander <aralni[]mail.ru>
Source:
Description: English and Esperanto to Russian translator.
English and Esperanto to Russian translator.

3. data.tar.gz собственно то, что нужно установить, корень архива совпадает
с корнем системы.

Для определения даты создания можно использовать дату control.tar.gz и(или) data.tar.gz.
(какая свежее) Ещё можно узнать дату файла самого пакета (.deb) но это малополезно.

С установленными, похоже ещё интереснее. Во всяком случае ни dpkg ни synaptic
не
показывают информацию о датах. Скорее всего её просто нет и единственный способ
её
узнать - обратится к установленным файлам пакета. (ЕСЛИ СОВРАЛ - ПОПРАВТЕ!)

А если не секрет - зачем это ?

Удачи,
Александр.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 27195; Возраст листа: 1097; Участников: 1710
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/575423

Ответить   Wed, 26 Jul 2006 22:40:49 +0400 (#575423)

 

В сообщении от 1153942849 секунд после начала Эпохи Alexander написал(а):

Спасибо за подробные разъяснения о внутреннем строении пакета, но увы
это информация мне не поможет, так как искать и скачивать файлы пакетов
(*.deb), которые ставились в систему, это уже слишком. Пусть лучше
сервер взломают, чем я буду этим заниматься. :) А ответ на вопрос
"зачем это?" я дал в ответе на сообщение Матвейчука Олега.

Ответить   Konstantin Korikov Wed, 26 Jul 2006 21:58:45 +0300 (#575433)

 

В сообщении от 1153942849 секунд после начала Эпохи Alexander написал(а):

Еще полезно иметь возможность различать пакеты, имеющие отношение к
официальной ветке и пакеты собранные и установленные локально. Вот
например, смотрю я список пакетов - "... так этот пакет я пересобрал с
оптимизацией, а этот пакетик я похачил. Так а когда это было? Ага это
было 4 месяца назад. Так надо его еще похачить. Так а этот покетик я
сам собрал, потому что его не было в репозитории". И тому подобное.
Только не говорите что в Debian есть все свободное ПО, которое только
разработали. Да там много пакетов, но все же есть не все ПО. А иногда
просто необходимо пересобрать пакет, хотя бы потому что мантайнеры
просто еще не успели выпустить обновление, а оно очень нужно.

Думаю я достаточно полно ответил на этот вопрос.

Ответить   Konstantin Korikov Wed, 26 Jul 2006 22:21:03 +0300 (#575438)