# 今天内容
1、重要的目录
1、/usr
安装第三方软件的目录,
1、/usr/local主要用来安装软件的目录
2、/usr/bin和/usr/local/bin 主要用来存放第三方二进制命令文件的目录
3、linux安装文件的三种方式
1、rpm
rpm无法解决安装包依赖的问题
下载zsh的连接:https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm
rpm -ivh [软件包名称]: 安装软件
[root@python ~]$ rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
warning: zsh-5.0.2-34.el7_8.2.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2 ################################# [100%]
rpm -Uvh [软件包名称]:更新软件
rpm -e [软件包名称]:卸载软件
[root@python ~]$ rpm -e zsh
rpm -q [软件包名称] : 查看该软件包是否安装
rpm -qa [软件包名称] : 打印当前系统中所有的已经安装了的安装包
跟软件包,则判断软件包是否安装
不跟软件包,则打印当前系统中所有的已经安装的软件包
rpm -ql [软件包名称] : 打印指定安装包中包含的所有文件
rpm -qc [软件包名称] : 打印指定安装包的配置文件
[root@python ~]$ rpm -q zsh
package zsh is not installed
[root@python ~]$ rpm -q gpm-libs-1.20.7-6.el7.x86_64
gpm-libs-1.20.7-6.el7.x86_64
[root@python ~]$ rpm -ql python
/usr/bin/pydoc
/usr/bin/python
/usr/bin/python2
/usr/bin/python2.7
/usr/libexec/platform-python
/usr/share/doc/python-2.7.5
/usr/share/doc/python-2.7.5/LICENSE
/usr/share/doc/python-2.7.5/README
/usr/share/man/man1/python.1.gz
/usr/share/man/man1/python2.1.gz
/usr/share/man/man1/python2.7.1.gz
zsh-5.0.2-34.el7_8.2.x86_64.rpm
zsh : 软件包的名称
5.0.2 软件包的版本号
34 软件包的构建次数
el7 软件包适用的平台
8.2.x86_64 适用于64位操作系统
.rpm 扩展名
2、yum (难点)
可以自动解决安装包的依赖(也就是说安装包安装的时候,自动将依赖包提前安装)
缺点:无法自定义安装
1、yum的格式
安装软件
yum install [安装包的名称] : 安装安装包的名称
[root@python ~]$ yum install nginx
-y : 不提示,默认确认
卸载软件
yum remove [软件包名称] : 卸载软件包
-y : 不提示删除,默认确认
更新软件
yum update [软件包] : 更新软件
1、跟软件包则更新软件包
2、不跟软件包则更新整个操作系统
搜索软件
在仓库中搜索相关的软件包
[root@python ~]$ yum search nginx
知识储备:
1、解决nginx安装包没有的问题:需要下载epel源
2、epel源仓库是CentOS扩展包的仓库
3、安装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仓库
目标
1、能解决依赖
2、必须能够远程访问
yum的底层逻辑
第一步:执行yum install nginx安装命令
第二步:yum去/etc/yum.repos.d这个目录中
第三步:根据/etc/yum.repos.d中所有的.repo结尾的文件中保存的baseurl中的连接,去寻找对应的软件包
第四步:在寻找到的软件包中,下载软件,(/var/cache/yum/x86_64/7/[yum仓库名称])
yum的配置文件
[root@python yum.repos.d]$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever 指定yum下载的软件包存放的路径($basearch == x86_64, $releasever == 7)
keepcache=0 是否保存下载的软件包(0 == 不保存 , 1 == 保存)
源的配置文件(必须以.repo结尾,必须在/etc/yum.repos.d)
[源的名称]
name 源的简介(必须)
baseurl 源的地址(必须)
gpgcheck 是否验证源的安全性(1 == 验证, 0 == 不验证)
第五步:安装所有的软件(rpm -ivh)
第六步:检测是否安装完毕并返回
实施
1、创建目录,充当仓库
[root@python yum.repos.d]$ mkdir /yumrepo
2、下载软件,存放于yum仓库中
[root@python yumrepo]$ cd /yumrepo
[root@python yumrepo]$ mkdir Packages
[root@python yumrepo]$ cd Packages
[root@python Packages]$ wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm
知识储备:
wget [下载的文件URL] : 下载文件
wget 需要安装:yum install wget
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
3、建立依赖关系
1、安装建立依赖关系的命令
yum install yum-utils createrepo
2、建立yum源的依赖关系
createrepo [仓库的路径]
[root@python ~]$ createrepo /yumrepo/
Spawning worker 0 with 1 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
3、检查
[root@python ~]$ cd /yumrepo/
[root@python yumrepo]$
[root@python yumrepo]$ ll
total 4
drwxr-xr-x 2 root root 39 Sep 22 12:01 Packages
drwxr-xr-x 2 root root 4096 Sep 22 12:03 repodata
[root@python yumrepo]$ ll repodata/
total 28
-rw-r--r-- 1 root root 927 Sep 22 12:03 097191e578bcee7a2308ccba0954a20455f0eaf3a7947d4f622dbe61ad5e64fc-filelists.sqlite.bz2
-rw-r--r-- 1 root root 385 Sep 22 12:03 518eb570ab7d4552fc5fb4272ad172d28fd023f77c26d422e8e492275fd52000-filelists.xml.gz
-rw-r--r-- 1 root root 763 Sep 22 12:03 71a8c494a8fe55ac4128fad1215b4eddca9014254612ed15ac349272a60c19a9-other.xml.gz
-rw-r--r-- 1 root root 1384 Sep 22 12:03 799e159acb34e2da5d7d4fc418a2c1ea677d5371c709055fd7876c0ccd314bed-other.sqlite.bz2
-rw-r--r-- 1 root root 908 Sep 22 12:03 7a69010520845aa2755a292500cc4db3ec5ebae9201d66e805e52728606adc3f-primary.xml.gz
-rw-r--r-- 1 root root 2052 Sep 22 12:03 b61b928dc6d20cd78ca3a8f567e641792c233aab35763d12d05447894b370835-primary.sqlite.bz2
-rw-r--r-- 1 root root 2966 Sep 22 12:03 repomd.xml
4、编写yum源
[root@python yum.repos.d]$ vim local.repo
[root@python yum.repos.d]$ cat local.repo
[local]
name=本地yum源
baseurl=file:///yumrepo
更新源
[root@python yum.repos.d]$ yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local
Cleaning up list of fastest mirrors
Other repos take up 274 M of disk space (use --verbose for details)
[root@python yum.repos.d]$ yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
local | 2.9 kB 00:00:00
(1/3): local/primary_db | 2.0 kB 00:00:00
(2/3): local/other_db | 1.4 kB 00:00:00
(3/3): local/filelists_db | 927 B 00:00:00
Metadata Cache Created
5、测试
yum remove zip
yum install zip
6、安装远程软件,提供远程访问服务
1、恢复base源和epel源
[root@python yumrepo]$ cd /etc/yum.repos.d/
[root@python yum.repos.d]$ ll
total 4
drwxr-xr-x 2 root root 47 Sep 22 12:07 backup
-rw-r--r-- 1 root root 61 Sep 22 12:11 local.repo
[root@python yum.repos.d]$ mv backup/* .
[root@python yum.repos.d]$
[root@python yum.repos.d]$ ll
total 12
drwxr-xr-x 2 root root 6 Sep 22 12:20 backup
-rw-r--r--. 1 root root 102 Sep 16 11:58 CentOS-Base.repo
-rw-r--r-- 1 root root 85 Sep 22 10:58 epel.repo
-rw-r--r-- 1 root root 61 Sep 22 12:11 local.repo
2、安装nginx远程web服务软件
[root@python yum.repos.d]$ yum install nginx -y
3、修改nginx的配置文件,使其能够代理yumrepo仓库的远程服务
1、将目录索引的配置文件添加进来
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
2、修改nginx代理的目录
root /yumrepo;
3、启动nginx服务
systemctl start nginx
4、在浏览器
http://192.168.15.201/
知识储备:
nginx实现目录索引
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
4、修改local yum源
1、隐藏base源和epel源
[root@python yum.repos.d]$ pwd
/etc/yum.repos.d
[root@python yum.repos.d]$ ll
total 12
drwxr-xr-x 2 root root 6 Sep 22 12:20 backup
-rw-r--r--. 1 root root 102 Sep 16 11:58 CentOS-Base.repo
-rw-r--r-- 1 root root 85 Sep 22 10:58 epel.repo
-rw-r--r-- 1 root root 61 Sep 22 12:11 local.repo
[root@python yum.repos.d]$ mv CentOS-Base.repo backup/
[root@python yum.repos.d]$ mv epel.repo backup/
2、修改local源,使其支持远程访问
[local]
name=本地yum源
baseurl=http://192.168.15.201/
gpgcheck=0
3、重新生成
[root@python yum.repos.d]$ yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local
Cleaning up list of fastest mirrors
Other repos take up 274 M of disk space (use --verbose for details)
[root@python yum.repos.d]$ yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
local | 2.9 kB 00:00:00
(1/3): local/primary_db | 2.0 kB 00:00:00
(2/3): local/other_db | 1.4 kB 00:00:00
(3/3): local/filelists_db | 927 B 00:00:00
Metadata Cache Created
5、测试
yum remove zip
yum install zip
3、二进制编译安装
2、/var
3、/proc
2、文件的属性
1、文件属性的介绍
2、文件属性的详述
3、企业案例