如何在 Fedora 版本混乱后回滚/撤消 Fedora 上的 yum 更新

如何在 Fedora 版本混乱后回滚/撤消 Fedora 上的 yum 更新

我想texlive按照以下步骤在我的 Fedora 16 笔记本电脑上安装:

# yum remove tex-* texlive-*
# cat > /etc/yum.repos.d/texlive.repo <<EOF
[texlive]
name=texlive
baseurl=http://jnovy.fedorapeople.org/texlive/2012/packages.f17/
enabled=1
gpgcheck=0
EOF
# yum update; 
# yum install texlive

之后yum update,我注意到我的笔记本电脑是 Fedora 16,而我使用2012/packages.fc17/

所以我修改了一下/etc/yum.repos.d/texlive.repo以使用2011/packages.fc16

yum update再次尝试,但有很多错误

    [root@kitty esolve]# yum update
    Loaded plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit
    http://repos.fedorapeople.org/repos/leigh123linux/cinnamon/fedora-16/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found : http://repos.fedorapeople.org/repos/leigh123linux/cinnamon/fedora-16/x86_64/repodata/repomd.xml
    Trying other mirror.
    Setting up Update Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package dvipng.x86_64 0:1.14-1.fc15 will be obsoleted
    ---> Package kpathsea.x86_64 0:2007-66.fc16 will be obsoleted
    --> Processing Dependency: libkpathsea.so.4()(64bit) for package: evince-dvi-3.2.1-2.fc16.x86_64
    ---> Package mkvtoolnix.x86_64 0:5.8.0-1 will be updated
    ---> Package mkvtoolnix.x86_64 0:6.3.0-1 will be an update
    ---> Package nautilus-dropbox.x86_64 0:1.4.0-1.fc10 will be updated
    ---> Package nautilus-dropbox.x86_64 0:1.6.0-1.fc10 will be an update
    ---> Package texlive-dvipng-bin.x86_64 2:svn26509.0-19.20130317_r29408.fc17 will be obsoleting
    --> Processing Dependency: texlive-kpathsea-lib = 2:2012-19.20130317_r29408.fc17 for package: 2:texlive-dvipng-bin-svn26509.0-19.20130317_r29408.fc17.x86_64
    --> Processing Dependency: texlive-base for package: 2:texlive-dvipng-bin-svn26509.0-19.20130317_r29408.fc17.x86_64
    --> Processing Dependency: tex-dvipng for package: 2:texlive-dvipng-bin-svn26509.0-19.20130317_r29408.fc17.x86_64
    --> Processing Dependency: libpng15.so.15()(64bit) for package: 2:texlive-dvipng-bin-svn26509.0-19.20130317_r29408.fc17.x86_64
    --> Processing Dependency: libkpathsea.so.6()(64bit) for package: 2:texlive-dvipng-bin-svn26509.0-19.20130317_r29408.fc17.x86_64
    ---> Package texlive-kpathsea.noarch 2:svn28792.0-19.fc17 will be obsoleting
    --> Processing Dependency: texlive-kpathsea-bin for package: 2:texlive-kpathsea-svn28792.0-19.fc17.noarch
    --> Running transaction check
    ---> Package kpathsea.x86_64 0:2007-66.fc16 will be obsoleted
    --> Processing Dependency: libkpathsea.so.4()(64bit) for package: evince-dvi-3.2.1-2.fc16.x86_64
    ---> Package texlive-base.noarch 2:2012-19.20130317_r29408.fc17 will be installed
    ---> Package texlive-dvipng.noarch 2:svn26689.1.14-19.fc17 will be installed
    ---> Package texlive-dvipng-bin.x86_64 2:svn26509.0-19.20130317_r29408.fc17 will be obsoleting
    --> Processing Dependency: libpng15.so.15()(64bit) for package: 2:texlive-dvipng-bin-svn26509.0-19.20130317_r29408.fc17.x86_64
    ---> Package texlive-kpathsea-bin.x86_64 2:svn27347.0-19.20130317_r29408.fc17 will be installed
    ---> Package texlive-kpathsea-lib.x86_64 2:2012-19.20130317_r29408.fc17 will be installed
    --> Finished Dependency Resolution
    Error: Package: evince-dvi-3.2.1-2.fc16.x86_64 (@fedora)
               Requires: libkpathsea.so.4()(64bit)
               Removing: kpathsea-2007-66.fc16.x86_64 (@so-updates)
                   libkpathsea.so.4()(64bit)
               Obsoleted By: 2:texlive-kpathsea-svn28792.0-19.fc17.noarch (texlive)
                   Not found
    Error: Package: 2:texlive-dvipng-bin-svn26509.0-19.20130317_r29408.fc17.x86_64 (texlive)
               Requires: libpng15.so.15()(64bit)
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest

当我这样做时yum install texlive,它只是尝试安装 f17 版本,但失败了。

我该怎么做才能安装 f16 版本?我该如何撤消yum update with 2012/packages.f17/

我尝试了 yum history,对于今天的历史,我只有

    Loaded plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit
    ID     | Login user               | Date and time    | Action(s)      | Altered
    -------------------------------------------------------------------------------
       124 | esolve ... <esolve>      | 2013-09-12 18:35 | Erase          |   24
       123 | root <root>              | 2013-08-23 11:08 | Update         |    1   
       122 | root <root>              | 2013-08-21 14:13 | Update         |    1  <
       121 | esolve ... <esolve>      | 2013-05-31 15:36 | Install        |    1 > 
       120 | root <root>              | 2013-05-29 15:13 | Install        |    1  <
       119 | root <root>              | 2013-04-18 13:13 | Update         |    1 ><

这似乎与 yum update 无关

结果history

     1003  yum update
     1004  vim
     1005  vim /etc/yum.repos.d/texlive.repo
     1006  yum update
     1007  yum install texlive
     1008  vim /etc/yum.repos.d/texlive.repo
     1009  clear
     1010  yum history
     1011  yum history list
     1012  vim
     1013  vim /etc/yum.repos.d/texlive.repo
     1014  yum history list
     1015  history

我也试过

yum history undo 124 

但失败了!

    [root@kitty esolve]# yum history undo 124
    Loaded plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit
    http://repos.fedorapeople.org/repos/leigh123linux/cinnamon/fedora-16/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found : http://repos.fedorapeople.org/repos/leigh123linux/cinnamon/fedora-16/x86_64/repodata/repomd.xml
    Trying other mirror.
    Undoing transaction 124, from Thu Sep 12 18:35:31 2013
        Erase R-2.14.1-1.fc16.x86_64                  ?
        Erase R-core-2.14.1-1.fc16.x86_64             ?
        Erase R-devel-2.14.1-1.fc16.x86_64            ?
        Erase a2ps-4.14-12.fc15.x86_64                ?
        Erase docbook-utils-pdf-0.6.14-29.fc16.noarch ?
        Erase html2ps-1.0-0.7.b7.fc15.noarch          ?
        Erase jadetex-3.13-10.fc15.noarch             ?
        Erase kile-2.1.1-1.fc16.x86_64                ?
        Erase linuxdoc-tools-0.9.66-9.fc15.x86_64     ?
        Erase tetex-dvipost-1.1-12.fc15.x86_64        ?
        Erase tex-cm-lgc-0.5-18.fc15.noarch           ?
        Erase tex-preview-11.86-6.fc16.noarch         ?
        Erase texinfo-tex-4.13a-15.fc15.x86_64        ?
        Erase texlive-2007-66.fc16.x86_64             ?
        Erase texlive-dvips-2007-66.fc16.x86_64       ?
        Erase texlive-latex-2007-66.fc16.x86_64       ?
        Erase texlive-texmf-2007-40.fc16.noarch       ?
        Erase texlive-texmf-dvips-2007-40.fc16.noarch ?
        Erase texlive-texmf-fonts-2007-40.fc16.noarch ?
        Erase texlive-texmf-latex-2007-40.fc16.noarch ?
        Erase texlive-utils-2007-66.fc16.x86_64       ?
        Erase texmaker-1:3.2.2-1.fc16.x86_64          ?
        Erase texmf-RR-Inria-4.11-inria.0.noarch      ?
        Erase xdvik-22.84.14-9.fc15.x86_64            ?
        Error: No package(s) available to install

答案1

嗯,我认为您为 F16 使用的 URL 是错误的。正确的 URL 是:

http://jnovy.fedorapeople.org/texlive/2011/packages.fc16/

否则,您可以使用yum history和选项撤消 yum 操作undo,或者rollback 有关更多详细信息,您可以参考手册页和此处:

Yum 历史

使用事务 - Red Hat 6 文档

答案2

虽然 f16 副本已 EoL,但这对所有版本都适用:

如果需要声明版本使用(使用 yum 或 dnf ):

1)–releasever=## 即 –releasever=20 或 21

2)在 /etc/yum.conf (或 /etc/dnf.conf)中:

hold=foo.$arch 即 texlive.fc16.x86_64

或者

exclude=foo.$arch 按照与上述相同的程序进行保存

相关内容