LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1751|回复: 6

aptitude 怎么强制安装一个包

[复制链接]
发表于 2009-3-26 16:11:39 | 显示全部楼层 |阅读模式
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 。
发表于 2009-3-26 16:55:29 | 显示全部楼层
你装好后,可以把那两个字体删掉,而不会删除xpdf
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-27 09:11:43 | 显示全部楼层
用 dpkg -i --force-depends 安装后,就无法再用 aptitude ,除非修正依赖关系。

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

似乎只要使用 aptitude ,就永远别想破坏依赖关系。
回复 支持 反对

使用道具 举报

发表于 2009-3-27 09:49:08 | 显示全部楼层
Post by ch_fb;1966119
用 dpkg -i --force-depends 安装后,就无法再用 aptitude ,除非修正依赖关系。

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

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

使用道具 举报

发表于 2009-3-27 11:32:32 | 显示全部楼层
手动释放后修改依赖再打包 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 文件下载到当前目录.
回复 支持 反对

使用道具 举报

发表于 2009-8-25 21:33:21 | 显示全部楼层
好像还是没有解决啊
回复 支持 反对

使用道具 举报

发表于 2009-8-26 00:41:35 | 显示全部楼层
5 楼的方法可以解决,操作也不是很难。更好的方法是自己写个虚拟包解决,比如我正在用的这个 control 模板。

  1. Package: f.u.c.k-depends
  2. Version: 1.0
  3. Architecture: all
  4. Maintainer: AutoXBC <autoxbc@gmail.com>
  5. Installed-Size: 0
  6. Provides: xdg-user-dirs
  7. Priority: optional
  8. Description: 通过声明提供一些包来辅助清理一些无意义的依赖
  9. 把你认为完全无用但被某些元包依赖的组件加到 Provides 字段
  10. 然后就可以手动清理掉无用组件而不破坏元包的依赖关系,在不
  11. 绕过包管理器不重新最小化安装的情况下深度定制系统。
复制代码


这个方法不用担心软件升级的问题,比直接处理目标包好。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表