内容全为个人理解和自查资料梳理,欢迎各位大神指点!
每天学习较为零散。
day18
一、配置本地光盘yum仓库镜像源
#创建挂载目录
[root@626nmn a1]# mkdir /mnt/my_centos
#查看当前磁盘情况
[root@626nmn a1]# df -h
#将本地光盘挂载在目录下
[root@626nmn a1]# mount /dev/sr0 /mnt/my_centos/
#yum仓库文件
[root@626nmn a1]# cd /etc/yum.repos.d/
[root@626nmn yum.repos.d]# ll
total 44
-rw-r--r--. 1 root root 2523 May 16 23:03 CentOS-Base.repo
-rw-r--r--. 1 root root 1664 Sep 5 2019 CentOS-Base.repo.bak
-rw-r--r--. 1 root root 1309 Sep 5 2019 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Sep 5 2019 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Sep 5 2019 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Sep 5 2019 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Sep 5 2019 CentOS-Sources.repo
-rw-r--r--. 1 root root 6639 Sep 5 2019 CentOS-Vault.repo
-rw-r--r--. 1 root root 951 Oct 3 2017 epel.repo
-rw-r--r--. 1 root root 1050 Oct 3 2017 epel-testing.repo
#创建本地yum本地库
[root@626nmn yum.repos.d]# touch my_cdrom.repo
#编写yum文件仓库语法
#在本地文件中 file://路径
#在网络中 http://aliyun.comxxx
#enabled=1 该仓库可用
#gpgcheck=0 没有密钥
[root@626nmn yum.repos.d]# vim my_cdrom.repo
[base]
name=xun-linux-yum-cdrom
baseurl=file:///a1/mnt/my_centos/
enabled=1
gpgcheck=0
#清空旧的yum缓存
[root@626nmn yum.repos.d]# yum clean all
#删除磁盘上的yum缓存
[root@626nmn yum.repos.d]# rm -rf /var/cache/yum
#生成新的yum缓存
[root@626nmn yum.repos.d]# yum makecache
#取消挂载
[root@626nmn yum.repos.d]# umount /a1/mnt/my_centos/
#取消挂载后,yum库会暂存在缓存文件中
[root@626nmn a1]# ll /var/cache
total 4
drwxrwxr-x. 2 abrt abrt 6 Aug 13 2019 abrt-di
drwxrwxrwt. 2 root root 6 Oct 31 2018 coolkey
drwx------. 2 root root 23 Jun 7 00:03 ldconfig
drwxr-xr-x. 31 root root 4096 May 16 23:21 man
drwxr-xr-x. 3 root root 20 May 16 22:57 yum
#查看yum库软件个数
[root@626nmn a1]# yum list | wc -l
24874
#查找MySQL个人版的资源
[root@626nmn a1]# yum list | grep mariadb
mariadb-libs.x86_64 1:5.5.64-1.el7 @anaconda
mariadb.x86_64 1:5.5.68-1.el7 base
mariadb-bench.x86_64 1:5.5.68-1.el7 base
mariadb-devel.i686 1:5.5.68-1.el7 base
mariadb-devel.x86_64 1:5.5.68-1.el7 base
mariadb-embedded.i686 1:5.5.68-1.el7 base
mariadb-embedded.x86_64 1:5.5.68-1.el7 base
mariadb-embedded-devel.i686 1:5.5.68-1.el7 base
mariadb-embedded-devel.x86_64 1:5.5.68-1.el7 base
mariadb-libs.i686 1:5.5.68-1.el7 base
mariadb-libs.x86_64 1:5.5.68-1.el7 base
mariadb-server.x86_64 1:5.5.68-1.el7 base
mariadb-test.x86_64 1:5.5.68-1.el7 base
[root@626nmn a1]#
epel仓库配置
#无法下载wget时可以手动创建epel软件仓库
[root@626nmn yum.repos.d]# vim epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0
二、离线安装rpm包(nginx为例)
[root@626nmn a1]# man yum | grep download
Is used to download and make usable all the metadata for the currently
Tells yum to run entirely from system cache; does not download or update
--downloadonly 仅下载软件包但不安装(后台执行默认放在/var/cache/yum)
Don't update, just download. This is done in the background, so the yum lock
--downloaddir=directory 指定下载包的存储路径(需绝对路径)
automatically deleted after they are downloaded.
ity of packages. Using this option will force yum to download all the meta‐
option will force yum to download the sqlite metadata the next time it is
yumdownloader (1)
[root@626nmn ~]# yum install --downloadonly --downloaddir=/a1/software/ nginx
#将software目录作为仓库目录
[root@626nmn software]# createrepo /a1/software/
Spawning worker 0 with 6 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@626nmn software]# ll -a
total 3568
drwxr-xr-x. 3 root root 4096 Jun 9 21:47 .
drwxr-xr-x. 4 root root 133 Jun 9 21:28 ..
-rw-r--r--. 1 root root 93872 Jul 4 2014 centos-indexhtml-7-9.el7.centos.noarch.rpm
-rw-r--r--. 1 root root 278636 Apr 25 2018 gperftools-libs-2.6.1-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 601657 Nov 11 2022 nginx-1.20.1-10.el7.x86_64.rpm
-rw-r--r--. 1 root root 24229 Nov 11 2022 nginx-filesystem-1.20.1-10.el7.noarch.rpm
-rw-r--r--. 1 root root 1529729 Jan 24 2024 openssl11-libs-1.1.1k-7.el7.x86_64.rpm
drwxr-xr-x. 2 root root 4096 Jun 9 21:47 repodata
-rw-r--r--. 1 root root 1106008 Dec 18 2020 vim-enhanced-7.4.629-8.el7_9.x86_64.rpm
#修改其他仓库配置文件名,使这些仓库停用
[root@626nmn yum.repos.d]# rename repo repo_stop *.repo
#清空缓存
[root@626nmn yum.repos.d]# yum clean all
#可用vim和vi和cat追加编写仓库配置
[root@626nmn yum.repos.d]# cat >> /etc/yum.repos.d/my_dir.repo <<EOF
> [base]
> name=xun-linux-my_dir
> baseurl=file:///a1/software/
> enabled=1
> gpcheck=0
> EOF
-rw-r--r--. 1 root root 78 Jun 9 21:58 my_dir.repo
#用本地目录作为仓库,可离线安装
[root@626nmn a1]# yum install -y nginx
#补充yumdownloader指令 指定下载包的存储路径
[root@626nmn a1]# yumdownloader --destdir=/a1/software/docker docker
yum缓存rpm包
#修改epel仓库配置添加 keepcache=1 参数,缓存rpm包
[root@626nmn yum.repos.d]# vim epel.repo
keepcache=1
#下载
[root@626nmn yum.repos.d]# yum install -y nginx
#此时rpm包都在/var/cache/yum 这个文件夹
[root@626nmn yum.repos.d]# find /var/cache/yum -name *.rpm
在仓库配置文件中写入 可修改仓库优先级
priority=1
安装指定版本的mysql
将官网rpm包下载库部署为软件仓库,配置所需版本
https://repo.mysql.com//mysql84-community-release-el9-1.noarch.rpm
分析uil在MySQL官网找到rpm包下载库
https://repo.mysql.com
#配置mysql5.6版本的软件仓库
[root@626nmn yum.repos.d]# vim mysql.repo
[base]
name=xun-linux-mysql
baseurl=https://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/
enable=1
gpgcheck=0
#查看可安装的mysql
[root@626nmn yum.repos.d]# yum list |grep mysql
mysql-community-bench.x86_64 5.6.51-2.el7 base
mysql-community-client.i686 5.6.51-2.el7 base
mysql-community-client.x86_64 5.6.51-2.el7 base
mysql-community-common.i686 5.6.51-2.el7 base
mysql-community-common.x86_64 5.6.51-2.el7 base
mysql-community-devel.i686 5.6.51-2.el7 base
mysql-community-devel.x86_64 5.6.51-2.el7 base
mysql-community-embedded.i686 5.6.51-2.el7 base
mysql-community-embedded.x86_64 5.6.51-2.el7 base
mysql-community-embedded-devel.i686 5.6.51-2.el7 base
mysql-community-embedded-devel.x86_64 5.6.51-2.el7 base
mysql-community-libs.i686 5.6.51-2.el7 base
mysql-community-libs.x86_64 5.6.51-2.el7 base
mysql-community-server.x86_64 5.6.51-2.el7 base
mysql-community-test.x86_64 5.6.51-2.el7 base
mysql-ref-manual-5.6-en-html-chapter.noarch
mysql-ref-manual-5.6-en-pdf.noarch 1-20210105 base
#下载5.6.51版本
yum install mysql-community-server-5.6.51
[root@626nmn yum.repos.d]# rpm -qi mysql-community-server
Name : mysql-community-server
Version : 5.6.51
Release : 2.el7
Architecture: x86_64
Install Date: Wed 11 Jun 2025 08:40:05 PM CST
Group : Applications/Databases
Size : 280698225
License : Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved. Under GPLv2 license as shown in the Description field.
Signature : DSA/SHA1, Tue 05 Jan 2021 11:39:22 PM CST, Key ID 8c718d3b5072e1f5
Source RPM : mysql-community-5.6.51-2.el7.src.rpm
Build Date : Tue 05 Jan 2021 06:37:25 PM CST
Build Host : pb2-el7-08.appad3iad.mysql2iad.oraclevcn.com
#mysql服务所在目录
/usr/lib/systemd/system/mysqld.service
#查看状态
[root@626nmn yum.repos.d]# systemctl status mysqld
● mysqld.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: inactive (dead)
#开启
[root@626nmn yum.repos.d]# systemctl start mysqld
[root@626nmn yum.repos.d]# systemctl status mysqld
● mysqld.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2025-06-11 20:48:02 CST; 51s ago
#查询端口
[root@626nmn yum.repos.d]# netstat -tunlp | grep mysql
tcp6 0 0 :::3306 :::* LISTEN 2459/mysqld
#查进程
[root@626nmn yum.repos.d]# ps -ef | grep mysql
mysql 2294 1 0 20:48 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql 2459 2294 0 20:48 ? 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root 2510 1815 0 20:59 pts/0 00:00:00 grep --color=auto mysql
#登陆mysql mysql -u root -p
#列出所有数据库 SHOW DATABASES;
[root@626nmn yum.repos.d]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.51 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.01 sec)
mysql> exit
Bye
[root@626nmn yum.repos.d]#
[root@626nmn yum.repos.d]# rename repo_stop repo *.repo_stop
[root@626nmn yum.repos.d]# ll
total 48
-rw-r--r--. 1 root root 2523 May 16 23:03 CentOS-Base.repo
-rw-r--r--. 1 root root 1664 Sep 5 2019 CentOS-Base.repo.bak
-rw-r--r--. 1 root root 1309 Sep 5 2019 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Sep 5 2019 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Sep 5 2019 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Sep 5 2019 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Sep 5 2019 CentOS-Sources.repo
-rw-r--r--. 1 root root 6639 Sep 5 2019 CentOS-Vault.repo
-rw-r--r--. 1 root root 963 Jun 9 22:16 epel.repo
-rw-r--r--. 1 root root 1050 Oct 3 2017 epel-testing.repo
-rw-r--r--. 1 root root 118 Jun 11 20:25 mysql.repo
查询依赖关系
[root@626nmn yum.repos.d]# rpm -qR mysql-community-server
/bin/bash
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/usr/bin/perl
config(mysql-community-server) = 5.6.51-2.el7
coreutils
grep
[root@626nmn yum.repos.d]# rpmreaper
5.1M policycoreutils 2.5-33.el7.x86_64
L 267.7M mysql-community-server 5.6.51-2.el7.x86_64
L 153.2M scap-security-guide 0.1.43-13.el7.centos.noarch
L 70.0M iwl7265-firmware 22.0.7.0-72.el7.noarch
L 31.0M valgrind 3.14.0-16.el7.x86_64
L 19.2M selinux-policy-targeted 3.13.1-252.el7.noarch
L 16.5M gcc-c++ 4.8.5-39.el7.x86_64
L 15.7M gcc-gfortran 4.8.5-39.el7.x86_64
L 14.7M doxygen 1.8.5-3.el7.x86_64
L 10.0M iwl3160-firmware 22.0.7.0-72.el7.noarch
L 6.2M iwl7260-firmware 22.0.7.0-72.el7.noarch
L 4.7M swig 2.0.10-5.el7.x86_64
L 4.6M subversion 1.7.14-14.el7.x86_64
L 4.0M btrfs-progs 4.9.1-1.el7.x86_64
L 3.9M xfsprogs 4.5.0-20.el7.x86_64
#下载yum-utils工具包
[root@626nmn yum.repos.d]# repoquery --requires --resolve nginx
Repository base is listed more than once in the configuration
openssl-1:1.0.2k-22.el7_9.x86_64
bash-0:4.2.46-35.el7_9.x86_64
systemd-0:219-78.el7_9.2.x86_64
glibc-0:2.17-326.el7_9.i686
nginx-filesystem-1:1.20.1-10.el7.noarch
zlib-0:1.2.7-19.el7_9.x86_64
glibc-0:2.17-326.el7_9.x86_64
openssl11-libs-1:1.1.1k-7.el7.x86_64
[root@626nmn yum.repos.d]#
三、docker部署小游戏
apt install docker.io
加载镜像 -i 指定输入文件
root@xun:/a1# docker load -i game1.tar
查看已加载的镜像
root@xun:/a1# docker images
运行容器
-P:自动映射所有暴露的端口到主机随机端口
-d:后台运行
root@xun:/a1# docker run -P -d game1
检查运行中的容器
root@xun:/a1# docker ps
访问主机ip:端口号即可访问游戏界面