1.软件管理简介
安装、查看、卸载软件
windows安装/卸载
软件的安装:
方法1:双击exe的安装包,就可以点击下一步进行安装
用exe安装的软件会被记录到注册表中
在注册表中会记录软的的安装位置、软件的名称....
方法2:用绿色方式进行安装
绿色方式安装不会写注册表,因此无法再开始菜单中查看和卸载软件
软件的卸载
方法1:用exe安装的软件,可以在开始菜单中查看到,而且可以进行卸载
在进行卸载软件的时候都是会去通过读取注册表中的记录,将软件的安装位置下的文件都删除,
这样就是实现了软件的卸载
方法2:直接删除原文件就可以卸载
linux的软件安装卸载
方法1:rpm包安装 - 类似windows中exe安装
方法2:yum安装 - yum也是安装rpm包
方法3:源码编译安装
2.rpm安装软件
2.1rpm简介
rpm软件包 - rpm包
rpm:Redhat Package Management
rpm类似于windows的注册表,用于记录软件的安装过程中生成的文件的位置,因此借助于rpm可 以实现软件的卸载
2.2rpm包的来源
包的来源有两种
本地rpm包:
安装系统的光盘镜像中
线上rpm:
阿里:https://mirrors.aliyun.com/
华为:https://mirrors.huaweicloud.com/
网易:https://mirrors.163.com/
清华:https://mirrors.tuna.tsinghua.edu.cn/
中科大:https://mirrors.ustc.edu.cn/
软件的类别
官方提供的rpm包
centos官方提供的rpm包
第三方提供的rpm包
epel的rpm包
补充:软件包名解释
metis-5.1.0-12.el7.x86_64.rpm
软件名:metis
软件版本:5.1.0-12
适用的系统类型:el7,这个表示在centos7可用
适用的cpu架构:x86_64
后缀:rpm
2.3rpm管理软件
命令格式
rpm [选项] 软件包/软件名
查看软件是否安装、卸载已经安装的软件,用的软件名
安装安装,用的是软件包名
选择
-i:安装软件
-v:显示安装过程的信息
-h:用#表示安装进度,一个#表示2%
-ivh:安装软件,显示安装过程信息
-e:卸载软件
-q:查看软件是否安装
-ql:查看安装软件生成的文件列表
-qc:查看安装软件生成配置文件
-qf:查看某个文件是哪个软件安装过程中生成的
--nodeps:强制忽略依赖关系
--replacepkgs:覆盖安装
使用系统光盘镜像中的软件包
第一步:将光盘加载到虚拟机
第二步:挂载光盘 linux中使用外部设备,必须进行挂载
linux中 /dev/cdrom 就是光盘,也就是我们加载到虚拟机中的系统镜像文件,也就是哪个iso文件
设备文件无法直接使用,必须将设备文关联到一个目录才能使用【关联就是挂载】
1)找一个空目录【一般找/mnt 或者 /media】
ls /mnt
此时这个目录是空的
2)将/dev/cdrom 挂载到 /mnt
mount /dev/cdrom /mnt
第三步:查看rpm包
ls /mnt/Packages/
案例:
1)检查zsh这个软件是否安装了[zsh-5.0.2-34.el7_8.2.x86_64.rpm]
[root@localhost ~]# rpm -q zsh
package zsh is not installed
2)安装zsh
[root@localhost ~]# cd /mnt/Packages/
[root@localhost Packages]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
[root@localhost Packages]# rpm -q zsh
zsh-5.0.2-34.el7_8.2.x86_64
3)卸载zsh
[root@localhost Packages]# rpm -e zsh
[root@localhost Packages]# rpm -q zsh
package zsh is not installed
4)安装zsh,查看安装后生成了哪些文件
[root@localhost ~]# cd /mnt/Packages/
[root@localhost Packages]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
[root@localhost Packages]# rpm -ql zsh
5)检查/etc/passwd这个文件是哪个软件生成的
[root@localhost Packages]# rpm -qf /etc/passwd
setup-2.8.71-11.el7.noarch
3.yum安装软件
3.1yum简介
yum:Yellowdog Update Manager
yum:解决rpm包的依赖关系
通过使用yum可以自动判断软件包依赖哪些其他的包,并且将依赖的软件包依次按照顺序进行安装
yum安装软件的基本流程
第一步:去找到yum源
第二步:去下载仓库中的元数据
第三步:通过元数据分析目标仓库是否有要安装的软件包,并且获取软件包的依赖关系信息
第四步:根据元数据的分析结果在yum源中去下载rpm包到本地
第五步:根据元数据的分析结果依次按照顺序安装rpm包
元数据
1)仓库中的全部软件名
2)仓库中每个软件的版本号
3)仓库中每个软件的依赖信息
yum源/yum仓库
第一种:自己创建yum仓库
第二种:使用现有的yum仓库【本地/远程】
3.2配置本地与yum源
创建本地yum源有两种方法
方法1:直接使用光盘作为yum源
方法2:自己创建一个目录,在目录中准备rpm包和源数据
使用光盘作为yum源
第一步:挂载光盘
mkdir /test/testyum -p
mount /dev/cdrom /test/testyum/
检查挂载点
ls /test/testyum/
第二步:修改yum的配置文件,指向我们创建的yum源:/test/testyum/
yum的配置文件包括主配置文件和子配置文件
主配置文件:/etc/yum.conf
子配置文件:/etc/yum.repos.d下,配置文件名称无所谓,但是后缀必须是.repo
1)切换路径
[root@localhost ~]# cd /etc/yum.repos.d/
2)备份/删除原来的配置文件
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak
3)新建一个配置文件,指向我们的yum仓库
[root@localhost yum.repos.d]# vi local.repo
[myrepo] # 指定yum仓库的id,这行不能有空格
name=my repo # 指定yum仓库的名称,可以随便写
enabled=1 # 指定yum仓库是否激活,0表示不激活;1表示激活可用
gpgcheck=0 # 指定是否检查rpm包的来源合法性,0表示不检查;1表示检查,如果要检
查的话
baseurl=file:///test/testyum/ # 指定yum仓库的位置
第三步:检查配置是否成功
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum repolist
第四部:安装软件
[root@localhost yum.repos.d]# yum install gcc
注意:
无论是用rpm安装还是yum安装,都可以用rpm -q 来检查
另一种:配置本地yum源
自己创建元数据,并且准备好rpm包
第一步:准备一个目录
[root@localhost /]# mkdir -p /newrpm/renrepo/
第二步:准备rpm包 本案例中,將光盘中的a开头的软件包复制到目录中
本案例中,光盘挂载点在/test/testyum/
[root@localhost /]# cp -a /test/testyum/Packages/a*.rpm /newrpm/renrepo/
第三步:准备元数据
# 安装createrepo,这个软件是生成元数据用的
[root@localhost /]# yum install createrepo
# 进入目录,生成元数据
[root@localhost /]# cd /newrpm/renrepo/
[root@localhost renrepo]# createrepo ./
此时,在目录中,会发现多了一个目录:repodata
第四步:修改yum配置文件,指向这个源
可以保留前面做的那个源
[root@localhost renrepo]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
bak local.repo
[root@localhost yum.repos.d]# vim my.rep
[mycreaterepo]
name=my create new repo
baseurl=file:///newrpm/renrepo/
enabled=1
gpgcheck=0
第五步:检查是否成功
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum repolist
3.3使用网络yum源
网络源
- 阿里:https://mirrors.aliyun.com/
- 华为:https://mirrors.huaweicloud.com/
- 网易:https://mirrors.163.com/
- 清华:https://mirrors.tuna.tsinghua.edu.cn/
- 中科大:https://mirrors.ustc.edu.cn/
清华的centos的原
https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/
配置linux网络
第一步:给虚拟机添加网卡
新网卡的网络类型设置为NAT - 只要物理机能上网,虚拟就可以正常上网
配置过程:略
第二步:重启网络
systemctl restart network
第三步:检查新网卡是否有ip
ip addr
第四步:检查网络是否正常
ping www.qq.com
3.3使用yum源
安装软件
卸载软件
清除缓存
生成缓存
清除缓存
元数据
rpm包
yum clean all
生成缓存
yum repoilist
安装软件
yum install 软件名1 软件名2 软件名3 ....
卸载软件
yum remove 软件名1 软件名2 软件名3 ....
补充:
localinstall
4.编译安装软件
先有源码包还是先有rpm包?
程序员写的是源码:c java
计算机需要将源码转换为01代码【机器码】 - 转换过程就是编译
计算机能运行的编译后的程序
安装源码包的过程
第一步:解压源码包
第二步:进入解压目录
第三步:安装依赖
第四步:执行./configure
执行这个命令有两个作用
1:检查当前系统环境是否满足后续操作
2:指定软件的安装路径
第五步:执行make 进行编译
第六步:执行make install 将编译好的程序进行安装
安装nginx
上传nginx的安装包
安装组件:lrzsz
yum install lrzsz -y
注意:只有在xshell中才能用lrzsz进行拖拽文件
第一步:解压源码包
[root@localhost ~]# tar xvf nginx-1.22.1.tar.gz
会得到一个压缩吧同名目录 nginx-1.22.1
第二步:进入解压目录
[root@localhost ~]# cd nginx-1.22.1
第三步:安装依赖
nginx的依赖:gcc gcc-c++ ncurses ncurses-devel pcre pcre-devel zlib-devel openssldevel
[root@localhost ~]# yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel
ncurses-devel -y
第四步:执行./configure
[root@localhost nginx-1.22.1]# ./configure --prefix=/usr/local/nginx
注意:
--prefix=/usr/local/nginx 指定软件的安装位置是 /usr/local/nginx
第五步:执行make
[root@localhost nginx-1.22.1]# make
第六步:执行make instal
[root@localhost nginx-1.22.1]# make install
5.kali软件管理
5.1 apt和apt-get
1. 用户友好性:apt 是 apt-get 的增强版,提供了更友好的用户界面和更直观的命令选项。它使用 彩色输出、进度条等功能来改善用户体验。
2. 自动依赖处理:apt 可以自动处理软件包的依赖关系,包括安装、升级和删除软件包时的依赖解 决。
3. 并行操作:apt 可以同时执行多个操作,提高了软件包管理的效率。而 apt-get 则只能按顺序执 行一个操作。
4. 缓存管理:apt 使用缓存来存储已下载的软件包,从而提高后续操作的速度。而 apt-get 需要手 动使用 apt-get clean 命令清理缓存。
5. 源列表管理:apt 可以在 /etc/apt/sources.list.d/ 目录下管理源列表,可以更方便地添 加、删除和禁用软件源。
5.2 更新软件源
vim /etc/apt/sources.list
#中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
#阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
#默认源
deb http://kali.download/kali kali-rolling main contrib non-free
更新
apt-get update #获取更新包/更新软件
apt upgrade
apt update
apt update命令主要在新系统安装之后或安装新软件包之前调用的命令
apt update 命令更新 Linux 系统的包索引或包列表。它不会升级任何软件包。
apt upgrade
apt upgrade命令是将系统上所有过时的软件包升级到最新版本
如果需要任何依赖项,该命令还会触发新软件包的安装
除此之外,apt upgrade还会安装您系统所需的所有安全更新,这加强了您系统的安全性。
5.3 软件关联命令
1、安装软件包
apt-get install PackageName // 普通安装
apt-get install PackageName=VersionName // 安装指定包的指定版本
apt-get --reinstall install PackageName // 重新安装
apt-get build-dep PackageName // 安装源码包所需要的编译环境
apt-get -f install // 修复依赖关系
apt-get source PackageName // 下载软件包的源码
2、卸载软件包
apt-get remove PackageName // 删除软件包, 保留配置文件
apt-get --purge remove PackageName // 删除软件包, 同时删除配置文件
apt-get purge PackageName // 删除软件包, 同时删除配置文件
apt-get autoremove PackageName // 删除软件包, 同时删除为满足依赖,而自动
安装且不再使用的软件
apt-get --purge autoremove PackageName // 删除软件包, 删除配置文件,删除不再使用
的依赖包
apt-get clean && apt-get autoclean // 清除 已下载的软件包 和 旧软件包
3、更新软件包
apt-get update // 更新安装源(Source)
apt-get upgrade // 更新已安装的软件包
apt-get dist-upgrade // 更新已安装的软件包(识别并处理依赖关系的改变)
4、复制软件包
dpkg -l // 列出已安装的所有软件包
apt-cache search PackageName // 搜索软件包
apt-cache show PackageName // 获取软件包的相关信息, 如说明、大小、版本等
apt-cache depends PackageName // 查看该软件包需要哪些依赖包
apt-cache rdepends PackageName // 查看该软件包被哪些包依赖
apt-get check // 检查是否有损坏的依赖