zoukankan      html  css  js  c++  java
  • linux中管理包的apt和dpkg命令用法

    1,apt-get命令

        apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。apt-get在安装包的时候是根据/etc/apt/sources.list文件中指定的源来寻找的安装包,你可以根据自己的需要对这个文件进行修改。

    详情如下:

    • 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 package - - purge 删除包,包括删除配置文件等
    • sudo apt-get autoremove package 删除包及其依赖的软件包
    • sudo apt-get update 更新源
    • sudo apt-get upgrade 更新已安装的包
    • sudo apt-get dist-upgrade 升级系统
    • sudo apt-get dselect-upgrade 使用 dselect 升级
    • sudo apt-get build-dep package 安装相关的编译环境
    • sudo apt-get source package 下载该包的源代码
    • sudo apt-get clean && sudo apt-get autoclean 清理无用的包
    • sudo apt-get check 检查是否有损坏的依赖

    图表版:

    apt-get包含的常用的一些工具:

    工具说明
    install 其后加上软件包名,用于安装一个软件包
    update 从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表
    upgrade 升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update
    dist-upgrade 解决依赖关系并升级(存在一定危险性)
    remove 移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件
    autoremove 移除之前被其他软件包依赖,但现在不再被使用的软件包
    purge 与remove相同,但会完全移除软件包,包含其配置文件
    clean 移除下载到本地的已经安装的软件包,默认保存在/var/cache/apt/archives/
    autoclean 移除已安装的软件的旧版本软件

    apt-get 常用参数:

    参数说明
    -y 自动回应是否安装软件包的选项,在一些自动化安装脚本中使用这个参数将十分有用
    -s 模拟安装
    -q 静默安装方式,指定多个q或者-q=#,#表示数字,用于设定静默级别,这在你不想要在安装软件包时屏幕输出过多时很有用
    -f 修复损坏的依赖关系
    -d 只下载不安装
    --reinstall 重新安装已经安装但可能存在问题的软件包
    --install-suggests 同时安装APT给出的建议安装的软件包

    2,apt-cache命令:

    apt-cache主要用于搜索包。

    • sudo apt-cache search package 搜索包
    • sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
    • sudo apt-cache showpkg package 显示软件包信息,包括包的依赖关系,包的提供者, 
    • sudo apt-cache pkgnames 打印软件包列表中所有包的名字
    • sudo apt-cache dumpavail 打印软件包列表中所有包的简介信息
    • sudo apt-cache depends package 了解使用依赖
    • sudo apt-cache rdepends package 是查看该包被哪些包依赖

    3,dpkg命令

    dpkg是Debian系统的后台包管理器,类似RPM。也是Debian包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包。由于ubuntu和Debian乃一脉相承,所以很多命令是不分彼此的。

    Ubuntu中所有packages的信息都在/var/lib/dpkg/目录下,其中子目录”/var/lib/dpkg/info”用于保存各个软件包的配置文件列表.不同后缀名代表不同类型的文件,如:

        .conffiles 记录了软件包的配置文件列表。

        .list 保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置。

        .md5sums 记录了软件包的md5信息,这个信息是用来进行包验证的。

        .prerm 脚本在Debian报解包之前运行,主要作用是停止作用于即将升级的软件包的服务,直到软件包安装或升级完成。

        .postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动。

        /var/lib/dpkg/available文件的内容是软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包。

     

    命令详情:

    • dpkg –l | grep package 查询deb包的详细信息,没有指定包则显示全部已安装包
    • dpkg -s package 查看已经安装的指定软件包的详细信息
    • dpkg -L package 列出一个包安装的所有文件清单
    • dpkg -S file 查看系统中的某个文件属于哪个软件包,搜索已安装的软件包
    • dpkg -i 安装指定deb包
    • dpkg -R 后面加上目录名,用于安装该目录下的所有deb安装包
    • dpkg -r remove,移除某个已安装的软件包
    • dpkg -P 彻底的卸载,包括软件的配置文件
    • dpkg -c 查询deb包文件中所包含的文件
    • dpkg -L 查看系统中安装包的的详细清单,同时执行 -c
  • 相关阅读:
    Codeforces 877 C. Slava and tanks
    Codeforces 877 D. Olya and Energy Drinks
    2017 10.25 NOIP模拟赛
    2017 国庆湖南 Day1
    UVA 12113 Overlapping Squares
    学大伟业 国庆Day2
    51nod 1629 B君的圆锥
    51nod 1381 硬币游戏
    [JSOI2010]满汉全席
    学大伟业 2017 国庆 Day1
  • 原文地址:https://www.cnblogs.com/0-lingdu/p/9458892.html
Copyright © 2011-2022 走看看