1. 自建yum仓库,分别为网络源和本地源
配置网络源:
##备份系统自带的yum源文件
[root@centos84 yum.repos.d]# mkdir ~/yum_bak
[root@centos84 yum.repos.d]# mv * ~/yum_bak
##通过wget命令直接下载阿里云yum源
[root@centos84 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
--2021-12-12 06:28:20-- https://mirrors.aliyun.com/repo/Centos-8.repo
Connecting to 172.30.232.251:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 2595 (2.5K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/CentOS-Base.repo’
/etc/yum.repos.d/CentOS-Base.repo 100%[==================================================================================>] 2.53K --.-KB/s in 0s
2021-12-12 06:28:20 (48.6 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.repo’ saved [2595/2595]
##清理缓存,加载缓存
[root@centos84 yum.repos.d]# yum clean all
[root@centos84 yum.repos.d]# yum makecache
CentOS-8 - Base - mirrors.aliyun.com 12 MB/s | 3.5 MB 00:00
CentOS-8 - Extras - mirrors.aliyun.com 72 kB/s | 10 kB 00:00
CentOS-8 - AppStream - mirrors.aliyun.com 15 MB/s | 8.2 MB 00:00
Metadata cache created.
##列出可用的yum源
[root@centos84 ~]# yum repolist
repo id repo name
AppStream CentOS-8 - AppStream - mirrors.aliyun.com
base CentOS-8 - Base - mirrors.aliyun.com
extras CentOS-8 - Extras - mirrors.aliyun.com
配置本地源
##挂在光盘到/mnt 下
[root@centos84 ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@centos84 ~]# vi /etc/yum.repos.d/cl8.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
enbale=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enable=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[root@centos84 yum.repos.d]# yum clean all
Repository AppStream is listed more than once in the configuration
13 files removed
[root@centos84 yum.repos.d]# yum makecache
Repository AppStream is listed more than once in the configuration
CentOS-8 - Base - mirrors.aliyun.com 3.7 MB/s | 3.5 MB 00:00
CentOS-8 - Extras - mirrors.aliyun.com 39 kB/s | 10 kB 00:00
CentOS-8 - AppStream - mirrors.aliyun.com 20 MB/s | 8.2 MB 00:00
BaseOS 195 MB/s | 2.5 MB 00:00
Metadata cache created.
[root@centos84 yum.repos.d]#
[root@centos84 yum.repos.d]# yum repolist
Repository AppStream is listed more than once in the configuration
repo id repo name
AppStream CentOS-8 - AppStream - mirrors.aliyun.com
BaseOS BaseOS
base CentOS-8 - Base - mirrors.aliyun.com
extras CentOS-8 - Extras - mirrors.aliyun.com
2、编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交
##使用wget 下载Apache httpd 2.4.51 Released源码包
[root@centos84 data]# wget https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.bz2
--2021-12-12 07:00:42-- https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.bz2
Connecting to 172.30.232.251:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 7653609 (7.3M) [application/x-bzip2]
Saving to: ‘httpd-2.4.51.tar.bz2’
httpd-2.4.51.tar.bz2 100%[==================================================================================>] 7.30M 111KB/s in 84s
2021-12-12 07:02:07 (88.6 KB/s) - ‘httpd-2.4.51.tar.bz2’ saved [7653609/7653609]
##安装编译环境依赖包
yum install gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config
##临时关闭selinux
[root@centos84 ~]# setenforce 0
##解压httpd 2.4.51
[root@centos84 data]# tar -jxvf httpd-2.4.51.tar.bz2
httpd-2.4.51/
httpd-2.4.51/acinclude.m4
httpd-2.4.51/README.cmake
httpd-2.4.51/INSTALL
……
httpd-2.4.51/test/modules/http2/htdocs/noh2/index.html
httpd-2.4.51/test/modules/http2/htdocs/noh2/alive.json
httpd-2.4.51/test/modules/http2/mod_h2test/mod_h2test.c
httpd-2.4.51/test/modules/http2/mod_h2test/mod_h2test.h
[root@centos84 data]# cd httpd-2.4.51/
##配置
[root@centos84 httpd-2.4.51]# ./configure --prefix=/usr/local/http24 --sysconfdir=/etc/httpd --enable-ssl
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking build system type... x86_64-pc-linux-gnu
……
configure: summary of build options:
Server Version: 2.4.51
Install prefix: /usr/local/http24
C compiler: gcc
CFLAGS: -pthread
CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE
LDFLAGS:
LIBS:
C preprocessor: gcc -E
##编译并发4个任务执行
[root@centos84 httpd-2.4.51]# make -j 4
Making all in srclib
make[1]: Entering directory '/data/httpd-2.4.51/srclib'
make[1]: Leaving directory '/data/httpd-2.4.51/srclib'
Making all in os
make[1]: Entering directory '/data/httpd-2.4.51/os'
Making all in unix
make[2]: Entering directory '/data/httpd-2.4.51/os/unix'
make[3]: Entering directory '/data/httpd-2.4.51/os/unix'
……
make[4]: Leaving directory '/data/httpd-2.4.51/modules/mappers'
make[3]: Leaving directory '/data/httpd-2.4.51/modules/mappers'
make[2]: Leaving directory '/data/httpd-2.4.51/modules'
make[2]: Entering directory '/data/httpd-2.4.51/support'
make[2]: Leaving directory '/data/httpd-2.4.51/support'
make[1]: Leaving directory '/data/httpd-2.4.51'
##安装
[root@centos84 httpd-2.4.51]# make install
Making install in srclib
make[1]: Entering directory '/data/httpd-2.4.51/srclib'
make[2]: Entering directory '/data/httpd-2.4.51/srclib'
make[2]: Leaving directory '/data/httpd-2.4.51/srclib'
make[1]: Leaving directory '/data/httpd-2.4.51/srclib'
Making install in os
……
Installing header files
mkdir /usr/local/http24/include
Installing build system files
mkdir /usr/local/http24/build
Installing man pages and online manual
mkdir /usr/local/http24/man
mkdir /usr/local/http24/man/man1
mkdir /usr/local/http24/man/man8
mkdir /usr/local/http24/manual
make[1]: Leaving directory '/data/httpd-2.4.51'
##配置环境
[root@centos84 httpd-2.4.51]# echo 'PATH=/usr/local/http24/bin:$PATH' > /etc/profile.d/httpd.sh
[root@centos84 httpd-2.4.51]# sou
soundstretch source
[root@centos84 httpd-2.4.51]# source /etc/profile.d/httpd.sh
[root@centos84 httpd-2.4.51]#
##启动apache
[root@centos84 httpd-2.4.51]# apachectl start
[root@centos84 httpd-2.4.51]# ps -aux | grep httpd
root 156765 0.0 0.1 118944 5392 ? Ss 07:37 0:00 /usr/local/http24/bin/httpd -k start
daemon 156766 0.0 0.3 2126000 11788 ? Sl 07:37 0:00 /usr/local/http24/bin/httpd -k start
daemon 156767 0.0 0.3 2126000 11788 ? Sl 07:37 0:00 /usr/local/http24/bin/httpd -k start
daemon 156768 0.0 0.3 2126000 13828 ? Sl 07:37 0:00 /usr/local/http24/bin/httpd -k start
root 156872 0.0 0.0 12136 1128 pts/1 S+ 07:37 0:00 grep --color=auto httpd
访问效果
3、利用sed 取出ifconfig命令中本机的IPv4地址
[root@centos84 ~]# ifconfig ens192 | sed -rn '2s/^.*inet ([0-9.]+) .*/\1/p'
172.30.232.201
4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
[root@centos84 ~]# cp /etc/fstab .
[root@centos84 ~]#
[root@centos84 ~]#
[root@centos84 ~]# cat fstab
#
# /etc/fstab
# Created by anaconda on Fri Dec 3 11:23:33 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=7a5e61a3-1145-471b-b933-1816ecafb229 /boot xfs defaults 0 0
UUID=E30C-3026 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap none swap defaults 0 0
[root@centos84 ~]# sed -ri.bak '/^$|^#/d' fstab
[root@centos84 ~]# cat fstab
/dev/mapper/cl-root / xfs defaults 0 0
UUID=7a5e61a3-1145-471b-b933-1816ecafb229 /boot xfs defaults 0 0
UUID=E30C-3026 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap none swap defaults 0 0
[root@centos84 ~]#
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名
[root@centos84 ~]# ls /etc/fstab | sed -rn 's#^(.*)/([^/]+)#\1#p'
/etc
[root@centos84 ~]# ls /etc/fstab | sed -rn 's#^(.*)/([^/]+)#\2#p'
fstab
[root@centos84 ~]#
6、列出ubuntu软件管理工具apt的一些用法(自由总结)
apt相关的文件
/etc/apt/sources.list 设置软件包的来源
/etc/apt/apt.conf apt配置文件
/etc/apt/apt.conf.d apt的零碎配置文件
/etc/apt/preferences 版本参数
/var/cache/apt/archives/ 存放已经下载的软件包
/var/cache/apt/archives/partial/ 存放正在下载的软件包
/var/lib/apt/lists/ 存放已经下载的软件包的详细信息
/var/lib/apt/lists/partial/ 存放正在下载的软件包的详细信息
yum和apt对比
任务 | CentOS(yum) | ubuntu(apt) |
软件源配置 | /etc/yum.conf | /etc/apt/sources.list |
更新软件包列表 | 每次运行yum时自动执行 | apt update |
从软件仓库软件安装软件 | yum install package | apt install package |
安装一个已下载的软件包 | yum install pkg.rpm rpm -i pkg.rpm | dpkg -i pkg.deb pkg --install pkg.deb |
删除软件包 | rpm -e package | apt remove package |
软件包升级检查/测试 | yum check-update | apt -s upgrade |
升级软件包 | yum update rpm -Uvh [args] | apt upgrade |
升级整个系统 | yum upgrade | apt dist-upgrade |
获取某软件包的信息 | yum search package | apt show package |
获取所有软件包的信息 | yum list available | apt-cache dumpavail |
显示所有已安装的软件 | yum list installed rpm -qa | dpkg -l dpkg --list |
获取某个已安装软件包的信息 | yum info package rpm -qi package | dpkg --status package |
列出某个已安装软件包所包含的文件列表 | rpm -ql package | |
列出某个已安装软件包所包含的文档 | rpm -qd package | |
列出某个已安装软件包所包含的配置文件 | rpm -qc package | |
显示某个软件包所依赖的软件包列表 | rpm -qR package | apt depends package |
显示某个软件包的反向依赖关系 | rpm -q -whatrequires [args] | apt rdepends package |
获取某个软件包文件的信息 | rpm -qpi pkg.rpm | dpkg --info pkg.deb |
获取某个软件包文件所包含的文件列表 | rpm -qpl pkg.rpm | dpkg --contents pkg.deb |
获取某个软件包文件所包含的文档 | rpm -qpd pkg.rpm | |
获取某个软件包文件所包含的配置文件 | rpm -qpc pkg.rpm | |
搜索某个文件是由哪个软件包安装的 | yum provides /file/name | apt search /file/name |
显示本地软件包缓存的状态 | apt-cache stats | |
删除本地缓存的所有软件包 | yum clean packages | apt clean |
仅删除本地缓存中过时的软件包 | apt autoclean | |
删除所有软件包信息 | yum clean headers | apt purge |