Linux
文章平均质量分 71
HunterMichaelG
这个作者很懒,什么都没留下…
展开
-
【history】如何丝滑地记录Linxu命令行操作历史?
如何丝滑地记录Linxu命令行操作历史?原创 2022-09-18 22:38:35 · 574 阅读 · 0 评论 -
【博客】技术博客推荐
运维博客推荐原创 2022-09-03 20:38:46 · 195 阅读 · 0 评论 -
【iptables&icmp】iptables默认策略中关于icmp协议的说明
/原创 2022-06-26 08:46:43 · 2464 阅读 · 0 评论 -
【network】How do I verify the speed of my NIC?
Windows 怎样查看网卡是100M还是1000M?https://jingyan.baidu.com/article/f25ef254ac68a2482c1b82e5.htmlHow do I verify the speed of my NIC?https://serverfault.com/questions/207474/how-do-i-verify-the-speed-of-my-nicHowdo I check my NIC card speed Linux.原创 2022-01-16 15:18:37 · 182 阅读 · 0 评论 -
【iperf】网络性能评估工具iperf的安装使用
评估网络质量因素及指标:带宽、延时、抖动、丢包1.带宽(throughput):网络的吞吐率,端到端之间可以传输的最大速率,这个指标一般都会有所限制,带宽当然是越大越好,一般超过限制带宽的 50% 就会出现严重的丢包,这个可以通过 nc, wget, curl, iperf, scp 等工具测试。2.延时(latency):数据包从源节点传输到目的节点需要的时间,如果使用 ping 来测试话,可以通过其 RTT 来反映其状况。RTT[(Round-Trip Time): 往返时延3.丢包(l原创 2022-01-16 15:16:36 · 1369 阅读 · 0 评论 -
【swap】swap使用过高的处理方法
生产有一台主机Swap使用很高,一看内存使用率高,基本耗尽。Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存原创 2022-01-16 15:15:35 · 9719 阅读 · 0 评论 -
【top】将 top命令执行结果输出到文件
# top -b -n 1# top -b -n 1 | head -n 21# top -d 2 -n 3 -b > top.txt将 top 的结果每隔 2 秒,打印 3 次, -b :Batch-mode operation Starts top in Batch mode, which could be useful for sending output from top to other programs or ...原创 2021-12-04 13:12:36 · 7995 阅读 · 0 评论 -
【Linux】服务器卡死,重启报错: INFO: task blocked for more than 120 seconds
一、问题背景业务突然不正常,后台检查服务进程,发现es集群中有服务器节点夯住没有反应,看监控磁盘IO完全消失了。SSH到有问题的目标服务器,无法连接,测试 目标机器的22端口却是通的,测试其他业务端口也是通的,也就是说服务器处于假死装状态了。二、问题分析、处理办法仔细阅读打印信息发现关键信息是“hung_task_timeout_secs”,通过搜索,发现这是linux kernel的一个bug。大家对这个问题的解释也都比较一致,摘抄一段:By defau原创 2021-08-22 21:06:48 · 10749 阅读 · 0 评论 -
【磁盘】Linux dm-0 dm-1 dm-2 设备映射
在Linux系统中你使用一些命令时(如nmon、iostat ),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?其实dm是Device Mapper的缩写,Device Mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(E原创 2021-08-22 12:58:38 · 10925 阅读 · 0 评论 -
【rpm】CentOS7.x上下载epel源中rpm包,搭建离线仓库
一、实验背景项目安装部署过程中,有很多包需要在线下载,但又是网络是隔离的,无法连接外网。此时,我们需要将epel源中的所有rpm包一次性全部下载,拷贝到内网机器,搭建一个本地yum源或者局域网yum源,用于离线安装。二、将CentOS7.x的epel源中rpm包一次性下载在一台联网的CentOS7.x 机器上,最好是云主机,网速带宽足够# yum -y install yum-utils epel-release createrepo# yu...原创 2020-10-24 18:17:35 · 3185 阅读 · 4 评论 -
【OpenSSH】CentOS7.x 上升级OpenSSH到8.3p1版本
一、实验背景客户请第三方安全公司扫描了下他们的服务器,发现 SSH 存在许多安全漏洞,原因是 CentOS 7.2 使用了一个比较旧的 OpenSSH 版本 v6.6.1,而这些漏洞在新版的 OpenSSH 中均已被修复,所以出于安全考虑,需要升级。yum 仓库中并没有最新版的 OpenSSH,我们需要自己从官方下载最新的opeenSSh源码包编译制作 rpm 安装包。因为客户服务器不能连外网,所以还需要将其做成离线升级包。二、实验环境操作系统: CentO...原创 2020-08-23 12:38:09 · 2967 阅读 · 0 评论 -
【OpenSSH】CentOS7.x 上升级OpenSSH到最新7.9p1版本
一、实验背景客户请第三方安全公司扫描了下他们的服务器,发现 SSH 存在许多安全漏洞,原因是 CentOS 7.2 使用了一个比较旧的 OpenSSH 版本 v6.6.1,而这些漏洞在新版的 OpenSSH 中均已被修复,所以出于安全考虑,需要升级。yum 仓库中并没有最新版的 OpenSSH,我们需要自己从官方下载最新的opeenSSh源码包编译制作 rpm 安装包。因为客户服务器不能连外网,所以还需要将其做成离线升级包。二、实验环境操作...原创 2020-08-21 19:10:33 · 2383 阅读 · 0 评论 -
【docker】从docker --format 格式化输出到go模板语法
docker inspect是docker客户端的原生命令,用于查看docker对象的底层基础信息,这些信息包括容器的id、创建时间、运行状态、启动参数、目录挂载、网路配置等等。另外,该命令也可以用来查看docker镜像的信息。docker --format 参数提供了基于 Go模板 的日志格式化输出辅助功能,并提供了一些内置的增强函数。-f的实参是个 Go 模版,并在容器/镜像的元数据上以该 Go 模版作为输入,最终返回模版指定的数据。Go 模版是一种模板引擎,让数据以指定的模式输出。这个概.原创 2020-08-12 22:31:31 · 834 阅读 · 0 评论 -
【perf】如何使用perf和火焰图分析系统性能?
一、实验环境二、实验案例分析安装完成后,我们先在第一个终端,执行下面的命令运行案例,也就是一个最基本的 Nginx 应用:运行 Nginx 服务并对外开放 80 端口# docker run -itd --name=nginx -p 80:80 nginx然后,在第二个终端,使用 curl 访问 Nginx 监听的端口,确认 Nginx 正常启动。假设 192.168.0.30 是 Nginx 所在虚拟机的 IP 地址,运行 curl 命令后,你应该会看到下面这个输...原创 2020-08-11 10:25:43 · 2260 阅读 · 0 评论 -
【Linux】Linux上netstat的安装和使用
一、关于netstatnetstat工具是”network”和”statistics”的简写,是一款基于命令行的网络分析工具。netstat (源自网络和统计信息)是系统管理员用于分析网络统计信息的命令行实用程序。它显示了完整的统计信息,例如主机系统上的开放端口和相应地址,路由表和伪装连接。二、 netstat的使用1.查看网络路由表您可以使用-r标志来显示网络路由表,以获取类似于以下输出的内容。-n选项强制netstat打印以点分隔的地址,而不...原创 2020-08-09 12:14:15 · 5408 阅读 · 0 评论 -
【MySQL】基于CentOS7.x基础镜像用MySQL8.x二进制包构建MySQL镜像
关于CentOS7.x和CentOS8.x编译工具的版本差异CentOS7.x# yum -y install gcc gcc-c++ make# gcc --version# g++ --version# cmake --versionCentOS8.x# yum -y install gcc gcc-c++ make# gcc --version# g++ --version# cmake --versionMySQL 8.0.18 的编...原创 2020-08-03 10:06:45 · 399 阅读 · 0 评论 -
【umask】关于umask值及其对应的文件权限
umask值用于设置用户在创建文件时的默认权限,当我们在系统中创建目录或文件时,目录或文件所具有的默认权限就是由umask值决定的。对于root用户,系统默认的umask值是0022;对于普通用户,系统默认的umask值是0002。执行umask命令可以查看当前用户的umask值。默认情况下,对于目录,用户所能拥有的最大权限是777。对于文件,用户所能拥有的最大权限是目录的最大权限去掉执行权限,即666。因为x执行权限对于目录是必须的,没有执行权限就无法进入目录,而对..原创 2020-08-03 10:03:50 · 9827 阅读 · 0 评论 -
【Linux】Linux上网络状态和软硬中断动态查看
网络相关的错误排查,可以有几种方式:1. 找系统类的错误, dmesg | tail2. 直接的网络错误 sar -n ETCP 1 或者 sar -n EDEV 13.查看网络状态, netstat -s 或者 watch -d netstat -s4.网络状态的统计 ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}'# netstat -s#watch -d netstat -s#...原创 2020-07-31 23:36:58 · 1622 阅读 · 0 评论 -
【TLS】关于TLS中密码套件说明
TLS主要包含两部分协议,一部分是Record Protocol,描述了数据的格式,另一部分是Handshaking Protocols,描述了握手过程。握手的目的有两个,一个是保证通信的双方都是自己期待的对方,任何一方都不可能被冒充,另一个是交换加密密码,使得只有通信的双方知道这个密码,而别人不知道。前一个就是我们常说的认证,而后一个就是密码交换。认证是通过证书来达到的,而密码交换是通过证书里面的非对称加密算法(公私钥)来实现的。握手的交互图密码套件就是一个密码算法三件套,里面..原创 2020-05-16 17:54:16 · 10696 阅读 · 0 评论 -
【MySQL】关于编译的MySQL的mysql.sock路径
关于 MySQL 的 mysql.sock 文件作用,参看 :【MySQL】关于 mysql.sockhttps://www.jianshu.com/p/e40fada1cb73如果是用官方rpm安装或者拉取的官方docker镜像起的MySQL服务,mysql.sock的路径是/var/lib/mysql/mysql.sock如果是下载的官方MySQL二进制安装包或者...原创 2020-05-05 10:03:29 · 1703 阅读 · 0 评论 -
【arp】关于arp和arping命令的使用
一、arp协议和arping命令的简介arp (Address Resolution Protocol) 地址解析协议, 是通过解析网路层地址来找寻数据链路层地址的一个在网络协议包中极其重要的网络传输协议。ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址。使用arp命令,我们能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。arpi...原创 2020-05-05 09:25:26 · 7020 阅读 · 0 评论 -
【MySQL】CentOS8 编译MySQL8
MySQL 8.0.18 的编译依赖cmake 3.5.1及以上版本,GCC 5.3及以上版本。CentOS7.x# yum -y install gcc gcc-c++ make# gcc --version# g++ --version# cmake --version因此,不要用CentOS8 以下的系统编译MySQL8,会存在各个工具版本不够...原创 2020-05-04 15:19:02 · 515 阅读 · 0 评论 -
【MySQL】CentOS7 源码编译安装MySQL 8.0
CentOS 7 源码编译安装MySQL 8.0https://www.mytecdb.com/blogDetail.php?id=23MySQL 8.0源码编译https://blog.p2hp.com/archives/6618MySQL 8.0.18编译安装https://developer.aliyun.com/article/727403Cent...原创 2020-05-04 15:07:28 · 343 阅读 · 0 评论 -
【Linux】关于软件集Software Collections
CentOS/RHEL Linux 发行版以稳定性著称,所有的软件都要尽可能 stable,导致的一个结果就是基础软件的版本非常的低,比如 CentOS 6.7(15年发布) 中 gcc 版本还是 4.4.7(12年的版本)。这对开发来说就不是很友好,比如我们想用 C++ 11 中的某个特性,就必须自己编译一个高版本的 gcc 出来,但是这会有另外一个问题,开发环境不好维护,如果自己有多台电脑...原创 2020-05-04 01:20:05 · 924 阅读 · 0 评论 -
【route】Linux上静态路由的添加
一、背景知识在日常的使用中,或者在服务器中,有多个网卡配置多个地址,访问不同的网络段,这种情况是非常常见的现象,但是,我们需要额外的添加路由表来决定发送的数据包经过正确的网关和interface才能正确的进行通信 。在哪种情况下,为什么,需要在Linux服务器上添加静态路由?route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。...原创 2020-05-01 14:43:46 · 5401 阅读 · 0 评论 -
【Linux】关于socket的fd
socket的fd是什么?fd 是(file descriptor),这种一般是BSD Socket的用法,用在Unix/Linux系统上。fd全称是file descriptor,是进程独有的文件描述符表的索引。在Unix/Linux系统下,一个socket句柄,可以看做是一个文件,在socket上收发数据,相当于对一个文件进行读写,所以一个socket句柄,通常也用表示文件句柄的...原创 2020-04-26 00:02:08 · 8576 阅读 · 0 评论 -
【 Discuz! 】CentOS7.x上基于LAMP环境搭建Discuz!论坛
Discuz! 是全球成熟度最高、覆盖率最大的论坛软件系统之一。自 2001 年 6 月面世以来,Discuz! 已拥有 15 年以上的应用历史和 200 多万网站用户案例。目前,Discuz! 已经发展成为一个以社区为基础的专业建站平台,让论坛(BBS)、社交网络(SNS)、门户(Portal)、群组(Group)、开放平台(Open Platform)应用充分融合于一体,帮助网站实现一...原创 2020-04-22 21:48:06 · 728 阅读 · 0 评论 -
【shell】How can I create a select menu in a shell script?
select in 循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。select in 是 Shell 独有的一种循环,非常适合终端(Terminal)这样的交互场景,C语言、C++、Java、Python、C#等其它编程语言中是没有的。#?用来提示用户输入菜单编号;^D表示按下Ctrl+D组合键,它的作用是结束 ...原创 2020-04-12 21:41:53 · 331 阅读 · 0 评论 -
【Tinyproxy】CentOS7.X http代理tinyproxy的安装配置与使用
CentOS 7安装TinyProxy代理服务器https://qsh5.cn/1151.htmlCentOS 7 安装 TinyProxy 代理服务器https://my.oschina.net/u/188924/blog/30004495分钟 tinyproxy 安装使用教程https://java-er.com/blog/tinyproxy-install...原创 2020-03-04 22:15:18 · 2801 阅读 · 0 评论 -
【压缩】关于tar、gzip/gunzip、bzip2/bunzip2、xz和zcat
一、关于tartar命令可以为Linux的文件和目录创建归档。利用tar,可以为某一特定文件创建归档(备份文件),也可以在归档中改变文件,或者向归档中加入新的文件。tar最初被用来在磁带上创建归档,现在,用户可以在任何设备上创建归档,利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。首先要弄清两个概念:...原创 2020-02-10 13:37:35 · 1530 阅读 · 0 评论 -
【Linux】计算机数据交换语言
理解 Linux 配置文件https://www.ibm.com/developerworks/cn/linux/management/configuration/index.html常用配置文件格式https://colobu.com/2017/08/31/configuration-file-format常见配置文件语言: INI, XML, JSON与YAML...原创 2019-12-22 21:33:59 · 179 阅读 · 0 评论 -
【route】Linux上静态路由的添加和删除
路由表中明细的路由(静态路由)时,就会先找明细路由,在明细中找不到路由时,就走默认路由。地址掩码越小、精度越高,就匹配哪个,比如同样的目标地址,192.168.1.0/25就比192.168.1.0/24优先。相对于动态路由来说:静态路由和默认路由的性质是一样的,都是静态性路由。Linux添加静态路由https://www.cnblogs.com/pycode/p/873428...原创 2019-12-08 00:33:38 · 982 阅读 · 0 评论 -
【iptables】CentOS7.x用iptables实现端口转发
一、关于NATNAT(Network Address Translation),分为DNAT(Destination)和SNAT(Source)。DNAT(Destination Network Address Translation,目的地址转换) 通常被叫做目的映射,使用PREROUTING,用于外网访问内网里的主机服务器,透明转发或端口映射。SNAT(Source Netw...原创 2019-12-08 00:31:41 · 6288 阅读 · 1 评论 -
【Linux】关于 CentOS7.x /etc/rc.d/rc.local
CentOS6.x上习惯用/etc/rc.local 文件来开机自启动我们一些服务或者操作了,但是CentOS7.x改了,chkconfig也不能用了。CentOS7.x 已经写了要chmod +x /etc/rc.d/rc.local 授权一下才会起作用。# cat /etc/rc.d/rc.local# systemctl status rc-local.se...原创 2019-12-08 00:30:46 · 745 阅读 · 0 评论 -
【mem】 Linux 内存管理及手动释放linux cache内存
Linux内存分析与清理https://www.jianshu.com/p/774551e6b3baLinux手动释放内存https://qiubo.ink/2018/09/25/linux-e6-89-8b-e5-8a-a8-e9-87-8a-e6-94-be-e5-86-85-e5-ad-98手动释放linux内存cache和脚本定时释放https://www....原创 2019-12-01 21:19:28 · 1185 阅读 · 0 评论 -
【docker】怎么为docker容器设置umask?
安全整改要求,容器持久化目录下,服务运行生成的普通文件权限不大于640,目录文件权限不大于750你可能会尝试设置宿主机的或者基础镜像的umask ,又或者还去尝试直接在Dockerfile中设置,但最终没有达到预期!那么,到底应该在哪里设置,怎么设置,才能实现限制动态生成的文件、目录的权限符合要求呢?对非容器化部署的服务而言,一般有相关启动脚本可以设置 umask 环境变量,如 ...原创 2019-11-25 21:32:12 · 5591 阅读 · 0 评论 -
【Cockpit 】How to install Cockpit on CentOS 7/8?
如果你管理着一台 Linux 服务器,那么你可能正在寻找一个可靠的管理工具。为了这个你可能已经看了Webmin和cPanel这类软件。但是,如果你正在寻找一种简单的方法来管理还包括了 Docker 的 Linux 服务器,那么有一个工具可以用于这个需求:Cockpit。为什么使用 Cockpit?因为它可以处理这些管理任务:连接并管理多台机器通过 Docker 管理容器...原创 2019-11-09 19:57:50 · 806 阅读 · 0 评论 -
【redis】CentOS7.x 上redis 一主两从三哨兵模式的安装配置
一、实验环境操作系统: CentOS7.5 Minimalredis01 192.168.1.103redis02 192.168.1.105redis03 192.168.1.106二、设置selinux和防火墙在redis01 redis02 reids03 服务器设置selinux为宽松模式# setenforce 0# sed -i '...原创 2019-11-06 21:36:43 · 224 阅读 · 0 评论 -
【离线安装】How to do offline installation on CentOS7.x?
一、实验背景CentOS上服务搭建,服务器能联网,一切好说,根据相关文档,添加指定的yum仓库源安装就是了。问题是,很多时候,生产环境的服务器并不能联网,甚至登录相关服务器还要各种跳板机,最多你能拖个CentOS官方镜像去搭建本地yum源,解决相关软件安装的依赖。那么,如果你要安装服务的目标服务器操作系统是最小化安装,需要安装的软件官方镜像文件中有没有,怎么办?二、实验环境操作...原创 2019-06-30 08:20:02 · 604 阅读 · 0 评论 -
【src】怎样在Linux 上使用src.rpm源码包?
一、说明如果我们是以软件包的格式来划分的,常见的Linux发行版主要可以分为两类,类ReadHat系列和类Debian系列,这两类系统分别提供了自己的软件包管理系统和相应的工具。类RedHat系统中软件包的后缀是rpm,类Debian系统中软件包的后缀是deb。另一方面,类RedHat系统提供了同名的rpm命令来安装、卸载、升级rpm软件包,类Debian系统同样提供了dpkg命令来对后缀...原创 2019-06-30 08:16:59 · 3237 阅读 · 0 评论