文章目录
个人整理的一些简单但极常用的命令和脚本
配置网卡
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
文件格式 | 解压命令 |
---|---|
.tar | tar -xvf |
.gz | gzip -d 或 gunzip |
tar.gz和.tgz | tar -xzf |
bz2 | bzip2 -d 或 bunzip2 |
tar.bz2 | tar -xjf |
.Z | uncompress |
.tar.Z | tar -xZf |
rar | unrar e |
zip | unzip |
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的历史记录,清除已安装、更新和卸载的软件包列表 |