ubuntu软件包管理

安装包
dpkg -i package.deb
sudo apt-get install package 安装包
sudo apt-get install package - - reinstall 重新安装包
sudo apt-get -f install 修复安装"-f = ——fix-missing"


显示该包的版本、安装信息等
dpkg -l package  
dpkg -s package (详细)
apt-cache show package 获取包的相关信息,如说明、大小、版本等

搜索特定的包
apt-cache search package
列出当前所有已安装的包
dpkg -l   

删除包
dpkg -r package  
dpkg -P package  (包括配置文件)
sudo apt-get remove package 删除包
sudo apt-get remove package - - purge 删除包,包括删除配置文件等

列出与该包关联的文件
dpkg -L package


解开 deb 包的内容
dpkg –unpack package.deb

从所有安装包中找寻文件keyword
dpkg -S keyword  

列出 deb 包的内容
dpkg -c package.deb



sudo apt-get update 更新源
# apt-get update
运行成功之后,你就可以搜到在你的发行版中有哪些软件了,命令是apt-cache,运行这个命令是在本机是检索,而不连到网上。如:


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-cache search baseutils

这个命令可以列出baseutils这个软件包的情况,有还是没有,还有版本等。

看到库里有这个软件包后,就可以安装它:

# apt-get install baseutils

这时我们就可以看到apt-get的威力了。如果baseutils依赖于某个另外的软件,或者一个运行库xyz.0.01.so,apt-get会自动下载这个包(或含有这个库的软件包)。这叫做自动依赖性处理。通常,如果你只用Debian软件库内的软件,是不会发生找不到包或包版本不对的情况的,除非用的是正在开发的Testing或Unstable版本。

卸载软件:

# apt-get remove baseutils

如果想看一下库里有多少软件:

# apt-cache stats
Total package names : 22502 (900k)
Normal packages: 17632
Pure virtual packages: 281
Single virtual packages: 1048
Mixed virtual packages: 172
Missing: 3369
...

把本机所有软件升级到最新版:

# apt-get upgrade

最后是最强力的--把整个发行版都升到新版本:

# apt-get dist-upgrade

升级时注意那些影响系统起动的东西,比如升级了内核,升级了grub或lilo等,这之后你应当重新运行grub或是lilo,让它们指向正确的位置,否则升级之后会工作不正常的。

用apt-get安装软件时,它会从网上(在sources.list里指的那个站点)下载所用的软件包,这个包将存在本机上,目录是:/var/cache/apt/archives/。时间长了,这里会变得非常巨大,占用大量的硬盘空间。要想清理这个目录,可以运行:

# apt-get clean

还有一个自动清理功能,它只清除那些没用的或者是不完整的软件包:

# apt-get autoclean

这样在重装某软件时就依然能使用已经下载好的,而不是再到网上去下载。

dpkg - 底层一些的包管理工具

用上apt(高级包管理工具)之后,一般是不需要处理单个的deb文件的。如果需要,就要用dpkg命令。比如想自己装gedit:

# dpkg -i gedit-2.12.1.deb

卸载:

# dpkg -r gedit

这里只写名字即可。还可以加上--purge(-P)标志:

# dpkg -P gedit

这会连同gedit的配置文件一起删除,只用-r的话是不删除配置文件的。

如果不想安装一个deb包,但想看一下它里面有什么文件:

# dpkg -c gedit-2.12.1.deb

如果想多看点信息:

# dpkg -I gedit-2.12.1.deb

也可以用通配符来列出机器上的软件:

# dpkg -l gcc*

这会列出所有gcc开头的软件包:

Desired=Unknown/Install/Remove/Purge/Hold
Status=Not/Installed/Config-files/Unpacked/Failed-config/.
/ Err?=(none)/Hold/Reinst-required/X=both-problems
/ Name Version Description
+++-===============-==============-========================
ii gcc 4.0.1-3 The GNU C compiler
ii gcc-3.3-base 3.3.6-8ubuntu1 The GNU Compiler Colletio
un gcc-3.5 none (no description available)

其中,第1个 i 表示希望安装,第2个 i 表示已经安装,第3个字段是问题(如果有)(这3个字的含义可以看上面那3行,desired, status, err),后面是名字,版本和描述。un就表示,Unknown, not-installed。

如果想看某包是否已经安装:

# dpkg -s gedit

如果想看某软件都有哪些文件,都装到了什么地方:

# dpkg -L gedit

如果只想看其中的某些文件,就加上Grep:

# dpkg -L gedit grep png

当然还有aptitude和Aptitude,前者是终端上运行的带菜单的工具,后者是X窗口上运行的图形化的程序。

还有,列出某包的详情:apt-cache show gedit

<think>好的,我现在需要帮助用户了解Ubuntu下的软件包管理工具,特别是apt、dnf和yum。首先,我得回忆一下相关引用内容。根据引用[2]和[4],Ubuntu主要使用apt作为包管理器,而dnf和yum更多用于Red Hat系的系统,比如Fedora或CentOS。用户可能混淆了不同Linux发行版的包管理工具。 接下来,我需要明确各个工具的区别。apt是Debian/Ubuntu的,处理.deb包;yum和dnf是RPM系的,用于Red Hat系列。引用[3]和[5]提到APT、YUM、DNF是不同发行版的工具,所以Ubuntu下不应该有dnf和yum,除非手动安装,但一般不推荐。 用户的问题可能源于听说其他包管理器,想知道Ubuntu是否支持。需要指出在Ubuntu中,应主要使用apt,并解释为什么不用dnf/yum。同时,可能需要提供apt的常用命令,如安装、更新、卸载等,如引用[5]中的示例。 另外,需要确认是否有特殊情况,比如某些软件源可能需要其他工具,但这种情况极少。最后,生成相关问题,帮助用户深入理解,比如如何添加软件源或处理依赖问题。</think>Ubuntu系统的软件包管理主要通过$apt$工具实现,以下是对相关工具的系统性说明: ### 一、Ubuntu原生工具:$apt$ 1. **功能定位** $apt$(Advanced Package Tool)是专为Debian/Ubuntu设计的包管理系统,用于管理.deb格式软件包,具备依赖解析、版本控制和自动化安装能力[^2][^4]。 2. **核心命令** ```bash sudo apt update # 更新软件源列表[^5] sudo apt upgrade # 升级已安装的软件包[^5] sudo apt install <包名> # 安装指定软件包[^5] sudo apt remove <包名> # 卸载软件包(保留配置文件) sudo apt autoremove # 清理无用依赖[^5] ``` 3. **优势特性** - 整合了早期$apt-get$、$apt-cache$等工具的功能 - 提供彩色终端输出和安装进度条 - 默认启用重要安全更新推送 ### 二、其他工具对比 1. **$dnf$与$yum$** - 隶属RPM系包管理系统,主要用于Fedora/CentOS等Red Hat系发行版 - Ubuntu原生系统不包含这些工具,需通过复杂手动安装且易引发兼容性问题 - 典型差异对比: $$ \begin{array}{|l|c|c|} \hline \text{功能} & apt(.deb) & dnf/yum(.rpm) \\ \hline \text{依赖文件} & control & spec \\ \text{包签名} & gpg & pgp \\ \text{事务回滚} & 不支持 & 支持 \\ \hline \end{array} $$ 2. **特殊情况处理** 若需管理.rpm包,可通过$alien$工具转换格式后使用$apt$安装,但存在稳定性风险: ```bash sudo apt install alien alien -i package.rpm ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值