美文网首页
ubuntu package management

ubuntu package management

作者: 金色的清晨 | 来源:发表于2016-10-12 23:02 被阅读0次

    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 系统软件包更新 
    

    参考

    相关文章

      网友评论

          本文标题:ubuntu package management

          本文链接:https://www.haomeiwen.com/subject/ldziyttx.html