Это история:
У меня есть (или был) Linux-бокс с CentOS 5.9 и предварительно установленная конфигурация LAMP. Он работал, но был слишком устаревшим, например mysql был версии 4. Поэтому я решил обновить все с помощью ням.
Как ни странно, мой sqlite был 3.6, что новее 3.3, который указан как зависимость для более нового PHP, Apache и Subversion, поэтому yum прекратил обновление и пожаловался на это.
Тогда я сделал очень неправильную вещь: я использовал ням стирать sqlite чтобы удалить старый (но более новый) sqlite из моей системы. На этом этапе yum удалил sqlite и ВСЕ другие пакеты, которые имеют его зависимость. Это включало практически все :)
Теперь у меня все еще есть ssh-доступ к моему ящику, но apache, mysql, php исчезли, также было удалено много других вещей, включая пакет разработки, rpm и сам yum.
У меня есть опыт работы с debian и apt-get, и я с трудом могу поверить, что сделал это за первые 30 минут на машине centos с yum. Теперь я вообще не знаю, как это исправить.
Я нашел, как установить yum из файла rpm или rpm из yum, но поскольку у меня его нет ...
У меня в корне есть этот файл: initrd-2.6.18-308.13.1.el5.centos.plus.img Я предполагаю, что это образ моей предустановленной системы, но я не знаю, как восстановить мою систему из этого файла.
Кто-нибудь может мне с этим помочь?
Вы можете попробовать извлечь следующие пакеты на другой хост:
http://mirror.mirohost.net/centos/5.9/updates/x86_64/RPMS/rpm-4.4.2.3-32.el5_9.x86_64.rpm http://mirror.mirohost.net/centos/5.9/updates/x86_64/RPMS/rpm-libs-4.4.2.3-32.el5_9.x86_64.rpm
а затем просто скопируйте двоичные файлы с помощью scp / wget / rsync. Я пробовал на рабочих станциях vmware, и все работает нормально
# yum erase rpm
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package rpm.x86_64 0:4.4.2.3-32.el5_9 set to be erased
--> Processing Dependency: rpm = 4.4.2.3-32.el5_9 for package: rpm-python
--> Processing Dependency: rpm = 4.4.2.3-32.el5_9 for package: rpm-libs
--> Processing Dependency: rpm for package: man
--> Processing Dependency: rpm = 4.4.2.3-32.el5_9 for package: rpm-build
--> Processing Dependency: rpm = 4.4.2.3-32.el5_9 for package: rpm-devel
--> Processing Dependency: rpm >= 4.4.2 for package: yum
--> Running transaction check
---> Package man.x86_64 0:1.6d-3.el5 set to be erased
--> Processing Dependency: man >= 1.6d-2 for package: man-pages-overrides
---> Package rpm-build.x86_64 0:4.4.2.3-32.el5_9 set to be erased
---> Package rpm-devel.x86_64 0:4.4.2.3-32.el5_9 set to be erased
--> Processing Dependency: rpm-devel for package: net-snmp-devel
---> Package rpm-libs.x86_64 0:4.4.2.3-32.el5_9 set to be erased
--> Processing Dependency: librpm-4.4.so()(64bit) for package: net-snmp
--> Processing Dependency: librpmio-4.4.so()(64bit) for package: net-snmp
---> Package rpm-python.x86_64 0:4.4.2.3-32.el5_9 set to be erased
--> Processing Dependency: rpm-python for package: system-config-network-tui
---> Package yum.noarch 0:3.2.22-40.el5.centos set to be erased
--> Processing Dependency: yum >= 3.2.22 for package: yum-updatesd
--> Processing Dependency: yum >= 3.0 for package: yum-fastestmirror
--> Running transaction check
---> Package man-pages-overrides.noarch 0:5.9.2-2.el5 set to be erased
---> Package net-snmp.x86_64 1:5.3.2.2-20.el5 set to be erased
---> Package net-snmp-devel.x86_64 1:5.3.2.2-20.el5 set to be erased
---> Package system-config-network-tui.noarch 0:1.3.99.21-1.el5 set to be erased
--> Processing Dependency: system-config-network-tui for package: firstboot-tui
---> Package yum-fastestmirror.noarch 0:1.1.16-21.el5.centos set to be erased
---> Package yum-updatesd.noarch 1:0.9-5.el5 set to be erased
--> Running transaction check
---> Package firstboot-tui.x86_64 0:1.4.27.9-1.el5.centos set to be erased
--> Processing Dependency: /usr/bin/man for package: redhat-lsb
--> Processing Dependency: /usr/bin/man for package: redhat-lsb
--> Processing Dependency: /bin/rpm for package: policycoreutils
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package policycoreutils.x86_64 0:1.33.12-14.8.el5_9 set to be erased
--> Processing Dependency: policycoreutils >= 1.33.12-14.5 for package: selinux-policy-targeted
--> Processing Dependency: policycoreutils for package: sudo
--> Processing Dependency: policycoreutils for package: sudo
--> Processing Dependency: policycoreutils >= 1.33.12-14.5 for package: selinux-policy
--> Processing Dependency: policycoreutils for package: setools
---> Package redhat-lsb.i386 0:4.0-2.1.4.el5 set to be erased
---> Package redhat-lsb.x86_64 0:4.0-2.1.4.el5 set to be erased
--> Running transaction check
---> Package selinux-policy.noarch 0:2.4.6-338.el5 set to be erased
---> Package selinux-policy-targeted.noarch 0:2.4.6-338.el5 set to be erased
---> Package setools.x86_64 0:3.0-3.el5 set to be erased
---> Package sudo.x86_64 0:1.7.2p1-22.el5_9.1 set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================
Removing:
rpm x86_64 4.4.2.3-32.el5_9 installed 3.6 M
Removing for dependencies:
firstboot-tui x86_64 1.4.27.9-1.el5.centos installed 652 k
man x86_64 1.6d-3.el5 installed 354 k
man-pages-overrides noarch 5.9.2-2.el5 installed 181 k
net-snmp x86_64 1:5.3.2.2-20.el5 installed 2.8 M
net-snmp-devel x86_64 1:5.3.2.2-20.el5 installed 8.0 M
policycoreutils x86_64 1.33.12-14.8.el5_9 installed 2.1 M
redhat-lsb i386 4.0-2.1.4.el5 installed 21 k
redhat-lsb x86_64 4.0-2.1.4.el5 installed 22 k
rpm-build x86_64 4.4.2.3-32.el5_9 installed 1.5 M
rpm-devel x86_64 4.4.2.3-32.el5_9 installed 4.1 M
rpm-libs x86_64 4.4.2.3-32.el5_9 installed 2.0 M
rpm-python x86_64 4.4.2.3-32.el5_9 installed 131 k
selinux-policy noarch 2.4.6-338.el5 installed 7.9 M
selinux-policy-targeted noarch 2.4.6-338.el5 installed 33 M
setools x86_64 3.0-3.el5 installed 3.3 M
sudo x86_64 1.7.2p1-22.el5_9.1 installed 884 k
system-config-network-tui noarch 1.3.99.21-1.el5 installed 4.9 M
yum noarch 3.2.22-40.el5.centos installed 3.3 M
yum-fastestmirror noarch 1.1.16-21.el5.centos installed 47 k
yum-updatesd noarch 1:0.9-5.el5 installed 55 k
Transaction Summary
======================================================================================================================================================
Remove 21 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
А потом
# wget http://mirror.mirohost.net/centos/5.9/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
# wget http://mirror.mirohost.net/centos/5.9/os/x86_64/CentOS/rpm-python-4.4.2.3-31.el5.x86_64.rpm
# wget http://mirror.mirohost.net/centos/5.9/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
# rpm -ivh --nodeps yum-3.2.22-40.el5.centos.noarch.rpm rpm-python-4.4.2.3-31.el5.x86_64.rpm yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
Preparing... ########################################### [100%]
1:rpm-python ########################################### [ 33%]
2:yum-fastestmirror ########################################### [ 67%]
3:yum ########################################### [100%]
Убедитесь, что все работает нормально
# yum install mc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.colocall.net
* epel: ftp.colocall.net
* extras: ftp.colocall.net
* rpmforge: ftp.colocall.net
* updates: centos.itt-consulting.com
base | 1.1 kB 00:00
epel | 3.6 kB 00:00
extras | 2.1 kB 00:00
rpmforge | 1.9 kB 00:00
updates | 1.9 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mc.x86_64 1:4.6.1a-35.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================
Installing:
mc x86_64 1:4.6.1a-35.el5 base 2.1 M
Transaction Summary
======================================================================================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 2.1 M
Is this ok [y/N]:
Downloading Packages:
mc-4.6.1a-35.el5.x86_64.rpm | 2.1 MB 00:02
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : mc 1/1
Installed:
mc.x86_64 1:4.6.1a-35.el5
Complete!
P.S После этого не забудьте переустановить rpm через yum;)
# yum install rpm
Я была такая же проблема.
Я удалил sqlite, а затем yum
и rpm
не сработало. Я загрузил исходный код sqlite, и установил его с помощью ./configure
, сделать и установить. Но у меня все еще была проблема.
Затем я сравнил файлы, которые содержат sqlite в своих именах на этом сервере, и сервер работал нормально. Я нашел эти файлы:
/usr/lib/python/site-packages/yum/sqlite*
/usr/lib64/libsqlite3.so.0*
/usr/include/sqlite*
Впоследствии я скопировал эти файлы с хорошего сервера на отказавший, и теперь все в порядке.
Вы можете попробовать следующие команды
# cd /mnt
# zcat /root/initrd-2.6.18-308.13.1.el5.centos.plus.img | cpio -i
Но я думаю, это не решит твою проблему. Вы можете попробовать скачать сentos dvd, смонтировать их и установить все необходимые пакеты
# cd /root
# wget http://mirror.mirohost.net/centos/5.9/isos/x86_64/CentOS-5.9-x86_64-bin-DVD-1of2.iso
# mount -o loop /root/CentOS-5.9-x86_64-bin-DVD-1of2.iso /mnt
P.S. Вы можете увидеть все удаленные пакеты в / var / log / messages