Linux系统学习---软件管理(十)

简介

Linux系统有两大系列,其软件管理工具是不同的

  • redhat(redhat,centos,Fedora),软件工具为RPM,软件后缀为.rpm
  • debian(debian,ubuntu),软件工具为DEB,软件后缀为.deb

后缀为.bin的一般是一些商业软件

Windows中安装包后缀为.exe,不能直接在Linux上直接运行,所以Windows上的木马和病毒对Linux都是无效的。但这也导致所有的软件需要针对Linux进行专门的开发

源码包与二进制包

Linux中可识别的软件包主要分为两类:

  • 一、源码包。源码绝大多数是由C语言写的,但直接使用C语言源码进行安装的话速度较慢且容易出错,所以现在我们基本不使用源码包进行安装。

    • 优点:
      • 开源,可以修改源代码,可以定义选择所需的功能。
      • 由操作系统自行编译安装,更加适合操作系统的环境,软件更加稳定,更有执行效率
      • 卸载方便,由于源码包中所有文件都是安装在同一个目录下,所以直接删掉软件所在的目录就相当于删除软件,卸载方便
    • 缺点:
      • 安装过程步骤较多,安装较大的软件集合时容易出现拼写错误
      • 编译过程耗时长
      • 对新手不友好,安装过程中一旦报错新手很难解决
  • 二、二进制包(系统默认包),使用机器码安装,不同系列的系统的二进制包格式不同,不能混用。因为是二进制包是已经编译好的文件,所以相对于源码包安装来说直接省略了编译步骤,安装速度较快

    • 优点:
      • 简单,只需几个命令就可以实现包的安装、升级、查询和卸载
      • 不需要编译,安装速度快
    • 缺点:
      • 编译后不可查看源码
      • 功能选择不如源代码灵活
      • 具有依赖性,可以通过在线安装解决复杂的依赖问题

本文主要介绍DEP系列的软件管理命令


apt-get命令

自动从软件仓库中搜索、下载、安装、升级、卸载软件或操作系统

格式:apt-get [选项] [功能命令] [参数]

功能命令:

命令功能
update更新软件包的列表
upgrade更新已安装的软件
install安装新的软件
remove卸载
autoremove自动删除全部不使用的软件包
purge移除软件包和配置文件
source下载源码档案
build-dep为源码包配置编译依赖环境
dist-upgrade升级系统
dselect-upgrade依照 dselect 的选择更新
clean清除下载的归档文件
autoclean清除旧的的已下载的归档文件
check检验是否有损坏的依赖

选项:

选项意义
-h帮助文件
-q输出到日志 - 无进展指示
-qq不输出信息,错误除外
-d仅下载 - 不安装和解压归档文件
-s不实际安装。模拟执行命令
-y不提示询问,都选择yes
-f尝试修复系统依赖
-m如果归档无法定位,尝试继续
-u同时显示更新软件包的列表
-b获取源码包后编译
-c=?阅读此配置文件
-o=?设置自定的配置选项,如 -o dir::cache=/tmp

实例

1. 安装

// 普通安装
sudo apt-get install 软件名

// 安装软件包的指定版本
sudo apt-get install 软件名=版本号  
 
// 软件损坏,重新安装  
sudo apt-get --reinstall install 软件名   
  
// 安装源码包所需要的编译环境
sudo apt-get build-dep 软件名               

// 修复依赖关系
sudo apt-get -f install                          

// 下载软件包的源码
sudo apt-get source 软件名                 

2 更新

// 更新软件包列表
sudo apt-get update       
// 更新已安装的软件包          
sudo apt-get upgrade           
// 更新系统     
sudo apt-get dist-upgrade            

3 查询

sudo apt-get check                       // 检查是否有损坏的依赖

4 卸载

// 卸载软件包, 不删除配置文件
sudo apt-get remove 软件名         
    
// 卸载软件包, 删除配置文件
sudo apt-get --purge remove 软件名    

// 卸载软件包, 同时删除配置文件 
sudo apt-get purge 软件名             

// 卸载软件包, 同时删除依赖
sudo apt-get autoremove 软件名         
                                  
// 而自动删除全部不再使用的软件包的.deb文件,后面不跟软件名
sudo apt-get autoremove      

// 删除软件包, 删除配置文件, 删除不再使用的依赖包
sudo apt-get --purge autoremove 软件名  

// 清除已下载的软件包 和 旧软件包
sudo apt-get clean && apt-get autoclean      

apt-cache命令

查找,显示软件包信息及包依赖关系等功能

格式: apt-cache [功能命令] [参数]

功能

选项功能
gencaches建立软件包和源码缓存
showpkg展示一般信息
showsrc展示原始记录
stats展示一些基本的状态
dump展示软件包的文件
dumpavail展示可用文件
unmet展示不符合一致性的依赖
search查找软件包
show展示软件包的记录信息
depends展示软件包的依赖信息
rdepends展示软件包的反向依赖信息
pkgnames列出系统中的所有软件包
dotty用GraphViz生成软件包图
xvcg用xvcg生成软件包图
policy展示一些协议设置信息

实例

列出所有安装的软件包

apt-cache pkgnames

使用关键字搜索软件包

apt-cache search 关键字

查询软件的详细信息

apt-cache show  软件名

查询软件的安装状态

apt-cache policy 软件名 

查询该软件的依赖软件

apt-cache depends   软件名

查询该软件是什么软件的依赖

apt-cache rdepends  软件名

显示系统软件的统计信息

apt-cache stats

apt命令

apt命令是 apt-get、apt-cache 和 apt-config 的集合

apt 命令的引入就是为了解决命令过于分散的问题, 更加结构化,并为用户提供了管理软件包所需的必要选项。

apt 更精简,但也足够使用,安装或删除程序时看到进度条

实例

更新软件包列表

sudo apt update

升级所有软件

sudo apt upgrade

升级某个软件

sudo apt upgrade 软件名

安装软件

sudo apt install 软件名

可以安装多个软件

sudo apt install 软件名1 软件名2

离线安装软件.deb包

sudo apt install /path_to_deb/file.deb/

卸载软件,保留配置文件

sudo apt remove 软件1 软件2

卸载软件,也删除配置文件

sudo apt purge package_name

自动移除未使用的软件
安装一个软件时,其依赖也会被安装。卸载软件时这些依赖软件不会卸载,所以需要自动移除未使用的软件

sudo apt autoremove

下载软件包,不安装

apt download 软件名

显示可用软件

sudo apt list

查看已安装软件

apt list --installed

查看可升级的软件

apt list --upgradeable

查看软件

apt show package_name

dpkg命令

安装、删除、构建和管理Debian的软件包,只能离线安装

实例

安装软件

sudo dpkg -i 软件.deb

卸载软件,保留配置文件

sudo dpkg -r 软件名

卸载软件,删除配置文件

sudo -p 软件名

查看安装文件的目录

dpkg -L 软件名

查看软件的版本 (小写的L)

dpkg -l 软件名

列出deb包的内容

dpkg -c 软件名

查找包的详细信息

dpkg -s 软件名

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuanFuXinCSDN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值