вівторок, 24 грудня 2013 р.

Fedora 20 Depsolving loop limit reached

После апдейта с 19 до 20 (вроде все даже встало) при попытке проверить на дупы (sudo package-cleanup --cleandupes) получила около 1к пакетов из фк19 и сюрприз вида Depsolving loop limit reached с одним из них, ака systemd. --skip-broken не спас. Т.к. удалять systemd руками как-то не але, и 1к дупов тоже не але, пришлось применить грязный костыль.

1. yum check хватаем вывод в файл check.txt любым удобным способом. Руками выкидываем проблемный пакет из файла. Слава Ганеше!
2.
get_packages.rb

f = File.read 'check.txt'
f = f.split(" ")

f.map! do |name|
  if name.include? 'fc19'
    name
  end
end

puts f.compact!.join(' ') ну или прямо в cmd-синтаксис 'sudo yum remove ' + f.compact!.join(' ') по вкусу выдаст либо список пакетов, либо команду на удаление.

3. ruby get_packages.rb

Каваи-каваи!

5 коментарів:

  1. I have exactly the same problem and it's the only place where I found some solution. Could you please translate this last sentence "Nu ili..."?
    Thanks in advance.

    ВідповістиВидалити
  2. That means "or". Basically you need to get the list of packages that belong to fc19. I have written a script in Ruby language because there were like a thousand of those. Then you can either print these packages and delete them manually, or you can use Ruby's ability to run shell commands and tell your script to remove these packages for you. http://tech.natemurray.com/2007/03/ruby-shell-commands.html

    ВідповістиВидалити