主机基础运维笔记


个人整理的一些简单但极常用的命令和脚本

配置网卡

CentOS7

vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=37cd0531-46d3-4ec7-88cc-8e4bad12bda1
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.190.30
PREFIX=24
GATEWAY=192.168.190.1
DNS1=8.8.8.8
IPV6_PRIVACY=no

systemctl restart neteork

Ubuntu 20.04

vim /etc/netplan/00-installer-config.yaml

network:
  ethernets:
    ens33:
      addresses: [192.168.56.11/24]
      gateway4: 10.12.1.254
      nameservers:
        addresses: [192.168.56.2,8.8.8.8]
        search: []
  version: 2
netplan apply

网卡聚合

bond
两张网卡配置bond脚本:

执行条件:已配置单ip && 主机有且只有两张网卡

脚本可以重复执行

# 加载bond模块
modprobe bonding
# 删除bond模块
# rmmod bonding

# bond check
for i in `ls -l /proc/net/bonding/|grep -v total|awk '{print $NF}'`;do
if [[ `cat /proc/net/bonding/$i|grep 'Slave Interface'|wc -l 2>>/dev/null` -eq 2 ]];then
echo "$i is already ok:";cat /proc/net/bonding/$i|egrep 'Slave Interface|Mode';exit
fi;done
# ip/NIC check
if [[ `ip a|grep global|wc -l` -ne 1 ]];then
echo "not single ip";exit
elif [[ `ip a|grep 'state UP'|awk -F ': ' '{print $2}'|wc -l` -ne 2 ]];then
echo "not two NICs";exit
fi

# 指定两个网卡名和ip
bond_slave1=`ip a|grep 'state UP'|awk -F ': ' '{print $2}'|head -1`
bond_slave2=`ip a|grep 'state UP'|awk -F ': ' '{print $2}'|tail -1`
ip_addr=`ip a|grep global|awk '{print $2}'`
ip_gateway=`ip a| grep global|awk '{print $2}'|awk -F '/' '{print $1}'|awk -F '.' '{print $1"."$2"."$3".1"}'`

# 添加bond接口
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses $ip_addr ipv4.gateway $ip_gateway autoconnect true miimon 100 1>>/dev/null
### 若是CentOS7且是虚拟机,需额外配置 ###
#echo 'BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"' >>/etc/sysconfig/network-scripts/ifcfg-bond0

# 添加子网卡 bond-slave
nmcli con add type bond-slave ifname $bond_slave1 master bond0 1>>/dev/null
nmcli con add type bond-slave ifname $bond_slave2 master bond0 1>>/dev/null
# 若没有为从属接口提供连接名,则该名称为"接口名称-类型-网卡名"
# 启动绑定
nmcli con up bond0 1>>/dev/null && nmcli con up bond-slave-$bond_slave1 1>>/dev/null && nmcli con up bond-slave-$bond_slave2 1>>/dev/null
# 配置文件
sed -i "/^ONBOOT/s/ONBOOT.*/ONBOOT=\"no\"/" /etc/sysconfig/network-scripts/ifcfg-$bond_slave1
sed -i "/^ONBOOT/s/ONBOOT.*/ONBOOT=\"no\"/" /etc/sysconfig/network-scripts/ifcfg-$bond_slave1

# bond 查看接口的相关信息
echo ""
echo "bond0: " && cat /proc/net/bonding/bond0|egrep 'Slave Interface|Mode' 
# bond 切换网卡
# ifenslave -c bond0 网卡名
# bond 删除
# nmcli con del bond0
七种bond模式详解:

常用0、1、6

第⼀种模式:mod=0,即:(balance-rr) Round-robin policy(平衡抡循环策略)
特点:传输数据包顺序是依次传输(即:第1个包⾛eth0,下⼀个包就⾛eth1….⼀直循环下去,直到最后⼀个传输完
毕),此模式提供负载平衡和容错能⼒。

第⼆种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)
特点:只有⼀个设备处于活动状态,当⼀个宕掉另⼀个⻢上由备份转换为主设备。mac地址是外部可⻅得,从外⾯看
来,bond的MAC地址是唯⼀的,以避免switch(交换机)发⽣混乱。此模式只提供了容错能⼒;由此可⻅此算法的优点
是可以提供⾼⽹络连接的可⽤性,但是它的资源利⽤率较低,只有⼀个接⼝处于⼯作状态,在有 N 个⽹络接⼝的情况 下,资源利⽤率为1/N。

第三种模式:mod=2,即:(balance-xor) XOR policy(平衡策略)
特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR ⽬标MAC地址) % slave数量。其他
的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能⼒。

第四种模式:mod=3,即:broadcast(⼴播策略) 特点:在每个slave接⼝上传输每个数据包,此模式提供了容错能⼒。

第五种模式:mod=4,即:(802.3ad) IEEE 802.3adDynamic link aggregation(IEEE
802.3ad 动态链接 聚合) 特点:创建⼀个聚合组,它们共享同样的速率和双⼯设定。根据802.3ad规范将多个slave⼯作在同⼀个激活的聚合体 下。 必要条件:
条件1:ethtool⽀持获取每个slave的速率和双⼯设定。 条件2:switch(交换机)⽀持IEEE 802.3ad Dynamic
link aggregation。 条件3:⼤多数switch(交换机)需要经过特定配置才能⽀持802.3ad模式。

第六种模式:mod=5,即:(balance-tlb) Adaptive transmit load
balancing(适配器传输负载均衡)
特点:不需要任何特别的switch(交换机)⽀持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分
配外出流量。如果正在接受数据的slave出故障了,另⼀个slave接管失败的slave的MAC地址。 该模式的必要条件:
ethtool⽀持获取每个slave的速率

第七种模式:mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)
特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance,
rlb),⽽且不需要任何switch(交换机)的⽀持。

team
两张网卡配置team脚本:

操作系统:centos7及以上

执行条件:已配置单ip && 主机有且只有两张网卡

可以重复执行

# 指定两个网卡名和ip
team_slave1=`ip a|grep 'state UP'|awk -F ': ' '{print $2}'|head -1`
team_slave2=`ip a|grep 'state UP'|awk -F ': ' '{print $2}'|tail -1`
ip_addr=`ip a|grep global|awk '{print $2}'`
ip_gateway=`ip a| grep global|awk '{print $2}'|awk -F '/' '{print $1}'|awk -F '.' '{print $1"."$2"."$3".1"}'`

# 添加team接口
nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'  ipv4.method manual ipv4.addresses $ip_addr ipv4.gateway $ip_gateway autoconnect true 1>>/dev/null
### 若是CentOS7且是虚拟机,需额外配置 ###
# nmcli con mod team0 config '{"runner":{"name":"activebackup", "hwaddr_policy":"by_active"}}'
# 网卡配置文件备份
mv /etc/sysconfig/network-scripts/ifcfg-$team_slave1 /etc/sysconfig/network-scripts/ifcfg-$team_slave1.bak
mv /etc/sysconfig/network-scripts/ifcfg-$team_slave2 /etc/sysconfig/network-scripts/ifcfg-$team_slave2.bak
systemctl restart NetworkManager
systemctl restart network
# 添加子网卡 team-slave
nmcli con add type team-slave ifname $team_slave1 con-name $team_slave1 master team0 1>>/dev/null
nmcli con add type team-slave ifname $team_slave2 con-name $team_slave2 master team0 1>>/dev/null
# 网卡配置文件
# mv /etc/sysconfig/network-scripts/ifcfg-$team_slave1-1 /etc/sysconfig/network-scripts/ifcfg-$team_slave1
# mv /etc/sysconfig/network-scripts/ifcfg-$team_slave2-1 /etc/sysconfig/network-scripts/ifcfg-$team_slave2 
sleep 3 
# 重载网络配置
systemctl restart NetworkManager
systemctl restart network
ifdown $team_slave1 1>>/dev/null&& ifdown $team_slave2 1>>/dev/null
ifup $team_slave1 1>>/dev/null&& ifup $team_slave2 1>>/dev/null
ifdown team0 1>>/dev/null&& ifup team0 1>>/dev/null

# team 切换活动网卡
# teamdctl team0 state item set runner.active_port $team_slave1

# team 查看接口的相关信息
sleep 3;teamdctl team0 state

# 获取网卡模式 
# teamnl team0 getoption mode
修改模式
nmcli connection modify team0 team.runner activebackup
nmcli con up team0
team模式详解
broadcast               # 广播容错
roundrobin              # 平衡轮叫
activebackup            # 主备模式
loadbalance             # 负载均衡模式,判断不同网卡的负载,给负载最少的网卡发送数据包

开启/关闭网卡

ip link set eth0 up		#开
ip link set eth0 down	#关
ifup/ifdown eth0
ethtool -p eno1 		#点亮网卡

磁盘管理与挂载

lvm磁盘管理

pv物理卷
pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
pvremove /dev/sdb1 /dev/sdb2 /dev/sdb3
vg卷组
vgcreate vg_name(名称) /dev/sdb1
vgextend vg_data(现有的vgname) /dev/sdb1(PV绝对路径)  # 将新的PV加入到当前VG
lv逻辑卷
lvcreate -n lv_name(lvname) -L 7454.72G(分配指定大小) vg_name(vg名字)
lvcreate -n lv_name(lvname) -l 100%VG(分配vg总大小) vg_name(vg名字)
lvcreate -n lv_name(lvname) -l 100%FREE(分配vg剩下大小) vg_name(vg名字)
lvextend -L +837G(扩容指定大小) /dev/mapper/lv_name(现有lv绝对路径)
报错处理

device /dev/sdb excluded by a filter

wipefs -a /dev/sdb
# 导致问题的原因是 添加的磁盘已经有了分区表,现在的系统并不能识别磁盘的分区表,运行parted命今重做分区表,中途需要输入三次命令。
lsblk
parted /dev/sdb
mklabel msdos
yes
quit
# 再次运行pvcreate或lvcreate,问是否擦除dos签名,输入y,就可以将磁盘创建pv或vg了

格式化

mkfs.xfs /dev/mapper/lvname  (格式化xfs)
mkfs.ext4 /dev/mapper/lvname  (格式化ext4)
mkswap /dev/centos/lv_swap_new  (格式化swap)

xfs_growfs /dev/centos/root  (扩容xfs)
resize2fs /dev/vg01/lv01   (扩容ext)

挂载

# 一个示例 fstab 文件
[root@localhost ~]# cat /etc/fstab 
# <file system>        <dir>         <type>    <options>             <dump> <pass>
tmpfs                  /tmp          tmpfs     nodev,nosuid          0      0
/dev/sda1              /             ext4      defaults,noatime      0      1
/dev/sda2              none          swap      defaults              0      0
/dev/sda3              /home         ext4      defaults,noatime      0      2
# 如果不做lv直接单盘挂载,则需要用UUID
UUID="cb0bc380-b0c9-4c18-851b-cda84af64baf" /data    xfs    defaults        0 0

# 挂载/etc/fstab中所有内容
[root@localhost ~]# mount -a
/etc/fstab 详解

/etc/fstab 文件包含了如下字段,通过空格或 Tab 分隔:

字段含义
要挂载的分区或存储设备. 设备名称,LABEL,UUID,伪文件系统名称
的挂载位置。
要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap 及 auto。 设置成auto类型,mount 命令会猜测使用的文件系统类型,对 CDROM 和 DVD 等移动设备是非常有用的。
挂载时使用的参数,注意有些mount 参数是特定文件系统才有的。一些比较常用的参数有:
auto - 在启动时或键入了 mount -a 命令时自动挂载。
noauto - 只在你的命令下被挂载。
exec - 允许执行此分区的二进制文件。
noexec - 不允许执行此文件系统上的二进制文件。
ro - 以只读模式挂载文件系统。
rw - 以读写模式挂载文件系统。
user - 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。
users - 允许所有 users 组中的用户挂载文件系统.
nouser - 只能被 root 挂载。
owner - 允许设备所有者挂载.
sync - I/O 同步进行。
async - I/O 异步进行。
dev - 解析文件系统上的块特殊设备。
nodev - 不解析文件系统上的块特殊设备。
suid - 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。
nosuid - 禁止 suid 操作和设定 sgid 位。
noatime - 不更新文件系统上 inode 访问记录,可以提升性能(参见 atime 参数)。
nodiratime - 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。
relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能(参见 atime 参数)。
flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。
defaults - 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async.
dump 工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 和 1 。0 表示忽略, 1 则进行备份。大部分的用户是没有安装 dump 的 ,对他们而言 应设为 0。转储频率: 0表示不进行dump备份,1代表每天进行dump备份,2代表不定日期的进行dump备份
fsck 读取 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。开机时自检(非0),自检次序:(如果开机系统自检不过,就无法正常开机)0:不自检 1:最先自检,一般为/ 2…:数越小优先级最大

swap

# 创建lv_swap
lvcreate -n lv_swap_new -L 100G centos
mkswap /dev/centos/lv_swap_new
# 打开交换分区,检查
swapon /dev/centos/lv_swap_new
swapon -s
free -g
lsblk
# 若临时添加,不需要fstab
vi /etc/fstab
/dev/vg_name_swap_new  swap  swap  defaults 0 0

swapoff

# 清理缓存
sync && sync && sync && echo 1 > /proc/sys/vm/drop_caches
# 如果swap较大,关闭会很慢,就使用screen关闭swap
screen -R swapoff
swapoff /dev/centos/..
# 关闭自动挂载,删除lv_swap
vi /etc/fstab
swapon -s
# grub
vi /etc/default/grub
grub2-mkconfig -o /etc/grub2.cfg

fdisk和gdisk

gdisk可以对2T以上的磁盘进行操作,fdisk不行
fdisk只能用于MBR分区,gdisk可以用于GPT分区

MBR和GPT

MBR分区:不支持4T以上
GPT分区:GPT,全局唯一标识分区表(GUID Partition Table),它使用128位GUID来唯一标识每个磁盘和分区,与MBR存在单一故障点不同,GPT提供分区表信息的冗余,一个在磁盘头部一个在磁盘尾部;它通过CRC校验和来检测GPT头和分区表中的错误与损坏;默认一个硬盘支持128个分区


用户、组、密码时效

user–用户

/etc/passwd

useradd 添加用户
#常用:
useradd -d 指定家目录 -m 用户名 -s /bin/nologin
echo “密码” | passwd --stdin 用户
setfacl -m u:用户名:rwx 目录
getfacl 目录
-e expireDate		#有效期
-g primaryGroup		#主组
-G gruop1,group2...	#次要组,最多31个
-s loginShell		#登陆解释器
-u userid
userdel 删除用户
-r						#同时删除用户拥有的资源
-G <username> <groupname>	#将用户从组中删除
usermod 更改用户
usermod -参数 username
-l newUsername	#更改用户名
-u newUserid	#更改userid
-L				#锁定账户
-U				#解锁账户
-a				#给用户添加一个组

group–组

配置文件/etc/group

groupadd添加组
groupadd <groupname>
groupdel删除组
groupdel <groupname>
groupmod修改组
groupmod -n <oldname> <newname>		#修改组名
groupmod -g <newGid> <groupname>	#修改gid

chage–设定密码时效

chage -参数 username
选项				意义
-l				#查看密码时效具体信息
-d YYYY-MM-DD	#人工设定“Last Day”,这是linux记录的上次更改密码的日期
-m minday		#“Last Day”后密码可以更改的最少天数
-M maxdays		#“Last Day”后密码可以使用的最多天数.这段时间的最后一天叫做Maximum Day或Password Expiration Day
-W warnday		#Maximum Day前多少天,用户开始收到更改密码警告
-I inactivedays	#Maximum Day后多少天,若用户还未更改密码,账户将被锁定
-E YYYYY-MM-DD	#设定账户(不是密码)的过期日期

rpm–软件包管理器

RPM:数据库file /var/lib/rpm/

所有软件包:/mnt/Packages/

# rpm命令
rpm -i	(install)				从软件包文件中安装软件
rpm -U	(update)、rpm -F	(fresh)	从软件包文件中升级软件
rpm -e	(erase)					删除软件包
rpm -q	(query)					查询RPM数据库
rpm -V	(verify)				校验已安装的软件包,报告了自安装以来被修改过的文件
rpm -checksig					校验RPM数据包文件的完整性
# 与`rpm -i|rpm -U|rpm -F`一起使用的命令行选项
选项					作用
-h, --hash			安装时输出'#'符号
-v, --verbose		打印“冗长的”输出。一个-v选项打印软件包名称,多个-v选项提供更详细的输出
--nodeps			即使不符合前提条件,也进行安装
--replace-files		安装时已有的文件会被新文件覆盖
--force				即使已经安装了软件包,也进行安装
--test				不执行任何动作,只打印输出
--noscripts			不执行与RPM安装有关的任何脚本
# rpm -q
-q --requires		可以查询RPM软件包的先决条件。
-q -provides		可以查询RPM软件包所满足的RPM先决条件。
-qa --last 			可以生成软件包及其安装时间的排序列表。
-q -scripts			查询RPM软件包中含有安装或删除软件包时所执行的脚本。
-qf					拥有文件 filename 的软件包

iptables

INPUT链 第二行 添加一条策略

iptables -I INPUT 2 -s 133.37.1.0/24 -j ACCEPT

WEIHU链 添加一条策略

iptables -I WEIHU -s 133.37.1.64/26 -j ACCEPT

添加一条指定端口的策略为drop

iptables -I INPUT -s 133.37.1.0/24 -p tcp --dport 22 -j DROP

添加一条指定网卡的策略为drop

iptables -A INPUT -i enp3s0 -j DROP

连续ip和连续端口 的策略

iptables -I INPUT -m iprange --src-range 10.251.1.100-10.251.1.200 -p tcp -m multiport --dport  9000:9999 -j ACCEPT

保存到文件

iptables-save >/etc/sysconfig/iptables

自动配置iptables

#iptables-save
hostnm=`ip a| grep global| awk '{print $2}'`
#WangKa=`ip a| grep global| awk '{print $NF}`
ip=`ip a| grep global| awk '{print $2}'|awk -F '/' '{print $1}' |awk -F '.' '{print $1"."$2"."$3".0"}'|head -1`
yanma=`ip a| grep global| awk '{print $2}'|awk -F '/' '{print $2}'|head -1`
ipduan=${ip}"/"${yanma}
#ip a| grep global| awk '{print $2}'|awk -F "." '{print $NF}'|sed 's/.*\//0\//g'

# 获取ip/yanma
>/tmp/tmp_ip;>/tmp/tmp_yanma;>/tmp/tmp_ipyanma
for i in `ip a| grep global| awk '{print $2}'|awk -F '/' '{print $1}' |awk -F '.' '{print $1"."$2"."$3".0"}'`;do echo $i>>/tmp/tmp_ip;done
for i in `ip a| grep global| awk '{print $2}'|awk -F '/' '{print $2}'`;do echo $i>>/tmp/tmp_yanma;done
#cat /tmp/tmp_ip;cat /tmp/tmp_yanma
if [[ `cat /tmp/tmp_ip|wc -l` != `cat /tmp/tmp_yanma|wc -l` ]];then
echo 'ip/yanma check!';exit 1;fi
j=1;for i in `cat /tmp/tmp_ip`;do
echo -n "`sed -n "${j}p" /tmp/tmp_ip`/">>/tmp/tmp_ipyanma
echo `sed -n "${j}p" /tmp/tmp_yanma`>>/tmp/tmp_ipyanma
let j=j+1;done

# 若iptables不含同段策略则执行
line=`iptables -nvL|wc -l`
if [[ `iptables -nvL|grep "$ipduan"|wc -l` -eq 1 ]];then
echo "iptables already $line lines,no action,success";exit 0
if [[ ! -d /etc/sysconfig/ ]];then mkdir /etc/sysconfig/;fi
# 写入iptables文件
echo "
# Generated by iptables-save v1.4.21 on Fri Apr  2 15:20:18 2021
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [40:3744]
:WEIHU - [0:0]
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -j WEIHU
" >/etc/sysconfig/iptables
# 同段互通
for i in `cat /tmp/tmp_ipyanma`;do
echo "-A INPUT -s $i -j ACCEPT" >>/etc/sysconfig/iptables
done
# 自定义策略
echo "
-A INPUT -j DROP
-A WEIHU -p tcp -m iprange --src-range 10.251.1.1-10.251.1.2 -m multiport --dports 80,443,1024:65535 -j ACCEPT
-A WEIHU -s 133.11.123.0/25 -j ACCEPT
-A WEIHU -m state --state RELATED,ESTABLISHED -j ACCEPT
-A WEIHU -s 10.183.123.0/24 -j ACCEPT
-A WEIHU -i lo -j ACCEPT
COMMIT
# Completed on Tue Mar  5 16:24:27 2024
" >>/etc/sysconfig/iptables
iptables-restore /etc/sysconfig/iptables
fi

#cat /etc/sysconfig/iptables

# 判断是否执行成功 
line=`iptables -nvL|wc -l`
if [[ ! `iptables -nvL|grep "$ipduan"` ]];then echo "iptables setting failed!!! check pls!!!";else echo "iptables $line lines,success";fi

#iptables -nvL

tar

文件格式解压命令
.tartar -xvf
.gzgzip -d 或 gunzip
tar.gz和.tgztar -xzf
bz2bzip2 -d 或 bunzip2
tar.bz2tar -xjf
.Zuncompress
.tar.Ztar -xZf
rarunrar e
zipunzip
tar [options] [archive-file] [file or directory to be archived]
options:
-c:压缩
-x:解压
-f:创建具有给定文件名的压缩文档
-t:显示或列出压缩文件中的文件
-u:压缩并且添加到已有的压缩文件中
-v:显示详细信息
-A:连接压缩文件
-z:告诉tar命令使用gzip创建tar文件
-j:使用tbzip过滤tar压缩文件
-W:验证压缩文件
-r:在已经存在的.tar文件中更新或添加文件或目录

archive-file:
归档文件是由一个或多个文件以及元数据组成的文件。归档文件用于将多个数据文件收集到一个文件中,
以便于移植和存储,或者简单的压缩文件以使用更少的存储空间。

重置系统密码

# reboot重启系统,在引导界面按“e”,找到linux并且按“end”键到行尾输入:空格 rd.break
# 接下来按CTRL+X 开始引导系统,接着输入命令:
mount-o remount,rw /sysroot (重新挂载)
chroot /sysroot
echo “password” | passwd --stdin root
touch /.autorelabel (自动重写标签)
exit

dmidecode–硬件信息

dmidecode -t 1
dmidecode | grep -i date
dmidecode  -s bios-release-date		#查看服务器出厂日期

chronyc.conf

# 备份
cp /etc/chrony.conf /etc/chrony.conf.bak
# 配置文件
sed -i '/pool.ntp.org/iburst/d' /etc/chrony.conf
sed -i '3a server $server_ip iburst' /etc/chrony.conf
systemctl restart chronyd
# 检查
chronyc sources -a
datetime
#查看时间同步
chronyc sources -Z

ipmitool

IPMI工具(Intelligent Platform Management Interface)

功能分类命令描述
网络配置ipmitool lan print查看IPMI网络接口的IP地址
ipmitool -I lan set1 ipaddr <IP地址>设置IPMI网络接口的IP地址
ipmitool -I lan set1 netmask <子网掩码>设置IPMI网络接口的子网掩码
ipmitool -I lan set1 defgw ipaddr <默认网关>设置IPMI网络接口的默认网关
底盘管理ipmitool -I open chassis status查看底盘状态,包括电源状态和工作状态
ipmitool -I open chassis power on远程开机
ipmitool -I open chassis power off远程关机(硬关机)
ipmitool -I open chassis power reset远程重启(硬重启)
ipmitool -I open chassis power soft远程软关机(类似轻按开机按钮)
事件和日志ipmitool -I open sel打印系统事件日志(SEL)
ipmitool -I open event向BMC发送已定义的事件,用于测试SNMP配置
ipmitool -I open pef配置平台事件过滤(PEF),用于事件过滤和报警
传感器信息ipmitool -I open sensor list获取传感器列表及其监测值和阈值
ipmitool -I open sensor get <传感器ID>获取指定传感器的监测值
用户管理ipmitool -I lanplus -H <IP地址> -U <用户名> -P <密码> user list查看BMC的用户列表
ipmitool -I lanplus -H <IP地址> -U <用户名> -P <密码> user set name <新用户名>设置BMC用户的名称
ipmitool -I lanplus -H <IP地址> -U <用户名> -P <密码> user set password <新密码>设置BMC用户的密码
其他ipmitool -I open version显示ipmitool的版本信息
ipmitool -I open help显示ipmitool的帮助信息
# 设置系统下一次启动项
ipmitool -I lanplus -U root -P Huawei12#$ -H X.X.X.X chassis bootdev cdrom
# 默认只对下一次启动进行设置,若需要永久生效需添加参数
options=persistent

# 亲测centos7.9无效,以后到其他环境再试试,有生效了的朋友可以在评论告诉我一声,谢谢

yum

yum(Yellowdog Updater Modified)是Red Hat系列Linux发行版中用于包管理的命令行工具。它基于RPM(Red Hat Package Manager)包管理系统,提供了更高级别的软件包管理功能,包括自动处理依赖关系、软件包升级和搜索等。

功能分类命令描述
安装与卸载
yum install <package-name>安装指定的软件包及其依赖关系
yum remove <package-name>卸载指定的软件包及其依赖关系
yumdownloader <package-name> --resolve --destdir=<destination-path>仅下载指定软件包及其依赖关系的安装包至指定路径
更新与升级
yum update <package-name>更新指定的软件包到最新版本
yum update更新系统中所有软件包
查询与显示
yum list列出已安装的软件包列表
yum search <keyword>在可用软件包中搜索包含指定关键字的软件包
yum info <package-name>显示指定软件包的详细信息
缓存管理
yum clean all清除yum的缓存,包括已下载的软件包和元数据等
仓库管理
yum repolist显示已配置的yum仓库列表,包括启用和禁用的仓库
yum-config-manager --enable <repo-name>启用指定的yum仓库
yum-config-manager --disable <repo-name>禁用指定的yum仓库
组管理
yum groupinstall <group-name>安装指定的软件包组,包括该组下的所有软件包
yum groupupdate <group-name>更新指定的软件包组及其依赖关系
yum groupremove <group-name>卸载指定的软件包组及其依赖关系
yum grouplist列出所有可用的软件包组及其描述
帮助与支持
yum help显示yum的帮助信息,包括可用命令和选项
其他功能
yum check-update检查所有软件包是否有可用的更新
yum provides <file-name>查找提供指定文件的软件包
yum history new重置yum的历史记录,清除已安装、更新和卸载的软件包列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值