07 linux安装软件的三种方式(重复)

Linux系统重要目录

usr(存放用户数据)下的目录

/usr/local(安装软件,存放文件信息)

/usr/local

/usr/bin(存放系统常用命令,二进制命令文件)

/usr/bin  <-> /bin

/usr/local/bin(存放安装的第三方软件的命令的目录)

存放安装的第三方软件的命令的目录,没有下载第三方命令里面就是空的

/usr/local/bin

安装软件三种方式

1.rpm命令

优点:单独安装软件(有可能是半成品)

缺点:无法解决安装包依赖的问题(不能解决依赖关系)

华为源
华为源
https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm
安装软件(rpm -ivh 格式后缀.rpm包名称)
安装软件(默认安装到/usr/bin)
rpm -ivh 格式后缀.rpm包名称
rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm

zsh-5.0.2-34.el7_8.2.x86_64.rpm
软件包名-软件包版本号-软件包构建次数.软件包适用平台_
zsh : 软件包的名称
5.0.2 软件包的版本号
34 软件包的构建次数
el7 软件包适用的平台
8.2.x86_64 适用于64位的cpu
.rpm 扩展名

为软件包指定安装目录,要加 --relocate 参数
rpm -ivh --relocate 指定安装路径 格式后缀.rpm包名称
rpm -ivh --relocate /=/zsh zsh-5.0.2-34.el7_8.2.x86_64.rpm
升级软件(rpm -Uvh 格式后缀.rpm包名称)
升级软件
rpm -Uvh 格式后缀.rpm包名称
卸载软件(rpm -e 软件包名)
卸载软件
rpm -e 软件包名
rpm -e zsh
查询软件包是否安装(rpm -q 软件包名)
查询软件包是否安装
rpm -q 软件包名
rpm -q zsh
安装了会显示zsh-5.0.2-34.el7_8.2.x86_64,即除了后缀的信息
没安装会显示package zsh is not installed,即没安装
查看系统中所有已经安装的包(rpm -qa 软件包名)
查看系统中所有已经安装的包
rpm -qa
查询
rpm -qa 软件包名
rpm -qa zsh
安装了会显示zsh-5.0.2-34.el7_8.2.x86_64,即除了后缀的信息,慢
没安装不显示,慢
查看已安装软件包都安装到何处(rpm -ql 软件包名)
查看已安装软件包都安装到何处(打印指定安装包中包含的所有文件)
rpm -ql 软件包名
rpm -ql zsh
查看一个已经安装的文件属于哪个软件包(rpm -qf 文件名(绝对路径))
查看一个已经安装的文件属于哪个软件包
rpm -qf 文件名(绝对路径)
查看一个已安装软件包的信息(rpm -qi 软件包名)
查看一个已安装软件包的信息
rpm -qi 软件包名
rpm -qi zsh
查看一下已安装软件的配置文件(rpm -qc 软件包名)
查看一下已安装软件的配置文件
rpm -qc 软件包名
rpm -qc zsh

2.yum命令

优点:可以自动解决安装包的依赖(也就是说安装包安装的时候,自动将依赖包提前安装)解决软件依赖关系(成品)

缺点:不能灵活定制化

设置eple源仓库(CentOS扩展包的仓库)
eple源仓库(CentOS扩展包的仓库)
目的:解决安装包没有的问题,设置eple源仓库
设置epel源仓库

1、切换目录
[root@python ~]$ cd /etc/yum.repos.d/

2、创建并编辑文件
[root@python yum.repos.d]$ vim epel.repo
[epel]
name="epel源"
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0

3、刷新源

[root@python yum.repos.d]$ yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base epel
Cleaning up list of fastest mirrors
[root@python yum.repos.d]$ yum makecache
安装软件(yum install 软件包名)
安装软件
yum install 软件包名
yum install nginx
卸载软件(yum remove 软件包名)
卸载软件
yum remove 软件包名
yum install nginx
查看rpm依赖情况(yum deplist rpm)
查看程序rpm依赖情况
yum deplist rpm
更新系统和软件(yum update)
更新系统
yum update
更新软件
yum update 软件包名
在仓库中搜索相关的软件包(yum search 软件包名)
在仓库中搜索相关的软件包
yum search 软件包名
yum的底层逻辑
yum的底层逻辑
第一步 执行yum install 软件包名命令
第二步 yum会去/etc/yum.repos.d这个目录中
第三步 找所有以.repo结尾的文件(源的配置文件),在这些文件里找到他们保存的baseurl链接(源地址),根据链接找到所有需要的软件包
第四步 下载这些软件包到(/var/cache/yum/x86_64/7/[yum仓库名称])路径
第五步 安装所有下载的软件包对应的软件(rmp -ivh)
第六步 检测是否安装完毕并返回

yum的配置文件
/etc/yum.conf
配置文件里的参数
cachedir=/var/cache/yum/$basearch/$releasever
$basearch:表示(x86-64)平台
$releasever:表示版本号
keepcache=0
是否保存下载的软件包(0代表不保存,1代表保存)

源的配置文件(必须以.repo结尾,必须在/etc/yum.repos.d)
[源的名称]
name=源的简介(必须)
baseurl=源的地址(必须)
gpgcheck=是否验证源的安全性(1代表验证, 0代表不验证)
例子:
[epel]
name="epel源"
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0
搭建私有yum仓库(自己的源)
搭建私有yum仓库(自己的源)

目标:能解决依赖,能远程访问

实施:
第一步 :创建路径(文件夹),充当仓库
mkdir /yumrepo
第二步 :下载软件包到仓库中储存
mkdir /yumrepo/Packages # 建立文件包
下载文件
wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm

第三步 :建立依赖关系
yum install yum-utils createrepo #安装建立依赖关系的命令

建立yum源的依赖关系
createrepo 仓库路径
createrepo /yumrepo

检查一下
cd /yumrepo里会有一个新文件夹repodata
进入里面查看,有097191e578bcee7a2308ccba0954a20455f0eaf3a7947d4f622dbe61ad5e64fc-filelists.sqlite.bz2
518eb570ab7d4552fc5fb4272ad172d28fd023f77c26d422e8e492275fd52000-filelists.xml.gz
71a8c494a8fe55ac4128fad1215b4eddca9014254612ed15ac349272a60c19a9-other.xml.gz
799e159acb34e2da5d7d4fc418a2c1ea677d5371c709055fd7876c0ccd314bed-other.sqlite.bz2
7a69010520845aa2755a292500cc4db3ec5ebae9201d66e805e52728606adc3f-primary.xml.gz
b61b928dc6d20cd78ca3a8f567e641792c233aab35763d12d05447894b370835-primary.sqlite.bz2
repomd.xml
就对了

第四步 :编写yum源
cd /etc/yum.repos.d/ #源的配置文件必须在这里面
mkdir backup # 在配置文件里创建一个文件夹backup可以把原来的源都放进去(mv *.repo backup)
创建编写新的 源的配置文件
vim local.repo
[local]
name="local源"
baseurl=file:///yumrepo
gpgcheck=0
刷新一下
yum clean all
# 清除全部yum的缓存。yum 会把下载的软件包和header存储在cache中,而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一全部清除
yum makecache
# 把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存, 以后用install时就在缓存中搜索,提高了速度。配合yum -C search xxx使用,不用联网检索就能查找软件信息

第五步 :检查一下,当只有一个local源的时候,下载用local源
第六步 :安装远程软件,提供远程访问服务
恢复base源和epel源(之前mv了就恢复)

yum install nginx -y #安装nginx远程web服务软件


# 修改nginx的配置文件,使其能够代理自己写的源(yumrepo)仓库的远程服务
1.将目录索引的配置文件添加进来
vim /etc/nginx/conf.d/autoindex.conf
写入参数
vim /etc/nginx/nginx.conf
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
2.修改nginx代理的目录
root 将原来的默认值改成自己创建的仓库目录(/yumrepo);
3.启动nginx服务
systemctl start nginx
4.修改local源为网址,刷新一下
nginx(第三方)
/etc/nginx/conf.d/
在其中创建配置文件(autoindex.conf)使其能够代理源
vim /etc/nginx/conf.d/autoindex.conf
写入参数
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
老师有个文件这么写的,像下面一样写入
server {
listen 80;
root /srv/vsftp/test;

charset utf-8, gbk;

#auth_ basic "登录认证”;
#auth_basic_user_file /usr/1ocal/openresty/nginx/conf/pass_file;

location = /robots.txt {
index index.html;
}

location / {
auth_basic "登录认证";
auth_basic_user_file /usr/1ocal/openresty/nginx/conf/pass_file;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
wget命令(通过地址下载,第三方)
wget 地址
wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm



posted @ 2021-09-22 23:29  甜甜de微笑  阅读(359)  评论(0编辑  收藏  举报