arch降级mysql_Arch之软件包降级

用Arch Linux就是每天睡觉关机前滚一下,然而有时候有些软件升级滚出问题,比如glibc-2.28就导致了R安装包有问题,会抛出下面的错误:

terminate called after throwing an instance of 'std::runtime_error'

what():  Mutex creation failed

用blogdown编译博客也同样会抛出这个错误。当然很多事情都会引起莫名其妙的问题,比如《遇到这样的坑,那是相当的无助!》中记录的。

然后electron也有问题,《开源的macOS和linux版微信》跑着跑着突然CPU就狂飙。

解决办法就是安装回老版本,但pacman永远是最新的,当然可以去git/svn仓库里找老版本的PKGBUILD,然后再makepkg,但经常会在signature checking这步报错,你还得到导入keyring,挺麻烦。

这时候我找到了downgrade脚本:Bash script for downgrading one or more packages to a version in your cache or the A.L.A.

AUR有收录,安装非常简单:~/github/PAM   master  yay -S downgrade

[sudo] password for ygc:

resolving dependencies...

looking for conflicting packages...

Packages (1) downgrade-6.0.0-2

Total Download Size:   0.01 MiB

Total Installed Size:  0.12 MiB

:: Proceed with installation? [Y/n]

:: Retrieving packages...

downgrade-6.0.0-2-any      9.0 KiB   242K/s 00:00 [###########] 100%

(1/1) checking keys in keyring                     [###########] 100%

(1/1) checking package integrity                   [###########] 100%

(1/1) loading package files                        [###########] 100%

(1/1) checking for file conflicts                  [###########] 100%

(1/1) checking available disk space                [###########] 100%

:: Processing package changes...

(1/1) installing downgrade                         [###########] 100%

Optional dependencies for downgrade

sudo: for installation via sudo [installed]

:: Running post-transaction hooks...

(1/1) Arming ConditionNeedsUpdate...

这时候,我就可以用它来降低glibc的版本了,运行会列出各种版本:

~/github/PAM   master  downgrade glibc

Available packages:

*1) glibc-2.28-1-x86_64.pkg.tar.xz (remote)

*2) glibc-2.28-1-x86_64.pkg.tar.xz (local)

3) glibc-2.27-3-x86_64.pkg.tar.xz (remote)

4) glibc-2.27-2-x86_64.pkg.tar.xz (remote)

5) glibc-2.26-11-x86_64.pkg.tar.xz (remote)

6) glibc-2.26-10-x86_64.pkg.tar.xz (remote)

7) glibc-2.26-9-x86_64.pkg.tar.xz (remote)

8) glibc-2.26-8-x86_64.pkg.tar.xz (remote)

9) glibc-2.26-7-x86_64.pkg.tar.xz (remote)

10) glibc-2.26-6-x86_64.pkg.tar.xz (remote)

11) glibc-2.26-5-x86_64.pkg.tar.xz (remote)

12) glibc-2.26-4-x86_64.pkg.tar.xz (remote)

13) glibc-2.26-3-x86_64.pkg.tar.xz (remote)

14) glibc-2.26-2-x86_64.pkg.tar.xz (remote)

15) glibc-2.26-1-x86_64.pkg.tar.xz (remote)

16) glibc-2.25-7-x86_64.pkg.tar.xz (remote)

17) glibc-2.25-6-x86_64.pkg.tar.xz (remote)

18) glibc-2.25-5-x86_64.pkg.tar.xz (remote)

19) glibc-2.25-4-x86_64.pkg.tar.xz (remote)

20) glibc-2.25-3-x86_64.pkg.tar.xz (remote)

21) glibc-2.25-2-x86_64.pkg.tar.xz (remote)

22) glibc-2.25-1-x86_64.pkg.tar.xz (remote)

23) glibc-2.24-2-x86_64.pkg.tar.xz (remote)

24) glibc-2.24-1-x86_64.pkg.tar.xz (remote)

25) glibc-2.23-5-x86_64.pkg.tar.xz (remote)

26) glibc-2.23-4-x86_64.pkg.tar.xz (remote)

27) glibc-2.23-3-x86_64.pkg.tar.xz (remote)

28) glibc-2.23-2-x86_64.pkg.tar.xz (remote)

29) glibc-2.23-1-x86_64.pkg.tar.xz (remote)

30) glibc-2.22-4-x86_64.pkg.tar.xz (remote)

只需要选择其中某一个,就会自动下载安装:select a package by number: 3

glibc-2.27-3-x86_64                                          9.1 MiB  4.68M/s 00:02 [#################################################] 100%

glibc-2.27-3-x86_64.sig                                    310.0   B  0.00B/s 00:00 [#################################################] 100%

loading packages...

warning: downgrading package glibc (2.28-1 => 2.27-3)

resolving dependencies...

looking for conflicting packages...

Packages (1) glibc-2.27-3

Total Installed Size:  41.40 MiB

Net Upgrade Size:      -4.15 MiB

:: Proceed with installation? [Y/n]

(1/1) checking keys in keyring                                                       [#################################################] 100%

(1/1) checking package integrity                                                     [#################################################] 100%

(1/1) loading package files                                                          [#################################################] 100%

(1/1) checking for file conflicts                                                    [#################################################] 100%

(1/1) checking available disk space                                                  [#################################################] 100%

:: Processing package changes...

(1/1) downgrading glibc                                                              [#################################################] 100%

warning: /etc/locale.gen installed as /etc/locale.gen.pacnew

Generating locales...

en_US.UTF-8... done

zh_CN.UTF-8... done

Generation complete.

:: Running post-transaction hooks...

(1/4) Reloading system manager configuration...

(2/4) Creating temporary files...

(3/4) Arming ConditionNeedsUpdate...

(4/4) Updating the info directory file...

add glibc to IgnorePkg? [y/n] n

~/github/PAM   master 

于是升级带来的各种烦人的bug,就没有了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值