Linux运维新人自用笔记(配置本地光盘yum镜像源、离线安装rpm包、yum缓存rpm包、安装指定版本软件、查询依赖关系、docker简单部署)

发布于:2025-06-13 ⋅ 阅读:(20) ⋅ 点赞:(0)

内容全为个人理解和自查资料梳理,欢迎各位大神指点!

每天学习较为零散。

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:端口号即可访问游戏界面