linux常见的基础依赖环境,一般这些软件应该是在系统安装时,勾选上,如果没有则需要手动安装

yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

一.yum实践操作

yum的仓库文件,都被统一放在了一个固定的目录

语法

是在这个目录中,名字是 *.repo结尾的文件,就会被yum识别为仓库文件 ,并且只能是在第一层目录,否则都无法识别为yum仓库,因此 /etc/yum.repos.d/就是yum仓库文件夹,并且只能是这个文件夹的第一层目录 ,存在于 *.repo文件 ,否则第一层目录,没有*.repo文件,就是没有可使用的yum仓库 ,也就是无法使用yum命令

[root@localhost ~]# cd /etc/yum
yum/         yum.conf     yum.repos.d/ 
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
bakrepo  CentOS-Base.repo  epel.repo

二.挂载本地光盘,作为镜像源(作为yum的rpm包仓库)

1. 找到一个光盘镜像(vmware虚拟机+物理机+准备一个外置光驱+自己刻录一个centos7光盘) (vmware连接上centos7光盘即可)

2. 在系统中, 找到这个光盘文件(linux一切皆文件,你所有的物理硬件,都可以在系统上以文件形式找到)

ls /dev目录下

Yum工具_centos

3.找到光盘文件,进行挂载动作,让某一个目录和这个光盘,建立连接

[root@localhost opt]# mkdir /mnt/my_centos
[root@localhost opt]# ls /mnt
my_centos
[root@localhost opt]# mount /dev/sr0  /mnt/my_centos
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost opt]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.9G   16G  12% /
/dev/sda1               1014M  151M  864M  15% /boot
tmpfs                    378M     0  378M   0% /run/user/0
/dev/sr0                 4.4G  4.4G     0 100% /mnt/my_centos

4.创建yum的仓库文件,学习yum仓库文件语法

[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ll
total 0
drwxr-xr-x 2 root root 237 Nov 14 21:22 bakrepo
[root@localhost yum.repos.d]# cd bakrepo
[root@localhost bakrepo]# ll
total 44
-rw-r--r--  1 root root 2523 Oct 13 19:52 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Oct 23  2020 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Oct 23  2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Oct 23  2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Oct 23  2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Oct 23  2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 Oct 23  2020 CentOS-Vault.repo
-rw-r--r--. 1 root root  616 Oct 23  2020 CentOS-x86_64-kernel.repo
-rw-r--r--  1 root root  664 Oct 13 19:53 epel.repo
[root@localhost bakrepo]# vim CentOS-Base.repo

Yum工具_CentOS_02

此时的光盘数据在本地目录,/mnt/my_centos/

如果你的rpm包,得通过互联网去找,语法是 http://aliyun.com/xxxxxxxxxxxxx

如果你的rpm是去系统中找,语法是 file://路径即可  

[root@localhost yum.repos.d]# vim /etc/yum.repos.d/my_cdrom.repo
[root@localhost yum.repos.d]# cat /etc/yum.repos.d/my_cdrom.repo
[base]
name=yiyuan-linux-yum-cdrom
baseurl=file:///mnt/my_centos/
enabled=1
gpgcheck=0

5.此时有了yum仓库,先清空旧的yum缓存,清空内存中的yum缓存

[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base
Cleaning up list of fastest mirrors
Other repos take up 274 M of disk space (use --verbose for details)

生成新的yum缓存(否则你第一次yum install会去下载很多元数据,比较慢)

[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
base                                                                                  | 3.6 kB  00:00:00     
(1/4): base/group_gz                                                                  | 153 kB  00:00:00     
(2/4): base/filelists_db                                                              | 3.3 MB  00:00:00     
(3/4): base/primary_db                                                                | 3.3 MB  00:00:00     
(4/4): base/other_db                                                                  | 1.3 MB  00:00:00     
Metadata Cache Created

6.此时你可以用yum,去本地光盘中装软件 

记住删除东西用yum remove去删,不然只删了一个软件,没删依赖

yum remove vim* -y

三.配置阿里云yum源

1.选择主流的开源镜像站https://developer.aliyun.com/mirror/

2.用人家提供的命令,生成yum仓库文件即可

首先必须在 /etc/yum.repos.d 只能在这个目录下,且是第一级

/etc/yum.repos.d/aliyun.repo

3.配置阿里云仓库

wget -O 对该文件进行存放到指定目录,且改名

[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

上述命令等于如下

cd /etc/yum.repos.d/
wget  https://mirrors.aliyun.com/repo/Centos-7.repo
ls /etc/yum.repos.d/Centos-7.repo

删除缓存

[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache

4.配置epel仓库

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

6.配置好2个仓库后,可以安装市面绝大多数的软件了 生成缓存,便于后续加速下载

yum clean all
yum makecache

看看软件列表有多少东西

[root@localhost yum.repos.d]# yum list |wc -l
24707

四.离线安装rpm,自建yum仓库

1.创建一个软件目录

[root@localhost ~]# mkdir /2226_software

2.准备软件的所有rpm包,你可以选择用光盘仓库,也可以用以下方式,拿vim举例,安装vim以及它的依赖包

[root@localhost 2226_software]# yum install --downloadonly  --downloaddir=/2226_software/     vim
yum支持这俩功能
只下载,不安装
下载,安装,且保留rpm包,便于你下次的离线安装
是如下俩参数可以实现很方便的通过网络源,下载你想要的rpm包
     --downloadonly
              Don't update, just download. This is done in the background, so the yum lock is released for other operations. This can also be chosen by typing 'd'ownloadonly  at
              the transaction confirmation prompt.

       --downloaddir=directory
              Specifies an alternate directory to store packages.
 获取vim安装包,以及它必须的依赖

3.使用命令,让该目录成为yum可识别仓库

[root@localhost 2226_software]# yum install createrepo -y
[root@localhost 2226_software]# which  createrepo
/usr/bin/createrepo

4.使用该命令,创建本地仓库

[root@localhost 2226_software]# createrepo /2226_software/
[root@localhost 2226_software]# ll /2226_software/ -a
total 7156
drwxr-xr-x   3 root root     114 Nov 17 00:35 .
dr-xr-xr-x. 20 root root    4096 Nov 17 00:34 ..
drwxr-xr-x   2 root root    4096 Nov 17 00:35 repodata
-rw-r--r--   1 root root 6205700 Dec 18  2020 vim-common-7.4.629-8.el7_9.x86_64.rpm
-rw-r--r--   1 root root 1106008 Dec 18  2020 vim-enhanced-7.4.629-8.el7_9.x86_64.rpm

5.此时创建repo文件,指向这个目录即可,就是一个本地仓库目录 ,先移除其他的repo文件,让yum被识别

这个目录别出现*.repo就行

[root@localhost yum.repos.d]# ll
total 8
drwxr-xr-x 2 root root  258 Nov 16 20:47 bakrepo
-rw-r--r-- 1 root root 2523 Aug  4  2022 CentOS-Base.repo
-rw-r--r-- 1 root root  664 Aug  4  2022 epel.repo
[root@localhost yum.repos.d]# rename repo repp *.repo
[root@localhost yum.repos.d]# ll
total 8
drwxr-xr-x 2 root root  258 Nov 16 20:47 bakrepo
-rw-r--r-- 1 root root 2523 Aug  4  2022 CentOS-Base.repp
-rw-r--r-- 1 root root  664 Aug  4  2022 epel.repp
cat >> /etc/yum.repos.d/my_dir.repo <<EOF
[base]
name=2226-linux-my_dir
baseurl=file:///2226_software/
enabled=1
gpgcheck=0
EOF

###enabled=1这个参数是控制,该repo启用,还是关闭的

6.此时yum本地仓库就好使了

yum -y install vim

五.通过yum获取rpm包缓存

  • 准备一个最小化安装的系统,yum会自动判断,它需要什么基础依赖
  • 因为最小化,系统缺少很多依赖包
  • 再使用yum install --downloadonly --downloaddir=/0224_software/ nginx这个命令去尝试,看看下载多少依赖
  • vim ,只找到了2个依赖
  • 最小化机器进行操作,5个依赖
  • yum是针对当前机器的环境,判断,安装vim,需要多少个rpm依赖包

还有一个办法,修改yum配置文件,前提是你有一个可用的yum源仓库

1.需求是安装nginx,且获取nginx的rpm包,缓存下来(存在于epel仓库) ,修改epel.repo文件,添加如下参数

keepcache=1

[root@localhost yum.repos.d]# rm -f my_dir.repo
[root@localhost yum.repos.d]# ll
total 8
drwxr-xr-x 2 root root  220 Nov 17 20:41 bakrepo
-rw-r--r-- 1 root root 2523 Oct 13 19:52 CentOS-Base.repo
-rw-r--r-- 1 root root  675 Nov 17 20:47 epel.repo
[root@localhost yum.repos.d]# vim epel.repo

Yum工具_centos_03


yum install nginx 

2.此时nginx相关的rpm包都在缓存目录下了

[root@localhost yum.repos.d]# find /var/cache/yum/ -name *.rpm
/var/cache/yum/x86_64/7/epel/packages/nginx-1.20.1-9.el7.x86_64.rpm

六.修改yum仓库的优先级

1.你的机器,又有本地光盘仓库--------版本1.4

2.有有阿里云的仓库---------版本2.5

只需要在对应的repo仓库文件中,针对仓库的区域设置,添加一个参数即可

priority=1

省事点,直接移走就行了

七.安装MySQL-5.6.43

获取软件的rpm包 ,也要想办法找到mysql-5.6.43这个rpm包,用rpm装,还是yum装

mysql-5.6.43.tar.gz 编译安装

配置yum仓库

- 本地光盘

- 阿里云yum源

- 自建yum仓库文件夹

去mysql官网,寻找该软件的下载地址,设置为yum仓库即可

1.去mysql官网,找到mysql的rpm包下载地址

https://repo.mysql.com//mysql80-community-release-el7-5.noarch.rpm

通过分析其url,找到了mysql-5.6版本的rpm包,集合地儿

https://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/

2.创建mysql的yum配置文件即可

[root@localhost yum.repos.d]# cat mysql2226.repo
[mysql56]
name='This is mysql 5.6.43 server rpm'
baseurl='https://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/'
enable=1
gpgcheck=0

3.安装对应版本软件即可,如果出现依赖报错,需要你分析报错,解决对应的依赖关系

[root@localhost yum.repos.d]# yum install mysql-community-server-5.6.43

4.安装完毕后,启动mysql-5.6.43即可 ,找到如下脚本,即可用systemctl去管理启动了

[root@localhost yum.repos.d]# ls /usr/lib/systemd/system/mysqld.service 
/usr/lib/systemd/system/mysqld.service
[root@localhost yum.repos.d]# systemctl start mysqld
[root@localhost yum.repos.d]# netstat -tunlp |grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      2982/mysqld    

如下是客户端命令去登录

[root@localhost yum.repos.d]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.43 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

mysql> exit;
Bye