【devops】devops-gitlab之部署与日常使用

 本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》从问题中去学习k8s

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

《DBA》db的介绍使用(mysql、redis、mongodb...)

1.什么是gitlab

1.Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制。2.GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习。3.GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库,
但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。4.GitHub和GiLlab两个都是基于Web的Git远程仓库,它们都提供了分享开源项目的平台,
为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。从代码的私有性上来看,GitLab 是一个更好的选择。
但是对于开源项目而言,GitHub依然是代码托管的首选。

2.上传包

# 安装包可参考清华源或阿里源下载:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
[root@git ~]# rz gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm# 官网:https://about.gitlab.com/安装环境:
1、  CentOS 6或者7
2、  2G内存(实验)生产(至少4G)
3、  安装包:gitlab-ce-10.2.2-ce
4、  禁用防火墙,关闭selinux

3.安装包

#使用rpm安装,缺少依赖
[root@git ~]# rpm -ivh gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm 
warning: gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY
error: Failed dependencies:policycoreutils-python is needed by gitlab-ce-10.2.2-ce.0.el7.x86_64#安装依赖
[root@git ~]# yum install -y policycoreutils-python#再次安装
[root@git ~]# rpm -ivh gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm

4.配置gitlab

[root@git ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://10.0.0.80'

5.重新生成

#修改配置文件以后重新生成
[root@git ~]# gitlab-ctl reconfigure/var/opt/gitlab/	         # 配置文件
/etc/gitlab/gitlab.rb		 # 配置文件地址
/opt/gitlab/                    # gitlab的程序安装目录
/var/opt/gitlab                 # gitlab目录数据目录
/var/opt/gitlab/git-dfata       # 存放仓库数据
gitlab-ctl status               # 查看目前gitlab所有服务运维状态
gitlab-ctl stop                 # 停止gitlab服务
gitlab-ctl stop nginx           # 单独停止某个服务
gitlab-ctl tail                 # 查看所有服务的日志

6.gitlab组成

[root@git ~]# gitlab-ctl status
run: gitaly: (pid 9873) 137s; run: log: (pid 9529) 207s
run: gitlab-monitor: (pid 9889) 136s; run: log: (pid 9630) 195s
run: gitlab-workhorse: (pid 9862) 137s; run: log: (pid 9483) 221s       #轻量级的反向代理服务器
run: logrotate: (pid 9513) 213s; run: log: (pid 9512) 213s		#日志管理工具
run: nginx: (pid 9496) 219s; run: log: (pid 9495) 219s			#web服务,web页面
run: node-exporter: (pid 9581) 201s; run: log: (pid 9580) 201s	
run: postgres-exporter: (pid 9908) 135s; run: log: (pid 9725) 176s
run: postgresql: (pid 9263) 285s; run: log: (pid 9262) 285s		#数据库
run: prometheus: (pid 9897) 136s; run: log: (pid 9695) 182s		#监控
run: redis: (pid 9203) 291s; run: log: (pid 9202) 291s			#缓存
run: redis-exporter: (pid 9647) 188s; run: log: (pid 9646) 188s
run: sidekiq: (pid 9467) 227s; run: log: (pid 9466) 227s		#后台的任务队列(异步执行)
run: unicorn: (pid 9429) 233s; run: log: (pid 9428) 233s		#动态web服务

7.常用命令

#查看gitlab状态
[root@git ~]# gitlab-ctl status#启动gitlab的服务
[root@git ~]# gitlab-ctl start nginx#停止gitlab的服务
[root@git ~]# gitlab-ctl stop nginx#查看服务日志
[root@git ~]# gitlab-ctl tail nginx

8.浏览器访问

img

#访问 http://10.0.0.80
先修改默认密码:12345678#登录
默认的用户名:root   密码:12345678

img

二、gitlab使用

1.外观设置

在登录界面增加自定义图片及文字

img

img

2.关闭注册接口

默认登录界面可用户自行注册并实现登录,但在公司中需要禁止用户自行注册,注册功能需经审批流程通过放可。所以在此将登录界面中的注册功能对外关闭。

img

img

3.汉化版配置

1、下载汉化补丁 
git clone https://gitlab.com/xhang/gitlab.git2、查看全部分支版本 
git branch -a3、对比版本、生成补丁包 
git diff remotes/origin/10-2-stable remotes/origin/10-2-stable-zh > ../ 10.2.2-zh.diff4、停止服务器 
gitlab-ctl stop5、打补丁 
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /tmp/10.2.2-zh.diff6、启动和重新配置 
gitlab-ctl start gitlab-ctl reconfigure

4.添加用户组

img

img

img

5.添加用户

img

img

img

img

6.把用户添加到用户组

img

img

7.创建项目

注意:默认创建的项目,只能对创建用户所在组用户有权限操作。如需其他普通用户对项目进行拉取,需要将其他普通 用户的组加入到项目中。如下图中,使用普通用户登录也可查看对应项目

img

img

img

img

8.推送和拉取项目

1)移除github的仓库
[root@git git_data]# git remote remove origin
[root@git git_data]# git remote
2)添加gitlab的仓库
[root@git git_data]# git remote add origin git@10.0.0.80:dev/git_data.git
[root@git git_data]# git remote
origin
# 查看当前分支的远端仓库地址
[root@git git_data]# git remote -v
3)推送代码
#将公钥配置到gitlab仓库

img

img

img

[root@git git_data]# git push -u origin master
Branch master set up to track remote branch master from origin.
Everything up-to-date
4)页面查看

img

img

5)克隆代码
[root@git git_data]# cd /tmp/
#克隆代码
[root@git tmp]# git clone git@10.0.0.80:dev/git_data.git
Cloning into 'git_data'...
remote: Counting objects: 31, done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 31 (delta 2), reused 0 (delta 0)
Receiving objects: 100% (31/31), done.
Resolving deltas: 100% (2/2), done.
#查看
[root@git tmp]# ll
total 0
drwx------ 2 git  git  20 Sep 22 01:00 gitaly-ruby831479196
drwxr-xr-x 3 root root 59 Sep 22 02:10 git_data
6)拉取代码
#创建仓库
[root@git opt]# mkdir git_data
[root@git opt]# cd git_data/#初始化仓库
[root@git git_data]# git init
Initialized empty Git repository in /opt/git_data/.git/#拉取代码
[root@git git_data]# git pull git@10.0.0.80:dev/git_data.git
remote: Counting objects: 31, done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 31 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (31/31), done.
From 10.0.0.80:dev/git_data* branch            HEAD       -> FETCH_HEAD#查看
[root@git git_data]# ll
total 8
-rw-r--r-- 1 root root  4 Sep 22 02:13 3
-rw-r--r-- 1 root root 12 Sep 22 02:13 master
-rw-r--r-- 1 root root  0 Sep 22 02:13 test_gihub

9.设置保护主分支

在实际中,一般不允许开发人员对分支进行合并到主分支,只能使用分支提交到gitlab中,再gitlab中进行申请 分支合并到主分支,交由管理员用户审批。 下面将实现做了分支保护之后各用户将代码上传到不同分支情况 结果:

  • 普通用户无法将master分支中的代码进行上传

  • 普通用户只能使用其他分支对代码进行上传

  • 普通用户如需将代码上传到主分支,只能使用普通分支对代码进行上传,再在页面中申请进行分支合并主分支

  • 管理员用户可以对主分支代码进行上上传和合并操作

  • 使用普通用户上传代码到master分支

1.找一台新机器
2.使用新机器生成密钥对
3.将密钥对使用普通用户记录到gitlab
4.克隆代码
5.修改代码
[root@zabbix git_data]# echo 12312123123 > haoda
6.设置全局用户
[root@zabbix git_data]# git config --global user.email "123@qq.com"
[root@zabbix git_data]# git config --global user.name "haoda"
# 此操作是将远端代码库命名为origin,后面直接调用origin就可使用
[root@zabbix git_data]# git remote add origin git@10.0.0.80:dev/git_data.git
[root@zabbix git_data]# git config --list
7.提交代码到远程仓库
[root@zabbix git_data]# git add haoda
[root@zabbix git_data]# git commit -m "使用普通用户提交到master分支"
[root@zabbix git_data]# git push -u origin master
8.查看仓库
查看结果:普通用户直接将代码提交到了master主分支,不安全,于是需要在管理员用户中进行下面图片中的操作
  • 分支保护

    img

    img

    img

    img

  • 再次使用普通用户将代码提交到master分支

1.再次修改代码
[root@zabbix git_data]# echo 123123123 > haoda3
2.提交代码
[root@zabbix git_data]# git add haoda3
[root@zabbix git_data]# git commit -m "配置完分支保护使用普通用户提交代码"
[root@zabbix git_data]# git push -u origin masterCounting objects: 4, done.Compressing objects: 100% (2/2), done.Writing objects: 100% (3/3), 319 bytes | 0 bytes/s, done.Total 3 (delta 1), reused 0 (delta 0)remote: GitLab: You are not allowed to push code to protected branches on
this project.To git@10.0.0.80:dev/git_data.git! [remote rejected] master -> master (pre-receive hook declined)error: failed to push some refs to 'git@10.0.0.80:dev/git_data.git'
3.提交代码被拒绝,没被允许
  • 使用管理员用户将代码提交至master分支

1.先拉取代码(修改代码前,习惯性先拉取新代码在进行修改)
[root@git git_data]# git pull git@10.0.0.80:dev/git_data.git
2.修改代码
[root@git git_data]# echo 123456 > haoda2
3.推送代码到远程仓库[root@git git_data]# git add haoda2[root@git git_data]# git commit -m "使用管理用户推送代码带master分支"[root@git git_data]# git remoteorigin[root@git git_data]# git push -u origin master
4.使用管理用户提交是没有问题的
  • 使用普通用户向普通用户提交代码

1.创建一个普通分支
[root@zabbix git_data]# git branch test
2.切换到普通分支
[root@zabbix git_data]# git checkout test
3.再次修改代码
[root@zabbix git_data]# echo 12312312312 >> haoda3
4.提交代码到新分支
[root@zabbix git_data]# git add haoda3[root@zabbix git_data]# git commit -m "使用普通用户向普通分支提交代码"[test f8bd225] 使用普通用户向普通分支提交代码1 file changed, 1 insertion(+)[root@zabbix git_data]# git push -u origin test
5.查看提交的代码
页面结果:提交成功

下面将实现普通用户代码申请合并主分支,一般第一次会直接在此处显示,如果未找到,可以参考图二

img

  • 图二:

    img

    img

    img

  • 使用管理员用户登录查看合并请求

    img

    img

    img

  • 查看合并成功

    img

10.git-gui的使用

专门为开发人员准备

  • 1.安装windows工具 windows安装包获取地址点我:验证码:zvde

0. 安装:傻瓜式安装,直接使用工具一直下一步就行
1.鼠标右键--> Git bash Here
2.配置全局变量,指定用户和邮箱

img

windows密钥对生成

img

1.针对开发人员操作,把公钥加入gitlab,当然是普通用户的gitlab
2.鼠标右键--> Git Gui Here

img

选择克隆

img

img

  • 拉取后查看文件

    img

  • 创建一个文件

    img

1.使用页面上传代码
Rescan #搜索有更新的代码
Stage Changed #上传到暂存区
Sign Off #提交到本地仓库前添加的注释
Commit #提交到本地仓库
Push #提交到远程仓库
注意:因为之前已经设置了分支保护,普通用户无法将代码上传到master分支中,只能创建新的分支,然后进行上传

img

img

  • 报错,因为普通用户无法向master分支提交代码

    img

  • 创建新的分支

    img

    img

  • 再次提交,先切换至其他分支

    img

    img

  • 页面进行合并

11.gitlab备份

  • 1.备份

对gitlab进行备份将会创建一个包含所有库和附件的归档文件。对备份的恢复只能恢复到与备份时的gitlab相同的版本。将gitlab迁移到另一台服务器上的最佳方法就是通过备份和还原。
gitlab提供了一个简单的命令行来备份整个gitlab,并且能灵活的满足需求。
备份文件将保存在配置文件中定义的backup_path中,文件名为TIMESTAMP_gitlab_backup.tar,TIMESTAMP为备份时的时间戳。TIMESTAMP的格式为:EPOCH_YYYY_MM_DD_Gitlab-version。
如果自定义备份目录需要赋予git权限。1) 配置gitlab
[root@git git_data]# vim /etc/gitlab/gitlab.rb
#开启备份
gitlab_rails['manage_backup_path'] = true
#备份文件的目录
gitlab_rails['backup_path'] = "/backup/gitlub"
#备份文件的权限
gitlab_rails['backup_archive_permissions'] = 0644
#备份文件保留的时间(单位是秒)
gitlab_rails['backup_keep_time'] = 604800        备份保留的时间(以秒为单位,这个是七天默认值2)创建备份目录
[root@git git_data]# mkdir /backup/gitlub -p
#授权
[root@git git_data]# chown -R git.git /backup/gitlub/3)gitlab重新生成
[root@git git_data]# gitlab-ctl reconfigure4)手动备份
#先拉取最新代码
[root@git git_data]# git pull git@10.0.0.80:dev/git_data.git
#备份
[root@git git_data]# gitlab-rake gitlab:backup:create5)检查备份
[root@git git_data]# ll /backup/gitlub/
total 512
-rw-r--r-- 1 git git 522240 Sep 23 00:49
1600793349_2020_09_23_10.2.2_gitlab_backup.tar6) 自动备份
#写脚本结合定时任务

2.误删除数据

注意:gitlab只能恢复相同版本的代码1) 代码拉取
[root@git git_data]# git pull git@10.0.0.80:dev/git_data.git2) 误删除代码
[root@git git_data]# rm -rf ./*
[root@git git_data]# git add -A
[root@git git_data]# git commit -m "故意误删除数据"
[root@git git_data]# git push -u origin master3) 恢复数据
- 停止相关服务
[root@git git_data]# gitlab-ctl stop unicorn
ok: down: unicorn: 0s, normally up
[root@git git_data]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
[root@git git_data]# gitlab-ctl status4) 使用备份数据恢复数据
#查看备份的文件
[root@git git_data]# ll /backup/gitlub/
total 1024
-rw-r--r-- 1 git git 522240 Sep 23 00:49
1600793349_2020_09_23_10.2.2_gitlab_backup.tar
-rw-r--r-- 1 git git 522240 Sep 23 00:50
1600793421_2020_09_23_10.2.2_gitlab_backup.tar
[root@git git_data]# gitlab-rake gitlab:backup:restore
BACKUP=1600793421_2020_09_23_10.2.25)启动服务
[root@git git_data]# gitlab-ctl start sidekiq
ok: run: sidekiq: (pid 33707) 0s
[root@git git_data]# gitlab-ctl start unicorn
ok: run: unicorn: (pid 33724) 1s
[root@git git_data]# gitlab-ctl status6) 查看恢复数据
直接在页面中进行查看

 

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

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

相关文章

新任项目经理,如何快速接手项目

新任项目经理踏上管理岗位&#xff0c;面临着前所未有的挑战与机遇。如何快速适应角色&#xff0c;有效管理团队&#xff0c;确保项目顺利推进&#xff0c;是每一位新任项目经理必须面对的。 一、深入了解项目与团队 1、项目定位与规划 新任项目经理应对项目进行全面的调研与…

初识zookeeper

Zookeeper介绍 Zookeeper是Apache Hadoop项目下的一个子项目&#xff0c;是一个树形目录服务。 Zookeeper是一个分布式的、开源的分布式应用程序的协调服务。 Zookeeper提供的主要功能包括&#xff1a; 配置管理分布式锁集群管理 Zookeeper数据模型 Zookeeper客户端常用命…

windows使用tcpdump.exe工具进行抓包教程

windows主机安装一些抓包工具可能有些不方便&#xff0c;这里有一个tcpdump.exe工具直接免安装&#xff0c;可以直接使用进行抓包。&#xff08;工具下载见 附件&#xff09; tcpdump.exe使用教程 如下&#xff1a; 1&#xff1a;tcpdump -D 可查看网络适配器(注意前面的编号)…

分治算法专题(一)——快速排序之【三路划分】

目录 1、分治算法简介 2、算法应用【leetcode】 2.1 题一&#xff1a;颜色分类 2.1.1 算法原理 2.2.1 算法代码 2.2 题二&#xff1a;排序数组——数组分三块原理 2.2.1 算法原理 2.2.2 算法代码 2.3 题三&#xff1a;数组中的第K个最大元素 2.3.1 算法原理 2.3.2 算…

各大平台统遭入侵??区块链市场遭攻击损失近3亿!

今年&#xff0c;全球发生多起骇人听闻的勒索入侵软件攻击事件&#xff0c;黑客组织利用各种手段和技术&#xff0c;不断试图突破网络安全防线&#xff0c;窃取敏感信息、破坏系统运行&#xff0c;甚至进行勒索和敲诈&#xff0c;使得网络安全问题日益凸显其重要性和紧迫性。 S…

Mysql分组取最新一条记录

文章目录 Mysql分组取最新一条记录1. 数据准备1. 方法1&#xff1a;使用子查询获取每个组的最大时间戳&#xff0c;然后再次查询获取具体记录&#xff08;如果时间戳是唯一的&#xff09;2. 方法2&#xff1a;使用窗口函数&#xff08;MySQL 8.0&#xff09;3. 方法3&#xff1…

TikTok跨境电商营销新策略:品牌联盟与影响力经济的结合

随着TikTok成为全球化的社交和电商平台&#xff0c;也给跨境卖家提供了新的商机。境电商通过与其他知名品牌、网红或KOC建立品牌联盟&#xff0c;能够有效实现资源共享、优势互补&#xff0c;并推动市场扩张&#xff0c;带来更大的商业价值和品牌影响力。本文Nox聚星将和大家探…

鸿蒙开发协调布局CollapsibleLayout

鸿蒙开发协调布局CollapsibleLayout 首先鸿蒙我暂时没找到官方提供的协调布局&#xff0c;所以得自己自定义。 一、思路 可滚动头部、粘性头部、可滚动内容布局 可折叠区域高度可滚动头部高度-粘性头部高度 二、效果图 鸿蒙开发协调布局CollapsibleLayout 三、关键代码 //…

优思学院|如何从零开始自己学习六西格玛?

优思学院为学习六西格玛管理的学员&#xff0c;精心推荐了几本由浅入深、系统全面的书籍&#xff0c;帮助大家从入门到精通&#xff0c;逐步掌握六西格玛这一强大的管理工具。无论你是刚接触六西格玛的初学者&#xff0c;还是想在专业领域提升的高级学员&#xff0c;这几本书都…

【ARM】Trustzone和安全架构

Trustzone的基本概念&背景和历史 什么是Trustzone&#xff1f; 什么是TEE&#xff1f; Trustzone是一个技术&#xff0c;是一个技术的设计&#xff0c;一个安全架构&#xff0c;既不是软件也不是硬件。 TEE (Trusted Execution Environment) 可信执行环境。就是依托Trust…

速响低代码平台:升级营销管理系统,开启高效无忧新体验!

当前日新月异的商业环境&#xff0c;企业面临着前所未有的挑战与机遇。随着市场竞争的日益加剧和企业业务的不断拓展&#xff0c;传统的营销方式和管理手段逐渐显露出其局限性&#xff0c;难以适应快速变化的市场需求。 数据收集难&#xff1a;传统的营销管理缺乏对客户数据的收…

战神诸神黄昏9月19日登录PC端! 手机怎么玩战神诸神黄昏

9月19日&#xff0c;《战神&#xff1a;诸神黄昏》正式登录PC端&#xff0c;这是一部动作冒险游戏。要是你想随时随地在手机或平板上也能玩《战神&#xff1a;诸神黄昏》&#xff0c;可以使用网易GameViewer远程帮你实现。 网易GameViewer远程作为一款专为游戏玩家打造的远程软…

轻松让U盘数据恢复的教程:一步步指导,快速找回丢失文件

在日常使用U盘的过程中&#xff0c;我们可能会不小心删除或格式化了一些重要文件&#xff0c;导致数据丢失。面对这种情况&#xff0c;很多人可能会感到焦虑和无助。但其实&#xff0c;只要掌握了正确的方法&#xff0c;U盘数据的恢复并不复杂。本文将为大家提供一份详细的教程…

LIN总线CAPL函数——校验和段(Checksum)测试(linGetChecksum)

&#x1f345; 我是蚂蚁小兵&#xff0c;专注于车载诊断领域&#xff0c;尤其擅长于对CANoe工具的使用&#x1f345; 寻找组织 &#xff0c;答疑解惑&#xff0c;摸鱼聊天&#xff0c;博客源码&#xff0c;点击加入&#x1f449;【相亲相爱一家人】&#x1f345; 玩转CANoe&…

57.【C语言】字符函数和字符串函数(strerror函数)

11.strerror函数 *简单使用 strerror string error cpuscplus的介绍 点我跳转 翻译: 函数 strerror char * strerror ( int errnum ); 得到指向错误信息字符串(简称错误码)的指针 解释errnum的值,产生一条描述错误情况的信息的字符串,就像被库函数设置为errno一样 这个返回的…

【新手上路】衡石分析平台使用手册-系统管理员手册

用户管理​ 用户管理页面可以创建管理用户、对用户进行分组管理、组织架构管理及用户属性的维护和管理。下面详细介绍用户管理相关功能。 用户管理​ 用户管理子页面展示了当前系统中所有用户的信息&#xff0c;可以添加新用户&#xff0c;查看、编辑已有用户&#xff0c;可…

解锁社交业务增长与合规“秘笈”,泛娱乐行业沙龙杭州站亮点一览!

在全球数字化浪潮的推动下&#xff0c;泛娱乐行业正迎来广阔的发展空间&#xff0c;与此同时&#xff0c;社交产品监管日益规范&#xff0c;海外市场机遇与挑战并存&#xff0c;游戏行业增速放缓等情况也不容忽视。如何在合规前提下&#xff0c;探求新的增长点成为从业者共同关…

CAN_FD和CAN2.0的不同点——深入浅出理解CAN协议(二)

本系列是在同公司硬件设计和验证同事&#xff0c;1、在完成了CANFD硬件接口IP开发 2、熟悉ISO-11898系列、ISO16845、CAN2.0协议、CANFD协议等以及大量学习资料 3、深入研究其他家CANFD IP&#xff08;NXP、BOSCH&#xff09;4、独立开发了对应底层驱动 5、通过CANoe和周立功CA…

Java Web服务运行一段时间后出现cpu升高导致的性能下降问题排查

背景 有个web服务&#xff0c;运行一段时间后&#xff0c;出现cpu逐渐占用高&#xff0c;服务处理请求整体性能下降问题。 异常情况时&#xff0c; 同时jvm的cpu上涨 最终表现为&#xff0c;处理内部逻辑执行耗时变高。 排查原因 原来服务的jvm启动参数带了 -XX:-TieredCom…

rocky9虚拟机配置双网卡的详细过程

编辑虚拟机配置->添加->选择网络适配器->确认->打开虚拟机 1.ip add查看第二个网卡的名称&#xff0c;我这里是ens36 2.cd到网卡的配置文件目录 cd /etc/NetworkManager/system-connections/ ls3.复制一份网卡的配置文件并改名为ens36.nmconnection(根据自己的第…