当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [应该忽略的!]软件包安装、删除出错的终极解决方法!
帖子发表于 : 2009-07-05 22:03 
头像

注册: 2007-08-05 17:40
帖子: 4968
送出感谢: 0 次
接收感谢: 4
注意:你应该先去寻找其他解决方法,无效再来尝试本方法!!

本方法适用于任何软件包安装,删除时报告的类似于:“post-xxxxx失败”,以及其他错误。


---------言归正传---------

原理:dpkg之所以能够对每个包的状态了如指掌,完全是因为dpkg数据库--->>/var/lib/dpkg/status
这个文本文件中记录了软件仓库中曾经安装过的软件包的安装状态。
所以,只需要改动这个文件就能够改变软件包的状态。

软件包的状态:
引用:
1、not-installed
The package is not installed on your system.
2、config-files
Only the configuration files of the package exist on the system.
3、half-installed
The installation of the package has been started, but not com-
pleted for some reason.
4、unpacked
The package is unpacked, but not configured.
5、half-configured
The package is unpacked and configuration has been started, but
not yet completed for some reason.
6、 triggers-awaited
The package awaits trigger processing by another package.
7、 triggers-pending
The package has been triggered.
8、 installed
The package is unpacked and configured OK.

以上请详细参考man dpkg
根据以上状态:half-installed和half-configured是常见的错误状态,不完全配置,或者不完全安装。

还需要注意的是:
软件包还有一个选择状态:
引用:
1、install
The package is selected for installation.
2、deinstall
The package is selected for deinstallation (i.e. we want to
remove all files, except configuration files).
3、purge The package is selected to be purged (i.e. we want to remove
everything, even configuration files).


最后组合起来的错误状态大概就有6种,安装、删除出错都会将软件包的状态标记成其中之一!
它们的状态都要被修改成:install ok installed ; deinstall ok not-installed或purge ok not-installed。

最后需要注意的是:
软件包除了处在not-install 的状态,其余状态都是有完整的描述的。
要将错误状态修改成installed状态,需要查看一下软件包的描述是否有。(这个一般是有的)
要将错误状态修改成not-install状态,需要删除软件包的描述,删除Section行下面的全部。(不要把别人的删掉)

例子:
引用:
Package: libexempi3
Status: purge ok half-installed
Priority: optional
Section: libs
Installed-Size: 748
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Source: exempi
Version: 2.0.2-2
Depends: libc6 (>= 2.4), libexpat1 (>= 1.95.8), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.2.1)
Description: library to parse XMP metadata (Library)
Exempi is a library to parse XMP metadata as defined by the
specification.
.
XMP (Extensible Metadata Platform) facilitates embedding metadata in files
using a subset of RDF. Most notably XMP supports embedding metadata in PDF
and many image formats, though it is designed to support nearly any file type.
Original-Maintainer: Asheesh Laroia <asheesh@asheesh.org>
Homepage: http://libopenraw.freedesktop.org/wiki/Exempi

显然这个状态是有错误的。只要修改成:
引用:
Package: libexempi3
Status: purge ok not-installed
Priority: optional
Section: libs

这个软件包的状态就修改好了,不会再报错了。

好了,写了这么多了,最后一个警告:编辑这个文件之前记得备份!

------此方法绝无毒副作用,可放心使用----


_________________
free VPN
YouKuDownLoader
代码:
pip3 install ykdl

install YouKuDownLoader, have fun in downloading.
YouKuDownLoader所支持网站列表


页首
 用户资料  
 
2 楼 
 文章标题 : Re: [应该忽略的!]软件包安装、删除出错的终极解决方法!
帖子发表于 : 2009-07-05 22:23 
头像

注册: 2009-04-08 20:44
帖子: 189
地址: 三维空间
送出感谢: 0 次
接收感谢: 0 次
:em11


_________________
如果只是遇见,不能停留,不如不遇见!


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [应该忽略的!]软件包安装、删除出错的终极解决方法!
帖子发表于 : 2009-07-05 22:31 
头像

注册: 2007-05-06 2:46
帖子: 15634
送出感谢: 0 次
接收感谢: 2
我这精简的只能用:$ gdebi package.deb 安装

其他一概不灵光

:em04


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [应该忽略的!]软件包安装、删除出错的终极解决方法!
帖子发表于 : 2009-07-05 23:02 
头像

注册: 2007-08-05 17:40
帖子: 4968
送出感谢: 0 次
接收感谢: 4
各位童孩请无视楼上!


_________________
free VPN
YouKuDownLoader
代码:
pip3 install ykdl

install YouKuDownLoader, have fun in downloading.
YouKuDownLoader所支持网站列表


页首
 用户资料  
 
5 楼 
 文章标题 : Re: [应该忽略的!]软件包安装、删除出错的终极解决方法!
帖子发表于 : 2009-07-05 23:05 
头像

注册: 2008-03-28 20:52
帖子: 1470
系统: QNX
送出感谢: 12
接收感谢: 2
學習一下(*^_^*)


_________________
missing is i missing you...


页首
 用户资料  
 
6 楼 
 文章标题 : Re: [应该忽略的!]软件包安装、删除出错的终极解决方法!
帖子发表于 : 2009-07-05 23:08 
头像

注册: 2007-05-06 2:46
帖子: 15634
送出感谢: 0 次
接收感谢: 2
就是不懂啊

直接装deb

代码:
dpkg: 在 <包状态和进度文件描述符> 时,无法读取文件描述符的标志位: 错误的文件描述符


非得把旧版本删净才行

gdebi就方便多了

:em06


页首
 用户资料  
 
7 楼 
 文章标题 : Re: [应该忽略的!]软件包安装、删除出错的终极解决方法!
帖子发表于 : 2009-07-05 23:33 
头像

注册: 2009-02-25 18:18
帖子: 2229
送出感谢: 0 次
接收感谢: 0 次
cnkilior 写道:
各位童孩请无视楼上!

回应楼主,已经对其进行无视处理,询问是否加入总是无视名单?
:em04


_________________
在中国搞IT的谁不知道Ctrl+C,Ctrl+V啊~


页首
 用户资料  
 
8 楼 
 文章标题 : Re: [应该忽略的!]软件包安装、删除出错的终极解决方法!
帖子发表于 : 2010-09-04 23:37 
头像

注册: 2008-09-19 17:59
帖子: 172
送出感谢: 0 次
接收感谢: 0 次
:em11 感觉LZ,解决了困扰我很久的问题啊!


页首
 用户资料  
 
9 楼 
 文章标题 : Re: [应该忽略的!]软件包安装、删除出错的终极解决方法!
帖子发表于 : 2011-03-05 3:23 

注册: 2009-05-15 1:20
帖子: 43
送出感谢: 0 次
接收感谢: 0 次
mark一下,好文,但还是没有解决我得问题!http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=320093


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译