基础运维
文章平均质量分 71
晨曦蜗牛
就职于世界500强头部国企,9年工作经验,运维、开发。擅长Java、Python、Go、C/C++等开发语言,对Docker、Kubernetes、KVM、VMware、OpenVz、Hyper-v、Xen、国产化操作系统、平台等有丰富的应用落地与实战经验,有多年从IaaS到SaaS层的全链路应用、工程开发与成果交付经验。
展开
-
通过 Docker 实现国产数据库 OpenGauss 开发环境搭建
-!:-!:-!:-!!:-$(${!原创 2024-03-26 18:32:24 · 776 阅读 · 0 评论 -
Jetbrains 系列 IDE 自定义注释模板
#set( $USER="ivan ivan" )#set( $ORGANIZATION_NAME="Free City" )#set( $EMAIL="mrivandu@hotmail.com" )#set( $VERSION="1.0.0" )#if ($HEADER_COMMENTS)/** * @Author: ${USER} * @E-mail: ${EMAIL} * @Time: ${DATE} ${TIME} * @Project: ${PROJECT_NAME原创 2022-04-13 15:52:55 · 514 阅读 · 0 评论 -
Apache httpd 几个报错的解决记录
文章目录Apache httpd 几个报错的解决记录一 背景二 解决步骤2.1 查资料2.2 手动变更配置,寻找突破口Apache httpd 几个报错的解决记录一 背景今天在测试环境的 centos7.4 上使用 Docker 部署 httpd 服务时,遇到了以下3个报错:AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdoma原创 2021-09-29 11:10:23 · 957 阅读 · 0 评论 -
RHEL系列Docker镜像中GBK字符编码配置
文章目录RHEL系列Docker镜像中GBK字符编码配置一 背景二 配置步骤2.1 在Docker中加入以下内容:2.2 测试验证三 总结RHEL系列Docker镜像中GBK字符编码配置一 背景在某些线上系统环境中,字符编码使用的是GBK。在向容器迁移时,如果不正确配置,那么显示在屏幕上的将是乱码,为此我们需要针对这一问题的Docker镜像进行正确配置才能避免该情况的出现。二 配置步骤2.1 在Docker中加入以下内容:RUN yum install -y kde-l10n-Chinese \原创 2020-12-18 15:24:37 · 1158 阅读 · 0 评论 -
Docker 镜像多阶段构建实战总结
文章目录Docker 镜像多阶段构建实战总结一 背景二 实践步骤2.1 只通过一个 Dockerfile 来构建【方案一】2.2 多个 Dockerfile 实现多阶段构建【方案二】2.3 一个 Dockerfile 实现多阶段构建【方案三】三 总结四 参考文档Docker 镜像多阶段构建实战总结一 背景通常情况下,构建镜像通常会采用两种方式:将全部组件及其依赖库的编译、测试、打包等流程封装进一个 Docker 镜像中。采用这种方式往往忽略了以下这些问题:Dockefile 特别长,可维护性降原创 2020-06-28 17:27:42 · 1623 阅读 · 0 评论 -
Debian 官方源换为国内的源的操作方法
Debian 官方源换为国内的源的操作方法在镜像的构建的过程中,出现了如下报错:E: Release file for http://deb.debian.org/debian/dists/buster-updates/InRelease is not valid yet (invalid for another 7h 27min 25s). Updates for this repository will not be applied.E: Release file for http://secur原创 2020-06-18 10:21:09 · 9195 阅读 · 0 评论 -
一键批量关闭 Linux 的 tty 的方法
一键批量关闭 Linux 的 tty 的方法一 背景在日常工作中,由于各种原因,可能需要关闭一些不必要的 tty。比如:服务器被非法登录、忘记关闭某些设备上已登录的 tty、终止一些不使用的tty等场景就需要批量强制关闭 tty。二 解决方案解决方案主要使用了几个常用的命令,不做介绍。#!/bin/bash#=======================================...原创 2019-11-04 16:35:02 · 2982 阅读 · 0 评论 -
一键增加swap空间脚本
#!/bin/bashecho -e "\033[33m Your current swap is \033[0m"free -hmkdir /SwapDircd /SwapDirdd if=/dev/zero of=/SwapDir/swap bs=1M count=512 #这里增加的空间是512MBchmod 0600 swapmkswap /SwapDir/swap #把这个原创 2017-09-09 14:51:28 · 2087 阅读 · 0 评论 -
10秒完成pip在线安装(Linux、Windows通用)
对于Python开发攻城狮及系统运维攻城狮来说,pip的安装那是必不可少的一个过程。鉴于网上很多安装过程写得过于复杂,本人根据pip官方手册总结了以下最为快捷的安装方式,只需要2步操作。curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pypython get-pip.py或者直接运行以下代码:#!/usr/bin/env ...原创 2017-10-19 11:12:45 · 111031 阅读 · 0 评论 -
Ansible的安装与使用初探
一、环境准备网络配置管理端:192.168.237.201受控端:192.168.237.202、192.168.237.203(一共2台)硬件信息CPU:1核内存:512MB磁盘:10GB软件信息CentOS7.4(1708)、Python2.7.5(系统自带)、Ansible 2.3.2.0二、安装过程本次安装采用yum方式安装:yum -y ins原创 2017-10-20 09:07:24 · 694 阅读 · 0 评论 -
Linux使用技巧:linux下将命令值赋给shell变量
很多小伙伴在写shell脚本的时候需要把命令输出的值赋给一些变量,使得脚本在运行过程中能够顺利使用这些变量。例如:很多时候我们就需要获取当前目录的绝对路径,pwd这个命令大家在熟悉不过,可是要把这个命令的输出值赋给变量就不知道何从下手了。莫慌,办法还是有的,我们可以把这个命令的输出值赋给一个叫pwd的变量(当然,你也可以随意命名一个变量名称)。具体操作是这样的:pwd=`pwd`,需要注意的是这里原创 2017-11-09 09:55:14 · 20240 阅读 · 0 评论 -
CentOS7下group和group-、passwd与passwd-之间的区别
今天查看/etc/group时,意外发现另外一个/etc/group-,查看了一下2个文件,发现大部分内容是一致的。这就有点搞不懂了,后面这个group是有啥用呢呢?diff对比了一下,相比group文件,group-多了一行,其他内容都一样。又看了一下passwd文件,同一个目录下面,有passwd与passwd-二个类似的文件,diff对比一下,passwd-比passwd多了原创 2017-11-09 09:57:40 · 4308 阅读 · 1 评论 -
虚拟化迁移,你需要特别注意的几个问题
随着云计算、大数据的发展,虚拟化改造已经成为一种行业趋势。在虚拟化实施过程中,P2V,V2V操作对于运维人员来说已经成为家常便饭。笔者从进入现在的公司开始就一直对公司现有的计算资源进行虚拟化改造,经历了P2V,V2V的各种折腾(包括Windows、Linux物理机向KVM、VMware虚拟化平台的迁移,VMware向KVM迁移,LXC容器向KVM平台迁移)。目前项目已经进行到一半,用大量时间实践了原创 2017-10-17 10:39:53 · 4976 阅读 · 0 评论 -
CentOS7中firewalld的安装与使用详解
一、软件环境 [root@Geeklp201 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 二、安装firewalld1、firewalld提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防...原创 2017-10-25 15:47:12 · 20178 阅读 · 5 评论 -
三种方法实现对CentOS7主机名的修改
在CentOS7中,有三种定义的主机名:静态的(static)、瞬态的(transient)、灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由...原创 2017-11-17 17:37:46 · 24207 阅读 · 4 评论 -
记住以下10条,Linux磁盘与文件系统管理无忧矣
1、查看当前Linux系统所支持的文件系统:ls -l /lib/modules/$(uname -r)/kernel/fs;目前已加载到内存中支持的文件系统:cat /proc/filesystems。2、让内核重新读取新的分区表,在屏幕上不打印任何内容,无需重启操作系统即可使用新的分区表:partprobe。3、fdisk无法处理大于2TB的以上的磁盘分区,如果磁盘分区原创 2017-09-04 19:33:20 · 365 阅读 · 0 评论 -
新玩法,CentOS7中LVM通过扩展逻辑卷扩展swap空间
在我们日常运维工作中,偶尔也会遇到需要扩展swap空间的操作。扩展swap空间的方法很多,现在让我们一起来探讨一下,在LVM下扩展swap空间的方法。1、查看一下卷组,是否还有空闲空间能用于扩展swap空间。[root@Geeklp201 ~]# vgdisplay从倒数第二行,我们可以看到,本机centos卷组的空闲空间小于5GB,分出1GB来扩展swap空间足够原创 2017-11-10 18:38:52 · 6953 阅读 · 1 评论 -
基于LVM的磁盘管理
一、几个概念LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进原创 2017-11-15 14:30:10 · 6962 阅读 · 2 评论 -
批量创建用户并使用sudo和ACL来控制用户权限
最近公司应相关部门的监管要求加强了对用户权限的控制,为了积极响应国家的号召,公司账号权限设计管理的重任就落到我的肩上。花了两三个小时,对批量创建用户,普通用户对除了用户目录之外的权限管理、root权限控制进行了设计,目前脚本已经完全通过测试,在此和大家分享一下。#!/bin/bashHostName=$(hostname)Account=`whoami`USER1='payer'原创 2017-11-30 11:10:44 · 752 阅读 · 0 评论 -
Linux环境下NFS服务的安装与配置
一、几个概念NFS 就是 Network FileSystem 的缩写,最早是由 Sun 这家公司所发展出来的。 它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的文件 (share files)。我们可以简单的将他看做是一个文件服务器 (file server) !这个 NFS 服务器可以让你的 PC 来将网络远程的 NFS 服务器分享的目录,挂载到本地端的机器当中,原创 2017-12-07 18:01:54 · 39079 阅读 · 17 评论 -
这些Linux命令,使用时需谨慎
rm这个命令对于大多数运维工程师来说确实是一条需要谨慎使用的命令,以下这些命令都非常直观,相信大部分业内的小伙伴都清楚。rm -rf / 递归删除根目录下的全部内容rm -rf . 递归删除当前目录下的全部内容rm -rf * or rm -rf . 同上rm -rf ~ / & 删除根目录和HOME目录,即使你不是root,HOME目录还是不能幸免。dd if=/dev/zero of=/dev/原创 2017-12-09 10:36:04 · 380 阅读 · 0 评论 -
实现登录概要监控的BashShell脚本
随时随地掌握系统情况是一名合格的运维工程师应该具备的技能之一。本次分享一个简单的小脚本,对当前服务器实现一个简单的概要监控。脚本全部内容如下,本人已经测试过,可以直接使用。#!/bin/bashecho -e "\033[30;32m"echo "**********欢迎登陆本应用服务器***********"echo "************************************原创 2017-12-09 11:15:30 · 424 阅读 · 0 评论 -
巧用OpenSSL完成md2、md4、md5、rmd160、sha、sha1等的验证
相信很多奋斗在运维战线的小伙伴们经常会遇到版本升级之类的问题。笔者之前所在的公司每次进行版本发布的时候都会附带MD5校验哈希值,每次升级之前一般都要核对MD5哈希值的,刚刚开始的时候对Linux并不是非常熟悉,每次下载完升级包之后都会在Windows环境下利用Hash工具校验之后才上传到Linux服务器上进行版本升级操作。现在回想起来当时那样的操作真是太土了,效率又低又有可能出现其他问题。后来对L原创 2017-12-09 12:46:33 · 2091 阅读 · 0 评论 -
再提一下Linux系统中的MD5校验
MD5校验对于大多数人来说应该不陌生,像我这种小心翼翼的运维,在每次下载完公司发布的升级包之后第一件事就是MD5校验了,以前比较菜的时候总是在windows下校验完成了才上传到Linux服务器上,根本不知道Linux系统就自带了MD5校验工具,太low了![root@Geeklp-MD5 ~]# md5sum ntfs-3g_ntfsprogs-2017.3.23.tgz d97474ae1原创 2017-09-03 17:11:07 · 2859 阅读 · 0 评论 -
通过yum下载rpm包及其依赖包
yum是基于Red Hat系Linux系统,如CentOS、Fedora、RHEl等上的默认包管理器,使用很方便。使用yum下载或者更新的包其实也就是一个rpm包。很多时候公司内网的系统并不能连外网的,使用到的一些rpm包就需要去互联网上下载,手工一个一个地去找rpm是一件很麻烦的事情。在连互联网的条件下,我们是可以很方便的下载、安装这些软件及其依赖包。那么我们是否能把通过yum把rpm包下载原创 2017-11-16 19:31:25 · 8889 阅读 · 4 评论 -
将VMware Workstation 12 Pro的虚拟网卡修改为自己希望的IP网段
每天在做各种测试的时候,很多地方都会需要填写ip,每次都192.168.237...,每次都必须输入10几位的ip地址,烦不胜烦。简洁为美!我还是喜欢诸如10.1.1.1之类的ip填写,是否可以实现呢?让我们一起来试试看吧?只需简单的三步设置即可完成自定义IP设置。第一步:如截图所示,展开编辑菜单,选择虚拟网卡编辑。第二步:点击修改设置。第三步:依次填入自定义内容,重新原创 2017-12-10 12:54:00 · 3041 阅读 · 0 评论 -
用Vim完成BashShell脚本编写(bash-support : Bash IDE)
作为一名运维工程师,BashShell脚本编写必不可少。然而,大家会发现专门用来编写BashShell脚本的IDE少之又少。但是,即使这样也阻止不了我们自己通过vim来打造一款属于自己的BashShell脚本开发环境。通过以下命令及设置,我们可以很方便的完成BashShell脚本开发环境的搭建,难免疏漏,望指正。[BashShell@Geeklp-BashShell ~]$ mkdir ....原创 2017-12-11 15:19:59 · 6613 阅读 · 0 评论 -
在RHEL7或CentOS7中修改创建账号时系统默认UID、GID最小起始值及其他设置
大家应该都知道,在Linux系统中,1000以下的UID是系统保留的UID。随意修改系统上某些帐号的 UID 很可能会导致某些程序无法进行,甚至导致系统无法顺利运行。我们可以通过/usr/share/doc/setup-2.8.71/uidgid来查看具体对应关系,当然不同的版本路径可能不一样,可以用/usr/share/doc/setup*/uidgid来通配。NAME UID GID HO原创 2017-12-20 11:04:05 · 9477 阅读 · 0 评论 -
一点关于lpasswd的资料
今早在实验环境瞎折腾的时候发现一个类似于passwd的lpasswd命令,很好奇,在网上查了一会儿,发现关于lpasswd的资料好少!自己查看帮助信息!发现这是一个专门用于修改用户或组密码的命令。用法: lpasswd [OPTION...] 用户 -i, --interactive 提示全部信息 -g, --group 设定组密码原创 2017-12-20 12:31:52 · 497 阅读 · 0 评论 -
Linux修改用户名及相关信息(包括root)
由于某种原因,需要修改用户名,有的小伙伴可能就犯难了。其实,Linux系统也能像windows那样随心所欲地修改用户名的,但有一点不同的是,Linux修改用户名需要root权限。 用root用户登录查看一下修改用户名命令的相关帮助:[root@Geeklp-Python ~]# usermod --help用法:usermod [选项] 登录选项: -c, --comment 注释原创 2017-12-11 18:03:27 · 13303 阅读 · 0 评论 -
RHEL7及CentOS7中让指定用户才能su到root-系统管理(3)
在默认情况下,任何普通用户都能通过su命令切换到root用户。众所周知,root对于系统拥有至高无上的权限!因此,任何用户不在允许范围内切换到root都会威胁着整个系统的安全。增加指定用户才能su到root的系统管理设置相当于又给系统安全提升了一道安全屏障。 一、目标: 1. 只有指定用户才能su到root; 2. root在无需输入密码的情况下依然能够随时su到各普通用户; 3. 普通用户原创 2017-12-20 13:05:15 · 3227 阅读 · 0 评论 -
在CentOS7下同时安装、使用Python2.x和Python3.x
一般情况下,各类Linux操作系统是会默认安装Python2.x的,在最新的CentOS7.4版本中,发现系统默认只安装了Python2.x,而且是很多系统组件的依赖包,不推荐卸载。目前Python3.x逐渐流行,相信在不久的将来将取代Python2.x。如何在我们的系统内同时安装、使用Python2.x与Python3.x呢?由于Python2.x系统默认已经安装,所以我们只需要下载Py原创 2017-11-16 14:48:56 · 13581 阅读 · 0 评论 -
CentOS7.2下安装MySQL-5.7.18RPM Bundle版(适用于最新版5.7.20)
一、环境1、操作系统:CentOS Linux release 7.2.1511 (Core) 最小化安装版 2、MySQL版本:MySQL-5.7.18(mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar)二、安装过程1、安装wget。[root@Geeklp-MySQL ~]# yum -y install wget2、下载安装包。wget -c http://m原创 2017-12-13 20:06:34 · 2809 阅读 · 0 评论 -
Linux(CentOS7.2)下安装JDK及Tomcat
一、下载相关软件JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Tomcat:http://mirrors.shuosc.org/apache/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz二、安装与配置JDK[原创 2017-12-13 21:17:17 · 1903 阅读 · 0 评论 -
原来,在Linux系统也有快速格式化功能
一、问题背景在使用mkfs格式化1TB左右容量的硬盘时发现所耗费的时间很长,简直是一种折磨。那么,对于Linux的硬盘格式化是否也有像windows系统下快速格式化功能呢?经过查阅相关资料,发现Linux也具备快速格式化功能。目前网上大部分资料都是关于快速格式化ext3文件系统的,能不能对ext2、ext4、xfs、btrfs也实现快速格式化呢?二、实验过程 1、给系统加一块磁盘,并将其新建分区。原创 2017-12-07 10:43:03 · 32825 阅读 · 0 评论 -
RHEL7及CentOS7的语言、字符编码、键盘映射、X11布局设置(localectl)-系统管理(1)
这几天在阅读Red Hat Enterprise Linux 7的官方文档,发现了一些比之前有较大改善的系统管理方式,准备用一个系列的文章来分享一下自己的阅读、学习心得。在系统管理指导的开篇就提到了语言、字符编码、键盘布局的问题。下面就来分享一下这些内容,在后面的一系列文章中将无多余废话,还请见谅! 系统区域设置是指系统服务及用户接口的语言设置。键盘布局设置用于控制字符控制台布局及图形化用户接口。原创 2017-12-15 21:05:24 · 5314 阅读 · 1 评论 -
在Linux系统中使用ntfs、fat32格式的存储设备
我们通常使用的移动硬盘或U盘一般都是ntfs的文件系统,作为一名运维工程师,经常会遇到把移动硬盘或者U盘上的内容拷贝的Linux服务器上。然而,一些Linux系统并不支持直接挂载ntfs文件系统的设备的,比如:CentOS,因此需要安装ntfs-3g才能在LInux系统中读取移动设备中的数据。 1、安装gcc。 [root@Geeklp-ntfs ~]yum -y install gcc 2、原创 2017-12-07 11:33:10 · 13493 阅读 · 0 评论 -
当SSH免密登录的私钥被移动之后... ...
一、设置免密登录在主机192.168.237.21通过ssh-keygen生成私钥及对应公钥,分发公钥到192.168.237.22、192.168.237.23主机上。从主机192.168.237.21分别免密登录192.168.237.22、192.168.237.23,如图:[root@GeeklpTset01 ~]# ssh-keygen -b 2048 -t rsa -C原创 2017-12-06 10:51:33 · 1673 阅读 · 0 评论 -
RHEL 7及CentOS 7 彻底禁用IPv6的方法
IPv6在未来可能成为主流,但是就目前而言,很多软件对IPv6的支持并不是很完善,可能导致各类问题。RHEL 7 & CentOS 7 在启动时默认是加载IPv6相关模块的,而禁用IPV6的方法与之前的版本有点不太一样了,现在我们来探讨一下如何彻底禁用IPv6的方法,修改grub,在系统启动引导时就不加载IPv6模块。希望对大家有所帮助。用vim编辑以下文件(最小化安装的版本可能没有这个文件,原创 2017-12-10 12:54:48 · 6279 阅读 · 0 评论 -
关于FTP主动模式与被动模式的一点理解
又一次面试的时候,面试像这样问我:请简述FTP的主动模式与被动模式的区别?FTP这玩意不是天天都要用到的么,看起来这么简单的问题我居然回答不上来,好尴尬!经过几天的思考与理解,终于有点眉目,拙见让诸位见笑了。主动模式中FTP的客户端发送 PORT 命令到FTP服务器。被动模式中FTP的客户端发送 PASV命令到 FTP 服务器。我们可以通过以下图片及文字理解每种FTP方式是怎样工作的。原创 2017-12-09 11:21:10 · 11352 阅读 · 0 评论