ubuntu package management

ubuntu package management system is derived from the same system from Debian GNU/linux distribution.它采用了debian的包管理设计和源。它的主要职责是管理package的依赖,不管是我们安装,还是更新,卸载安装包都会非常方便。

dpkg

dpkg是一款基于Debian系统的包管理器。它能进行包的安装,删除和构建,但是和其他包管理系统不同的是,它不能自动下载安装包,由于不能自动下载,它也无法处理他们的依赖。
但是它对于本地下载或者安装的包能方便的分析。

  • 列出所有的安装包: dpkg -l
  • 针对某个包,列出所有的安装文件:dpkg -L package_name
  • 如果想知道一个文件是安装哪个包生成的:dpkg -S file_name
  • 安装本地 .deb文件:sudo dpkg -i xx.deb
  • 删除安装了的包:sudo dpkg -r package_name

Apt-Get

APT(Ubuntu's Advanced Packaging Tool)通过apt-get命令可以完成安装软件,更新软件,更新升级包列表,甚至整个ubuntu系统。它和dpkg不同,能自动处理依赖,但是无法分析安装包。如果出现问题,可以查看它的日志文件/var/log/dpkg.log

  • 安装包:sudo apt-get install package_name
  • 删除包:sudo apt-get remove package_name1 package_name2 #如果要删除后期的配置文件,添加--purge
  • 更新包索引,更新基于/etc/apt/sources.list文件和/etc/apt/sources.list.d目录:sudo apt-get update
  • 升级包:sudo apt-get upgrade

查看source list中package的version

  • sudo apt-cache madison ^nginx
  • sudo apt-get install nginx=1.9*
  • dpkg -l 'nginx*' | grep ^i

系统升级

本来apt-get dist-upgrade也能升级的,但是do-release-upgrade能自动处理版本的配置兼容,所有推荐用do-release-upgrade。

  • 检查是否有新的系统版本:do-release-upgrade -c #如果处于预览版时需要加-d
  • 升级:do-release-upgrade

Configuration

APT系统仓库的配置储存在 /etc/apt/sources.list文件和/etc/apt/sources.list.d目录中。下面是一些可靠的仓库源。

常用命令

# apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之後运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。 
# apt-get install packagename——安装一个新软件包(参见下文的aptitude) 
# apt-get remove packagename——卸载一个已安装的软件包(保留配置文件) 
# apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件) 
# dpkg --force-all --purge packagename 有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。 
# apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件 
# apt-get clean 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。 
# apt-get upgrade——更新所有已安装的软件包 
# apt-get dist-upgrade——将系统升级到新版本 
# apt-cache search string——在软件包列表中搜索字符串 
# dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“*package-name-pattern*”。 
# aptitude——详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,可以说它更适合用来进行安装和卸载。 
# apt-cache showpkg pkgs——显示软件包信息。 
# apt-cache dumpavail——打印可用软件包列表。 
# apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。 
# apt-cache pkgnames——打印软件包列表中所有软件包的名称。 
# dpkg -S file——这个文件属于哪个已安装软件包。 
# dpkg -L package——列出软件包中的所有文件。 
# apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。apt-file是一个独立的软件包。您必须先使用apt-get install来安装它,然後运行apt-file update。如果apt-file search filename输出的内容太多,您可以尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)或者类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。 
apt-get update 系统软件包更新 

参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容