2020-12-26 工作常用 Linux 操作:磁盘卸载、 自动化挂盘脚本 、磁盘分区合并、ansible、git 设置相关

[工作常用 Linux 操作:磁盘卸载、 自动化挂盘脚本 、磁盘多个分区合并、ansible 、git 设置相关]

1、查看 欧拉系统 的版本号:rpm -q --provides euler0release
2、查看机器镜像:cat /etc/os-release
3、查看 mock版本:rpm -qa | grep mock
4、更换Linux密码:echo 'root:123456(新密码)'|chpasswd

############################################################################################################################

1、[卸载相关]


# 卸载挂盘
umount /home  /var/lib/mock  /var/cache/mock

# 删除逻辑卷路径
lvremove /dev/ci-vg1/home/  /dev/ci-vg1/lib_mock  /dev/ci-vg1/cache_mock -y

# 删除逻辑卷组 vgdisplay 可以查看逻辑卷组信息
vgremove ci-vg1

# 删除物理卷
pvremove /dev/vdb

查看 卷组信息:
vgdisplay | awk '{print$3}' | sed -n 2p  (获取第 3 列 第2 行 得到 ci-vg1)
vgdisplay | awk '{print$3}' | sed -n 2p | xargs vgremove  (得到 ci-vg1,并 vgremove ci-vg1)

# 删除物理卷 physical volume:
pvscan | awk '{print$2}' | sed -n 1p | xargs pvremove   (获取第 2 列 第1 行 得到 /dev/vdb,并卸载)

2、挂盘自动化脚本:
sh -x ola-x86.sh /dev/vdb

"""
#!/bin/bsah
set -ex
workdir=$(dirname $0)
cd $(workdir)

# 一般重装系统后,会存在逻辑卷,先判断
# 挂盘前,如果存在逻辑卷组,先卸载
lv=`lvscan |awk {if(NR < 4){print$2}} | xargs`,也可以直接匹配 /dev/ci-vg1 开头的
lv=`lvscan | awk '/dev/ci-vg1/{print$2}' | xargs`

echo $lv
if [-z $lv];then
  echo "No such logical volume need to remove!"
else
  lvscan | awk '{print$2}' | xargs lvremove -y
  echo "already removed the logical volume !"
fi

# 删除卷组
# 查看卷组
vg=`vgdisplay | awk '{print$3}' | sed -n 2p | xargs`

echo $vg
if [-z $vg];then
  echo "No such volume group need to remove!"
else
  vgdisplay | awk '{print$3}' | sed -n 2p | xargs lvremove -y
  echo "already removed the volume group !"
fi

# 删除物理卷组
pv=`pvdisplay | awk '{print$3}' | sed -n 3p | xargs`
echo $pv
if [-z $pv];then
  echo "No such  physical volume need to remove!"
else
  pvdisplay | awk '{print$3}' | sed -n 3p | xargs pvremove -y
  echo "already removed the physical volume !"
fi

# 开始挂盘
disk=$1
# 创建物理卷(pvcreate ci-pv1)
pvcreate $disk
#创建卷组 vgcreate ci-vg1 $disk
# 在 卷组上创建逻辑卷
lvcreate --name lib_mock -L 50G ci-vg1 -y
mkfsext3 /dev/mapper/ ci-vg1/lib_mock
rm-rf /var/lib/mock/
mkdir -p /var/lib/mock/
chmod 755 /var/lib/mock/
mount /dev/mapper/ci--vg1-lib_mock /var/lib/mock/

# 创建lv
lvcreate --name cache_mock -L 50G ci-vg1 -y
# 格式化磁盘
mkfs.ext3 /dev/mapper/ci--vg1/cache_mock
# 挂载磁盘
rm -rf /var/cache/mock/
mkdir -p /var/cache/mock/
mount /dev/mapper/ci--vg1-cache_mock /var/cache/mock/

lvcreate ci-vg1 -L 100%Free --name home -y
mkfs.ext3 /dev/mapper/ci--vg1-home
mkdir -p /home
mount /dev/mapper/ci--vg1-home /home

# 设置开机自启挂盘防丢失

echo "mount /dev/mapper/ci--vg1-home /home" >> /etc/rc.d/rc.local
echo "mount /dev/mapper/ci--vg1-cache_mock /var/cache/mock/" >> /etc/rc.d/rc.local
echo "mount /dev/mapper/ci--vg1-lib_mock /var/lib/mock/" >> /etc/rc.d/rc.local

# 查看挂盘情况
df -h(lsblk)


# 一般添加 DNS 开机自启


cat> /etc/resolve.conf <<EOF
nameserver 10.10.10.10 
nameserver 10.xxx.xxx.xxx
EOF

# 添加SVN 和 域名 代理
echo "10.xxx.xxx.xxx  xxsvn-xxx" >> /etc/hosts # svn 代理
echo "10.xxx.xxx.xxx  xxx.xxx.com" >> /etc/hosts # 域名代理

# ssh 链接域名时不需要输入 yes:
sed -i 's/#StrictHostKeyChecking ask/StrictHostKeyChecking no/' /etc/ssh/ssh_config
sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/ssh_config

# 修改加 Jenkins 连接失败的sshd_config 文件
sed -i 's/MACs hmac-sha2-256/MACs hmacs-sha1,hmac-sha2-256/'  /etc/ssh/sshd_config
service sshd restart

# ansible 机器添加后无法链接各执行机,需要关闭 selinux 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/'  /etc/selinux/comfig
"""


3、# linux 多个分区合并为一个分区

1、创建PV
# pvcreate /dev/vdb /dev/vdc /dev/vdd
# pvdisplay
2、创建VG
# vgcreate
jenkins_volume_group  /dev/vdb /dev/vdc /dev/vdd
3、创建LV
# lvcreate -l 100%VG -n jenkins_master_volume_group

4、格式化
mkfs.ext3 /dev/jenkins_volume_group/jenkins_master

5、挂载
mkdir -p /jenkins/workspace
mount /dev/jenkins_volume_group/jenkins_master  /jenkins/workspace

6、写入开机自动挂载防丢失  /etc/fstab  、 /etc/rc.d/rc.local

echo "mount /dev/jenkins_volume_group/jenkins_master  /jenkins/workspace"  >> /etc/rc.d/rc.local
echo "mount /dev/jenkins_volume_group/jenkins_master  /jenkins/workspace ext3 defaults 0 0 "   >> /etc/fstab 

############################################################################################################################


[ansible]

方法一:
某一台执行机 与 ansible 机器进行免密添加
ssh-keygen -t rsa  (生成密钥)
ssh-copy-id  root@10.xx.xxx.xxx (拷贝密钥)

方法二:
将本地机器的 /root/.ssh/id_rsa.pub 文件内容 手动拷贝到远程机器的 /root/.ssh/authorized_keys  文件中:

vi /etc/ansible/ansible.cfg (配置 IP机器tag)

验证ansible:

ansible <groupname> -m ping

ansible 批量操作:
ansible 标签name -m shell -a "echo 'http://git账号:密码@xxx.com(域名)' >> /root/.git-credentials" 

ansible 标签name -m shell -a "echo 'root:123456'|chpasswd"  

ansible 标签name -m shell -a "cat /root/.pip/pip.conf"

ansible 标签name -m shell -a "scp /root/*  root@xx.xx.xx.xx(ip):/etc/root/temp/"
or 
ansible 标签name -m copy "src=/root/.git-credentials dest=/root/" 

############################################################################################################################

【Git 设置】:


# git clone ssh 安全验证 设置 false:
git config --global http.sslVerify false
或者 编辑  TortoiseGit -> Setting --> Edit  global.gitconfig  添加如下配置:
cat .gitconfig
[credential]
    helper = store
[pack]
    window = 0
    windowMemry = 2048m
    SizeLimit = 2048m
    threads = 1
[http]    
    sslVerify = false
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值