手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2013年04月29日的文章

接上篇: E: Sub-process /usr/bin/dpkg returned an error code

在上篇升完PHP后,其实还附带了一些其他升级,比如,gearman也是PPA的源,当我upgrade之后,居然说有个组件需要更新,libgearman7,说原来的组件是基于libgearman6的。不能运行了,然后,所有的APT操作都无法运行,出现了: E: Sub-process /usr/bin/dpkg returned an error code 

这,TMD太让人纠结了。最后用了另外的方法处理。。。比较恶心:

XML/HTML代码
  1. cd /var/lib/dpkg  
  2. sudo mv info info.bak  
  3. sudo mkdir info  

只是这样之后,会报一些notice:

XML/HTML代码
  1. dpkg: warning: files list file for package `liblockfile1' missing, assuming package has no files currently installed.  
  2.   
  3. dpkg: warning: files list file for package `liblaunchpad-integration1' missing, assuming package has no files currently installed.  
  4.   
  5. dpkg: warning: files list file for package `libxau6' missing, assuming package has no files currently installed.  
  6.   
  7. dpkg: warning: files list file for package `gconf-defaults-service' missing, assuming package has no files currently installed.  
  8.   
  9. dpkg: warning: files list file for package `libio-string-perl' missing, assuming package has no files currently installed.  

于是我还是把info.bak目录下的内容看了下。最终决定将与gearman相关的删除,重新恢复。OK一切正常。哈哈

info目录里的东西,其实就是一些更新所涉及的路径、目录等,将出错的删除,重新update一下就OK了

 

Tags: apt-get

升级PHP至5.4(ubuntu 12.04)

当前的虚拟机是12.04的系统,默认的PHP只有5.3.x,因为想用Trait的功能,所以就想升级了。结果。。。死活升不上。于是找了点资料,发现只要三句话:

XML/HTML代码
  1. sudo add-apt-repository ppa:ondrej/php5  
  2. sudo apt-get update  
  3. sudo apt-get upgrade  

三句话一运行,世界就清静多了。只是原来自己装的一些组件就要重新编译了:redis,mongo,gearman,还有APC。因为extension_dir换了位置了。也不能直接将那些so文件拷过来。怕不正常,反正重编译一下也很快。。

如果你喜欢自己编译,也可以看这篇:https://gist.github.com/ziadoz/3130816