从 PPA 安装 shotwell 时出现“尝试覆盖 shotwell-common 包中已有的文件”

从 PPA 安装 shotwell 时出现“尝试覆盖 shotwell-common 包中已有的文件”

我正在尝试更新我的 Shotwell 版本。好吧,我的 Ubuntu 系统正在更新。我收到以下 apt-get 错误。有人能告诉我如何解决它吗?我尝试了几种不同的方法,所以现在寻求帮助。

root@nathanr-XPS-630i:/home/nathanr# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  shotwell
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.8 MB of archives.
After this operation, 25.5 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://ppa.launchpad.net/yorba/ppa/ubuntu/ saucy/main shotwell i386 0.15.1-1~saucy1 [10.8 MB]
Fetched 10.8 MB in 2min 16s (79.5 kB/s)                                                                                                                                                
(Reading database ... 316303 files and directories currently installed.)
Preparing to replace shotwell 0.15.0-0ubuntu1 (using .../shotwell_0.15.1-1~saucy1_i386.deb) ...
Unpacking replacement shotwell ...
dpkg: error processing /var/cache/apt/archives/shotwell_0.15.1-1~saucy1_i386.deb (--unpack):
 trying to overwrite '/usr/share/icons/hicolor/24x24/apps/shotwell.svg', which is also in package shotwell-common 0.15.0-0ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
No apport report written because MaxReports is reached already                                                              Processing triggers for     software-center ...
INFO:softwarecenter.db.update:translation information in database is up-to-date
Processing triggers for hicolor-icon-theme ...
Errors were encountered while processing:
 /var/cache/apt/archives/shotwell_0.15.1-1~saucy1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

有什么建议我需要做什么吗?

答案1

在终端上尝试这个命令,

sudo dpkg -i --force-overwrite /var/cache/apt/archives/shotwell_0.15.1-1~saucy1_i386.deb

当某个文件在较新版本中从一个包移动到另一个包时,就会发生此错误。

在您的情况下,尝试从目录dpkg提取shotwell.svg文件。但该目录中已经有一个文件。因此会发生这种类型的错误。/var/cache/apt/archives/shotwell_0.15.1-1~saucy1_i386.deb/usr/share/icons/hicolor/24x24/apps/shotwell.svg

通过运行dpkg -i --force-overwrite命令,先前找到的文件shotwell.svg被安装时的文件强制覆盖/var/cache/apt/archives/shotwell_0.15.1-1~saucy1_i386.deb

这里是来源

答案2

尝试这些命令,

sudo dpkg -r shotwell-common
sudo apt-get install shotwell

apt-get在删除包的情况下可能会或可能不会起作用shotwell-common

答案3

您应该将此类事情报告给 PPA 所有者。他没有分离非架构特定的文件或设置 shotwell 与 shotwell-common 包不一致/冲突。

正确的方法是删除存储库 shotwell-common 包,然后从 ppa 安装该包:

sudo apt-get purge shotwell-common
sudo apt-get install shotwell

这将避免升级软件包时出现的麻烦。

➜ ~ apt-cache 策略 shotwell-common
shotwell-常见:
  安装:0.14.1-3
  候选:0.14.1-3
  版本表:
 *** 0.14.1-3 0
        500 http://ftp.us.debian.org/debian/testing/main i386 软件包
        100 /var/lib/dpkg/状态
➜〜sudo dpkg -i下载/shotwell*
[sudo] braiam 的密码:
(正在读取数据库...当前安装了 188756 个文件和目录。)
准备解压 .../shotwell_0.15.1-1~saucy1_i386.deb ...
正在解压 shotwell (0.15.1-1~saucy1) 到 (0.14.1-3) ...
dpkg:错误处理存档 Downloads/shotwell_0.15.1-1~saucy1_i386.deb (--install):
 尝试覆盖 '/usr/share/icons/hicolor/24x24/apps/shotwell.svg',它也位于软件包 shotwell-common 0.14.1-3 中
dpkg-deb:错误:子进程 paste 被信号终止(管道断裂)
处理 hicolor-icon-theme (0.13-1) 的触发器...
处理菜单触发器(2.1.46)...
处理时遇到错误:
 下载/shotwell_0.15.1-1~saucy1_i386.deb
➜〜sudo apt-get --reinstall安装shotwell-common = 0.14.1-3 shotwell = 0.14.1-3       
正在读取软件包列表...完成
构建依赖关系树       
正在读取状态信息...完成
0 个升级,0 个新安装,2 个重新安装,0 个删除,12 个未升级。
需要获取 3,901 kB 的档案。
此操作后将使用0B的额外磁盘空间。
获取:1 http://ftp.us.debian.org/debian/ testing/main shotwell-common all 0.14.1-3 [1,965 kB]
获取:2 http://ftp.us.debian.org/debian/ testing/main shotwell i386 0.14.1-3 [1,936 kB]
24 秒内获取 3,901 kB(157 kB/秒)                                             
(正在读取数据库...当前安装了 188756 个文件和目录。)
准备解压 .../shotwell-common_0.14.1-3_all.deb ...
正在解压 shotwell-common (0.14.1-3) 以及 (0.14.1-3) ...
准备解压 .../shotwell_0.14.1-3_i386.deb ...
正在解压 shotwell (0.14.1-3) 以及 (0.14.1-3) ...
处理桌面文件实用程序 (0.22-1) 的触发器...
处理 gnome-menus (3.8.0-2) 的触发器...
正在处理 mime 支持的触发器 (3.54) ...
处理 hicolor-icon-theme (0.13-1) 的触发器...
处理 libglib2.0-0:i386 (2.36.4-1) 的触发器...
处理 man-db (2.6.5-3) 的触发器...
处理菜单触发器(2.1.46)...
设置 shotwell-common (0.14.1-3) ...
设置 shotwell (0.14.1-3) ...
处理菜单触发器(2.1.46)...
➜〜sudo apt-get删除shotwell-common
正在读取软件包列表...完成
构建依赖关系树       
正在读取状态信息...完成
以下软件包已自动安装并且不再需要:
  libgee2 libgexiv2-2 libraw9
使用“apt-get autoremove”来删除它们。
下列软件包将被删除:
  shotwell shotwell-common
升级了 0 个,新安装了 0 个,删除了 2 个,并且未升级 12 个。
此操作后将释放12.1 MB的磁盘空间。
您想继续吗?[Y/n] y
(正在读取数据库...当前安装了 188756 个文件和目录。)
移除 shotwell (0.14.1-3) ...
删除 shotwell-common (0.14.1-3) ...
处理菜单触发器(2.1.46)...
处理 man-db (2.6.5-3) 的触发器...
处理 libglib2.0-0:i386 (2.36.4-1) 的触发器...
处理 hicolor-icon-theme (0.13-1) 的触发器...
处理桌面文件实用程序 (0.22-1) 的触发器...
处理 gnome-menus (3.8.0-2) 的触发器...
正在处理 mime 支持的触发器 (3.54) ...
➜〜sudo dpkg -i下载/shotwell*.deb                      
选择先前未选择的包 shotwell。
(正在读取数据库...当前安装了 188477 个文件和目录。)
准备解压 .../shotwell_0.15.1-1~saucy1_i386.deb ...
正在解压 shotwell (0.15.1-1~saucy1) ...
处理 hicolor-icon-theme (0.13-1) 的触发器...
处理 man-db (2.6.5-3) 的触发器...
处理 libglib2.0-0:i386 (2.36.4-1) 的触发器...
处理桌面文件实用程序 (0.22-1) 的触发器...
处理 gnome-menus (3.8.0-2) 的触发器...
正在处理 mime 支持的触发器 (3.54) ...
处理菜单触发器(2.1.46)...
➜ ~  

相关内容