I am trying to do a yum update
and all of the mirrors fail with a 404. I put the url into my browser and the error is correct, the url does not exist. YUM is looking for a package that does not exist on the mirrors. See below for the error message:
https://mirrors.lug.mtu.edu/epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
http://mirror.oss.ou.edu/epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
https://mirror.csclub.uwaterloo.ca/fedora/epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
http://mirror.sfo12.us.leaseweb.net/epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
http://mirror.math.princeton.edu/pub/epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
http://kdeforge2.unl.edu/mirrors/epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
https://muug.ca/mirror/fedora-epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
http://fedora.westmancom.com/epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
https://ca.mirror.babylon.network/epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
https://mirror.chpc.utah.edu/pub/epel/7/x86_64/repodata/13b91b1efe2a1db71aa132d76383fdb5311887958a910548546d58a5856e2c5d-primary.sqlite.xz: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
I have tried running yum clean all
That command finished successfully, but it did not change any thing. I have also tried the following:
rm -f /var/lib//rpm/__db*
rpm --rebuilddb
That also did not change anything.
Добрый день.
Хотелось бы предупредить недовольство участников форума и принести извИнения, если не верно выбрал раздел для вопроса.
Ну и за то, что не смог найти решение своей проблемы в поисковике.
Преамбула:
Линуксом пользуюсь, от силы, второй день — т.ч…
По проблеме:
Fedora 21, выполнен yum update, после первой загрузки, добавлены какие-то репозитории (К сожалению не могу сказать какие — команды для просмотра не знаю, по какой статье делал не помню… Вот такой вот ламер 8( )
При выполнении sudo yum update следующая ошибка:
Загружены модули: langpacks
adobe-linux-i386 |
951 B 00:00
adobe-linux-x86_64 | 951 B 00:00
fedora/21/x86_64/metalink | 31 kB 00:00
rpmfusion-free | 1.2 kB 00:00
rpmfusion-free-updates | 2.7 kB 00:00
rpmfusion-nonfree | 1.2 kB 00:00
rpmfusion-nonfree-updates | 2.7 kB 00:00
Could not retrieve mirrorlist http://mirrors.rfremix.ru/mirrorlist?repo=free-fedora-updates-released-21&arch=x86_64 error was
12: Timeout on http://mirrors.rfremix.ru/mirrorlist?repo=free-fedora-updates-released-21&arch=x86_64: (28, 'Connection timed out after 30001 milliseconds')
^CCould not retrieve mirrorlist http://mirrors.rfremix.ru/mirrorlist?repo=nonfree-fedora-21&arch=x86_64 error was
14: curl#56 - "Callback aborted"
One of the configured repositories failed (Russian Fedora for Fedora 21 - Nonfree),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:
1. Contact the upstream for the repository and get them to fix the problem.
2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).
3. Disable the repository, so yum won't use it by default. Yum will then
just ignore the repository until you permanently enable it again or use
--enablerepo for temporary usage:
yum-config-manager --disable russianfedora-nonfree
4. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:
yum-config-manager --save --setopt=russianfedora-nonfree.skip_if_unavailable=true
Cannot find a valid baseurl for repo: russianfedora-nonfree/21/x86_64
______________________________
Пробовал сделать:
sudo yum-config-manager —disable russianfedora-nonfree
Результат:
========================= repo: russianfedora-nonfree ==========================
[russianfedora-nonfree]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/21
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/21/russianfedora-nonfree
check_config_file_age = True
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = 0
enablegroups = True
exclude =
failovermethod = priority
gpgcadir = /var/lib/yum/repos/x86_64/21/russianfedora-nonfree/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/21/russianfedora-nonfree/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-russianfedora-nonfree-fedora
hdrdir = /var/cache/yum/x86_64/21/russianfedora-nonfree/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist = http://mirrors.rfremix.ru/mirrorlist?repo=nonfree-fedora-21&arch=x86_64
mirrorlist_expire = 86400
name = Russian Fedora for Fedora 21 - Nonfree
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/21/russianfedora-nonfree
pkgdir = /var/cache/yum/x86_64/21/russianfedora-nonfree/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = russianfedora-nonfree/21/x86_64
ui_repoid_vars = releasever,
basearch
username =
После чего еще раз запустить:
sudo yum update — результат аналогичен первому запуску.
При этом смущает, что http://mirrors.rfremix.ru в браузере не открывается, ping на mirrors.rfremix.ru не проходит.
Но форуме, вот в этой теме:
Fedora 18 ошибка при обновлении
Нашел вариант с:
repoquery —whatrequires —recursive PACKAGENAME
Но, повторюсь, т.к. с линуксом полный ноль — даже не представляю, что делает данная команда (ушел читать).
_______________________________________________
Решение
_______________________________________________
Если кто-то из таких же нубов, как и я, зайдет — что бы не читать комментарии по оформлению и ошибкам:
Данная команда очищает кэш, на сколько понял из описания.
Кстати, есть еще и команда на создание кэша, но я её не применял:
После этого я получил ошибку по flash’y и «Разрешение зависимостей» — было решено через «yum remove» для флэша и его переустановкой.
При выполнении команды yum update процедура обновления зависала. Проблемы были разные и я собрал много граблей, попробовал много вариантов. Возможно, кому-то поможет и часть описанных решений.
Эта статься более-менее упорядоченная заметка из наработок по решению проблемы. Рекомендую сначала ознакомиться со всем, а потом уже что-то выполнять.
Перед тем как начать снова проверять работу yum update, не забывайте проверять, есть ли уже выполняющийся процесс yum, который надо прервать: ps -Af | grep yum.
Первично ситуация выглядела вот так:
# yum update BDB2053 Freeing read locks for locker 0x913: 362700/140094288074560 Loaded plugins: fastestmirror, langpacks, openvz, priorities, product-id, refresh-packagekit, rhsm-auto-add-pools, search-disabled-repos, vzlinux Determining fastest mirrors
В основном ошибка гуглится по:
BDB2053 Freeing read locks for locker
Итак, варианты поиска проблемы. Если зависает именно на Determining fastest mirrors, то это можно отключить в /etc/yum/pluginconf.d/fastestmirror.conf (Enable=0).
В /etc/yum.conf выставить debuglevel побольше, (я 4 выставлял).
В /etc/yum.conf можно отключить загрузку плагинов при выполнении yum update (мне не помогло).
После чего можно посмотреть и список доступных репозиториев и показывается ли он вообще:
yum repolist
Если зависает и на этом этапе, то смотрим какие репозитории лежат в каталоге ls -la /etc/yum.repos.d/ и вручную убираем некоторые и повторно выполняем команду yum repolist. Так у меня нашёл репозиторий, на котором всё зависло. Это был epel.repo и чинилось это путём замены в нём ссылок с https на http. Но на этом моя проблема не решилась.
По ходу поискал аналогичных проблем я наткнулся на рекомендацию по проверке наличия дубликатов пакетов в системе. Я посмотрел есть ли дубликаты пакетов:
package-cleanup --dupes
libtevent-0.9.33-2.vl7.x86_64
....
....
gdb-7.6.1-114.vl7.x86_64
gdb-7.6.1-110.vl....
Список был довольно большой, 284 пакета (подсчитать можно вот так — package-cleanup —dupes | wc -l).
Чтобы избавиться от дубликатов запускается команда:
package-cleanup --cleandupes
Очень большой вывод. Первая часть:
# package-cleanup --cleandupes Loaded plugins: fastestmirror, langpacks, openvz, priorities, product-id, refresh-packagekit, vzlinux ... Not removing pcsc-lite-libs-1.8.8-7.vl7.x86_64 because it is required by 1 installed package Not removing python-criu-3.10.0.11-1.vz7.x86_64 because it is required by 1 installed package There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
Далее много успешных действий:
--> Running transaction check ---> Package GeoIP.x86_64 0:1.5.0-11.vl7 will be erased ---> Package OVMF.noarch 0:20171011-4.git92d07e48907f.vz7.6 will be erased ---> Package augeas-libs.x86_64 0:1.4.0-5.vl7.1 will be erased
А потом всё повисло на:
--> Finished Dependency Resolution
Не знаю что именно помогло в починке package-cleanup —cleandupes, поэтому опишу ниже ещё рекомендованные действия, если есть проблемы с yum update.
Довольно популярное решение на просторах сети:
rm -f /var/lib/rpm/__db* db_verify /var/lib/rpm/Packages rm -rf /var/cache/yum rpm --rebuilddb yum clean all yum update
В том или ином виде. Иногда команд меньше. Я пробовал это решение с самого начала, но результата не было.
Ещё помечена у меня такая команда:
yum history new
Есть рекомендация переустановить centos-release. Перед этим надо удалить старую версию:
# rpm -e centos-release --nodeps
А потом вот тут — http://mirror.centos.org/centos/7/os/x86_64/Packages/ взять новый свежий пакет:
rpm -Uvh http://mirror.centos.org/centos/7/os/x86_64/Packages/centos-****.rpm
Ещё одно решение из интернета, я его не пробовал.
NSS_DISABLE_HW_AES=1 # yum downgrade nss nss-util nss-tool nss-sysinit # yum install yum-plugin-versionlock # yum versionlock add! nss-3.21.0-0.3.el6_7.x86_64 nss-sysinit-3.21.0-0.3.el6_7.x86_64 nss-tools-3.21.0-0.3.el6_7.x86_64 nss-util-3.21.0-0.3.el6_7.x86_64
Но пробовал только первую строчку в сочетании с проверкой выполнения других команд (попыток обновления через yum update или считать список репозиториев). И это тоже даёт свой результат и наводки на действия. Потом вернул в NSS_DISABLE_HW_AES=0.
В процессе решения проблемы я проверял версию yum
yum version
и получил вот такой ответ:
Loaded plugins: langpacks, openvz, priorities, product-id, refresh-packagekit, rhsm-auto-add-pools, search-disabled-repos, vzlinux Warning: RPMDB altered outside of yum. ** Found 141 pre-existing rpmdb problem(s), 'yum check' output follows:
Это как раз к отсылке с проблемой по дублирующимся пакетам, т.е. сообщение указывает на эту проблему. И я снова вернулся к попытке удалить дублирующиеся пакеты командой package-cleanup —cleandupes и у меня получилось. Процесс не завис и пошёл дальше «—> Finished Dependency Resolution».
--> Finished Dependency Resolution Dependency Process ending Depsolve time: 0.239 Dependencies Resolved Removing: ....
и далее большой список на удаление. Я дал согласие на удаление, но пакеты удалились не все.
Я не стал вначале возиться с удалением пакетов, которые не удалились командой package-cleanup —cleandupes, а попробовал сразу ещё раз yum update. И команда наконец-то отработала, но с ошибкой:
Error: Multilib version problems found. This often means that the root cause is something else and multilib version checking is just pointing out that there is a problem. Eg.: 1. You have an upgrade for libselinux which is missing some dependency that another package requires. Yum is trying to ... 2. You have multiple architectures of libselinux installed, but .... 3. You have duplicate versions of libselinux installed already. You can use "yum check" to get yum show these errors. ...you can also use --setopt=protected_multilib=false to remove this checking, however this is almost never the correct thing to do as something else is very likely to go wrong (often causing much more problems). Protected multilib versions: libselinux-2.5-14.1.vl7.i686 != libselinux-2.5-12.vl7.x86_64
В моём случае проблема с libselinux. В других случаях могут быть другие библиотеки. В конце выполнения команды есть рекомендация —setopt=protected_multilib=false, но она так же предостерегает что это может вызвать ещё больше проблем, поэтому я сразу команду с этим аргументом выполнять не торопился.
По libselinux. В интернете решение вопроса по мультилибам либо очевидное, как воспользоваться советом из консоли, взяв аргумент setopt=protected_multilib=false (и я в другой ситуации так делал). А есть решения удалять дубликаты пакетов вручную, например вот так:
rpm -e --nodeps --justdb libselinux
Т.е. среди установленных пакетов ищутся дубликаты:
yum list --showduplicates | grep libselinux
и удаляются. Такой способ я не опробовал, т.к. система боевая. Удаление нужного рабочего пакета может привести к потери работоспособности системы.
Дополнительный список команд.
yum clean dbcache
rpm -Va проверит корректность всех пакетов установленных в системе
yum-complete-transaction —cleanup-only
yum history redo last — не отработала
rpm -qa | grep selin — просмотреть установленные пакеты
yum clean dbcache
Всем привет!
Пытаюсь обновить пакеты на сервере. Запускаю yum update
Получаю:
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 375, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 281, in main
return_code = base.doTransaction()
File "/usr/share/yum-cli/cli.py", line 817, in doTransaction
resultobject = self.runTransaction(cb=cb)
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1852, in runTransaction
self.skipped_packages, rpmdb_problems, cmdline)
File "/usr/lib/python2.7/site-packages/yum/history.py", line 947, in beg
pid = self.pkg2pid(txmbr.po)
File "/usr/lib/python2.7/site-packages/yum/history.py", line 804, in pkg2pid
return self._ipkg2pid(po, create)
File "/usr/lib/python2.7/site-packages/yum/history.py", line 798, in _ipkg2pid
return self._pkgtup2pid(po.pkgtup, csum, create)
File "/usr/lib/python2.7/site-packages/yum/history.py", line 781, in _pkgtup2pid
checksum))
File "/usr/lib/python2.7/site-packages/yum/sqlutils.py", line 168, in executeSQLQmark
return cursor.execute(query, params)
sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
Кто нибудь сталкивался? Как исправить? Спасибо заранее.
P.S. Что пробовал, но помогло
yum-complete-transaction
yum history new
rm -rf /var/cache/yum
yum clean all
rm -f /var/lib/rpm/__db*
I am getting errors, I think with coreutils, where yum won’t update. Here is a stripped down output from what I see when I run yum update
:
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package PyYAML.x86_64 0:3.10-3.el6 will be updated
---> Package PyYAML.x86_64 0:3.10-3.1.el6 will be an update
... more of the same, and then:
--> Processing Dependency: coreutils = 8.4-31.el6_5.2 for package: coreutils-libs-8.4-31.el6_5.2.x86_64
---> Package coreutils.x86_64 0:8.4-37.el6 will be an update
... then more of the same --> Finished Dependency Resolution
--> Running transaction check
---> Package coreutils.x86_64 0:8.4-31.el6_5.2 will be updated
--> Processing Dependency: coreutils = 8.4-31.el6_5.2 for package: coreutils-libs-8.4-31.el6_5.2.x86_64
---> Package kernel.x86_64 0:2.6.32-431.17.1.el6 will be erased
--> Finished Dependency Resolution
Error: Package: coreutils-libs-8.4-31.el6_5.2.x86_64 (@updates)
Requires: coreutils = 8.4-31.el6_5.2
Removing: coreutils-8.4-31.el6_5.2.x86_64 (@updates)
coreutils = 8.4-31.el6_5.2
Updated By: coreutils-8.4-37.el6.x86_64 (base)
coreutils = 8.4-37.el6
You could try using --skip-broken to work around the problem
** Found 71 pre-existing rpmdb problem(s), 'yum check' output follows:
audit-libs-2.3.7-5.el6.x86_64 is a duplicate with audit-libs-2.2-4.el6_5.x86_64
audit-libs-python-2.3.7-5.el6.x86_64 is a duplicate with audit-libs-python-2.2-4.el6_5.x86_64
... then lots more like the above duplicate
I have another server that’s (almost) identical to this (they are load balanced and work from the same image) and that one hasn’t got this same problem. What might be the problem and how should I best proceed?
Update:
I also ran yum-complete-transaction
that failed and said it had renamed the transaction files. It still says there is an incomplete transaction but now this happens when I run it:
[root@nico ~]# yum-complete-transaction
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* webtatic: uk.repo.webtatic.com
drivesrvr | 951 B 00:00
There are 1 outstanding transactions to complete. Finishing the most recent one
The remaining transaction had 252 elements left to run
... lots of:
Package name-1.23.x8x_64 already installed and latest version
...
--> Running transaction check
... lots of entries like this:
---> Package PyYAML.x86_64 0:3.10-3.el6 will be updated
... and this:
---> Package PyYAML.x86_64 0:3.10-3.1.el6 will be an update
... and this:
---> Package audit-libs.x86_64 0:2.2-4.el6_5 will be erased
Killed
It then suddenly stops with the Killed
line.
I tried running yum update --skip-broken
next:
[root@nico ~]# yum update --skip-broken
Freeing read locks for locker 0x7d: 28940/139976145426176
Freeing read locks for locker 0x7f: 28940/139976145426176
Freeing read locks for locker 0x80: 28940/139976145426176
Freeing read locks for locker 0x81: 28940/139976145426176
Freeing read locks for locker 0x82: 28940/139976145426176
Loaded plugins: downloadonly, fastestmirror, replace
Setting up Update Process
Loading mirror speeds from cached hostfile
* webtatic: uk.repo.webtatic.com
drivesrvr | 951 B 00:00
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
--> Running transaction check
... lots of will be updated/will be an update/etc, then:
--> Processing Dependency: coreutils = 8.4-31.el6_5.2 for package: coreutils-libs-8.4-31.el6_5.2.x86_64
Then several more Running transaction check:
s, and Processing Dependency: coreutils =...
entries among more willy be updated/willbe an update
entries. Then:
Packages skipped because of dependency problems:
coreutils-8.4-37.el6.x86_64 from base
Dependencies Resolved
Then I’m shown a table with a list of Installing:
and Updating:
packages, with a summary at the end:
Install 2 Package(s)
Upgrade 79 Package(s)
Remove 1 Package(s)
It then downloads all packages (81/81 successfully) and finally shows this:
Total 3.0 MB/s | 115 MB 00:37
Running rpm_check_debug
Killed
Update 2:
I also ran yum clean all
and had some problems there too. I found some advice to remove the __db*
files and try again:
[root@nico ~]# yum clean all
rpmdb: Thread/process 29404/139880514733824 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
[root@nico ~]# rm -f /var/lib/rpm/__db*
[root@nico ~]# yum clean all
Loaded plugins: downloadonly, fastestmirror, replace
Cleaning repos: base drivesrvr epel extras ius newrelic percona-release-noarch percona-release-x86_64 rackspace updates webtatic
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@nico ~]# yum clean all
Loaded plugins: downloadonly, fastestmirror, replace
Cleaning repos: base drivesrvr epel extras ius newrelic percona-release-noarch percona-release-x86_64 rackspace updates webtatic
Cleaning up Everything
[root@nico ~]#
Update 3:
I tailed /var/log/messages
and saw a lot of output when I ran yum-complete-transaction
, the last two lines of which were:
Nov 14 08:19:47 nico kernel: Out of memory: Kill process 30995 (yum-complete-tr) score 149 or sacrifice child
Nov 14 08:19:47 nico kernel: Killed process 30995, UID 0, (yum-complete-tr) total-vm:641952kB, anon-rss:181420kB, file-rss:4kB
So presumably this suggests it’s memory related. If so, is this a case of needing more RAM, or could there be another problem I need to investigate?