Linux教程

linux_3

本文主要是介绍linux_3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

 #1 关闭防火墙
 vim /etc/selinux/config
 SELINUX=disabled
 #2 查看防火墙为关闭状态
 firewall-cmd --permanent --list-port
 FirewallD is not running
 #3 安装httpd
 yum -y install httpd
 #4 开启apache服务并设置开机启动
 systemctl enable --now httpd
 #5 http访问测试,能够正常打开网站。
 #6 创建文件夹用于存放本地源
 mkdir -p /var/www/html/centos/7/os/x86_64
 #7 挂载光盘或拷贝光盘文件到x86_64文件夹
 mount /dev/cdrom /var/www/html/centos/7/os/x86_64
 #8 打开网页地址可正常显示光盘内的文件
 #9 先把原来系统相关的配置文件归置备份
 mkdir /etc/yum.repos.d/bak
 mv /etc/yum.repos.d/* /etc/yum.repos.d/bak/
 #10 修改配置文件
 vim /etc/yum.repos.d/base.repo
 [BaseOS]
 name=BaseOS
 baseurl=http://192.168.61.128/centos/$releasever/os/x86_64/
         https://mirrors.cloud.tencent.com/centos/$releasever/os/$basearch/
         https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
         https://repo.huaweicloud.com/centos/$releasever/os/$basearch/
 gpgcheck=0
 enabled=1
​
 [epel]
 name=Epel
 baseurl=https://mirrors.aliyun.com/epel/$releasever/$basearch/
         https://mirrors.cloud.tencent.com/epel/$releasever/$basearch/
         https://mirrors.huaweicloud.com/epel/$releasever/$basearch/
 gpgcheck=0
 enabled=1
 #11 查看源是否正常
 yum repolist 
 repo id                                                                       repo name                                                            status
 BaseOS/7/x86_64                                                               BaseOS                                                                4,070
 epel/7/x86_64                                                                 Epel                                                                 13,748
 repolist: 17,818

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

 #1 安装相关包
 yum  install -y  gcc make autoconf apr-devel apr-util-devel pcredevel openssl-devel redhat-rpm-config
 #2 查看是否有安装失败
 [root@centos7 ~]# echo $?

 #3 下载并解压缩包,下载时出现证书过期,加--no-check-certificate 忽略证书
 wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.53.tar.bz2 --no-check-certificate
 tar xvf httpd-2.4.46.tar.bz2 -C /usr/local/src
 #4 配置
 [root@centos7 src]# cd /usr/local/src/httpd-2.4.53/
 [root@centos7 httpd-2.4.53]#  ./configure --prefix=/apps/httpd --sysconfdir=/etc/httpd --enable-ssl
 #5 编译并安装 -j 2  代表CPU盒数 可更改
 [root@centos8 httpd-2.4.46]#make -j 2 && make install
 #6 配置环境
 [root@centos7 httpd-2.4.53]# echo 'PATH=/apps/httpd/bin:$PATH' > /etc/profile.d/httpd.sh
 [root@centos7 httpd-2.4.53]# . /etc/profile.d/httpd.sh
 #7 运行
 [root@centos7 httpd-2.4.53]# apachectl start
 #8 指定用apache用户运行
 [root@centos7 httpd-2.4.53]# useradd -r -s /sbin/nologin -d /var/www -c Apache -u 48 apache
 #9 修改apache账号
 [root@centos7 httpd-2.4.53]# vim /etc/httpd/httpd.conf
 user apache
 group apache
 #10 配置生效和验证
 [root@centos7 httpd-2.4.53]# apachectl restart
 #11 查看进程,已经变为apache账号
 [root@centos8 ~]#ps aux
 #12 查看进程
 [root@centos8 ~]#ps aux
 #13 用浏览器打开网址,可以正常显示。

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

[root@centos7 ~]# ifconfig ens33| sed -rn '2s/inet ([0-9.]+).*/\1/p'

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

[root@centos7 ~]# sed -ri.bak  's/^#[ \t]+//g' /etc/fstab

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

[root@centos7 ~]# echo /etc/fstab | sed -nr 's#(^\/.*)\/(.*)#\1#p'
/etc
[root@centos7 ~]# echo /etc/fstab | sed -nr 's#(^\/.*)\/(.*)#\2#p'
fstab

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

  1. apt -remove:移除软件包,但会有残留配置文件

  2. apt -purge:移除软件包,并清除配置文件

  3. apt-file :查找不存在的文件来自于哪个软件包

  4. apt update:刷新存储库索引

  5. apt install:安装软件包

  6. apt list:列出软件包

7、简述osi七层模型和TCP/IP五层模型

  • ​ osi七层模型

    • 物理层:提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。

    • 数据链路层:在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控。

    • 网络层:控制分组传送系统的操作、路由选择、拥护控制、网络互连等功能,它的作用是将具体的物理传送对高层透明。

    • 传输层:提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。

    • 会话层:提供两进程之间建立、维护和结束会话连接的功能;提供交互会话的管理功能,如三种数据流方向的控制,即一路交互、两路交替和两路同时会话模式 。

    • 表示层:代表应用进程协商数据表示;完成数据转换、格式化和文本压缩。

    • 应用层:提供OSI用户服务,例如事务处理程序、文件传送协议和网络管理等。

  • 五层模型(TCP/IP模型)

  • 应用层:各种应用程序协议,如HTTP、FTP、SMTP、POP3。

  • 传输层:四层交换机、也有工作在四层的路由器。

  • 网络层:路由器、三层交换机。

  • 数据链路层:网桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层)。

  • 物理层:中继器、集线器、还有我们通常说的双绞线也工作在物理层。

8、总结描述TCP三次握手四次挥手

  • 三次握手

    • 客户端:CLOSE -> SYN-SEND -> ESTAB-LISHED。

    • 服务器端:LISTEN -> SYN-RCVD -> ESTAB-LISHED。

      • 客户端应用打开端口向服务器端发送请求后自动进入SYN-SEND状态。

      • 服务器端立即响应客户端请求后进入后自动SYN-RCVD状态并向客户发送响应。

      • 客户端收到响应后立即响应服务器端同时自动进入ESTAB-LISHED,服务器端收到客户端响应后自动进入ESTAB-LISHED,至此已建立连接。

  • 四次挥手

    • 客户端:ESTAB-LISHED -> FIN-WAIT1 -> FIN-WAIT2 -> TIME-WAIT ->CLOSE。

    • 服务器端:ESTAB-LISHED -> CLOSE-WAIT -> LAST-ACK -> CLOSE。

      • 客户端向服务器发送分手请求自动进入FIN-WAIT1状态。

      • 服务器收到请求立即响应自动进入CLOSE-WAIT状态并向客户端发送响应。

      • 客户端收到响应后进入FIN-WAIT2状态服务器端可以继续向客户端发送剩余数据发送完毕后向客户端发送分手请求并进入LAST-ACK状态。

      • 户端收到服务器分手请求立即响应后进入TIME-WAIT状态(防止丢包)然后进入CLOSE状态服务器端收到客户端响应后进入CLOSE状态,至此已断开链接。

9、描述TCP和UDP区别

  • 连接

    • TCP:面向连接

    • UDP:无连接

  • 可靠性

    • TCP:可靠

    • UDP:不可靠

  • 应用场合

    • TCP:传输数据量比较少,对可靠性要求高

    • UDP:传输数据量大,对可靠性要求不是很高,但要求速度快

  • 传输速度

    • TCP:慢

    • UDP:快

  • 重发

    • TCP:重发

    • UDP:不重发

  • 错误检测

    • TCP:检测

    • UDP:不检测

10、网卡绑定bond0的实现

#1 修改网卡名称
[root@centos7 ~]# sed -i '/GRUB_CMDLINE_LINUX=/s#quiet#& net.ifnames=0#' /etc/default/grub 
[root@centos7 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@centos7 ~]# reboot
#2 添加bonding接口
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.61.130/24 
#3 添加从属接口
nmcli con add type bond-slave ifname eth0 master bond0
nmcli con add type bond-slave ifname eth1 master bond0
#4 启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
#5 启动绑定
nmcli con up bond0
​

 

这篇关于linux_3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!