KylinOS v10 apt upgrade后错误修复

这篇博客介绍了在KylinOS上执行系统更新时遇到的错误,如dpkg返回错误代码1,以及如何通过执行`sudo apt --fix-broken install`并修改`/usr/lib/emacsen-common/emacs-package-remove`文件中特定行来解决问题的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KylinOS v10 aarch64 在执行

sudo apt update --fix-missing
sudo apt upgrade -y

之后,可能会遇到类似下面的问题

在处理时有错误发生:
 /tmp/apt-dpkg-install-uNQHYK/024-cmake-data_3.16.3-1kylin1k3_all.deb
 /tmp/apt-dpkg-install-uNQHYK/029-code_1.66.1-1649256690_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

可以尝试如下步骤进行修复

1 执行

sudo apt --fix-broken install

可能会遇到类似下面的提示

emacs-remove: can't set umask, aborting. at /usr/lib/emacsen-common/emacs-package-remove line 12.
dpkg: 警告: 旧的 cmake-data 软件包 pre-removal 脚本 子进程返回错误状态 255
dpkg: 现在尝试使用新软件包所带的脚本...
emacs-remove: can't set umask, aborting. at /usr/lib/emacsen-common/emacs-package-remove line 12.
dpkg: 处理归档 /var/cache/apt/archives/cmake-data_3.16.3-1kylin1k3_all.deb (--unpack)时出错:
 新的 cmake-data 软件包 pre-removal 脚本 子进程返回错误状态 255
在处理时有错误发生:
 /var/cache/apt/archives/cmake-data_3.16.3-1kylin1k3_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
W: 操作在完成之前被打断

打开提到的问题文件,并定位到指定的行,对于上面的提示就是

/usr/lib/emacsen-common/emacs-package-remove 的第 12 行

#!/usr/bin/perl -w

use Errno;
use strict;

my $lib_dir = "/usr/lib/emacsen-common";
my $invoked_by_old_pkg;
my $pkg;

require $lib_dir . "/lib.pl";

umask 0022 or die "emacs-remove: can't set umask, aborting.";

sub usage
{
  my($file_handle) = @_;
  if($invoked_by_old_pkg)
  {
    print $file_handle "Usage: emacs-package-remove FLAVOR\n";
  }
  else
  {
    print $file_handle "Usage: emacs-package-remove --prerm FLAVOR\n";
  }
}

第 12 行的内容为

umask 0022 or die "emacs-remove: can't set umask, aborting.";

将该行注释掉,即改为

#umask 0022 or die "emacs-remove: can't set umask, aborting.";

保存。

重新运行

sudo apt --fix-broken install

耐心等待指令完成。

如果没有再报错,则问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值