1、自建yum仓库,分别为网络源和本地源
自建YUM仓库
1012 cd /var/www/html/centos8/AppStream/
1013 ls
1014 cd Packages/
1015 ls
1016 find . -name *http*
1017 find . -name "*http*"
#拷贝软件包,没具体查列表和依赖,只是把关联的http、apr、lib全搜索复制了
1018 mkdir /data/testrepo;find . -name "*http*" -exec cp -r -p {} /data/testrepo \;
1042 find . -name "apr*" -exec cp -r -p {} /data/testrepo \;
1050 find /mnt/hgfs/AppStream/ -name "lib*" -exec cp -r -p {} /data/testrepo \;
#生成repodata数据
1023 yum -y install createrepo
1024 createrepo .
#配置软链接提供http服务
1025 ln -s /data/testrepo /var/www/html/centos8/testrepo
yum客户端使用自建仓库安装httpd(只自建了AppStream,BaseOS使用的光驱挂载的):
[root@localhost ~]# vim /etc/yum.repos.d/yumfiles.repo
[AppStream]
name=AppStream
#baseurl=file:///opt/rhel8/AppStream
#baseurl=http://192.168.1.200/centos8/AppStream
baseurl=http://192.168.1.200/centos8/testrepo
gpgcheck=0
enabled=1
[BaseOS]
name=BaseOS
#baseurl=file:///opt/rhel8/BaseOS
baseurl=http://192.168.1.200/centos8/BaseOS
gpgcheck=0
enabled=1
[root@localhost ~]# yum -y install httpd
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
AppStream 1.1 MB/s | 3.0 kB 00:00
BaseOS 1.5 MB/s | 3.9 kB 00:00
Dependencies resolved.
<--ommited-->
...
Installed products updated.
Installed:
httpd-2.4.37-39.module_el8.4.0+778+c970deab.x86_64 apr-util-bdb-1.6.1-6.el8.x86_64
apr-util-openssl-1.6.1-6.el8.x86_64 apr-1.6.3-11.el8.x86_64
apr-util-1.6.1-6.el8.x86_64 httpd-filesystem-2.4.37-39.module_el8.4.0+778+c970deab.noarch
httpd-tools-2.4.37-39.module_el8.4.0+778+c970deab.x86_64 mod_http2-1.15.7-3.module_el8.4.0+778+c970deab.x86_64
centos-logos-httpd-85.5-1.el8.noarch
Complete!
[root@localhost ~]#
配置本地源,将linux安装光盘内的yum文件保存到本地目录下:
[root@localhost ~]# cat /etc/yum.repos.d/yumfiles.repo
[AppStream]
name=AppStream
baseurl=file:///opt/rhel8/AppStream
gpgcheck=0
enable=1
[BaseOS]
name=BaseOS
baseurl=file:///opt/rhel8/BaseOS
gpgcheck=0
enable=1
[root@localhost ~]# yum repolist
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:00:31 ago on Tue 21 Sep 2021 12:42:36 AM PDT.
repo id repo name status
AppStream AppStream 4,820
BaseOS BaseOS 1,661
[root@localhost ~]#
配置网络源:
Centos8挂载光驱,安装httpd软件包,创建软链接将光驱下AppStream和BaseOS链接到/var/www/html/centos8目录下:
[root@cenos8 html]# ln -s /mnt/hgfs/AppStream /var/www/html/centos8/AppStream
[root@cenos8 html]# ls centos8/
AppStream
[root@cenos8 html]# ln -s /mnt/hgfs/BaseOS /var/www/html/centos8/BaseOS
[root@cenos8 html]# cd centos8/
[root@cenos8 centos8]# ls
AppStream BaseOS
其他主机可以直接通过http访问这个地址:
[root@localhost yum.repos.d]# vim yumfiles.repo
[AppStream]
name=AppStream
#baseurl=file:///opt/rhel8/AppStream
baseurl=http://192.168.1.200/centos8/AppStream
gpgcheck=0
enabled=1
[BaseOS]
name=BaseOS
#baseurl=file:///opt/rhel8/BaseOS
baseurl=http://192.168.1.200/centos8/BaseOS
gpgcheck=0
enabled=1
[root@localhost yum.repos.d]# yum repolist
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:00:33 ago on Tue 21 Sep 2021 12:45:13 AM PDT.
repo id repo name status
AppStream AppStream 5,150
BaseOS BaseOS 1,708
[root@localhost yum.repos.d]#
2、编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交。
- rpm -qi httpd,查看软件包信息,找到apache官网链接:
- https://httpd.apache.org/
wget https://dlcdn.apache.org//httpd/httpd-2.4.49.tar.bz2
,从官网下载2.4版本的tar.bz2压缩包tar -xf httpd-2.4.49.tar.bz2 -C /usr/local/src
,压缩包解压到/usr/local/src目录安装编译相关的依赖的软件包:
yum -y install gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config
查看INSTALL文件,确认应该如何执行configure,或者直接执行./configure --help确认
./configure --prefix=/opt/httpd --sysconfdir=/opt --enable-ssl
--prefix,指定安装目录
--sysconfdir,指定配置文件安装目录
--enable-ssl,启用https支持
make -j 4 && make install
,编译并安装失败,提示缺少bison,yum provides bison可以看到应该安装哪个软件包
失败,缺少flex,同样方式查看并安装
echo $?输出为0,成功
在PATH变量前面添加httpd的目录,同时执行该脚本让变量立即生效:
echo 'PATH=/opt/httpd/bin:$PATH' > /etc/profile.d/httpd.sh
. /etc/profile.d/httpd.sh
确认变量修改成功:
[root@cenos8 ~]# echo $PATH
/opt/httpd/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
- 执行
apachectl start
弹出错误提示,需要设置ServerName,进入在--sysconfdir中指定的配置文件,修改ServerName项,重启apache;
最终结果,从其他主机也可以访问
3、利用sed 取出ifconfig命令中本机的IPv4地址
[root@cenos8 ~]# ifconfig | sed -n '/ens33/,/inet/p' | sed -r -n '/2/s@(^[[:space:]]+inet[[:space:]]+)([[:digit:].]+)(.*$)@\2@p' | cat -A
192.168.1.200$
[mxx@Ubuntu01:~$]ifconfig | sed -n '/ens33/,/inet/p' | sed -r -n '/2/s@(^[[:space:]]+inet[[:space:]]+)([[:digit:].]+)(.*$)@\2@p' | cat -A
192.168.1.100$
4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
改成-ri
则直接修改文件内容:
[mxx@Ubuntu01:~$]cat /etc/fstab | sed -r 's/(^#[[:space:]]+)//' | cat -A
/etc/fstab: static file system information.$
#$
Use 'blkid' to print the universally unique identifier for a$
device; this may be used with UUID= as a more robust way to name devices$
that works even if disks are added and removed. See fstab(5).$
#$
$
/ was on /dev/sda2 during curtin installation$
/dev/disk/by-uuid/81ae8282-7d2f-4b0f-9c42-b381c51dd581 / xfs defaults 0 0$
/boot was on /dev/sda3 during curtin installation$
/dev/disk/by-uuid/e5361f38-c31b-42c5-88e0-bad5ec373758 /boot ext4 defaults 0 0$
/dev/disk/by-uuid/7249852c-c9e9-47f6-a9a1-577f87e6651e none swap sw 0 0$
/data was on /dev/sda5 during curtin installation$
/dev/disk/by-uuid/757532f5-1774-4ed6-8c5a-903229115663 /data xfs defaults 0 0$
/swap.img^Inone^Iswap^Isw^I0^I0$
[root@cenos8 yum.repos.d]# cat /etc/fstab | sed -r 's/(^#[[:space:]]+)//' | cat -A
$
#$
/etc/fstab$
Created by anaconda on Sun Aug 22 12:58:50 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.$
#$
UUID=b6913f81-757b-4253-b8ae-25445dc0d41f / xfs defaults 0 0$
UUID=5372c2a0-9b40-473a-9199-0357f545d8d4 /boot ext4 defaults 1 2$
UUID=8d8546c1-f22b-43c6-9e28-1e8cc8dfd934 /data xfs defaults 0 0$
UUID=3d13c06c-3888-4a33-93c5-c5251b2073f8 none swap defaults 0 0$
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名
[root@cenos8 yum.repos.d]# echo "/etc/fstab" | sed -n -r 'h;s/^(\/\w+\/)(\w+)/\1/p;g;s//\2/p'
/etc/
fstab
[mxx@Ubuntu01:~$]echo "/etc/fstab" | sed -n -r 'h;s/^(\/\w+\/)(\w+)/\1/p;g;s//\2/p'
/etc/
fstab
6、列出ubuntu软件管理工具apt的一些用法(自由总结)
任务 | Ubuntu |
---|---|
基本信息 | |
软件包后缀 | *.deb |
软件源配置文件 | /etc/apt/sources.list |
安装、删除、升级软件包 | |
更新软件包列表 | apt-get update apt update |
从软件仓库软件安装软件 | apt-get install package |
安装一个已下载的软件包 | dpkg -i pkg.debpkg --install pkg.deb |
删除软件包 | apt-get remove package |
软件包升级检查/测试 | apt-get -s upgradeapt-get -s dist-upgrade |
升级软件包 | apt-get upgrade |
升级整个系统 | apt-get dist-upgrade |
软件包信息 | |
获取某软件包的信息 | apt-cache show package |
检查软件包的可用版本和依赖 | apt-cache showpkg my_pkg |
获取所有软件包的信息 | apt-cache dumpavail |
显示所有已安装的软件 | dpkg -ldpkg --list apt list --installed |
显示可安装的模块 | apt list |
显示可安装的包组 | |
获取某个已安装软件包的信息 | dpkg --status package |
列出某个已安装软件包所包含的文档 | 无 |
列出所有已安装的软件 | dpkg -l grep -v是反转标记,反向匹配,类似exclude dpkg --get-selections | grep -v deinstall dpkg --get-selections | grep -v install--匹配未安装 apt list --installed | grep ssh |
列出某个已安装软件包所包含的文件列表 | dpkg -S package-name sudo dpkg -L 软件名称--显示安装路径 |
列出某个已安装软件包所包含的配置文件 | 无apt命令 |
显示某个软件包所依赖的软件包列表 | apt-cache depends package |
显示某个软件包的反向依赖关系 | apt-cache rdepends package |
软件包文件信息 | |
获取某个软件包文件的信息 | dpkg --info pkg.deb |
获取某个软件包文件所包含的文件列表 | dpkg --contents pkg.deb |
获取某个软件包文件所包含的文档 | 无apt命令 |
获取某个软件包文件所包含的配置文件 | 无apt命令 |
软件包解压 | dpkg-deb --extract pkg.deb |
搜索某个文件是由哪个软件包安装的 | dpkg -S /file/name dpkg --search /file/name |
搜索所有提供某个文件的软件包 | apt-file search /file/name apt search file-name 需安装apt-file软件包 |
杂项 | |
显示本地软件包缓存的状态 | apt-cache stats |
校验所有已安装的软件包 | debsums |
删除本地缓存的所有软件包 | apt-get clean |
仅删除本地缓存中过时的软件包 | apt-get autoclean |
删除所有软件包信息 | apt-file purge |