【Linux编译环境的搭建】Linux都没有,怎么学Linux编程?
本文准备从0开始,一步步搭建一套属于自己的多节点Linux系统环境,这将是后续学Linux、用Linux、Linux环境编程、应用和项目部署、工具实验等一系列学习和实践的基石,希望对小伙伴们有帮助。
提前备好Linux编程实验环境非常重要,建议人手一套,这样以后每当学完一个理论知识需要实践时,立马就可以拿到上面去练手了。
因此本文先把环境给搭建起来!
- 文章末尾有惊喜哦!
软件准备
✪ VMware虚拟机软件:本文使用的是VMware Fusion 10.1.0版本
✪ CentOS操作系统ISO镜像:CentOS 7.4 64位
✪ SSH终端软件:SecureCRT
✪ SFTP文件传输工具:Transmit
✪ 物理宿主机系统:macOS Catalina 10.15.4
安装Linux操作系统
1、创建新的虚拟机
2、选择固件类型
默认即可
3、选择自定义设置
4、进入自定义设置
我们初步需要自定义的主要也就是处理器、内存、硬盘,可以根据宿主机性能按需分配。
5、启动虚拟机
如果有权限提示,记得打开权限允许,否则可能会报错
正式点击启动键,过程中各种提示权限的允许动作,建议都通过一下。
6、进入系统安装界面
7、选择安装语言
8、选择预安装的软件
9、配置分区
没有特别需求可以选择自动分区,大家如果有需要可以自定义分区。
10、进入正式安装过程
11、安装完成并重启
12、进入新系统
系统是装好了,但还有几个问题
问题一:虚拟机内Linux系统与外网无法连通
问题二:虚拟机内Linux系统与外部宿主机无法连通
比如我这里的物理宿主机的IP地址为:192.168.31.35
问题三:虚拟机内Linux系统节点与节点之间无法连通(如果装了多个Linux节点的话)
网络配置(极其重要!)
1、首先尝试查看虚拟机系统的IP地址
使用命令ifconfig进行查看。我们会发现装好的系统并没有为它设置IP地址。
2、设置虚拟机与物理宿主机的网络连接
首先选择桥接模式,另外由于我的物理主机是通过WiFi的方式连接到路由器最终访问外网,所以此处我选择的是Wi-Fi这一项
小伙伴们可以按实际情况进行选择。
3、为虚拟机配置固定静态IP
首先使用dhclient工具为本机分配一个网络内可用的IP地址:
接下来编辑虚拟机系统网卡配置,将上面分配所得的IP地址配置进去:
使用命令编辑:vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改配置如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=824ec4bd-a9ae-4410-8346-17ce7f3dd111
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.31.110
NETMASK=255.255.255.0
GATEWAY=192.168.31.1
DNS1=119.29.29.29
————————————
尤其注意下图红色标记部分的配置:
编辑完成,重启网络设置即可
systemctl restart network.service
检查安装配置结果
1、首先检查IP配置结果
2、检验虚拟机系统网络和外界的连通性
包括检查和外网的连通、和物理宿主机的连通、以及和兄弟节点(前提是你安装了多个虚拟机系统节点的话)之间的连接
3、反向检查物理宿主机和虚拟机系统网络的连接性
至此,大功告成!
SSH远程连接
在宿主机通过SSH终端连接虚拟机内Linux系统,成功!
SFTP文件传输
在宿主机通过SFTP工具即可访问虚拟机内Linux节点,从而可以实现本地和服务器的文件互传
这样一来,一个可用的Linux节点就打造完成了!
何不再多弄几个节点?
可以完全重复以上步骤再打造出多个Linux节点,当然更简单的方式则是直接通过上面已经装好了的虚拟机节点直接克隆,来快速生成其他节点。
克隆完成之后,只需要再配置一下新节点的网络即可。
后记
好啦,现在多节点的Linux环境终于搭建完成了,后续不管是学Linux、用Linux,还是Linux环境编程、应用和项目部署、工具实验,都有可以动手实践的地方了。
————————
看到这里你是不是对“Linux”又有了一点新的认知呢~
如果你喜欢这篇文章的话,动动小指,点个赞再走~
如果你想学编程,小编推荐一个C语言/C++、windows、Qt、Linux编程学习基地【点击进入】!
一个活跃、高逼格、高层次的编程学习殿堂;编程入门只是顺带,思维的提高才有价值!
涉及:编程入门、游戏编程、网络编程、Windows编程、Linux编程、Qt界面开发、黑客等等....
【Linux编译环境的搭建】Linux都没有,怎么学Linux编程?的更多相关文章
- 二、linux编译环境的搭建
1.linux编译工具安装 vim安装:apt-get install vim 注意:使用C语言源代码语法加亮功能,需要配置文件/etc/vim/vimrc,加入代码syntaxon.文件后缀必须为. ...
- Linux开发环境的搭建和使用——Linux本必备软件SSH
SSH 至 Secure Shell 缩写.由 IETF 网络工作组(Network Working Group)开发:SSH 以建立应用层和传输层安全协议中的基础上. SSH 是眼下较可靠,专为远程 ...
- linux虚拟机环境快速搭建redis5.x版本的主从集群总结
文/朱季谦 我在阿里云服务器上曾参与过公司redis集群的搭建,但时间久了,都快忘记当时的搭建过程了,故而决定在虚拟机centOS 7的环境,自行搭建一套redis5.x版本的集群,该版本集群的搭建比 ...
- WebAssembly学习(二):Windows10下WebAssembly C/C++编译环境的搭建与Hello World尝试
首先,不论是在Windows.Linux还是Mac上,Webassembly的编译都是主要依赖于Emscripten SDK这个工具的.但是,在这里必须要吐槽一下,不论是WebAssembly官网.W ...
- 第一篇:《UNIX 环境高级编程》编译环境的搭建
第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载 www.apuenook.com 第三步:解压下载到的包并放在用 ...
- 《UNIX 环境高级编程》编译环境的搭建( 运行本专栏代码必读 )
第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载 www.apuenook.com 第三步:解压下载到的包并放在用 ...
- Java编译环境的搭建(eclipse)
每用一种语言开发,要搭建其编译和开发环境,我们废话不说,立刻来看看Java开发环境的搭建. 1.安装JDK和JRE Windows环境下: a.去Oracle官网下载对应版本的JDK安装包,http: ...
- 第一篇:《UNIX 网络编程 第二版》编译环境的搭建
第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 第三步:解压下载到的包并放在用户主目录中 第四步:进入包内并执行以下命令 su ...
- 《UNIX 网络编程 第二版》编译环境的搭建( 运行本专栏代码必读 )
第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载http://ishare.iask.sina.com.cn/f/ ...
随机推荐
- 关于跨域策略文件crossdomain.xml文件
下载flexpaper源码修改后做成swf阅读器,要加入待阅读的swf文件,可以在flex里调用js的方法来获取swf文件的路径的方法,在js只专注获取路径就行,等着flex来调用:但这里会遇到一个问 ...
- 将微服务部署到 Azure Kubernetes 服务 (AKS) 实践
本文是对 <.NET Tutorial - Deploy a microservice to Azure> 的翻译和实践.入门级踩坑实践,k8s 大佬请回避,以免耽误您宝贵的时间. 介绍 ...
- ctfhub 报错注入
payload 1 Union select count(*),concat((查询语句),0x26,floor(rand(0)*2))x from information_schema.colu ...
- 乔悟空-CTF-i春秋-Web-SQLi
2020.09.05 今天注定是高产的一天,这题真是坑,不看wp真的不会做,现在回头来复习一遍. 做题 题目 题目地址 做题 这题坑人的地方就在于重定向了两次,并且重要信息在第一次里藏着,第二次还给了 ...
- STL-Deque(双端队列)与单调队列的实现
前言: STl是个好东西,虽然他在不开O2的条件下会跑的很慢,但他着实会让你的代码可读性大大提高,令你的代码看起来既简单又整洁. 双端队列: 顾名思义,双端队列是有两个头的,一个队首指针,一个队尾指针 ...
- 【Flutter 实战】文件系统目录
老孟导读:Flutter 中获取文件路径,我们都知道使用 path_provider,但对其目录对含义不是很清楚,此文介绍 Android.iOS 系统的文件目录,不同场景下建议使用的目录. 不同的平 ...
- C#开发PACS医学影像处理系统(十九):Dicom影像放大镜
在XAML代码设计器中,添加canvas画布与圆形几何对象,利用VisualBrush笔刷来复制画面内容到指定容器: <Canvas x:Name="CvsGlass" Wi ...
- 1.5Hadoop的启动
- ==、equals()、hashcode()的关系和区别
==.equals().hashcode()概念 ==:它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不试同一个对象. equals():它的作用也是判断两个对象是否相等.但它一般有两种使 ...
- jstl中ftm标签用法
<fmt:formatDate value="${dateTime}" pattern="yyyy/MM/dd HH:mm:ss"/>