LinuxForum.Fans
Тема

Восстановление и обновление Fedora core 8

Автор: xiloid 18 сообщений 3073 просмотров
#326713

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

Хотел было обновить удаленную машинку с Linux FC8 до версии 14, через SSH. Руководствовался статьей обновления системы через YUM. Но случился конфуз и я командой yum remove удалил какой-то, как мне показалось, ненужный пакет, который, в свою очередь, потянул за собой кучу зависимостей, в том числе сам YUM и самое страшное - RPM...

Подскажите пожалуйста способы восстановить RPM, скомпилировать его не выходит, так как после make install он вываливается с ошибкой зависимостей и как я понял хочет gcc, который тоже был удален. Спасибо.

#326714

Не знаю, насколько это будет правильно, но, с учётом того, что rpm-файлы — это прежде всего архивы, почему бы просто не закачать на сервер rpm файл программы rpm (извините за тавтологию :D ) и затем, разархивировав его, «раскидать» файлы по нужным каталогам. После этого обновить данный пакет уже штатным образом.

#326715
"xiloid⇓" написал:
в том числе сам YUM и самое страшное - RPM...

Странно Yum удалил сам себя? А что осталось то? Посмотреть установленные пакеты можно командой от пользователя:

text
yum list installed

Если покажет, то всё в порядке.
А для сборки из сорцев устанавливаются соответствующие пакеты:

text
sudo yum -y groupinstall "Development tools"
#326717

Lupo Alberto, чем можно разархивировать "RPM.rpm"?

redix,

text
bash-3.2# yum
bash: yum: команда не найдена
#326719
"xiloid⇓" написал:
чем можно разархивировать "RPM.rpm"?

У меня получилось с помощью rpm2targz.
Если не получится установить эту программу, дайте ссылку на нужный вам файл. Попробую его разархивировать.

#326723

Можно ещё извлечь с помощью команды rpm2cpio — входит в состав busybox.

#326726

Lupo Alberto, Спасибо, попробую разархивировать.

redix, интересный способ, но способ рисковый, можно остаться без системы вообще, хотя выбор то особо не велик )

#326730

Нашёл скрипт

text

#!/bin/sh

pkg=$1 if [ "$pkg" = "" -o ! -e "$pkg" ]; then echo "no package supplied" 1>&2 exit 1 fi

leadsize=96 o=`expr $leadsize + 8` set `od -j $o -N 8 -t u1 $pkg` il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5` dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9` # echo "sig il: $il dl: $dl" sigsize=`expr 8 + 16 \* $il + $dl` o=`expr $o + $sigsize + \( 8 - \( $sigsize \% 8 \) \) \% 8 + 8` set `od -j $o -N 8 -t u1 $pkg` il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5` dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9` # echo "hdr il: $il dl: $dl" hdrsize=`expr 8 + 16 \* $il + $dl` o=`expr $o + $hdrsize`

dd if=$pkg ibs=$o skip=1 2>/dev/null | gunzip | cpio -idmuv || dd if=$pkg ibs=$o skip=1 2>/dev/null | bzip2 -d | cpio -idmuv

...работает. В качестве аргумента передаёте rpm-файл, в текущей директории получаете tar.gz-архив.

#326732
"xiloid⇓" написал:
redix, интересный способ, но способ рисковый, можно остаться без системы вообще

На pkgs.org вообще пишут

text
# yum install yum

Надо пробовать.
Ещё вопрос. Почему именно Fedora 14? Она же не поддерживается какое то время. Если это сервер, то логичнее было бы установить Centos 6.4 он по требованиям ничем не отличается.

#326736

Я бы yum в черный список занес, раз он сам себя может удалить. Честно говоря, я в шоке от этого топика. В rpm-based дистрибутивах возможность вот так поломать систему чуть ли не штатная - пакетный менеджер не должен зависеть по возможности ни от чего, в Slackware, например, все критически важное даже статически линкуется, и как следствие, способно работать даже в другой версии системы.

#326737
"yars⇓" написал:
Я бы yum в черный список занес

Там не в blacklist пишется, а в yum.conf и можно в ***.repo файлы, вот таким образом:

text
exclude=yum rpm

Речь идёт о FC8, может на данный момент что то изменилось.

#326738
redix написал:

Ещё вопрос. Почему именно Fedora 14? Она же не поддерживается какое то время. Если это сервер, то логичнее было бы установить Centos 6.4 он по требованиям ничем не отличается.

Нету физического доступа к серверу, остается только вот так обновлять, с помощью yum-а. Пару машин удалось обновить, а вот на этой я почему то решил почистить orphans пакеты, ну вот и почистил)

#326740

"xiloid⇓" написал:
решил почистить orphans пакеты
Не помню где читал, но в RedHat-based дистрибутивах этого делать не рекомендуется.
#326772
Lupo Alberto написал:
...кстати, в busybox есть и команда rpm.

Спасибо большое, удалось с помощью БузиБокса установить rpm и yum, хоть это и "полувручную", т.к. Бузи не тянет зависимости, но спустя час установки пакетов и преодоления мелких костылей - все заработало! Спасибо всем откликнувшимся *DRINK*

#326773

"xiloid⇓" написал:
Спасибо всем откликнувшимся
Заходи если что. :)
Войдите или зарегистрируйтесь, чтобы ответить.