up previous


Поновлення Linux комплекту Mandrake RE Spring 2001 до ALTLinux Junior 1.1 за допомогою програми керування пакунками apt.

Добровольський Андрій Миколайович

версія 1.1

http://www.iop.kiev.ua/dobr/

Не відкрию ``страшної таємниці'', коли скажу, що комплекти Linux-Mandrake RE Spring 2001 та ALT Linux Junior 1.1 належать одному виробнику - ALTLinux. Як помітно з назви, перший з них зґявився на ринку весною 2001 р. Другий, було випущено значно пізніше. Так як обидва вони належать ``перу'' одного автора, то логічно очікувати можливості поновлення пакунків з Spring 2001 відповідними з Junior.

Автори комплектів не заперечують такої можливості, але попереджують, про певні проблеми. Я вирішив виконати цю процедуру та розібратися, що за проблеми виникають в процесі поновлення.

Перш за все, поновлення буде виконуватися за допомогою програми apt, якою виробник рекомендує керувати пакунками в усіх своїх комплектах, а не шляхом запуску програми встановлення Junior 1.1 в режимі поновлення. Останній варіант не дуже рекомендують і самі розробники. По-перше, програма встановлення залишилась в комплекті від часів, коли ще команда ALTLinux була IPLabs і випускала не самостійний комплект, а варіант Russian Edition оригінального Mandrake. Оригінальний встановлювач не дуже вдалий сам по собі і до того ж, треба буде виконувати масу непотрібних дій, які можуть внести зайві проблеми. По-друге, Junior 1.1 є комплектом на одному КД і значно менший за Spring, тому говорити про повноцінне поновлення дуже складно.

На противагу до всього сказаного, apt призначено саме для поновлення пакунків, всіх що можливо, з збереженням цілісності комплекту і є головним засобом відслідковування залежностей між пакунками в комплектах від ALTLinux.

До початку поновлення, треба ознайомитися з відповідними публікаціями в розділі ``Статьи'' на сторінках компаніі ALTLinux (http://altlinux.ru/ http://altlinux.ru/).

Відповідно до рекомендацій, почнемо з поновлення самого apt. Перш за все, отримайте повноваження наглядача за системою. Поновлювати його доведеться засобами ``чистого'' rpm. Це викликано тим, що apt з Spring ще не вміє працювати з компакт дисками. Отже, вставляємо КД в привід, монтуємо, переходимо до каталогу з пакунками *.rpm. Знаходимо apt та встановлюємо або не шукаючи, наприклад, так

#rpm -Uv apt*

Буде встановлено все що має в назві apt, зокрема і aptitude - консольна надбудова до apt, що дозволяє маніпулювати пакунками через систему меню добре знайома прихільникам Debian. Спробуйте, може вона Вам сподобається. Зараз, саме час виконати наступний крок та повідомити apt про існування нового джерела пакунків. Робимо:

#apt-cdrom add

apt запропонує вставити диск в привід та запитає як назвати нове джерело пакетів:

Using CD-ROM mount point /mnt/cdrom/

Unmounting CD-ROM

Please insert a Disc in the drive and press enter

диск вже стоїть в приводі, тому тиснемо [ENTER]

Mounting CD-ROM

Identifying.. [9d3ff3e8ccf192516828ee6be96a4b29-2]

Scanning Disc for index files.. Found 2 package indexes and 2 source indexes.

Please provide a name for this Disc, such as 'Spring 2001 Disk 1':

Назвати краще як воно є - Junior 1.1. Вам самим буде легше орієнтуватися в подальшому. Перевіривши наявність файлів з інформацією про перелік пакунків на диску, apt приєднає відповідні рядки до файлу /et/apt/sources.list. Перед тим як продовжувати, краще закоментувати в ньому всі рядки, що не містять згадки cdrom та ті два, що прописані як Mandrake Junior, отак

#rpm-src [alt] cdrom:[Junior 1.1]/ Mandrake Junior

#rpm [alt] cdrom:[Junior 1.1]/ Mandrake Junior

Просто, ніякі інші джерела пакунків нас зараз цікавити не будуть. Нарешті, треба зробити apt-get update прописавши вставку [alt] до двох рядків що залишаються активними, як у рядках вище та ще раз поновити бази програми.

#apt-get update

Get:1 cdrom://Junior 1.1 ALTLinux/base/hashfile

Get:2 cdrom://Junior 1.1 ALTLinux/base/hashfile

Fetched 1196B in 2s (467B/s)

Repository entry in sources.list contains extra components that are not listed in the signed hash file: ALTLinux/base/srclist.Junior

Repository entry in sources.list contains extra components that are not listed in the signed hash file: ALTLinux/base/release.Junior

Tried to dequeue a fetching object

Tried to dequeue a fetching object

Apt готовій до роботи. Два повідомлення, про зовнішні компоненти, можна ігнорувати. Заважати вони не будуть.

Перш за все треба перевірити відсутність обірваних зв'язків на вашій машині.

# apt-get check

Processing File Dependencies... Done

Reading Package Lists... Done

Building Dependency Tree... Done

Якщо це все, що повідомив apt, можна переходити до поновлення. За умови наявності достатнього об'єму вільного місця у розділі /var, зараз можна робити загальне поновлення (apt-get dist-upgrade). Об'єм визначається кількістю пакунків, що можуть бути поновлені, але треба орієнтуватися на 200-300 Mb. Якщо місця вдосталь, давайте команду та пийте чай спостерігаючи за повідомленнями на екрані. :-) Не забудьте запастися терпінням, процес може розтягтися на годину, на слабій машині. Але, в деяких старих пакунках є помилки, що заважають їх автоматичному видаленню з системи, деякі - потребують дотримання певних умов, для свого автоматичного оновлення а деякі, надто сильно змінилися, щоб автоматичне поновлення було можливим. Отже, будьте уважними спостерігаючи звіт про процес в реальному часі.

Найпростіший засіб дізнатися про помилки після закінчення процесу, дати команду apt-get check. Вона видасть повний звіт про знайдені порушення. Зараз треба виправити помилки.

Перш за все повидаляйте з системи двійників. Робимо rpm -q <назва пакету>, що подвоївся, і отримуємо їх повні назви. Зараз rpm -e <старий пакунок>. Коли команда не проходить, як, наприклад, у випадку з grub, спробуйте дещо суворіше.

rpm -e -noscripts grub-0.5.96.1-ipl3mdk

Повинно спрацювати. Для samba, може знадобитися ще жорсткіше

rpm -e -noscripts -notriggers samba-2.0.7-ipl22mdk

Нарешті, для оновлення fileutils, треба щоб всі змінні носії були розмонтовані. Оскільки, ми ставили все з КД, то умову явно не виконано і пакунок не поновився. Що робити? На всяк випадок сказати

apt-get clean

щоб звільнити диск від пакетів, що нам вже непотрібні. Зараз запустити apt-get dist-upgrade і побачити, що ще не поновилося та погодитися на поновлення. Знов отримаємо помилку для fileutils, але це не страшно. розмонтувати всі змінні носіі

umount /mnt/floppy

umount /mnt/cdrom

Знов

#apt-get dist-upgrade

І зараз все ОК. Залишилось запустити

#apt-get check

і переконатися, що в системі все гаразд, або поправити помилки, що залишилися. Все, насолоджуйтеся і можна подумати про поновлення ядра. :-)

У випадку коли місця не досить для кавалерійської атаки, доведеться поновлювати кусками. Мені вдалося це зробити за такою схемою:

#apt-get remove <що треба>

#apt-get install pam

#apt-get install XFree86*

Далі я зміг поновити все, що залишилось разом, з урахуванням проблем з grub та fileutils. Після кожного кроку не забувайте apt-get clean. Система вже більше тижня працює нормально. Якщо Ви маєте вихід до світових тенет, зараз саме час зняти коментарі з джерел пакунків поновлень до Spring та Junior на файлових обслуговувачах компаніі та відомих дзеркалах. Закоментовувати звернення до КД, з якого робилося оновлення, не варто. Система не буде весь час шукати диск у пристрої і воно Вам ніяк не буде заважати. Запускайте поновлення баз apt та поновлення комплекту в цілому, щоб мати всі наявні на цей час заплати в системі безпеки. Після закінчення, можно насолоджуватися життям та новими можливостями. Головне, не забувати робити поновлення заплат безпеки і далі.

About this document ...

Поновлення Linux комплекту Mandrake RE Spring 2001 до ALTLinux Junior 1.1 за допомогою програми керування пакунками apt.

This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.57)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir11908R1EXdF/lyx_tmpbuf1190855KAwm/upgrade_with_apt1.tex

The translation was initiated by Andriy Dobrovol's'kii on 2002-04-11


up previous
Andriy Dobrovol's'kii (c) 2002-04-11