4、文本处理、软件管理

1、自建CentOS 8的yum仓库,分别为本地源和网络源

1)仓库服务器配置:编译安装httpd(略)、挂载光盘

mkdir -p /apps/httpd/htdocs/centos/8
mount /dev/cdrom /mnt/
cp -a /mnt/* /apps/httpd/htdocs/centos/8/

2)yum客户端配置

vim /etc/yum.repo.d/centos.repo
[BaseOS]
name=BaseOS
baseurl=http://192.168.200.165/centos/8/BaseOS
gpgcheck=0

[AppStream]
name=AppStream
baseurl=http://192.168.200.165/centos/8/AppStream
gpgcheck=0

3)先在yum服务器添加阿里云的extras和epel网络源,先在repo文件中添加阿里的源

vim centos8.repo
... ...
[epel]
name=EPEL
baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/
gpgcheck=0

[extras]
name=extras
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os
gpgcheck=0

4)下载阿里云的extras和epel网络源

dnf reposync --repoid=extras --download-metadata -p /apps/httpd/htdocs/centos/8/
dnf reposync --repoid=epel   --download-metadata -p /apps/httpd/htdocs/centos/8/

5)在yum客户端repo配置文件中添加

[BaseOS]
name=BaseOS
baseurl=http://192.168.200.165/centos/8/BaseOS
gpgcheck=0

[AppStream]
name=AppStream
baseurl=http://192.168.200.165/centos/8/AppStream
gpgcheck=0

[extras]
name=extras
baseurl=http://192.168.200.165/centos/8/extras

[epel]
name=epel
baseurl=http://192.168.200.165/centos/8/epel

6)yum客户端查看源是否创建成功,并且可以下载安装

yum repolist -v
dnf install cowsay sl
sl -a
animalsay hello

?

2、编译安装http2.4,实现可以正常访问

1)下载httpd,并解压

[root@runcx ~]#wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.48.tar.gz
[root@runcx ~]#tar zxvf httpd-2.4.48.tar.gz -C /usr/local/src/

2)安装相关基础包

[root@runcx ~]#dnf install gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config

3)配置

[root@runcx ~]#cd /usr/local/src/httpd-2.4.48/
[root@runcx httpd-2.4.48]# ./configure --prefix=/apps/httpd --sysconfdir=/etc/httpd --enable-ssl

4)编译安装

[root@runcx httpd-2.4.48]# make -j 4 && make install

5)配置环境

[root@runcx httpd-2.4.48]# echo ‘PATH=/apps/httpd/bin:$PATH‘ > /etc/profile.d/httpd.sh
[root@runcx httpd-2.4.48]# source /etc/profile.d/httpd.sh

6)指定apache用户运行httpd

[root@runcx ~]#useradd -r -s /sbin/nologin -d /var/www -c Apache -u 48 apache

7)编辑httpd配置文件:

vim /etc/httpd/http.conf
        User apache
        Group apche
        ServerName localhost:80

8)启动并查看

[root@runcx ~]#apachectl start
[root@runcx ~]#ps -aux | grep httpd
[root@runcx ~]#netstat -ntupl | grep 80

?

3、利用sed 取出ifconfig命令中本机的IPv4地址

ifconfig ens160 | sed -rn "2s/[^0-9]+([0-9.]+).*/\1/p"

?

4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符

sed  -i.bak ‘/^# .*/d‘ /etc/fstab

?

5、处理/etc/fstab路径,使用sed命令取出其目录名和基名

取目录名:echo /etc/fstab | sed -rn ‘s@^(.*)/([^/].*)@\1@p‘
取基名:echo /etc/fstab | sed -rn ‘s@^(.*)/([^/].*)@\2@p‘

?

6、ubuntu软件管理工具apt的一些用法

apt 命令          被取代的命令                 命令的功能
apt install         apt-get install             安装软件包
apt remove          apt-get remove              移除软件包
apt purge           apt-get purge               移除软件包及配置文件
apt update          apt-get update              刷新存储库索引
apt upgrade         apt-get upgrade             升级所有可升级的软件包
apt autoremove      apt-get autoremove          自动删除不需要的包
apt full-upgrade    apt-get dist-upgrade        在升级软件包时自动处理依赖关系
apt search          apt-cache search            搜索应用程序
apt show            apt-cache show              显示安装细节
apt特有命令:
apt list 列出包含条件的包(已安装,可升级等)
apt edit-sources 编辑源列表

举例:

#安装包:
apt install tree zip
#安装图形桌面
apt install ubuntu-desktop
#删除包:
apt remove tree zip
#说明:apt remove中添加--purge选项会删除包配置文件,谨慎使用
#更新包索引,相当于yum clean all;yum makecache
apt update  
#升级包:要升级系统,请首先更新软件包索引,再升级
apt upgrade
#apt列出仓库软件包,等于yum list
apt list
#搜索安装包
apt search nginx
#查看某个安装包的详细信息
apt show apache2 
#在线安装软件包
apt install apache2 
#卸载单个软件包但是保留配置?件
apt remove apache2 
#删除安装包并解决依赖关系
apt autoremove apache2 
#更新本地软件包列表索引,修改了apt仓库后必须执?
apt update
#卸载单个软件包删除配置?件
apt purge apache2 
#升级所有已安装且可升级到新版本的软件包
apt upgrade
#升级整个系统,必要时可以移除旧软件包。
apt full-upgrade 
#编辑source源?件
apt edit-sources 
#查看仓库中软件包有哪些版本可以安装
apt-cache madison nginx 
#安装软件包的时候指定安装具体的版本
apt install nginx=1.14.0-0ubuntu1.6 
#查看文件来自于哪个包,类似redhat中的yum provides <filename>
apt-file search ‘string‘  #默认是包含此字符串的文件
apt-file search -x  ‘正则表达式‘
apt-file search -F /path/file
上一篇:Vue学习(二)--项目搭建之使用IDEA创建vue项目


下一篇:ES6解构与默认值的结合使用