dpkg

简介

  dpkg是 Debian 软件包管理器的基础,它被伊恩·默多克创建于1993年。dpkg与 RPM 十分相似,同样被用于安装、卸载和供给.deb软件包相关的信息。
  dpkg本身是一个底层的工具。上层的工具,如 APT ,被用于从远程获取软件包以及处理复杂的软件包关系。 “dpkg”是“Debian Package”的简写。

编辑本段用法

   dpkg的用法[1]  
   1)安装软件
  命令行:dpkg -i <.deb file name>
  示例:dpkg -i avg71flm_r28-1_i386.deb
   2)安装一个目录下面所有的软件包
  命令行:dpkg -R
  示例:dpkg -R /usr/local/src
   3)释放软件包,但是不进行配置
  命令行:dpkg –unpack package_file 如果和-R一起使用,参数可以是一个目录
  示例:dpkg –unpack avg71flm_r28-1_i386.deb
   4)重新配置和释放软件包
  命令行:dpkg –configure package_file
  如果和-a一起使用,将配置所有没有配置的软件包
  示例:dpkg –configure avg71flm_r28-1_i386.deb
   5)删除软件包(保留其配置信息)
  命令行:dpkg -r
  示例:dpkg -r avg71flm
   6)替代软件包的信息
  命令行:dpkg –update-avail <Packages-file>
   7)合并软件包信息
  dpkg –merge-avail <Packages-file>
   8)从软件包里面读取软件的信息
  命令行:dpkg -A package_file
   9)删除一个包(包括配置信息)
  命令行:dpkg -P
   10)丢失所有的Uninstall的软件包信息
  命令行:dpkg –forget-old-unavail
   11)删除软件包的Avaliable信息
  命令行:dpkg –clear-avail
   12)查找只有部分安装的软件包信息
  命令行:dpkg -C
   13)比较同一个包的不同版本之间的差别
  命令行:dpkg –compare-versions ver1 op ver2
   14)显示帮助信息
  命令行:dpkg –help
   15)显示dpkg的Licence
  命令行:dpkg –licence (or) dpkg –license
   16)显示dpkg的版本号
  命令行:dpkg –version
   17)建立一个deb文件
  命令行:dpkg -b direc×y [filename]
   18)显示一个Deb文件的目录
  命令行:dpkg -c filename
   19)显示一个Deb的说明
  命令行:dpkg -I filename [control-file]
   20)搜索Deb包
  命令行:dpkg -l package-name-pattern
  示例:dpkg -I vim
   21)显示所有已经安装的Deb包,同时显示版本号以及简短说明
  命令行:dpkg -l
   22)报告指定包的状态信息
  命令行:dpkg -s package-name
  示例:dpkg -s ssh
   23)显示一个包安装到系统里面的文件目录信息
  命令行:dpkg -L package-Name
  示例:dpkg -L apache2
   24)搜索指定包里面的文件(模糊查询)
  命令行:dpkg -S filename-search-pattern
   25)显示包的具体信息
  命令行:dpkg -p package-name
  示例:dpkg -p cacti

编辑本段解析

   dpkg使用解析 [2]
  apt-get install <package>
  下载 <package> 以及所有依赖的包裹,同时进行包裹的安装或升级.如果某个包裹被设置了 hold (停止标志,就会被搁在一边(即不会被升级).更多 hold 细节请看下面.
  apt-get remove [--purge] <package>
  移除 <package> 以及任何倚赖这个包裹的其它包裹.
  --purge 指明这个包裹应该被完全清除 (purged) ,更多信息请看 dpkg -P .
  apt-get update
  升级来自 Debian 镜像的包裹列表,如果你想安装当天的任何软件,至少每天运行一次,而且每次修改了
  /etc/apt/sources.list 后,必须执行.
  apt-get upgrade [-u]
  升级所有已经安装的包裹为最新可用版本.不会安装新的或移除老的包裹.如果一个包改变了倚赖关系而需要安装一个新的包裹,那么它将不会被升级,而是标志为 hold .apt-get update 不会升级被标志为 hold 的包裹 (这个也就是 hold 的意思).请看下文如何手动设置包裹为 hold .我建议同时使用 '-u' 选项,因为这样你就能看到哪些包裹将会被升级.
  apt-get dist-upgrade [-u]
  和 apt-get upgrade 类似,除了 dist-upgrade 会安装和移除包裹来满足倚赖关系.因此具有一定的危险性.
  apt-cache search <pattern>
  搜索满足 <pattern> 的包裹和描述.
  apt-cache show <package>
  显示 <package> 的完整的描述.
  apt-cache showpkg <package>
  显示 <package> 许多细节,以及和其它包裹的关系.
  dselect
  console-apt
  aptitude
  gnome-apt
  APT 的几个图形前端(其中一些在使用前得先安装).这里 dselect 无疑是最强大的,也是最古老,最难驾驭.
  普通 Dpkg 用法
  dpkg -i <package.deb>
  安装一个 Debian 包裹文件;如你手动下载的文件.
  dpkg -c <package.deb>
  列出 <package.deb> 的内容.
  dpkg -I <package.deb>
  从 <package.deb> 中提取包裹信息.
  dpkg -r <package>
  移除一个已安装的包裹.
  dpkg -P <package>
  完全清除一个已安装的包裹.和 remove 不同的是, remove 只是删掉数据和 可执行文件 , purge 另外还删除所有的配制文件.
  dpkg -L <package>
  列出 <package> 安装的所有文件清单.同时请看 dpkg -c 来检查一个 .deb 文件的内容.
  dpkg -s <package>
  显示已安装包裹的信息.同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个
  .deb 文件中提取的包裹信息.
  dpkg-reconfigure <package>
  重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面).你能够重新配制 debconf 它本身,如你想改变它的前端或提问的优先权.例如,重新配制 debconf ,使用一个 dialog 前端,简单运行:
  dpkg-reconfigure --frontend=dialog debconf (如果你安装时选错了,这里可以改回来哟
  echo "<package> hold" | dpkg --set-selections
  设置 <package> 的状态为 hlod (命令行方式)
  dpkg --get-selections "<package>"
  取的 <package> 的当前状态 (命令行方式)
  支持 通配符 ,如:
  Debian:~# dpkg --get-selections *wine*
  libwine hold
  libwine-alsa hold
  libwine-arts hold
  libwine-dev hold
  libwine-nas hold
  libwine-print hold
  libwine-twain hold
  wine hold
  wine+ hold
  wine-doc hold
  wine-utils hold
  例如:
  大家现在用的都是 gaim-0.58 + QQ-plugin,为了防止  gaim  被升级,我们可以采用如下方法:
  方法一:
  Debian:~# echo "gaim hold" | dpkg --set-selections
  然后用下面命令检查一下:
  Debian:~# dpkg --get-selections "gaim"
  gaim hold
  现在的 状态标志 是 hold,就不能被升级了.
  如果想恢复怎么办呢?
  Debian:~# echo "gaim install" | dpkg --set-selections
  Debian:~# dpkg --get-selections "gaim"
  gaim install
  这时状态标志又被重置为 install,可以继续升级了.
  同志们会问,哪个这些状态标志都写在哪个文件中呢?
  在 /var/lib/dpkg/status 里,你也可以通过修改这个文件实现 hold.
  有时你会发现有的软件状态标志是 purge,不要奇怪.
  如:事先已经安装了 amsn, 然后把它卸了.
  apt-get remove --purge amsn
  那么状态标志就从 install 变成 purge.
  方法二:
  在/etc/apt 下手动建一个 preferences 文件
  内容:
  Package: gaim
  Pin: version 0.58*
  保存
  dpkg -S <file>
  在包裹数据库中查找 <file>,并告诉你哪个包裹包含了这个文件.(注:查找的是事先已经安装的包裹)
  从源码建立deb packages
  apt-get source [-b] <package>
  下载一个源码的包并解开。
  你必须在你的/etc/apt/sources.list文件里写入一条 deb-src 的记录才能完成这项工作。
  如果你输入了一个-b参数,并且是以root的身份,deb包会被自动的创建。
  apt-get build-dep <package>
  自动下载并安装通过源码创建 <package> 时需要的包。
  只有apt 0.5以上版本才支持这个功能。
  现在woody和以上版本包含了这个功能。
  如果你使有一个旧版本的apt,查找依赖性最简单的方法是查看源码包中 debian/control 这个文件,
  注意这个路径是相对的,是包内的路径。
  普通的用法,结合 apt-get source -b,例子 (as root):
  apt-get build-dep <package>
  apt-get source -b <package>
  会下载源码包,建立依赖性,然后尝试编译源码。
  dpkg-source -x <package.dsc>
  如果你手工下载了一个程序的源码包,其中包含了几个类似 .orig.tar.gz , .dsc ,
  以及 .diff.gz 之类的文件,
  那么你就可以对 .dsc 文件使用这个命令来 unpack 源码包。
  dpkg-buildpackage
  从 Debian 源码树建立一个deb包。你必须在source tree的主目录才能生效。例如:
  dpkg-buildpackage -rfakeroot -uc -b
  这里 '-rfakeroot' 指定命令使用 fakeroot 程序来模仿 root 权限 (来实现所有者(ownership)目的),
  '-uc' 表示 "Don't cryptographically sign the changelog", '-b' 代表只建立二进制包.
  debuild
  一个快速打包 脚本 类似 dpkg-buildpackage ,能自动的识别是否使用 fakeroot,
  同时为你运行 lintian 和 gpg
  修正倚赖关系
  dpkg --configure --pending
  如果dpkg在apt-get install upgrade dist-uptradeing 的时候出错退出,
  尝试使用此命令来配置已经unpack的包。
  然后再用 apt-get install ,upgrade, or dist-upgrade -f ,
  然后再用 apt-get install, upgrade, or dist-upgrade.
  可能会重复多次,这样通常可以解决大多数的依赖性问题。
  (同时,如果提示由于某种原因需要某个特定的包裹,你可以常识安装或卸载这个包)
  apt-get install -f
  apt-get upgrade -f
  apt-get dist-upgrade -f
  尝试修正上述过程中出现依赖性关系

  注意 apt-get install -f 不需要 <package> 作为参数。


转载地址:http://baike.baidu.com/view/1314054.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值