Linux
文章平均质量分 52
由浅入深的介绍Linux相关技术
白-胖-子
白胖子 sunmy@sunmy.pro
展开
-
Linux挂载点是否可以是软链接测试实验
挂载点可以是目录众所周知,挂载点可不可以是软连接呢?mount挂载点实验测试环境- OS:CentOS 8- mount from util-linux 2.32.1 (libmount 2.32.1: selinux, btrfs, debug)新添加磁盘一个虚拟机新添加磁盘一个分区并建立文件系统习惯创建逻辑卷取代传统fdisk分区方式pvcreate /dev/sdb&&vgcreate mvg /dev/sdb && lvcreate -.原创 2022-03-31 19:25:44 · 2008 阅读 · 0 评论 -
Linux利用sed批量自动化更换IP
需求30台服务器跨网段更换IP地址IP地址连续原IP 10.0.0.196~225新IP 10.0.1.51~81需求分析既然IP地址是连续的,就可以用本机IP加上或者减去一个固定的常量用来替换IP实践获取本机IP[root@C8-196 ~]# ifconfig eth0 | awk '/netmask/{print $2}'10.0.0.196利用本机IP计算出替换后的IP前缀可以直接替换,但最末尾主机位的地址要想办法自动生成通过计算对相同常量进行加减即可得到目标I原创 2022-03-18 00:25:00 · 4613 阅读 · 0 评论 -
Linux取ip地址
Linux花式取ip使用hostname -I取出的IP后面会有一个空格[root@centos8 ~]#hostname -I | cat -A10.0.0.8 $通常我们直接从ifconfig中取ip地址更准确利用grep配合grep取ip地址[root@C8-196 ~]# ifconfig | grep -w 'inet' | grep -v 127 |awk '{print $2}'10.0.0.196利用sed配合awk直接过滤取ip地址[root@C8-196原创 2022-03-17 23:16:05 · 8197 阅读 · 2 评论 -
Linux下多挂载点mount实验
mount挂载实验今天研发的同学打来电话问了一个奇葩的问题:同一个文件夹是否可以挂载多个nas?我的第一反应就是不可以,但又没细想为什么。现在我们就来做一个实验验证一下:同一个目录是否可以同时挂载多个分区/硬盘/逻辑卷/nas同一个分区/硬盘/逻辑卷/nas是否可以挂载到多个目录环境准备实验基线操作系统:CentOS Linux release 8.4.2105虚拟机创建3个新硬盘做为实验挂载用- 查看硬盘[root@C8-196 ~]# lsblkNAME M原创 2022-03-10 22:15:18 · 3330 阅读 · 1 评论 -
Linux下非逻辑卷扩容之新增盘扩容
导语我们都知道使用lv逻辑卷可以方便的扩容。但是当原盘不是逻辑卷且其上有数据的时候,如何扩容呢?因为扩容只能是磁盘type为逻辑卷lvm才可以。新增数据盘创建逻辑卷分区后在将原分区创建逻辑卷之后再合并。我们今天就来测试一下。添加硬盘添加两块磁盘## 查看分区情况我们看到新添加的两块盘已经可以用了[root@C8-196 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0原创 2022-03-03 00:58:29 · 11041 阅读 · 1 评论 -
Linux下非逻辑卷扩容之创建逻辑卷pvcreate是否会损坏原数据测试
导语我们都知道使用lv逻辑卷可以方便的扩容。但是当原盘不是逻辑卷且其上有数据的时候,如何扩容呢?因为扩容只能是磁盘type为逻辑卷lvm才可以。那么将有数据的盘直接pvcreate为虚拟卷lvm以后,是否对数据有损害?我们今天就来测试一下。添加硬盘虚拟机添加一个5G的磁盘作为实验用查看当前分区情况lsblk可以看到新加的5G磁盘sdb已经可以用了[root@C8-196 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUN原创 2022-03-02 22:02:33 · 1718 阅读 · 2 评论 -
linux配置应用服务器通过证书免密码登录SFTP测试站点
SFTP和vsftp是完全两回事。sftp是sshd服务附带的文件传输协议。vsftp是vsftpd服务,是正儿八经的传统意义上的FTPsftp配置文件sftp没有自己的配置文件,因为是sshd附赠的,所以和ssh公用22端口以及sshd的配置文件cat /etc/ssh/sshd_configsftp服务器配置其实每台能ssh上去的服务器都可以看作是sftp服务器但为了限制sftp的访问目录,俗话叫禁锢,需要在配置文件中做点设置修改配置文件添加禁锢sftp用户的配置信息,在原创 2022-02-26 23:16:21 · 2152 阅读 · 0 评论 -
VSFTP服务器配置具有不同访问权限的虚拟用户
vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,只需要在vsftpd.conf指定其路径及名称即可。#配置vsftpd为虚拟用户使用配置文件目录[root@centos8 ~]#vim /etc/vsftpd/vsftpd.conf#添加如下选项user_config_dir=/etc/vsftpd/userconf/#创建所需要目录,并为虚拟用户提供配置文件[root@c.原创 2022-02-17 22:16:52 · 1047 阅读 · 0 评论 -
Linux防火墙之通俗易懂的iptables五表五链解释
Linux防火墙Netfilter 是Linux 2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统。Linux内核自带防火墙功能,防火墙的实现就是基于对数据包的过滤。背景基础知识Linux操作系统对数据的处理都是通过内核来实现的,就像计算机的主要运算都是由CPU来完成的一样。一个完整的Linux操作系统由最核心的内核,负责内核与外部交互的shell,以及其他外部应用程序组成Linux内核空间负责接收外部数据并通过系统调用与计算机硬件例如cpu内存打交道内核中数据原创 2022-01-27 23:55:05 · 1043 阅读 · 0 评论 -
linux在man帮助里查找关键词字符串
man帮助Linux 提供了丰富的帮助手册,通过 man 命令可以查看 Linux 中的命令帮助、配置文件帮助和编程帮助等信息。通常如果遇到不熟悉的命令或者程序我们都会去查man帮助来了解真相查找关键词man 帮助的内容非常之多,为了快速找到需要定位的内容,我们可以进行关键词搜索来的定位问题键入斜杠 / 在后面输入需要查找的内容就好了,同时还支持正则表达式/<需要匹配的内容>SEARCHING /pattern * Search forward f原创 2021-09-14 19:37:28 · 3132 阅读 · 0 评论 -
Linux基础服务sshd简介
sshd由OpenSSH来提供SSH 协议:Secure Shell,安全的shell协议。SSH 为建立在应用层和传输层基础上的安全协议。sshd服务使用SSH协议可以用来进行远程控制, 或在计算机之间传送文件。sshd使用加密传输,较之使用明文传输的telnet传输文件要安全很多。sshd配置文件/etc/ssh/sshd_config如果井号开头的和后面参数没有空格的,表示默认值,是生效的如果井号开头和后面有空格的,表示纯注释调优参数端口默认端口22,外网生产环境需要修原创 2021-09-08 23:32:06 · 9586 阅读 · 0 评论 -
linux基于xfs文件系统实现数据备份和恢复
实战:xfs文件系统的备份和恢复XFS文件系统centos7选择xfs格式作为默认文件系统,而且不再使用以前的ext,仍然支持ext4,xfs专为大数据产生,每个单个文件系统最大可以支持8eb,单个文件可以支持16tb,不仅数据量大,而且扩展性高。还可以通过xfsdump,xfsrestore来备份和恢复。XFS备份 恢复工具XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据。xfsdump 按inode顺序备份一个XFS文件系统。与传统的U原创 2021-09-08 23:26:33 · 480 阅读 · 0 评论 -
linux文件和文件夹的创改删移
文件管理方式有多种:改变目录: cd创建/修改/移动/删除: touch mkdir mv vi rm cp创建文件和文件夹touch创建一个空文件命令:touch 作用:常用来创建空文件,如果文件存在,则修改这个文件的时间语法:touch 文件名[root@C8-3 ~]# lltotal 4-rw-------. 1 root root 1184 Mar 16 2020 anaconda-ks.cfgdrwxr-xr-x. 4 root root 70原创 2021-09-08 23:17:19 · 119 阅读 · 0 评论 -
Linux系统目录结构和相对/绝对路径
绝对路径和相对路径路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径绝对路径:在Linux中,绝对路径是从”/”开始的,比如/usr、/etc/passwd。如果一个路径是从根(/)开始的,它一定是绝对路径.相对路径:相对路径是以 . 或 … 开始的tree查看根目录[root@C8-3 ~]# tree -L 1 //├── bin -> usr/bin├── boot├── dev├── etc├── home├── lib原创 2021-09-08 23:11:41 · 868 阅读 · 0 评论 -
Linux关机命令和七个启动级别
常用的几个关机,重启命令shutdown 常做定时关机,相当于发送了 init 0init 0 工作中用init0比较多reboot 重启,相当于init 6poweroff 关机并关闭电源系统的启动级别作用:切换系统运行级别语法:init 0-6Linux 7个启动级别:0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的 1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录 2 多用户模式,没有NFS和网原创 2021-09-08 23:07:38 · 180 阅读 · 0 评论 -
Linux系统时间和硬件时间
系统时间在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟:是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟;系统时钟:则是指kernel中 的时钟;所有Linux相关指令与函数都是读取系统时钟的设定当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作两种时间查看硬件时间:[root@C8-3 ~]# hwclock2020-10-20 01:38:06.914963-04:00查看系统时间:[root@C8-3 ~]# dateT原创 2021-09-08 23:03:53 · 520 阅读 · 0 评论 -
linux伪终端和shell提示符
认识shellShell俗称壳,它提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行Shell实际上是一个命令解释器,它通过解释用户输入的命令并把它传输给系统内核去执行。Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。内部命令和外部命令内部命令:在系统启动时就调入内存,是常驻内存原创 2021-09-08 22:59:30 · 379 阅读 · 1 评论 -
Linux内核TCP参数优化
配置TCP优化编辑文件/etc/sysctl.conf,加入以下内容:然后执行 sysctl -p 让参数生效。net.ipv4.tcp_fin_timeout = 2net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_syncookies = 1net.ipv4.tcp_keepalive_time = 600net.ipv4.ip_local_port_range = 2000 65000net.ipv4.tc原创 2021-09-07 13:23:48 · 715 阅读 · 0 评论 -
Linux查看当前系统TCP连接数命令
netstat -n | awk '/^tcp/ {++S[$NF]} END{for(a in S) print a,S[a]}'LAST_ACK 14SYN_RECV 348ESTABLISHED 70FIN_WAIT1 229FIN_WAIT2 30CLOSING 33TIME_WAIT 18122最主要监控SYN_RECV和ESTABLISHEDLAST_ACK:等待原来的发向远程TCP的连接中断请求的确认-SYN_RECV:一个连接请求已经到达,等待确认ESTABLISH原创 2021-09-07 13:19:23 · 2207 阅读 · 0 评论 -
Ubuntu Server 20.04 LTS 安装过程中报running ‘curtin hook‘
安装Ubuntu Server 20.04 LTS 安装过程中,到了最后,界面上的running 'curtin hook’一直在转圈:Ubuntu Server 20.04 LTSのインストール時に最後のインストール画面でインストール状況を表示するログ画面があるのですが、その画面のrunning 'curtin hook’の横でスピナーがずっとぐるぐる回転しています。别在哪傻愣着呀,进去[ View full log] 看看,估计也看不懂。直接[ Reboot Now ] 就完事了!在原创 2021-08-07 17:21:56 · 1640 阅读 · 0 评论 -
Linux脚本编程Shell中关于 () 和 {}的区别
小括号和花括号的作用在bash中,小括号(CMD1;CMD2;…)和 花括号{ CMD1;CMD2;…; } 都可以将多个命令组合在一起,批量执行(list) list is executed in a subshell environment (see COMMAND EXECUTION ENVIRONMENT below). Variable assignments and builtin commands that affect the shell's environment原创 2021-08-03 10:04:23 · 1008 阅读 · 0 评论 -
Linux删除软链接不要使用rm -f
起因清理/root家目录,之前为了方便,对网卡目录做了软链接在家目录中。经过使用rm删除软链接时发生了小小的意外[08:29:51 root@C8-88[ ~]#lltotal 15892-rw-------. 1 root root 2590 Apr 28 10:08 88key-rw-r--r--. 1 root root 564 Apr 28 10:08 88key.pub-rw-------. 1 root root 1184 Mar 16 2020 an原创 2021-08-03 08:50:06 · 1762 阅读 · 0 评论 -
Linux基于bind快速搭建内网DNS服务器主从模式
1. 目的内网服务器通过设置内网DNS访问互联网内网DNS服务器解析内部域名2. 环境准备DNS服务器 10.0.0.88 可以正常访问互联网内部服务器 10.0.0.181 设置DNS地址为10.0.0.883. 搭建主DNS正向解析服务器3.1 安装bind软件和bind-unit工具yum -y install bind bind-utils3.2 修改配置文件sunmy.pro域 主DNS服务器10.0.0.181/24上实现sunmy.pro域 从DNS服务器10原创 2021-07-24 22:35:30 · 1098 阅读 · 4 评论 -
Linux系统根下常见目录功能简介
Linux的文件系统分层结构FHS文件系统层次标准:FHS Filesystem Hierarchy Standard文件和目录被组织成一个单根倒置树结构文件系统从根目录下开始,用“/”表示根文件系统(rootfs):root filesystem标准Linux文件系统(如:ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL以 . 开头的文件为隐藏文件路径分隔符 /文件名最长255个字节包括路径在内文件名称最长4095个字原创 2021-07-22 17:49:14 · 339 阅读 · 2 评论 -
Ubuntu查看系统版本信息的方法汇总
cat /proc/version推荐使用此方法获取Linux版本信息查看显示内存中kernel相关的版本、编译等信息Ubuntu和CentOS通用,可以显示内核版本同时显示发行版本sun@u20a:/root$ cat /proc/versionLinux version 5.4.0-77-generic (buildd@lgw01-amd64-028) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #86-Ubuntu SMP T原创 2021-07-13 11:16:29 · 9346 阅读 · 0 评论 -
Rocky Linux Yum源替换位上海交大镜像站点
清华、华为、163等镜像站点还没有rocky源上海交大提供Rocky镜像站点替换Rocky自带源位上海交大yum源sed -e 's|^mirrorlist=|#mirrorlist=|g' \ -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.sjtug.sjtu.edu.cn/rocky|g' \ -i.bak \ /etc/yum.repos.d/Rocky-*.r.原创 2021-07-09 12:16:08 · 3047 阅读 · 1 评论 -
Linux实现多网卡聚合绑定bonding
多网卡聚合bonding生产环境通常需要将多块网卡绑定同一IP地址对外提供服务,以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过 bonding技术,将多块物理网卡虚拟成一块网卡对外提供连接,bonding后多块物理网卡MAC地址被修改为相同的以接受报文Bonding 聚合链路工作模式bond聚合链路模式共7种模式:0-6 Modemod=0 balance-rrRound-robin policy(轮询)聚合口数据报文按包轮询从物理接口转发。mod=1原创 2021-07-07 17:48:14 · 1092 阅读 · 1 评论 -
CentOS继承者Rocky安装
选择语言设密码和分区开始安装喽装完咯重启重启后可以进入系统喽然后就可以登录喽登陆进去看版本安装完成原创 2021-07-05 11:43:08 · 203 阅读 · 0 评论 -
Linux基础服务sshd常见优化选项
sshd由OpenSSH来提供SSH 协议:Secure Shell,安全的shell协议。SSH 为建立在应用层和传输层基础上的安全协议。sshd服务使用SSH协议可以用来进行远程控制, 或在计算机之间传送文件。sshd使用加密传输,较之使用明文传输的telnet传输文件要安全很多。sshd配置文件/etc/ssh/sshd_config如果井号开头的和后面参数没有空格的,表示默认值,是生效的如果井号开头和后面有空格的,表示纯注释调优参数端口默认端口22,外网生产环境需要修原创 2021-07-03 15:24:37 · 469 阅读 · 1 评论 -
Linux系统I/O模型和网络I/O模型
计算机I/OI/O在计算机中指Input/Output,Linux服务器 I/O 原理和流程内核空间和用户空间数据交换具体参见:https://blog.csdn.net/timonium/article/details/117775331Linux系统I/O模型和网络I/O模型基于Linux服务器I/O原理提出的数据交换模式架构说人话:IO模型就是一种数据传递的设计方案太长不看版本同步和异步同步:使用天然气老水壶烧水,得盯着异步:使用物联网电水壶烧水,水烧开了自动停了还原创 2021-06-12 19:20:25 · 271 阅读 · 0 评论 -
Linux服务器 I/O 原理和流程
IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。一次完整的I/O是用户空间的进程数据与内核空间的内核数据的报文的完整交换。Linux服务器IO原理和流程你了解么?原创 2021-06-10 12:31:50 · 677 阅读 · 2 评论 -
Linux内核I/O 具体实现方式之epoll
epollepoll是Linux 2.6内核中提出的select和poll的增强版本epoll库,是Nginx服务器支持的最高性能的事件驱动库之一,是公认的非常优秀的事件驱动模型,epoll与select和poll有很大的区别,epoll是poll的升级版,但是与poll有很大的区别.epoll工作逻辑epoll对I/O请求的处理方式是创建一个待处理的事件列表,然后把这个列表发给内核,返回的时候在去轮训检查这个表,以判断事件是否发生,epoll支持一个进程打开的最大事件描述符的上限是系统原创 2021-06-09 12:59:36 · 293 阅读 · 0 评论 -
Linux负载均衡集群LVS十二种调度算法
LVSLinux Virtual Server1995 中国 章文嵩Linux内核默认组件接受用户请求并转发给后端服务器由后端服务器响应请求LVS四种工作模式DR 直接路由模式TUN 隧道模式NAT 地址转换模式FULLNAT 全部地址转换模式关于四种工作模式的详细介绍:https://blog.csdn.net/timonium/article/details/117594756LVS十二种调度算法ipvs scheduler:根据其调度时是否考虑各RS当前的负载状态原创 2021-06-05 23:20:46 · 307 阅读 · 0 评论 -
Linux负载均衡集群LVS四种工作模式原理及比较
LVSLinux Virtual Server1995 中国 章文嵩Linux内核默认组件接受用户请求并转发给后端服务器由后端服务器响应请求LVS集群四种工作模型DR模式DR 直接路由 默认模式速度最快,效率最高DR模式LVS和后端服务器使用MAC地址判断,不能跨路由解决VIP冲突可以在路由器上写IP和MAC绑定(不建议使用)关闭免费ARP,虽然请求单不应答ignore,对外发布announce。Gratuitous ARP也称为免费ARP,无故ARPRS服务器默默拥有VIP却原创 2021-06-05 14:33:54 · 278 阅读 · 0 评论 -
Linux内核中数据包的传输过程
三种报文流向流入本机:PREROUTING --> INPUT-->用户空间进程当一个数据包进入网卡时,数据包首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。如果数据包是进入本机的(目的IP为本机IP),数据包就会到达INPUT链。数据包到达INPUT链后,任何进程都会收到它。流出本机:用户空间进程 -->OUTPUT--> POSTROUTING本机上运行的程序可以发送数据包,这些数据包经过OUTPUT链,然后到达POSTROUTIN原创 2021-06-05 00:03:36 · 941 阅读 · 1 评论 -
linux数据同步工具rsync基本应用
rsyncrsync 为 linux系统下的最常用的数据备份工具,rsync可以实现远程同步,支持本地复制,或者与其他SSH、rsync主机同步数据,支持增量备份,配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时数据同步。rsync -av /root/v2.0.tar.gz /home/sun ## 将本地root下的包传到本地sun加目录里rsync -ac /root/sun/ root@10.0.0.192:/home/sun/原创 2021-06-03 21:17:12 · 693 阅读 · 0 评论 -
Linux实现基于MySQL存储用户的vsFTP服务
基于数据库存放ftp虚拟账户使用文本比较low使用mysql备份和管理更方便使用8.0没有加密函数,不能加密基于pam模块连接数据库实现pam_mysql模块系统默认没有cnetOS8上不支持数据库CHAR默认不支持区别大小写需要加binary环境准备vsftp CentOS7 10.0.0.183mysql(8.0以下) 或者mariadb 10.0.0.199安装并部署数据库安装数据库并设为开机启动yum -y install mariadb-server.x86_64原创 2021-06-02 23:56:59 · 244 阅读 · 0 评论 -
Linux网络文件共享服务之SAMBA 服务
SAMBA 服务简介SMB:Server Message Block 服务器消息块,IBM发布,SMB最早是DOS网络文件共享协议,是Windows中的私有协议CIFS:common internet file system,通用网络文件系统,微软基于SMB发布SAMBA:1991年 Andrew Tridgell 实现 Windows和UNIX相通官方网站:http://www.samba.org/SAMBA的功能:在Linux中模仿SMB共享共享文件和打印,实现在线编辑实现登录S原创 2021-06-02 21:12:17 · 239 阅读 · 1 评论 -
Linux网络文件共享服务之NFS
Linux网络文件共享服务NFS服务NFS:Network File System 网络文件系统,Sun 公司开发。通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,NFS基于RPC(Remote Procedure CallProtocol 远程过程调用)实现NFS依赖于RPCNFS启动时会将本身端口注册到RPC中NFS是文件系统,是基于内核的功能基于网络的资源通过文件系统实现 yum provides nfs-utilsnfs-utils-1:2.3.3原创 2021-06-02 13:42:36 · 224 阅读 · 0 评论 -
常见的http服务器软件
httpd apachehttp://httpd.apache.org/Apache是老牌Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。存在C10K(10K connections)问题,基于进程提供服务,产生过多I/O,高并发性能差。nginxhttps://www.nginx.com/Nginx (engine x) 是老毛子开发的一个高性能的HTTP和反向代理web服务器,同时也提原创 2021-05-26 13:42:51 · 5494 阅读 · 4 评论