• Ubuntu 软件管理


    Ubuntu 软件管理
    Debian软件包通常为预编译的二进制格式的扩展名“.deb” ,类似rpm文件,因此安装快速,无需编译软件。包文件包括特定功能或软件所必需的文件、元数据和指令
    dpkg:package manager for Debian,类似于rpm,dpkg是基于Debian的系统的包管理器。可以安装,删除和构建软件包,但无法自动下载和安装软件包或其依赖项
    APT:Advanced Packaging Tool,功能强大的软件管理工具,甚至可升级整个Ubuntu的系统,基于客户/服务器架构
    APT工作原理:在服务器上先复制所有DEB包,然后用APT的分析工具genbasedir根据每个DEB 包的包头(Header)信息对所有的DEB包进行分析,并将该分析结果记录在文件夹base内的一个DEB 索引清单文件中,一旦APT服务器内的DEB有所变动,要使用genbasedir产生新的DEB索引清单客户端在进行安装或升级时先要查询DEB索引清单,从而获知所有具有依赖关系的软件包,并一同下载到客户端以便安装。
    当客户端需要安装、升级或删除某个软件包时,客户端计算机取得DEB索引清单压缩文件后,会将其解压置放于 /var/cache/apt/,而客户端使用apt-get install或apt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的DEB数据库比对,知道哪些DEB已安装、未安装或是可以升级的

    dpkg命令

    dpkg常见用法: man dpkg


    dpkg -i package.deb 安装包
    dpkg -r package 删除包,不建议,不自动卸载依赖于它的包
    dpkg -P package 删除包(包括配置文件)
    dpkg -l 列出当前已安装的包,类似rpm -qa
    dpkg -l package 显示该包的简要说明,类似rpm –qi
    dpkg -L package  列出该包中所包含的文件,类似rpm –ql
    dpkg -S /path/to/file 查看系统中的某个文件是由哪个软件包提供的,类似rpm –qf
    dpkg -s package 列出该包的状态,包括详细信息,类似rpm –qi
    dpkg --configure package 配置包,-a 使用,配置所有没有配置的软件包
    dpkg -c package.deb 列出 deb 包的内容,类似rpm –qpl
    dpkg --unpack package.deb 解开 deb 包的内容

    查看哪些软件包未完成安装:dpkg -C

    重置软件配置文件 dpkg-reconfigure

    dpkg示例:

    列出系统上安装的所有软件包
    dpkg -l
    列出软件包安装的文件
    dpkg -L bash
    查看/bin/bash来自于哪个软件包
    dpkg -S /bin/bash
    安装本地的 .deb 文件
    dpkg -i /mnt/cdrom/pool/main/z/zip/zip_3.0-11build1_amd64.deb
    卸载软件包
    dpkg -r zip
    注意:一般建议不要使用dpkg卸载软件包。因为删除包时,依赖于它的其他任何包仍将安装,并且可能无法再正常运行aptDebian 使用APT工具来管理包系统,它与 rpm 命令不同。 在基于 Debian 的 Linux 发行版中,有各种工具可以与 APT 进行交互,以方便用户安装、删除和管理的软件包。

    apt

    dpkg不够人性化的一点就是不能自动解决依赖问题,比如A软件包依赖于B软件包,那么你先得安装B才能安装A。而且使用dpkg需要将软件下载到本地才能安装。使用apt安装软件时会自动从软件仓库下载软件进行安装,并且apt能自动解决依赖问题,当有依赖的时候它也会自动从软件仓库下载依赖的包进行安装。当然apt底层还是调用dpkg来进行软件安装的。

    查看帮助:apt help

    apt相关文件

    • /etc/apt/source.list 配置软件包来源,也就是上面说的软件仓库
    • /ect/apt/apt.conf.d 存在apt的零碎配置文件
    • /ect/apt/preferences 制定软件包的版本参数
    • /var/cache/apt/archives 存放已下载的软件包
    • /var/cache/apt/archives/partial 存放正在下载的软件包
    • /var/lib/apt/lists 存放已下载的软件包详细信息

    软件源

    软件源(软件仓库)中存放这大量的软件包,apt会从软件源中下载软件。在/ect/apt/soure.list中可以为apt配置软件源。在这个文件中deb关键字定义已编译的软件包来源,deb-src定义源码包的来源。每一行的格式如下:

    deb(或deb-src) 软件源地址  主版本代号  软件仓库1 软件仓库2 软件仓库3 ...

    下面时我的source.list中的内容,我是用的时网易的软件源镜像

    deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse

    Ubuntu的软件仓库被分为4个部分,分别是main,restricted,universemultiverse

    • main:软件包是自由软件,Ubuntu提供及时性,安全性支持****
    • restricted:不是完全的自由软件,但是由于被广泛使用,所以Ubuntu也提供及时性,安全性支持****
    • universe:一般由社区维护的软件,但Ubuntu不提供安全性的支持
    • multiverse:非自由软件,不被Ubuntu认可,不建议使用

    apt-get 命令

    apt 命令被取代的命令命令的功能
    apt install apt-get install 安装软件包
    apt remove apt-get remove 移除软件包
    apt purge apt-getpurge 移除软件包及配置文件
    apt update apt-get update 刷新存储库索引
    apt upgrade apt-get upgrade 升级所有可升级的软件包
    apt autoremove apt-get autoremove 自动删除不需要的包
    apt full-upgrad e apt-getdist-upgrade 在升级软件包时自动处理依赖关系
    apt search apt-cache search 搜索应用程序
    apt show apt-cache show 显示安装细节

    apt-get 命令一般用于软件包的安装,更新和移除,下面是它的一些常用命令

    命令功能介绍
    update 将软件仓库中的软件包列表更新到本地,一般我们在安装软件之前需要执行该操作
    upgrade 升级系统中的所有软件包,如果一个软件包在升级时会导致其他已安装的软件包被删除,那么这个软件包将不会被升级
    dist-upgrade 该命令时upgrage的升级版,它会尝试去解决安装时出现冲突,比如会删除已安装的软件包,所以慎用
    remove 卸载软件包(保留配置文件),同时也会卸载依赖于该软件的包,A依赖于B,卸载B时也会卸载A
    install 安装软件包
    source 下载源码包
    clean 删除本地缓存的所有软件安装包
    check 检查是否存在有问题的依赖关系

    apt 特有的命令

    apt list 列出包含条件的包(已安装,可升级等)
    apt edit-sources 编辑源列表

    APT包索引来自/etc/apt/sources.list文件和/etc/apt/sources.list.d目录中定义的存储库的可用包的数据库,类似于yum中的两个相关文件(默认已经配置好国外和部分国内的apt源)。要使用存储库中所做的最新更改来更新本地程序包索引

    apt命令操作(如安装和删除软件包)记录在/var/log/dpkg.log日志文件中

    apt示例:

    • 安装包:
      apt install tree zip
    • 删除包:
      apt remove tree zip
      说明:apt remove中添加--purge选项会删除包配置文件,谨慎使用
    • 更新包索引:
      apt update
    • 升级包:要升级系统,请首先更新软件包索引,再升级
      apt upgrade

    注意点:

      1. 安装包在光盘的pool文件夹内
      2. sudo -i 切换到root用户(或者强行用vim删除 shadow里面root的锁叹号!,然后切换为root之后增加密码,下次就能直接root登陆了,不过想要远程root登陆还需要配置一下openssl的设置,具体查询其他帮助)
  • 相关阅读:
    aspcms产品详情页调取相关产品
    构造函数中返回一个对象对结果有什么影响
    跨域的几种方法及案例代码
    localStorage兼容方案
    H5 拖放事件详解
    由作用域安全的构造函数想到的
    valueOf和toString的区别
    网页布局--自适应
    【MongoDB系列】简介、安装、基本操作命令
    【JavaWeb】之Servlet
  • 原文地址:https://www.cnblogs.com/chengkanghua/p/11540927.html
Copyright © 2020-2023  润新知