Новость из категории: Информация

Проверка и восстановление RPM-пакетов

Содержание:
1. LVM и fsck;
2. Проверка и восстановление RPM-пакетов (Вы читаете данный раздел);
3. Переустановка пакетов с помощью yum.
Проверка и восстановление RPM-пакетов

Для проверки установленных программ можно использовать утилиту rpm. Посмотрим на состояние пакетов в системе:
# rpm –Va

Выводятся строки из 8 символов, маркера и имени файла. Например:
S.5.... T c /etc/rc.d/rc.local

Первые 8 символов показывают результаты проверки атрибутов файла со значением, хранимым в базе данных. Точка означает, что проверка пройдена, а «S», «5» и «Т» указывают на различие размера файла, МD5-суммы и времени изменения соответственно (для информации о других символах см. man rpm).
Маркеры:
> с - конфигурационный файл;
> d - файл документации;
> g - файл-«призрак» (его содержимое не включено в состав пакета);
> l - файл с лицензией;
> r - файл README.



Если база данных RPM повреждена, то её можно «пересоздать», но перед этим не забудьте сохранить архив нынешней базы данных RPM из /var/lib/rpm/__*:
# rpm --rebuilddb

Если возникает проблема при запуске самой команды rpm, то пакет с ней можно найти в репозитории - например, для CentOS 6.2 нужный файл называется rpm-4.8.0-19.el6.x86_64.rpm и доступен для загрузки с ftp://mirror.yandex.ru/centos/6.2/os/x86 64/Packages.

Для извлечения файлов из пакета можно воспользоваться утилитой rpm2cpio:
# rpm2cpio rpm-4.4.2.3-27.el5.x86_64.rpm | cpio -ivd

./bin/rpm
./etc/rpm

./usr/share/man/sk/man8/rpm.8.gz
./var/lib/rpm
4001 блоков

В результате операции в текущей директории будут созданы подкаталоги, которые затем нужно скопировать в корневой каталог файловой системы с сохранением прав доступа. Если отсутствует какая-либо системная команда и неизвестно, в каком пакете она поставляется, можно воспользоваться поиском по базе пакетов. Например, мы предполагаем, что команда rm должна находиться в каталоге /bin, и пытаемся найти название пакета с ней:
# rpm -qf /bin/rm coreutils-8.4-16.el6.x86_64.rpm

Как видно, для появления в системе файла /bin/rm надо установить пакет coreutils. Посмотреть список всех файлов, которые поставляет какой-то пакет, можно с помощью следующей команды:
# rpm -ql имя_пакета.rpm




Гораздо больше, чем восстановление RPM-пакетов, Вас интересует создание мобильных приложений (http://appmaker.ru/), т.к. Вы считаете, что данное направление является наиболее перспективным на данный момент? Тогда советую Вам посетить сайт appmaker.ru, где Вы найдете опытных специалистов, которые в самые сжатые сроки разработают для Вас приложение, работающее под iOS или Android!

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх