VMWare 虚拟机创建 + 初始化

news2024/11/24 11:58:15

目录

概述

1. VMware创建虚拟机

2. IP 配置

nmtui

nmcli

3. Yum 源配置

光盘的Packages作为Yum源

配置开机自动挂载(光盘)

配置私有Yum仓库

跟新私有yum仓库

 报错和修复

4. 文件共享系统配置

跟新配置文件/etc/hosts + /etc/yum.repo.d/ftp.repo

 同步配置文件

测试yum私有仓库

5. Ansible 安装配置

 ssh 配置

hostlist 配置

ansible.cfg

6. init.yaml == 系统初始化脚本

command

7. sudo 提权


概述

创建虚拟机,从新构建项目

1. VMware创建虚拟机

2. IP 配置

3. Yum 源配置

4. 文件共享系统配置

5. Ansible 安装配置

6. 系统初始化脚本

1. VMware创建虚拟机

虚拟机配置

 (45条消息) VMware Workstation 网络备忘 + 集群规模_HJJ-DREAMER的博客-CSDN博客

2. IP 配置

nmtui

nmtui

 

 使用xshell或其他软件验证

nmcli

# 查看链接状态
nmcli connection show

# 修改现有网络配置ens35
nmcli connection modify ens35 ipv4.method manual ipv4.addresses 192.168.164.10/24 connection.autoconnect yes

# 启动ip网段
nmcli connection up ens35

# 关闭ip网段
nmcli connection up ens33

连通性测试

3. Yum 源配置

光盘的Packages作为Yum源

# 备份已有yum仓库的配置
cd /etc/yum.repos.d/    # 进入仓库

# 备份配置
mkdir bakup ; mv ./Cent* ./bakup/

# 挂载光盘
mount /dev/cdrom /mnt

# 更新配置
cat > /etc/yum.repos.d/dvd.repo << EOF
[centos7-dvd-repo]
name=centos7
baseurl=file:///mnt
enabled=1
gpgcheck=1
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7
EOF

# YUM 源更新
yum clean all   # 清理所有缓存
yum makecache   # 创建缓存
yum update      # 升级linux 系统
yum repolist    # 验证仓库信息

# 安装测试
yum install -y net-tools lftp rsync psmisc vim-enhanced tree vsftpd  bash-completion createrepo lrzsz iproute zip unzip yum-utils wget

# 卸载不必要程序,系统优化
yum remove -y postfix at audit kexec-tools firewalld-*

# 更新/etc/hosts文件
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.164.10          orgin
192.168.164.16          reporsitory
192.168.164.11          master01
192.168.164.12          master02
192.168.164.13          master03
192.168.164.14          node04
192.168.164.15          node05
192.168.164.17          node07
192.168.164.51          db01
192.168.164.52          db02
192.168.164.53          db03
192.168.164.54          db04
192.168.164.55          db05
192.168.164.56          db06
192.168.164.26          node6

# 最后重启服务器
reboot
常用软件
名称作用备忘
net-tools用于管理网络的工具
lftp命令行界面的 FTP 客户端软件
rsync可实现全量及增量(差异化备份)的本地或远程数据同步备份的优秀工具
psmisc进程管理软件包套装
vim-enhancedvim
tree树形结构列出指定目录下的所有内容
vsftpd建构一个以安全为重的 FTP 服务器
bash-completionbash 自动补全
createrepo用于更新已有的yum仓库
lrzsz可拖拽上传下载linux代码到windows
iproute一个网络管理工具包合集
yum-utilsyum的工具包集合
wget下载
zip unzipzip 压缩包的解压和压缩

配置开机自动挂载(光盘)

# 查看光驱设备文件系统类型
blkid  /dev/cdrom

# 追加 /etc/fstab 下面的配置
echo "/dev/cdrom   /mnt    iso9660    defaults   0  0"  >> /etc/fstab
cat /etc/fstab

# 挂载检测
umount /mnt
mount  -a
ls   /mnt

配置私有Yum仓库

# 创建 /var/ftp/localrepo/centos7 
mkdir -p /var/ftp/localrepo/centos7 

# 将光盘挂载到 /var/ftp/localrepo/centos7 
echo "/dev/cdrom   /var/ftp/localrepo/centos7    iso9660    defaults   0  0"  >> /etc/fstab

# 修改配置
cat /etc/yum.repos.d/dvd.repo
[centos7-dvd-repo]
name=centos7
baseurl=file:///var/ftp/localrepo/centos7
enabled=1
gpgcheck=0

# 更新yum源
yum clean all && yum makecache && yum repolist


# 开机自启动 vsftpd
systemctl enable --now vsftpd

# 初始化私有镜像仓库
createrepo --update /var/ftp/localrepo
ls /var/ftp/localrepo

跟新私有yum仓库

# 解压文件
tar xvf ansible_centos7.tar.gz

# 配置私有仓库
cat /etc/yum.repos.d/ftp.repo
[ftp-yum-repo]
name=ansible
baseurl=ftp://192.168.164.16/localrepo/ansible
enabled=1
gpgcheck=0

# 更新仓库
createrepo --update /var/ftp/localrepo/ansible
yum clean all && yum makecache && yum repolist
ls /var/ftp/localrepo/ansible

 报错和修复

failure: repodata/repomd.xml from ftp-yum-repo: [Errno 256] No more mirrors to try.
ftp://192.168.164.16/localrepo/ansible/repodata/repomd.xml: [Errno 14] FTP Error 550 - Server denied you to change to the given directory

报错原因是错误指定rpm包的位置 ( /var/ftp/localrepo )

正确指定rpm的位置是 /var/ftp/localrepo/ansible

正确更新yum仓库的命令是 createrepo --update /var/ftp/localrepo/ansible

详细报错

[root@reporsitory localrepo]# createrepo --update /var/ftp/localrepo
Spawning worker 0 with 2 pkgs
Spawning worker 1 with 2 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@reporsitory localrepo]# yum clean all && yum makecache && yum repolist
已加载插件:fastestmirror
正在清理软件源: centos7-dvd-repo ftp-yum-repo
Cleaning up list of fastest mirrors
已加载插件:fastestmirror
Determining fastest mirrors
centos7-dvd-repo                                                           | 3.6 kB  00:00:00
ftp://192.168.164.16/localrepo/ansible/repodata/repomd.xml: [Errno 14] FTP Error 550 - Server denied you to change to the given directory
正在尝试其它镜像。


 One of the configured repositories failed (ansible),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=ftp-yum-repo ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable ftp-yum-repo
        or
            subscription-manager repos --disable=ftp-yum-repo

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=ftp-yum-repo.skip_if_unavailable=true

failure: repodata/repomd.xml from ftp-yum-repo: [Errno 256] No more mirrors to try.
ftp://192.168.164.16/localrepo/ansible/repodata/repomd.xml: [Errno 14] FTP Error 550 - Server denied you to change to the given directory

4. 文件共享系统配置

跟新配置文件/etc/hosts + /etc/yum.repo.d/ftp.repo

# 更新配置文件
]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.164.10          origin
192.168.164.16          reporsitory
192.168.164.11          master01
192.168.164.12          master02
192.168.164.13          master03
192.168.164.14          node04
192.168.164.15          node05
192.168.164.17          node07
192.168.164.51          db01
192.168.164.52          db02
192.168.164.53          db03
192.168.164.54          db04
192.168.164.55          db05
192.168.164.56          db06
192.168.164.26          node6

]# cat /etc/yum.repos.d/ftp.repo
[ftp-yum-repo]
name=ansible
baseurl=ftp://192.168.164.16/localrepo/ansible
enabled=1
gpgcheck=0

[centos7-yum-repo]
name=centos7
baseurl=ftp://192.168.164.16/localrepo/centos7
enabled=1
gpgcheck=0

 同步配置文件

scp /etc/yum.repos.d/ftp.repo root@reporsitory:/etc/yum.repos.d/ftp.repo

rsync -av /etc/hosts root@origin:/etc/hosts

linux上的rsync命令详解 - 简书 (jianshu.com)

Linux scp命令 - 知乎 (zhihu.com)

测试yum私有仓库

yum clean all && yum makecache && yum repolist
sudo yum -y install ansible

5. Ansible 安装配置

 ssh 配置

# 安装系统
yum -y install ansible
mkdir -p ~/ansible

# 配置ssh服务
ssh-keygen -t rsa -b 2048 -N '' -f /root/.ssh/id_rsa

# 更新权限
chmod 0400 /root/.ssh/id_rsa

# 循环传输公钥
for ip in 192.168.164.{10..17} 192.168.164.{51..56}
do
  ssh-copy-id -f -o stricthostkeychecking=no -i /root/.ssh/id_rsa.pub root@${ip}
done

hostlist 配置

ansible]# cat hostlist
[k8s]
192.168.164.[11:15]
192.168.164.17

[k8sm]
192.168.164.[11:13]

[k8ss]
192.168.164.[14:15]
192.168.164.17

[mysql]
192.168.164.[51:53]

[mysqlslave]
192.168.164.[52:53]

[redis]
192.168.164.[51:56]

[redismaster]
192.168.164.[51:53]

[redisslave]
192.168.164.[54:56]

[origin]
192.168.164.10

[repo]
192.168.164.16

ansible.cfg

Ansible的配置文件 — 国内最专业的Ansible中文官方学习手册

]# cat ansible.cfg
[defaults]
inventory   = /home/junjie/ansible/hostlist
roles_path  = /home/junjie/ansible/roles
host_key_checking = False

6. init.yaml == 系统初始化脚本

---
- name: init
  hosts: k8s,redis
  tasks:
  - name: delete the error dir
    file:
      path: /etc/yum.repos.d
      state: absent
  - name: cp the ftp.repo
    copy:
      src: /etc/yum.repos.d/
      dest: /etc/yum.repos.d
      force: yes
      mode: "0755"
  - name: cp the hosts
    copy:
      src: /etc/hosts
      dest: /etc/hosts
      mode: "0644"
  - name: init the yum repo
    shell: yum clean all && yum makecache && yum repolist
  - name: install softwares
    yum:
      name: zip,unzip
      state: present
  - name: remove softwares
    yum:
      name: postfix,at,audit,kexec-tools,firewalld
      state: absent
  - name: create ssh key
    shell: "ssh-keygen -t rsa -b 2048 -N '' -f /root/.ssh/id_rsa"
  - name: chmod ssh file
    shell: "chmod 0400 /root/.ssh/id_rsa"

command

# 查看命令帮助
ansible-doc yum

# 检查
ansible-playbook file.yml --syntax-check    #检查yaml文件的语法是否正确
ansible-playbook file.yml --list-task       #检查tasks任务
ansible-playbook file.yml --list-hosts      #检查生效的主机

# 执行命令
ansible-playbook init.yaml

ansible  k8s,redis -m   command   -a   "ls -l /etc/yum.repo.d"

7. sudo 提权

sudo命令和sudoers文件详解 - 简书 (jianshu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/530400.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HLS入门实现一个led灯的闪烁

文章目录 前言一、HLS是什么&#xff1f;与VHDL/Verilog编程技术有什么关系?1、HLS简介2、开发流程3、HLS与VHDL/Verilog编程技术有什么关系? 二、2. HLS有哪些关键技术问题&#xff1f;目前存在什么技术局限性&#xff1f;1.关键技术问题2、技术局限性 三、使用 HLS 完成 le…

第十二章创建模式—享元模式

文章目录 享元模式概述结构 实例优缺点和使用场景使用场景JDK源码解析 结构型模式描述如何将类或对象按某种布局组成更大的结构&#xff0c;有以下两种&#xff1a; 类结构型模式&#xff1a;采用继承机制来组织接口和类。 对象结构型模式&#xff1a;釆用组合或聚合来组合对象…

渗透测试--2.漏洞探测和利用

目录 一.漏洞分类 二.漏洞探测 三.漏洞利用 四.漏洞扫描 1.Nessus 2.Web应用漏洞扫描器——DVWA 五.Metasploit漏洞利用 一.漏洞分类 网络漏洞 系统漏洞 应用漏洞 人为不当配置 二.漏洞探测 渗透测试是一种测试网络、应用程序和系统安全性的方法&#xff0c;旨在发现…

Xilinx FPGA DDR3设计(三)DDR3 IP核详解及读写测试

引言&#xff1a;本文我们介绍下Xilinx DDR3 IP核的重要架构、IP核信号管脚定义、读写操作时序、IP核详细配置以及简单的读写测试。 01.DDR3 IP核概述 7系列FPGA DDR接口解决方案如图1所示。 图1、7系列FPGA DDR3解决方案 1.1 用户FPGA逻辑&#xff08;User FPGA Logic&#…

玩转Google开源C++单元测试框架Google Test系列(gtest)之七 - 深入解析gtest

一、前言 “深入解析”对我来说的确有些难度&#xff0c;所以我尽量将我学习到和观察到的gtest内部实现介绍给大家。本文算是抛砖引玉吧&#xff0c;只能是对gtest的整体结构的一些介绍&#xff0c;想要了解更多细节最好的办法还是看gtest源码&#xff0c;如果你看过gtest源码…

麒麟操作系统软件更新灾难连篇之一:中文输入法消失

今天在麒麟操作系统开QQ总是过一会儿就闪退&#xff0c;于是进软件商店看看是否有更新。 真是不看不知道&#xff0c;一看吓一跳&#xff0c;居然有几十个软件更新&#xff0c;照常理&#xff0c;软件升级后应该是更加好用&#xff0c;于是先把QQ、五笔字型、搜狗输入法等几个常…

centos7.9搭建redis6.0.6哨兵模式

redis6.0.6哨兵模式搭建文档 1.准备工作1.1 ip规划安装依赖&#xff08;三台机器都操作&#xff09;1.3 gcc升级&#xff08;三台机器都操作&#xff09; 2.安装redis&#xff08;三台机器都操作&#xff09;2.1 获取安装包2.2 解压2.3 编译2.4 验证上一步是否正确2.5 安装2.6…

Windows10安装二进制Mysql-5.7.41和汉化

1.创建my.ini [mysqld] ##skip-grant-tables1 port 3306 basedirD:/webStudy/mysql-5.7.41 datadirE:/adata/mysqlData max_connections200 character-set-serverutf8 default-storage-engineINNODB sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] default-char…

Liunx基础命令 - which命令

which命令 – 查找命令文件 ​ which命令的功能是用于查找命令文件&#xff0c;能够快速搜索二进制程序所对应的位置。如果我们既不关心同名文件&#xff08;find与locate&#xff09;&#xff0c;也不关心命令所对应的源代码和帮助文件&#xff08;whereis&#xff09;&#…

C++中类的静态成员变量与静态成员函数

static声明为静态的&#xff0c;称为静态成员。 不管这个类创建了多少个对象&#xff0c;静态成员只有一个拷贝&#xff0c;这个拷贝被所有属于这个类的对象共享。 静态成员 属于类 而不是对象。 静态变量&#xff0c;是在编译阶段就分配空间&#xff0c;对象还没有创建时&…

ARM-栈帧(一)

ARM 栈帧 本系列均以 corter-A7(armv7-a) 为例 在 ARM 中&#xff0c;通常为满减栈&#xff08;Full Descending FD&#xff09;, 也就是说&#xff0c;堆栈指针指向堆栈内存中最后一个填充的位置&#xff0c;并且随着每个新数据项被压入堆栈而递减。 栈的本质 要理解栈的本…

二叉搜索树、AVL树、红黑树底层源码以及迭代器模拟实现,map/set的封装

这次给大家分享的还是关于二叉树部分的内容&#xff0c;之前的文章已经分享过一些二叉树的基础知识&#xff0c;如果不了解的朋友可以看看&#xff1a;二叉树以及堆和堆排序。普通的二叉树其实是没有什么实际的应用价值的&#xff0c;而map和set大家用过或者听过吗&#xff1f;…

Metasploit Framework(MSF)对Metasploitable2的渗透解析

简介 Metasploitable2虚拟系统是一个特殊的ubuntu操作系统&#xff0c;本身设计目的是作为安全工具测试和演示常见漏洞攻击的环境。 其中最核心是可以用来作为MSF攻击用的靶机。这样方便我们学习MSF框架的使用。 并且开放了很多的高危端口如21、23、445等&#xff0c;而且具有…

李薇:大模型时代的数据变革

Datawhale干货 作者&#xff1a;李薇&#xff0c;上海人工智能实验室 前言 今天&#xff0c;我将向那些希望深入了解大模型的同学们&#xff0c;分享一些关于大模型时代的数据变革的知识。作为上海人工智能实验室OpenDataLab的产品主管&#xff0c;我会介绍我们在开放数据和大…

大数据技术闲侃之岗位选择解惑

前言 写下这篇文章是因为五一节前给群友的承诺&#xff0c;当然按照以往的惯例&#xff0c;也是我背后看到的这个现象&#xff0c;我发现大部分同学在投递岗位的时候都是投递数据分析岗位&#xff0c;其实背后并不是很清楚背后的岗位是做啥的&#xff0c;想想我自己的工作生涯…

用户/用户组管理

用户管理 * useradd 命令添加用户&#xff0c;会在/etc/passwd生成用户信息&#xff0c;信息分为7列&#xff0c;被6个冒号隔开 第一列 username (login name) 第二列 密码&#xff0c;但是该列已经被移除&#xff0c;用x表示&#xff0c;密码信息已经存放在了/etc/shadow文…

Android以aar包形式引入hunter-debug,Java(3)

Android以aar包形式引入hunter-debug&#xff0c;Java&#xff08;3&#xff09; &#xff08;1&#xff09;首先把hunter的master分支代码拉下来&#xff0c;在本地编译&#xff0c; https://github.com/Leaking/Hunterhttps://github.com/Leaking/Hunter此过程主要目的是获得…

理解学习曲线:芯片工作中的平台价值和个人价值

作为一名芯片工程师&#xff0c;从毕业出到步入公司的第一天开始&#xff0c;需要完成一次明显的转变&#xff0c;随着工作的日益开展和项目推进&#xff0c;个人能力的也得到了潜移默化的提升&#xff0c;当我们回看个人的知识/技能成长的曲线时&#xff0c;可能会发现很多的发…

CMake:递归检查并拷贝所有需要的DLL文件

文章目录 1. 目的2. 设计整体思路多层依赖的处理获取 DLL 所在目录探测剩余的 DLL 文件 3. 代码实现判断 stack 是否为空判断 stack 是否为空获取所有 target检测并拷贝 DLL 4. 使用 1. 目的 在基于 CMake 构建的 C/C 工程中&#xff0c;拷贝当前工程需要的每个DLL文件到 Visu…

将nacos从本地切换到远程服务器上时报错:客户端端未连接,Client not connected

报错信息&#xff1a; 09:34:38.438 [com.alibaba.nacos.client.Worker] ERROR com.alibaba.nacos.common.remote.client - Send request fail, request ConfigBatchListenRequest{headers{charsetUTF-8, Client-AppNameunknown, Client-RequestToken65c0fbf47282ae0a7b85178…