Linux系统中软件安装的相关操作

# 软件包的安装:
- rpm
- yum
# rpm包安装

- 准备工作: 下载iso镜像,其中包含四千多个linux中的软件安装包


- 挂载设备到某个目录:mount xxx.iso /mnt/

挂载的解释:因为在linux系统中磁盘等硬件设备的功能无法被当作文件和目录来使用,所以就需要将其转化为在一个目录下的文件才能使用其功能。


- 进入Packages包执行命令:
rpm -ivh xxx.rpm # 安装软件, i:install,v,显示过程
rpm -qp xxx.rpm# 找出rpm包在系统中安装后的名字
rpm -e xxx # 删除软件
Linux系统中软件安装的相关操作

查询:

rpm -ql xxx.rpm# 查询该软件生成了哪些文件;

Linux系统中软件安装的相关操作

rpm -qc xxx.rpm# 查询软件生成的配置文件;

Linux系统中软件安装的相关操作

rpm -qa # 查询已经安装的软件包

Linux系统中软件安装的相关操作

rpm -qa | grep http# 查询与http相关的软件是否安装;

Linux系统中软件安装的相关操作

rpm -qf /bin/ls# 查看/bin/ls是由哪个软件包生成的;

Linux系统中软件安装的相关操作



- 缺点:必须切换到软件包所在的目录;依赖性需要自己查找安装,很容易陷入安装依赖文件的死循环!




# yum安装


- 前提
iso镜像
需要你的软件包仓库;




## 搭建本地yum仓库

1. 挂载iso镜像到本地的某个目录:

Linux系统中软件安装的相关操作

mount xxx.iso /mnt/

# 你可以在/mnt目录里面访问到iso镜像的内容;

进入到.iso中 输入命令:df 看iso的位置

Linux系统中软件安装的相关操作

上图倒数第三行显示了iso的位置


2. 告诉yum仓库你的软件位置:
# 切换到yum仓库配置文件所在目录
cd /etc/yum.repos.d/
Linux系统中软件安装的相关操作
# 删除装系统时/etc/yum.repos.d/的默认设置配置文件
rm -fr *
      

# 编辑属于你的配置文件
vim lyc.repo # 一定要以.repo结尾,前面任意
```
[rhel7] # 仓库名称
name=rhel7 # 仓库描述
baseurl=file:///mnt# 仓库地址,file://是协议,/mnt是本地所在位置;
gpgcheck=0 # 不检测key
enabled=1 # 1,仓库生效; 0,不生效;

Linux系统中软件安装的相关操作```


3. 清除缓存:
# 默认会去/var/cache/yum去找软件信息,更改配置后一定要清缓存;
yum clean all
Linux系统中软件安装的相关操作

4. 检测
- 方法一:  
# 列出所有的软件仓库包含的软件包;
yum repolist
Linux系统中软件安装的相关操作

- 方法二:
# 任意安装一个软件
yum install dhcp -y
Linux系统中软件安装的相关操作

Linux系统中软件安装的相关操作

Linux系统中软件安装的相关操作





## 搭建网络yum仓库




** desktop主机
1. 准备工作: 把本机文件让其他主机可以访问(httpd)
# 一般把安装了httpd软件的主机称为Web服务器,可以共享文件给其他主机;
yum install httpd -y
systemctl start httpd
systemctl enabled httpd 
systemctl stop firewalld
systemctl disable firewalld
Linux系统中软件安装的相关操作



2. 把iso镜像的内容让其他主机可以访问:
# /var/www/html,是http的默认发布目录,http://ip/rhel7访问;
mkdir /var/www/html/rhel7


# iso挂载到http的默认发布目录
mount xxx.iso /var/www/html/rhel7

Linux系统中软件安装的相关操作



3. 修改yum仓库的配置文件
# 只需要修改baseurl
vim lyc.repo
[rhel7] # 仓库名称
name=rhel7 # 仓库描述
baseurl=http://ip/rhel7# 仓库地址,http://是协议,/rhel7是ip主机/var/www/html/rhel7目录;
gpgcheck=0 # 不检测key
enabled=1 # 1,仓库生效; 0,不生效;
```
4. 清空缓存和检测
Linux系统中软件安装的相关操作



*** 其他主机(想使用desktop搭建好的yum仓库)
# 只需要修改yum仓库的配置文件,同desktop第3步;








## 搭建网络第三方软件仓库


- 理解什么是第三方软件?
iso镜像里面包含4000多个软件包,但还有一些软件(eg:wps,smplayer,ntfs)没有;
从其他地方(eg:baidu,www.pkgs.org)下载的其他软件包;

Linux系统中软件安装的相关操作

将从网上下载的软件用scp 传送到虚拟机中




** desktop主机
1. 创建software目录,可让其他主机访问
mkdir /var/www/html/software


2. 将第三方软件放在/var/www/html/software目录下;
# 可通过网址http://ip/software访问;

cp xxxx.rpm /var/www/html/software/


3. 对software目录生成repodata元数据,让系统知道该目录下有软件包;
createrepo /var/www/html/software/ 

Linux系统中软件安装的相关操作

Linux系统中软件安装的相关操作Linux系统中软件安装的相关操作

Linux系统中软件安装的相关操作

desktop主机配置:

Linux系统中软件安装的相关操作



4. 修改yum仓库的配置文件;
vim LYC.repo
[rhel7] # 仓库名称
name=rhel7 # 仓库描述
baseurl=http://ip/rhel7# 仓库地址,http://是协议,/rhel7是ip主机/var/www/html/rhel7目录;
gpgcheck=0 # 不检测key
enabled=1 # 1,仓库生效; 0,不生效;




[soft] # 仓库名称
name=soft # 仓库描述
baseurl=http://ip/software# 仓库地址,http://是协议,/software是ip主机/var/www/html/software目录;
gpgcheck=0 # 不检测key
enabled=1 # 1,仓库生效; 0,不生效;


```
Linux系统中软件安装的相关操作

5. 清空缓存和检测;






**** 其他主机要使用第三方软件仓库:
# 只需要修改yum仓库的配置文件,同desktop主机第4步操作;