`
xbcoil
  • 浏览: 126227 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sudo apt-get 和dpkg命令大全[转]

 
阅读更多

sudo apt-get 和dpkg命令大全[转]

一、APT的使用(Ubuntu Linux软件包管理工具一)
apt-cache search # ------(package 搜索包)
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)
sudo apt-get install # ------(package 安装包)
sudo apt-get install # -----(package - - reinstall 重新安装包)
sudo apt-get -f install # -----(强制安装?#"-f = --fix-missing"当是修复安装吧...)
sudo apt-get remove #-----(package 删除包)
sudo apt-get remove --purge # ------(package 删除包,包括删除配置文件等)
sudo apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))
sudo apt-get update #------更新源
sudo apt-get upgrade #------更新已安装的包
sudo apt-get dist-upgrade # ---------升级系统
sudo apt-get dselect-upgrade #------使用 dselect 升级
apt-cache depends #-------(package 了解使用依赖)
apt-cache rdepends # ------(package 了解某个具体的依赖?#当是查看该包被哪些包依赖吧...)
sudo apt-get build-dep # ------(package 安装相关的编译环境)
apt-get source #------(package 下载该包的源代码)
sudo apt-get clean && sudo apt-get autoclean # --------清理下载文件的存档 && 只清理过时的包
sudo apt-get check #-------检查是否有损坏的依赖

apt-get install 的用法
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的 用法(Ubuntu Linux软件包管理工具二)
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*

备注:

-------------------------------------例如:
大家现在用的都是 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*
保存
更详细内容请看:
http://linuxsir.com/bbs/showthread....&threadid=22601

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> 作为参数。

-------------------------------------
用apt-cdrom -d /media/cdrom0 add 加载光驱,

/dev/hdc /cdrom iso9660 user,noauto 0 0
用编辑器修改一下存盘,重启,应该可以了。
然后,apt-cdrom -d /cdrom add
apt-get install (你要装的软件名:《例如gcc》)
gcc相关的软件会自动装入。
注意:apt不会认你手动挂载的光驱,如果fstab中设置不对apt不会正常工作。

用apt-cdrom -d /media/cdrom0 add 加载光驱,需要使用#mkdir /media/cdrom0 否则会错误提示说“无法读取文件系统挂载点/media/cdrom的状态 -stat(2 没有那个文件或目录)”

 

分享到:
评论

相关推荐

    Debian apt-get 使用指南

    本文将详细介绍 `apt-get` 的常用命令及其用法,并提供一些实用的技巧。 #### 二、基本命令详解 1. **更新源列表** `apt-get update` 该命令用于更新本地的软件包索引文件。在安装或更新软件包之前,通常都...

    apt-get 安装资源包,包括ubuntu-keyring, libapt-pkg, apt

    apt-get 安装资源包,包括 ubuntu-keyring_2018.02.28_all.deb libapt-pkg5.0_1.6.14_amd64.deb apt_1.6.14_amd64.deb

    Ubuntu通过apt-get命令安装java jdk6

    ### Ubuntu通过apt-get命令安装Java JDK6 在Linux环境下,特别是Ubuntu系统中,安装Java环境是许多开发人员和系统管理员的必备技能之一。本文将详细介绍如何在Ubuntu系统中使用`apt-get`命令来安装Java JDK6,并...

    apt-get install 的用法

    通过以上介绍可以看出,`apt-get` 提供了一系列强大的命令来帮助用户管理和维护系统中的软件包。掌握这些命令对于有效地使用 Ubuntu 系统至关重要。无论是安装新的软件包还是解决依赖问题,`apt-get` 都能提供必要的...

    ubuntu命令行.pdf

    下面是 Ubuntu 命令行使用指南,涵盖了基本命令、APT 软件包管理工具、安装和卸载软件包等方面的知识点。 一、基本命令 1. 列举本地更新:sudo apt-get update 2. 安装可用更新:sudo apt-get upgrade 3. 查询...

    ROS apt-get install -f无效后解决方案

    然后即使找到依赖项运行可能还会需要其他依赖,然后就是不断的apt-get -f install 和apt-get update,结果还是解决不了问题,然后apt-get upgrade也提示需要依赖。 最后发现怎么都搞不定,然后偶然发现了一个方法...

    Ubuntu常用命令大全[总结].pdf

    * sudo apt-get clean && sudo apt-get autoclean 命令:清理无用的包 * sudo apt-get check 命令:检查是否有损坏的依赖 * sudo apt-get clean 命令:清理所有软件缓存 * dpkg -L xxx 命令:查找软件 xxx 安装内容

    Ubuntu命令大全Ubuntu技巧PDF

    Ubuntu 命令大全 Ubuntu 技巧 http://blog.sina.com.cn/s/b1og_4dd475390100bkd0.html 查看软件xxx安装内容 #dpkg -L xxx 查找软件 #apt-cache search正则表达式 查找文件属于哪个包 #dpkg -S filename apt-file ...

    dpkg,apt 和 aptitude 的使用

    ### dpkg,apt 和 aptitude 的使用 #### dpkg 基础介绍 - **dpkg** 是 Debian 软件包管理系统的核心组件,由 Ian Murdock 在 1993 年创建。它主要用于安装、卸载以及提供与 `.deb` 软件包相关的信息。 - 作为底层...

    apt命令使用详解,介绍linux到详细使用方式,带实例

    这些命令包括但不限于:`apt-get`, `apt-cache`, `apt`, `dpkg`等。下面我们将详细介绍这些命令及其使用方法。 #### 2. APT基本命令 ##### 2.1 `sudo apt-get update` 此命令用于更新本地包列表。当需要获取最新...

    ubuntu命令大全-详细命令大全

    Ubuntu命令大全是Linux系统管理的基础,特别是在Ubuntu这样的基于Debian的发行版中,熟悉和掌握命令行操作至关重要。本文将详细介绍一些常用的Ubuntu命令,帮助用户更有效地管理他们的系统。 1. **控制台与终端** ...

    ubuntu命令行

    16. 清理下载文件的存档:sudo apt-get clean && sudo apt-get autoclean 这条命令用于清理下载文件的存档。 17. 检查依赖项:sudo apt-get check 这条命令用于检查依赖项是否有问题。 通过掌握这些 APT 命令,...

    ubuntu下apt-get安装和彻底卸载mysql详解

    在Ubuntu系统中,`apt-get` 是一个强大的包管理器,用于安装、更新和卸载软件,包括MySQL这样的数据库管理系统。下面将详细讲解如何使用`apt-get`在Ubuntu上安装和彻底卸载MySQL。 **一、安装MySQL** 1. 首先,...

    ubuntu下的apt工具安装资源整合

    6. **验证apt功能**:再次运行`sudo apt-get update`和`sudo apt-get upgrade`,确认`apt`已经恢复正常。 7. **重置服务器**:如果上述方法仍无法解决问题,可能需要考虑重置服务器的后台设置。这通常涉及到恢复...

    ubuntu常用命令

    1. `sudo apt-get update`: 这个命令用于更新系统中的软件包列表,确保你拥有最新的软件源信息。 2. `sudo apt-get upgrade`: 更新已安装的软件包到最新版本,但不会安装新软件包或删除旧软件包。 3. `sudo apt-get ...

    乌班图[Ubuntu]命令使用技巧.pdf

    dpkg 命令可以用来安装、卸载和查询软件包的信息,而 apt-get 命令可以用来安装、卸载和更新软件包。 软件安装 用户可以使用 apt-get 命令来安装软件包,例如安装 XXX 软件包:sudo apt-get install xxx。用户也...

    深度linux 常用命令

    以上介绍的命令和操作都是深度Linux系统中经常使用到的,掌握它们对于高效地使用深度Linux非常重要。需要注意的是,对于系统硬件信息的查看,如硬盘、内存、进程、网络、服务、文件权限等,本部分未涉及,用户可以...

    在Ubuntu中安装VSCode并配置C/C++开发环境的方法步骤

    第一步,打开Ubuntu Software下载VSCode。...sudo apt-get update //访问源列表,并读取软件列表 sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install gdb 第三步,打开VSCode,安装三个插件 1

    Ubuntu命令

    - `sudo apt-get dist-upgrade`: 进行更全面的升级,包括内核和其他核心组件。 - `sudo apt-get install &lt;package&gt;`: 安装指定的软件包。 - `sudo apt-get remove &lt;package&gt;`: 移除指定的软件包。 - `sudo apt-...

Global site tag (gtag.js) - Google Analytics