N63044-第四周

第七天(学习线路图对应的第九天)

文本处理sed&软件管理
1、文本处理三剑客之sed的高级用法
2、软件运行和编译过程及库调用机制
3、rpm包管理器常用用法
4、yum实现和配置文件
5、yum的私有仓库和内核升级
6、源码编译安装软件
7、源码编译安装软件实战

第八天(学习线路图对应的第十天)
软件管理2
1、ubunut软件管理
2、磁盘类型和结构
3、MBR和GPT分区类型
4、文件系统管理
5、挂载管理和swap空间管理
6、移动设备和raid初步
7、raid工作原理和特性

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

本地源:

[root@centos8 ~]# cat /etc/yum.repos.d/base.repo
[BaseOS]
name=BaseOS
baseurl=file:///misc/cd/BaseOS
gpgcheck=1
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial


[AppStream]
name=Appstream
baseurl=file:///misc/cd/AppStream
gpgcheck=0


[root@centos8 ~]# yum repolist -v
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, uploadprofile
YUM version: 4.2.23
cachedir: /var/cache/dnf
Last metadata expiration check: 0:00:18 ago on Thu 13 Jan 2022 12:36:46 PM CST.
Repo-id            : AppStream
Repo-name          : Appstream
Repo-revision      : 8.3.2011
Repo-distro-tags      : [cpe:/o:centos:centos:8]:  , 8, C, O, S, e, n, t
Repo-updated       : Thu 19 Nov 2020 05:37:48 AM CST
Repo-pkgs          : 5,684
Repo-available-pkgs: 4,988
Repo-size          : 6.9 G
Repo-baseurl       : file:///misc/cd/AppStream
Repo-expire        : 172,800 second(s) (last: Thu 13 Jan 2022 12:36:46 PM CST)
Repo-filename      : /etc/yum.repos.d/base.repo

Repo-id            : BaseOS
Repo-name          : BaseOS
Repo-revision      : 8.3.2011
Repo-distro-tags      : [cpe:/o:centos:centos:8]:  , 8, C, O, S, e, n, t
Repo-updated       : Thu 19 Nov 2020 05:37:42 AM CST
Repo-pkgs          : 1,694
Repo-available-pkgs: 1,692
Repo-size          : 1.1 G
Repo-baseurl       : file:///misc/cd/BaseOS
Repo-expire        : 172,800 second(s) (last: Thu 13 Jan 2022 12:36:45 PM CST)
Repo-filename      : /etc/yum.repos.d/base.repo
Total packages: 7,378

网络源:

#添加光盘
添加多一个cdrom,加载centos7光盘

#scandisk扫描光盘
[root@centos8 html]# echo "- - -" > /sys/class/scsi_host/host0/scan 
[root@centos8 html]# echo "- - -" > /sys/class/scsi_host/host1/scan 
[root@centos8 html]# echo "- - -" > /sys/class/scsi_host/host2/scan 

#安装httpd
[root@centos8 ~]# yum install httpd -y
[root@centos8 ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

#创建目录
[root@centos8 cd]# cd /var/www/html
[root@centos8 html]# mkdir centos/{7,8} -pv
mkdir: created directory 'centos'
mkdir: created directory 'centos/7'
mkdir: created directory 'centos/8'

#挂载光盘到var目录下
[root@centos8 html]# mount /dev/sr1 /var/www/html/centos/7

#多行注释:
1. 进入命令行模式,按ctrl + v进入 visual block模式
2. 按大写字母I,再插入注释符,例如#
3. 按esc键就会全部注释了

#切换到centos7测试
[root@centos7 yum.repos.d]# cat base.repo
[base]
name=CentOS
baseurl=http://10.0.0.101/centos/7/
gpgcheck=0
[root@centos7 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                                        repo name                                                      status
base                                                           CentOS                                                         10,072
repolist: 10,072
[root@centos7 ~]# yum install vsftpd -y

2、编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交。

#1 安装相关包
[root@centos8 ~]# dnf install gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config -y

#2 下载并解压压缩包
[root@centos8 ~]# cd /usr/local/src/
[root@centos8 src]# tar -xvf httpd-2.4.52.tar.bz2 

#3 配置
[root@centos8 ~]# cd /usr/local/src/httpd-2.4.52/
[root@centos8 httpd-2.4.52]# ./configure --prefix=/apps/httpd --sysconfdir=/etc/httpd --enable-ssl

#4 编译并安装
[root@centos8 httpd-2.4.52]# make -j 2 && make install

#5 配置环境
[root@centos8 ~]# echo 'PATH=/apps/httpd/bin:$PATH' > /etc/profile.d/httpd.sh
[root@centos8 ~]# . /etc/profile.d/httpd.sh

#6 运行
[root@centos8 ~]# apachectl start

#7指定用apache用户运行
[root@centos8 ~]# apachectl stop
[root@centos8 ~]# useradd -r -s /sbin/nologin -d /var/www -c apache -u 88 apache
[root@centos8 ~]# vim /etc/httpd/httpd.conf 
user apache
group apache

#8 配置生效和验证
[root@centos8 ~]# apachectl start

#9 查看进程
[root@centos8 ~]# ps aux |grep httpd
root       69038  0.0  0.2 119000  5236 ?        Ss   16:22   0:00 /apps/httpd/bin/httpd -k start
apache     69039  9.5  0.5 1339616 11756 ?       Sl   16:22   0:00 /apps/httpd/bin/httpd -k start

#10 用浏览器打开以下地址,可以查看页面

在这里插入图片描述

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

[root@centos8 ~]# ifconfig eth0 | sed -nr "2s/[^0-9]+([0-9.]+).*/\1/p"
10.0.0.101
[root@centos8 ~]# ifconfig eth0 | sed -En '2s/^[^0-9]+([0-9.]{7,15}).*/\1/p'
10.0.0.101
[root@centos8 ~]# ifconfig eth0 | sed -rn '2s/^[^0-9]+([0-9.]+) .*$/\1/p'
10.0.0.101
[root@centos8 ~]# ifconfig eth0 | sed -n '2s/^.*inet //p' | sed -n 's/netmask.*//p'
10.0.0.101  
[root@centos8 ~]# ifconfig eth0 | sed -n '2s/^.*inet //;s/ netmask.*//p'
10.0.0.101 
[root@centos8 ~]# ifconfig eth0 | sed -rn '2s/(.*inet )([0-9].*)(netmask.*)/\2/p'
10.0.0.101 

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

[root@centos8 data]# sed -i '/^#/d' fstab 
[root@centos8 data]# cat fstab 

UUID=e2bec96f-8e60-4bc1-bbc6-031f1cc720d3 /                       xfs     defaults        0 0
UUID=d379715f-8c3e-42be-aac6-1ba6cd051c15 /boot                   ext4    defaults        1 2
UUID=f63da3a4-f4f9-494f-8a2e-5d91ceef2d71 /data                   xfs     defaults        0 0
UUID=b1a24466-55f3-4822-b313-59ce5276a82a none                    swap    defaults        0 0

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

#取目录名
[root@centos8 ~]# echo /etc/fstab/ | sed -rn 's#(.*)/([^/]+)/?#\1#p'
/etc
#取基名
[root@centos8 ~]# echo /etc/fstab/ | sed -rn 's#(.*)/([^/]+)/?#\2#p'
fstab

6、列出ubuntu软件管理工具apt的一些用法(自由总结)

Debian 使用apt 工具集来管理包系统,apt-get 是其中一个常用的命令行工具,另外一款较为流行的命令行与 GUI 兼顾的工具是 aptitude ,之前最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令中
在 2014 年apt 命令发布第一个稳定版,Ubuntu 16.04 引入新特性之一便是 apt 命令,apt 命令解决了命令过于分散的问题,它包括 apt-get 命令出现以来使用最广泛的功能选项,以及 apt-cache 和 apt-config 命令中很少用到的功能。在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config,提供管理软件包所需的必要选项
apt 相当于 apt-get、apt-cache 和 apt-config 中最常用命令选项的集合
apt 具有更精减但足够的命令选项,而且参数选项的组织方式更为有效。此外,启用的几个特性也非常有帮助。例如:可以在使用 apt 命令安装或删除程序时看到进度条,apt 还会在更新存储库数据库时提示用户可升级的软件包个数
apt 与 apt-get 有一些类似的命令选项,但它并不能完全向下兼容 apt-get 命令,也即可用 apt 替换部分apt-get 系列命令,但不是全部
apt 命令用法
查看帮助:apt help

apt与apt-get命令对比

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 	编辑源列表

可以修改上面文件为国内的安装源,提高速度
参考链接:https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.53322f70fghx56
范例: 修改APT源为阿里源

root@ubuntu1804:~# sed -i 's/hk.archive.ubuntu.com/mirrors.aliyun.com/' /etc/apt/sources.list
root@ubuntu1804:~# sed -i 's/security.ubuntu.com/mirrors.aliyun.com/' /etc/apt/sources.list

apt命令操作(如安装和删除软件包)日志文件

/var/log/dpkg.log

范例:

#安装包:
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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值