+ -
当前位置:首页 → 问答吧 → aptitude 怎么强制安装一个包

aptitude 怎么强制安装一个包

时间:2009-03-26

来源:互联网

kpdf 中文需要 xpdf-chinese-simplified 及 xpdf-chinese-traditional ,但两者分别依赖 ttf-arphic-gkai00mp 与 ttf-arphic-bkai00mp 。
我很不喜欢这两款字体,于是用了ttf-arphic-ukai 作楷体之用。
其它依赖 xpdf-common 、cmap-adobe-gb1 等已安装,唯有 xpdf-chinese-simplified 、xpdf-chinese-traditional 、ttf-arphic-gkai00mp 、ttf-arphic-bkai00mp 四个包未装。
现想强制安装 xpdf-chinese-simplified 及 xpdf-chinese-traditional 。

作者: ch_fb   发布时间: 2009-03-26

你装好后,可以把那两个字体删掉,而不会删除xpdf

作者: cigerma   发布时间: 2009-03-26

用 dpkg -i --force-depends 安装后,就无法再用 aptitude ,除非修正依赖关系。

所以,我干脆下载那两个包,用 dpkg -x 手动释放。
再修改 /etc/xpdf/xpdfrc-chinese-simplified 及 /etc/xpdf/xpdfrc-chinese-traditional 。
最后运行一下 update-xpdfrc 就 OK 了。

似乎只要使用 aptitude ,就永远别想破坏依赖关系。

作者: ch_fb   发布时间: 2009-03-27

引用:
作者: ch_fb
用 dpkg -i --force-depends 安装后,就无法再用 aptitude ,除非修正依赖关系。

所以,我干脆下载那两个包,用 dpkg -x 手动释放。
再修改 /etc/xpdf/xpdfrc-chinese-simplified 及 /etc/xpdf/xpdfrc-chinese-traditional 。
最后运行一下 update-xpdfrc 就 OK 了。

似乎只要使用 aptitude ,就永远别想破坏依赖关系。
是吗?我不大清楚,不过我自从重装系统后,就一直用aptitude

作者: cigerma   发布时间: 2009-03-27

手动释放后修改依赖再打包 deb,就可以在不绕过包管理器的情况下安装。

引用:
4. 修改现有 .deb 文件

比如 nano(1.3.10) 需要满足以下依赖关系:

$ dpkg-deb -f nano_1.3.10-2_i386.deb depends //depends 为对应查询段

libc6 (>= 2.3.5-1), libncursesw5 (>= 5.4-5)


当系统不能满足依赖关系, 比如不能满足里来版本, 可以通过下边的方法处理, 当然这种情况下安装的nano并不一定运行正常, 这种方法可以应用于某些软件的变通安装.

$ mkdir nano //创建nano目录

$ dpkg-deb -e ./nano_1.3.10-2_i386.deb ./nano/DEBIAN //解压控制文件

$ dpkg-deb -x ./nano_1.3.10-2_i386.deb ./nano //解压程序文件

$ vi ./nano/DEBIAN/control //修改控制信息

$ dpkg-deb -b nano nano_1.3.10-2_ill.deb //重新打包

注:

下载 .deb 包的方法

方法一

运行命令
$apt-get install -d packagename

$aptitude install -d packagename


将下载 .deb 文件到 //var/cache/apt/archives/ 目录

如果管理系统数据库中的对应版本不低于源上的版本将不会下载
方法二

运行命令:

$aptitude download packagename


将直接执行下载操作, 将 .deb 文件下载到当前目录.

作者: AutoXBC   发布时间: 2009-03-27

好像还是没有解决啊

作者: chinesedragon   发布时间: 2009-08-26

5 楼的方法可以解决,操作也不是很难。更好的方法是自己写个虚拟包解决,比如我正在用的这个 control 模板。

代码:
Package: f.u.c.k-depends
Version: 1.0
Architecture: all
Maintainer: AutoXBC <[email protected]>
Installed-Size: 0
Provides: xdg-user-dirs
Priority: optional
Description: 通过声明提供一些包来辅助清理一些无意义的依赖
 把你认为完全无用但被某些元包依赖的组件加到 Provides 字段
 然后就可以手动清理掉无用组件而不破坏元包的依赖关系,在不
 绕过包管理器不重新最小化安装的情况下深度定制系统。
这个方法不用担心软件升级的问题,比直接处理目标包好。

作者: AutoXBC   发布时间: 2009-08-26