从PPA安装shotwell时,“试图覆盖shotwell常用软件包中的文件”


12

我正在尝试更新我的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)

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


顺便说一句,不要以root用户身份登录,而应使用sudo
Braiam 2014年

Answers:


14

在终端上尝试此命令,

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

这是来源


仅在运行以下命令后,此解决方案才对我有用:sudo chmod 777 /var/cache/apt/archives/shotwell_0.15.1-1~saucy1_i386.deb
kdureidy 2014年

但是对于我来说,上述单个命令有效。
阿维纳什·拉吉

您只需要添加chmod命令以使其成为可执行文件即可,这将使您的解决方案更加完美,并且适用于所有人。
kdureidy 2014年

您是否尝试过我的另一个答案?
阿维纳什·拉吉

它尝试了您的单个命令,但直到我使用chmod都失败了
kdureidy 2014年


1

您应将此类事情报告给PPA所有者。他没有分离非体系结构特定的文件,也没有设置Shotwell与Shotwell通用软件包有冲突/冲突。

正确的方法是删除存储库Shotwell通用软件包,然后从ppa安装一个软件包:

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

这将防止升级软件包时出现头痛。

➜〜apt-cache策略Shotwell-常见
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 *
braiam的[sudo]密码: 
(正在读取数据库... 188756当前安装的文件和目录。)
准备解压... / shotwell_0.15.1-1〜saucy1_i386.deb ...
将(0.14.1-3)的Shotwell(0.15.1-1〜saucy1)打开包装...
dpkg:处理归档文件时出错下载/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:错误:子进程粘贴被信号杀死(管道断开)
正在处理hicolor-icon-theme(0.13-1)的触发器...
处理菜单的触发器(2.1.46)...
处理时遇到错误:
 下载/shotwell_0.15.1-1~saucy1_i386.deb
➜〜sudo apt-get --reinstall install Shotwell-common = 0.14.1-3 Shotwell = 0.14.1-3       
正在阅读包装清单...完成
建立依赖树       
正在读取状态信息...完成
0个已升级,0个新安装,2个重新安装,0个要删除和12个未升级。
需要获取3,901 kB档案。
此操作后,将使用0 B的额外磁盘空间。
获取:1 http://ftp.us.debian.org/debian/ testing / main shotwell-common全部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 / s)                                             
(正在读取数据库... 188756当前安装的文件和目录。)
准备解压... / shotwell-common_0.14.1-3_all.deb ...
将(0.14.1-3)以上的Shotwell常见(0.14.1-3)开箱...
正在准备解压... / shotwell_0.14.1-3_i386.deb ...
将(0.14.1-3)的Shotwell(0.14.1-3)打开包装...
处理桌面文件实用程序(0.22-1)的触发器...
处理gnome菜单(3.8.0-2)的触发器...
处理mime-support的触发器(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(0.14.1-3)...
设置Shotwell(0.14.1-3)...
处理菜单的触发器(2.1.46)...
➜〜sudo apt-get删除Shotwell-常见
正在阅读包装清单...完成
建立依赖树       
正在读取状态信息...完成
以下软件包是自动安装的,不再需要:
  libgee2 libgexiv2-2 libraw9
使用“ apt-get autoremove”将其删除。
以下软件包将被删除:
  肖特韦尔常见
0个已升级,0个新安装,2个要删除和12个未升级。
完成此操作后,将释放12.1 MB磁盘空间。
你想继续吗?[Y / n] y
(正在读取数据库... 188756当前安装的文件和目录。)
卸下Shotwell(0.14.1-3)...
删除常用的Shotwell(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菜单(3.8.0-2)的触发器...
处理mime-support的触发器(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菜单(3.8.0-2)的触发器...
处理mime-support的触发器(3.54)...
处理菜单的触发器(2.1.46)...
➜〜  

@Lionslair的正确方法是将答案标记为已接受;)
Braiam 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.