Ответы:
Вы можете использовать RPM, чтобы увидеть, к какому RPM принадлежит этот файл:
$ rpm -qf /etc/redhat-release
centos-release-7-0.1406.el7.centos.2.5.x86_64
Затем вы можете исправить это, используя yum
:
$ yum reinstall centos-release
Если RPM, который использовался для этой установки, больше не доступен, вышеописанное не будет работать:
$ yum reinstall centos-release-7-0.1406.el7.centos.2.5.x86_64
...
Installed package centos-release-7-0.1406.el7.centos.2.5.x86_64 (from updates) not available.
В этом случае вы можете найти этот RPM в CentOS Vault (я ищу его через Google), например. ПРИМЕЧАНИЕ: конкретный пакет, который вы хотите, здесь .
Затем вы можете загрузить RPM напрямую и выполнить переустановку, используя rpm
или yum
.
$ wget http://vault.centos.org/centos/7.0.1406/updates/x86_64/Packages/centos-release-7-0.1406.el7.centos.2.5.x86_64.rpm
Использование RPM
$ sudo rpm -Uvh --replacepkgs centos-release-7-0.1406.el7.centos.2.5.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:centos-release-7-0.1406.el7.cento################################# [100%]
Использование YUM
$ sudo yum reinstall centos-release-7-0.1406.el7.centos.2.5.x86_64.rpm
Loaded plugins: dellsysid, fastestmirror, langpacks
Examining centos-release-7-0.1406.el7.centos.2.5.x86_64.rpm: centos-release-7-0.1406.el7.centos.2.5.x86_64
Resolving Dependencies
--> Running transaction check
---> Package centos-release.x86_64 0:7-0.1406.el7.centos.2.5 will be reinstalled
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================
Reinstalling:
centos-release x86_64 7-0.1406.el7.centos.2.5 /centos-release-7-0.1406.el7.centos.2.5.x86_64 31 k
Transaction Summary
========================================================================================================================================================
Reinstall 1 Package
Total size: 31 k
Installed size: 31 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : centos-release-7-0.1406.el7.centos.2.5.x86_64 1/1
Verifying : centos-release-7-0.1406.el7.centos.2.5.x86_64 1/1
Installed:
centos-release.x86_64 0:7-0.1406.el7.centos.2.5
Complete!
Это snafu, который был создан, когда индивидуальные RPM для определенных версий CentOS устарели.
Этот каталог (и версия CentOS) устарел. Для обычных пользователей вы должны использовать / 7 /, а не /7.0.1406/ на своем пути. Пожалуйста, смотрите этот FAQ по схеме выпуска CentOS:
https://wiki.centos.org/FAQ/General
Если вы знаете, что делаете, и абсолютно хотите остаться на уровне 7.0.1406, перейдите на http://vault.centos.org/ для получения пакетов.
Пожалуйста, имейте в виду, что 7.0.1406 больше не получает ни обновлений, ни исправлений безопасности.
--- Источник: http://mirror.centos.org/centos/7.0.1406/readme
Таким образом, вам обычно приходится обращаться к CentOS Vault за пакетами, которые попадают в это состояние.
-i
следует избегать использования флага rpm, так как он почти всегда менее полезен, чем -U
флаг (и, да, -U
может устанавливать совершенно новые пакеты).
Это должно быть хорошо. Вы можете заново создать файл. Содержание файла:
[root@server ~]# cat /etc/centos-release
CentOS Linux release 7.0.1406 (Core)
[root@server ~]#
Этот файл принадлежит пакету centos-release-7-0.1406.el7.centos.2.5.x86_64
, поэтому, пока вы не удалили этот пакет, достаточно просто прикоснуться к этому файлу вручную.
[root@server ~]# rpm -qf /etc/redhat-release
centos-release-7-0.1406.el7.centos.2.5.x86_64