Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Linux (Ubuntu, Debian, Red Hat, CentOS, Mint)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2013, 19:26   #1
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию Debian, принципы работы пакетного менеджера

Доброго дня.
Пытаюсь разобраться понять принципы установки пакетов в debian. Читаю man и info, в русскоязычных книгах ничего толкового не находил (забугорные не пробовал, тяжеловато будет). Не могу составить в голове четкую схему установки пакетов.
Код:
info dpkg

-i, --install package-file...
              Install the package. If --recursive or -R option  is  specified,
              package-file must refer to a directory instead.

              Installation consists of the following steps:

              1. Extract the control files of the new package.

              2.  If  another version of the same package was installed before
              the new installation, execute prerm script of the old package.

              3. Run preinst script, if provided by the package.

              4. Unpack the new files, and at the same time back  up  the  old
              files, so that if something goes wrong, they can be restored.

              5.  If  another version of the same package was installed before
              the new installation, execute the postrm script of the old pack‐
              age.  Note that this script is executed after the preinst script
              of the new package, because new files are written  at  the  same
              time old files are removed.

              6.  Configure the package. See --configure for detailed informa‐
              tion about how this is done.

--configure package...|-a|--pending
              Configure a package which has been unpacked but not yet  config‐
              ured.   If  -a  or  --pending  is  given instead of package, all
              unpacked but unconfigured packages are configured.

              To reconfigure a package which has already been configured,  try
              the dpkg-reconfigure(8) command instead.

              Configuring consists of the following steps:

              1.  Unpack  the  conffiles, and at the same time back up the old
              conffiles, so that they can be restored if something goes wrong.

              2. Run postinst script, if provided by the package.
Я это так понимаю:
1. Распаковка контрольных файлов.
2. Если есть старая версия, то запускается prerm script.
3. Запускается preinst script.
4. Распаковка новых файлов программы, резервное копирование старых.
5. Запуск preinst script
, запуск postrm script (если есть старая версия).
6. Конфигурирование пакета.

Конфигурирование:
1. Распаковка новых конфигурационных файлов, резервирование старых.
2. Запуск postinst script.

Вопросы:
1. Что такое контрольные файлы, и какое у них назначение?
2. Функция prerm script, preinst script, postrm script, postinst script?
3. Задачи конфигурирования, и конфигурационных файлов?

P.S Просьба не отсылать в гугл, несколько дней пытаюсь нарыть что-то понятно объясняющее, безрезультатно.
220Volt вне форума Ответить с цитированием
Старый 12.11.2013, 06:12   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Задачи конфигурирования, и конфигурационных файлов?
Очевидно же настройки там всякие хранятся. И Вы не учитываете одну из важных функций пакетного менеджера - это учет зависимостей. То есть пакет не поставится, если для его работы требуются другие пакеты (например, библиотеки). Также отслеживаются версии пакетов. То есть если кому-то нужна древняя версия пакета, то она также будет в системе.
Контрольные файлы хранят всякую справочную фигню (по сути это есть файл конфигурации) - кто автор, секция пакета (раздел как следует классифицировать пакет), зависимости и много чего еще).
Цитата:
Виды скриптов:

preinst - скрипт, вызывающийся перед распаковкой пакета в файловую систему. Обычно при помощи этого скрипта пользователю задаются вопросы, позволяющие позже сконфигурировать программу. Так же возможно производится сбор информации, которая потребуется позже для конфигурирования программы. Если скрипт завершится с кодом ошибки, то пакет не будет установлен в систему;
postinst - скрипт, вызывающийся после распаковки пакета. При помощи этого скрипта производится конфигурирование уже установленной программы. Конфигурирование происходит с использованием информации полученной на предыдущем этапе от пользователя. Задавать вопросы пользователю из скрипта postinst не принято.;
prerm - скрипт, вызывающийся перед удалением пакета. Может задать пользователю некоторые вопросы, связанные с удалением. Например вопрос что делать с лог-файлами итп. Если скрипт завершится с кодом ошибки, пакет останется установленным в систему;
postrm - скрипт, вызывающийся после удаления пакета;
config - скрипт, вызывающийся на стадии конфигурирования и переконфигурирования пакета. Это дополнительный скрипт, который используется системой Debconf. Вызывается перед скриптом postinst, используется для того чтобы задать пользователю вопросы в системе диалогов debconf.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.11.2013, 06:33   #3
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Спасибо.
Код:
   PACKAGE STATES
       not-installed
              The package is not installed on your system.

       config-files
              Only the configuration files of the package exist on the system.

       half-installed
              The  installation  of the package has been started, but not com‐
              pleted for some reason.

       unpacked
              The package is unpacked, but not configured.

       half-configured
              The package is unpacked and configuration has been started,  but
              not yet completed for some reason.

       triggers-awaited
              The package awaits trigger processing by another package.

       triggers-pending
              The package has been triggered.

       installed
              The package is unpacked and configured OK.
Как понять статус "unpacked"? Что означает несконфигурирован? Хотельсь бы подробно раскрыть это понятие.
220Volt вне форума Ответить с цитированием
Старый 12.11.2013, 07:20   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ну вот Вы пишите в гугл не отправлять, но ведь там действительно написано это все. Сами подумайте - вряд ли кто-то будет заучивать такие технические подробности, есть справочники там все это и лежит.
http://www.opennet.ru/man.shtml?topi...ry=1&russian=0
Цитата:
СОСТОЯНИЯ ПАКЕТА

installed Пакет распакован и успешно настроен.
half-installed Установка пакета была запущена, но не закончена по какой-либо причине.
not-installed Пакет в системе не установлен.
unpacked Пакет распакован, но не настроен.
half-configured Пакет распакован и настройка была запущена, но пока ещё не завершена по какой-либо причине.
config-files В системе остались только конфигурационные файлы пакета.
Поверьте форумчанам лень открывать ссылки и делать репосты ради Вас, да и информация это общедоступная, первая же ссылка гугла указала что читать.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.11.2013, 09:16   #5
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Если Вам лень или еще какие-то причины, то можно просто меня игнорировать, я ведь никого не заставляю что-то объяснять. Нахожу Вашу ссылку переводом man'a, man я уже прочитал. Видимо придется методом тыка, спасибо за внимание.
220Volt вне форума Ответить с цитированием
Старый 12.11.2013, 10:31   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Если Вам лень или еще какие-то причины, то можно просто меня игнорировать, я ведь никого не заставляю что-то объяснять.
Тогда в чем смысл темы?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.11.2013, 12:51   #7
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
Сообщение от 220Volt Посмотреть сообщение
Если Вам лень или еще какие-то причины, то можно просто меня игнорировать, я ведь никого не заставляю что-то объяснять. Нахожу Вашу ссылку переводом man'a, man я уже прочитал. Видимо придется методом тыка, спасибо за внимание.
Уважаемый, на сайте дебиана (в том числе на его русскоязычной версии) все изложено доступным языком.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 14.11.2013, 19:20   #8
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Не буду плодить темы, попробую задать вопрос в существующей.

1. Если закомментировать все источники в /etc/apt/sources.list, то имею следующее:
root@Pavlick-pc:/home/pavel# apt-cache stats
Всего имён пакетов: 3337 (66,7 k)
....
2. Если в /etc/apt/sources.list добавить deb http://ftp.ru.debian.org/debian/ wheezy main:
root@Pavlick-pc:/home/pavel# apt-cache stats
Всего имён пакетов: 46247 (925 k)
....
3. Если в /etc/apt/sources.list добавить deb http://ftp.ru.debian.org/debian/ unstable main:
root@Pavlick-pc:/home/pavel# apt-cache stats
Всего имён пакетов: 3337 (66,7 k)
....
4. Если в /etc/apt/sources.list добавить deb http://ftp.ru.debian.org/debian/ sid main:
root@Pavlick-pc:/home/pavel# apt-cache stats
Всего имён пакетов: 3337 (66,7 k)
....

Т.е лишь №2 дало какие-то пакеты для установки. Почему №3, 4 не увеличивают количество пакетов?

Последний раз редактировалось 220Volt; 14.11.2013 в 20:22.
220Volt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изучить основные принципы работы с классами Иринас++ Помощь студентам 8 27.01.2011 17:23
Создание пакетного файла с использованием списка значений в качестве параметров. chaosfall Операционные системы общие вопросы 1 05.12.2010 21:01
Общие принципы работы с сайтом vkontakte.ru Dionix Работа с сетью в Delphi 5 01.08.2010 23:44
Логические и Арифметические принципы работы ЭВМ ardor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 18.11.2009 23:37
Принципы работы icq Mantell Общие вопросы .NET 0 30.06.2009 10:42