Добровольський Андрій Миколайович
версія 1.1
Не відкрию ``страшної таємниці'', коли скажу, що комплекти 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
і переконатися, що в системі все гаразд, або поправити помилки, що залишилися. Все, насолоджуйтеся і можна подумати про поновлення ядра. :-)
У випадку коли місця не досить для кавалерійської атаки, доведеться поновлювати кусками. Мені вдалося це зробити за такою схемою:
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