Linux上:安装、网络配置

news2024/12/23 18:00:06

文章目录

    • 第一章: Linux概述
      • 1.1 操作系统
      • 1.2 操作系统的发展史
      • 1.3 Linux发行版
    • 第二章WSL安装linux
      • 2.1 WSL简介
      • 2.2安装Ubuntu
      • 2.3 Ubuntu功能设置
      • 2.4 ubantu环境设置
    • 第三章: 使用VM安装Linux
      • 3.1安装VMware
      • 3.2 配置安装系统环境
      • 3.3 安装Centos系统
      • 3.4 基本配置与SSH远程
    • 第四章 Linux网络
      • 4.1 Linux网络配置文件

第一章: Linux概述

1.1 操作系统

  • 定义:操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序
  • 作用:是把计算机系统中对硬件设备的操作封装起来,供应用软件调用,也是提供一个让用户与系统交互的操作界面。

在我们的常见的操作系统中有

  • PC端:Windows、 MacOS、Linux
  • 移动端OS:安卓、苹果、鸿蒙

1.2 操作系统的发展史

1. Unix

  1965年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑。为了解决数量不够用的问题:

在这里插入图片描述

  • 1965年左后由贝尔实验室、麻省理工学院 以及 通用电气共同发起了Multics项目,想让大型主机支持300台终端

  • 1969年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究

  • 1969年从这个项目中退出的Ken Thompson当时在实验室无聊时,为了让一台空闲的电脑上能够运行“星际旅行”游行,在8月份左右趁着其妻子探亲的时间,用了1个月的时间 编写出了 Unix操作系统的原型

  • 1970年,美国贝尔实验室的 Ken Thompson,以 BCPL语言 为基础,设计出很简单且很接近硬件的 B语言(取BCPL的首字母),并且他用B语言写了第一个UNIX操作系统。

  • 因为B语言的跨平台性较差,为了能够在其他的电脑上也能够运行这个非常棒的Unix操作系统,Dennis Ritchie和Ken Thompson 从B语言的基础上准备研究一个更好的语言​
    在这里插入图片描述

  • 1972年,美国贝尔实验室的 Dennis Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言

  • 1973年初,C语言的主体完成。Thompson和Ritchie迫不及待地开始用它完全重写了现在大名鼎鼎的Unix操作系统

  早期的Unix系统都是针对专门的硬件系统开发的,不同厂商都是为自己的服务器开发专门的Unix操作系统。

2. Minix

  因为AT&T(通用电气)的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。Andrew S. Tanenbaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX。

3. Linux

  因为Minix只是教学使用,因此功能并不强,因此Torvalds利用GNU的bash当做开发环境,gcc当做编译工具,编写了Linux内核-v0.02,但是一开始Linux并不能兼容Unix,即Unix上跑的应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致,因为Unix是遵循POSIX规范的,因此Torvalds修改了Linux,并遵循POSIX(Portable Operating System Interface,他规范了应用程序与内核的接口规范); 一开始Linux只适用于386,后来经过全世界的网友的帮助,最终能够兼容多种硬件;

  Minix最有名的学生用户是Linus Torvalds,他在芬兰的赫尔辛基大学用Minix操作平台建立了一个新的操作系统的内核,他把它叫做Linux。Linux内核最初只是由芬兰人**林纳斯·托瓦兹(Linus Torvalds)**在赫尔辛基大学上学时出于个人爱好而编写的。

   Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
  目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4. Unix与Linux区别

   Linux和UNIX的最大的区别是,前者是开放源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这种不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能 够接触的产品的原型 。 具体区别如下:

  • UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.
  • UNIX是商业软件,收费,而Linux是自由软件,免费、公开源代码的.
  • Linux商业化的有RedHat Linux 、SuSe Linux、slakeware Linux、国内的红旗等,还有Turbo Linux.
  • Unix主要有Sun 的Solaris、IBM的AIX, HP的HP-UX,以及x86平台的的SCO Unix/Unixware.

1.3 Linux发行版

  内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。
  Linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环:

  • 稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。
  • 开发版:由于要试验各种解决方案,所以变化很快。

  内核源码网址:http://www.kernel.org 所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中。

  Linux发行版 (也被叫做 GNU/Linux 发行版) 通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。

排行版本描述
1MX Linux基于Debian和antiX
2Linux Mint基于Ubuntu和Debian
3Ubuntu顶级Linux发行版之一
4Elementary OS基于Debian
5Manjaro Linux基于Arch Linux
6Zorin OS基于Debian
7Fedora软件技术方面处于领先地位
8Debian设计得非常稳定
9CentOS基于Fedora和Red Hat的企业最佳Linux
10Kali Linux基于Debian

Linux能做什么?

  Linux可作为企业级服务器,或嵌入式开发平台也包含个人桌面系统。包含虚拟化、数据库服务器、Web服务器、开发平台等等

  • 个人桌面领域的应用
    • 此领域是传统linux应用最薄弱的环节,传统linux由于界面简单、操作复杂、应用软件少的缺点,一直被windows所压制,但近些年来随着ubuntu、fedora等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,linux在个人桌面领域的占有率在逐渐的提高
    • 典型代表:ubuntu、fedora、suse linux
  • 服务器领域
    • linux在服务器领域的应用是其重要分支
    • linux免费、稳定、高效等特点在这里得到了很好的体现,但早期因为维护、运行等原因同样受到了很大的限制,但近些年来linux服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛
  • 嵌入式领域
    • ​linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高

第二章WSL安装linux

2.1 WSL简介

参考《WSL官方文档》、《颠覆虚拟机的神器——WSL来了》、《Microsoft Learn:WSL 入门》

WSL2与VMware不兼容,启动一个之后另一个无法直接启动。解决办法:

  • 将WSL2降级成WSL1(WSL1可以兼容VMware)
  • 启用VMware时cmd管理员模式输入命令bcdedit /set hypervisorlaunchtype off,启用WSL2时输入bcdedit /set hypervisorlaunchtype auto。输入bcdedit /enum可以查看是否修改成功,之后可能要重启生效。

  WSL是windows10的一个子系统(windows subsystem for linux),其作用是在windows下运行GNU/linux操作系统 (包括大多数命令行工具、实用工具和应用程序),且不会产生传统虚拟机或双启动设置开销。

  在从使用者的角度看,wsl和虚拟机软件是类似的,都可以装linux操作系统,使用其各种功能;但底层实现不一样,wsl运行linux的资源开销没有在虚拟机软件中运行linux的资源开销大。

  WSL1.0安装的时候需要打开windows可选功能中的“适用于Linux的Windows子系统”,2.0安装的时候不仅要打开可选功能中的“适用于Linux的Windows子系统”,还要打开“虚拟机平台”这个可选功能。
在这里插入图片描述

2.2安装Ubuntu

以管理员运行cmd,可输入以下命令

命令功能
wsl --list --online查看在线商店获 Linux 版本列表
wsl --list --verbose列出已安装的 Linux 发行版
wsl-cd dir更换工作目录
wsl --distribution <Distribution Name> --user <User Name>通过特定用户运行特定 Linux 发行版
wsl --import <Distribution Name> <InstallLocation> <FileName>导入指定的 tar 文件作为新的分发版
wsl --unregister <DistributionName>注销或卸载 Linux 发行版
wsl --help查看帮助
wsl --export Ubuntu G:\WSL\myUbuntu.tar备份Ubuntu成tar文件,也可以改别的linux系统名
wsl --import Ubuntu install_location file_name.tarwsl迁移
wsl --unregister distro_name删除wsl

我使用的默认安装wsl --install -d Ubuntu,安装后提示输入用户名和密码,之后显示

Welcome to Ubuntu 20.04 LTS (GNU/Linux 4.4.0-19041-Microsoft x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

此时ubuntu已经在开始菜单栏了,点击就可以打开ubuntu20.04的命令行界面:
在这里插入图片描述
建议此时马上备份,然后迁移到别的盘

wsl --export Ubuntu D:\WSL\Ubuntu20.tar # 导出
wsl --unregister Ubuntu # 注销原版本
wsl --set-version2 # 设置默认使用wsl2版本
wsl --import Ubuntu-20.04 D:\Ubuntu D:\WSL\Ubuntu20.tar # 导入

2.3 Ubuntu功能设置

这部分内容参考《设置 WSL 开发环境》。

  • 在资源管理器输入\\wsl$,会列出所有安装的linux系统,点击进入就可以看到文件:(如果你指定迁移到别的盘,比如上面就装在D:\Ubuntu,文件就在这里)
    在这里插入图片描述

下面都是一些介绍功能,我git在windows上都装了,跳过

  • 建议使用 Visual Studio Code 或 Visual Studio,因为它们直接支持使用 WSL 进行远程开发和调试。Visual Studio Code 使你能够将 WSL 用作功能完备的开发环境。 Visual Studio 提供了对 C++ 跨平台开发的本机 WSL 支持。

  • 使用 Git 设置版本管理:参考git分布指南。将项目连接到 Git 版本控制系统,同时使用凭据管理器进行身份验证(,使用 Git Ignore 文件,了解 Git 行尾,以及使用内置到 VS Code 的 Git 命令(可使用Git for Windows在 WSL 和 Windows 主机之间共享凭据&设置,之前装过Git就不用再装了)

  • 使用 Docker 设置远程开发容器:参考《WSL 2 上的 Docker 远程容器入门》,使用 Docker Desktop for Windows 将项目连接到远程开发容器。

  • 设置数据库:按照此分步指南开始使用 WSL 上的数据库,并将项目连接到 WSL 环境中的数据库。(MySQL、PostgreSQL、MongoDB、Redis、Microsoft SQL Server 或 SQLite。)
    在这里插入图片描述

  • 设置 GPU 加速以提高性能

2.4 ubantu环境设置

  1. apt换源更新
    首先apt换源,不然下载太慢。参考《Ubuntu更换国内源(apt更换源)》
# 修改sources.list配置文件:
sudo vim /etc/apt/sources.list
# 在文件最前面添加以下条目来更新源,保险起见,的操作之前做好备份
# 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

# 清华源:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

sudo apt-get update # 更新源
sudo apt install python3.9
su - # 进入root环境
su username # user用户登录

2.安装miniconda(pip没配好,可跳过)

# 下载安装miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 给安装文件添加执行指令
sudo chmod +x Miniconda3-latest-Linux-x86_64.sh
# 安装
sudo ./Miniconda3-latest-Linux-x86_64.sh

中间两次yes(同意条款和初始化),然后选择路径:

Miniconda3 will now be installed into this location:
/root/miniconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/root/miniconda3] >>> 这里可以输入路径,例如:/opt/miniconda

我这里直接选择默认,装在/root/miniconda3,然后设置环境变量:

vim ~/.bashrc
# 最后一行添加下面路径
export PATH="/root/miniconda3/bin:$PATH"
alias python='/usr/bin/python3.9' # 配置python3.9
source ~/.bashrc	# 生效环境变量
python # 显示python3.9说明配置成功
conda create -n vced python==3.9 # 创建虚拟环境,配置python3.9,环境名叫做vced

报错CondaHTTPError: HTTP 000 CONNECTION FAILED for url,此时退出ubantu,cmd输入wsl --shutdown关闭之后再重启ubantu,输入su -进入root模式。再创建环境,如果还是不行就 conda换源:

vim ~/.condarc #编辑配置文件,加入以下代码

channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/free/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/

show_channel_urls: true
remote_read_timeout_secs: 1000.0
conda activate vced # 激活环境
conda info --envs	# 验证是否成功
conda update -n base conda        //update最新版本的conda
conda create -n xxxx python=3.5   //创建python3.5的xxxx虚拟环境
conda activate xxxx               //开启xxxx环境
conda deactivate                  //关闭环境
conda env list                    //显示所有的虚拟环境

环境激活成功,但是pip有问题。/usr/local/bin/python3.9 -m pip install --upgrade pip升级pip出错。

  1. 安装pip并换源
sudo apt install python3-pip # 安装pip
#考虑到下载很慢,请在Ubuntu系统中配置pip源
mkdir ~/.pip
vim ~/.pip/pip.conf
# 豆瓣源
[global]
trusted-host = pypi.douban.com
index-url = http://pypi.douban.com/simple
# 清华源
[global]
trusted-host =  pypi.tuna.tsinghua.edu.cn
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

# requirements.txt安装包
cd code/service
pip install -r requirements.txt
  • pip安装时警告The script pysemver is installed in ‘/home/zhxscut/.local/bin’ which is not on PATH,运行以下代码
  • 我安装过程中出现一次下载torch时ssl错误,重新pip安装就没了,不知道为啥
  • 安装完全部文件后试了一次备份操作wsl --export Ubuntu Ubuntu20.tar,花了半个小时左右。所以WSL备份不如vmware方便。
sudo vim ~/.zshrc 
#把export PATH=/home/zhxscut/.local/bin/:$PATH  放到最后
source ~/.zshrc  # 忘记运行此命令,结果下面运行streamlit run app.py时显示没有streamlit这个命令

第三章: 使用VM安装Linux

3.1安装VMware

  这里安装Vm主要是为了安装Linux系统,除了相对云服务器,比较大众化的操作,当然更多的是熟悉Linux操作
​ 1. 点击 官网下载链接,以VM15的版本为例:
在这里插入图片描述

​2. 接受协议,更改安装位置开始安装,勾选增强型键盘驱动程序。
在这里插入图片描述
3. 自行选择
在这里插入图片描述
4. 安装完成
在这里插入图片描述
在这里插入图片描述
(注意:许可证为激活,可以自己搜)
5. 安装成功后,先不重启电脑。打开任务管理器, 点击性能,选择CPU, 看到虚拟化这里显示已禁用。(如果是空白或者显示已启用可以直接跳过直接去到Linux安装)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6. 开启虚拟化
  电脑开机重启后显示logo图标按ESC或者F1键,进入BIOS界面,然后选择Security → 选择VIrtualization 虚拟化功能设置,(这里是联想笔记本,不同主板显示不同,可以百度搜索熟悉详细信息)将这里的DIsabled修改为Enabled,回车F10 Yes 保存。
在这里插入图片描述
在这里插入图片描述

  1. 重启后查看虚拟化,显示已启用
    在这里插入图片描述

3.2 配置安装系统环境

这里以Centos7.6发行版为例,介绍linux的安装。

简单介绍一下Centos:​
  CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。CentOS是Community Enterprise Operating System的缩写。
  CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖
  如果有想尝试其他的Linux系统,可以模仿类似的操作完成其他类型的系统安装

1.在centos官网下载Centos7.6镜像文件
选择isos→x86_64→CentOS-7-x86_64-DVD-1708.iso下载
在这里插入图片描述
(注意如果有跳到如图下方这个界面,这里面选择第一个即可,剩下的也是相同的操作)
在这里插入图片描述
2. 配置安装服务器
打开VMware Workstation Pro软件,选择文件点击新建虚拟机,选择自定义→默认选择Workstation15.x
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3. 开始安装
选择稍后安装操作系统→Linux Centos 7 64 位→自定义安装位置和虚拟机名称
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 选择处理器和内存
    ​ 我这里选择 2处理器 每个处理器1内核
    在这里插入图片描述
    Windows图标+R键打开命令行输入msinfo32,可以查看处理器信息(下图显示2个内核 4个逻辑处理器):
    在这里插入图片描述
    在这里插入图片描述

如果电脑是8G内存,虚拟机可以选择3G或者4G,如果电脑是4G内存,虚拟机可以选择1G或者2G,无论多大多小的内存,1G至4G的范围即可。

  1. 选择NAT网络→推荐→SCSI →创建虚拟磁盘,将磁盘拆分成多个文件→完成安装
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

磁盘文件明及存储位置,一般我们前面设置了安装位置,默认即可不用修改
这里面如果之前有哪里写的不对或者写的存在一些问题,可以自定义修改文件,点击完成
在这里插入图片描述

3.3 安装Centos系统

当在虚拟机系统内输入内容后,需要切换到 宿主机 (当前虚拟机安装在本地环境上的设备)键盘时,按住Ctrl+Alt,将鼠标退出虚拟机。

1. 编辑虚拟机设置 → CD/DVD → 使用ISO映像文件
​ 这里的映像文件就是我们从官方网站的文档树下载下来的ISO文件
在这里插入图片描述
2. 开启此虚拟机
在这里插入图片描述
界面第一次会这样显示,选择安装centos(白色的表示选中状态)
在这里插入图片描述
这里可以选择按 ENTEN 或者不操作也可以,会自动安装
在这里插入图片描述
在这里插入图片描述

3. 配置
选择English→DATE & TIME设置时间为亚洲上海
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里列出一些其它信息:
在这里插入图片描述
在这里插入图片描述

4. 自动配置分区
以上除了分区需要点击一下,其他配置可以不用配置,后面会根据环境操作配置.选择INSTALLATION DESTINATION ,点击Done →Begin Installation

在这里插入图片描述
在这里插入图片描述

  1. 配置root超级管理员账号的密码,和 创建用户账号,点击Reboot重启系统
    这里只是创建方法之一,接下来的操作暂时使用root账号熟悉管理员权限及了解系统
    在这里插入图片描述
    在这里插入图片描述
  2. 重启登录
    切换用户可以使用su root/username
    在这里插入图片描述
    在这里插入图片描述
  3. CentOS7的重启与关机命令
    ​ 注意一般服务器是不会经常开关机,就算是最多也是重启的操作会用的多一些,
    ​ Linux centos重启命令:
       1、reboot 普通重启
       2、shutdown -r now 立刻重启(root用户使用)
       3、shutdown -r 10 过10分钟自动重启(root用户使用)
       4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
       如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
    ​  Linux centos关机命令:
    ​   1、halt 立刻关机
    ​   2、poweroff 立刻关机
    ​   3、shutdown -h now 立刻关机(root用户使用)
       4、shutdown -h 10 10分钟后自动关机
       如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

  注意强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备。而在系统关机前使用 shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结,即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等

在这里插入图片描述

3.4 基本配置与SSH远程

  安装完VM与系统后,需要进行网络配置。第一个目标为可以进行SSH连接,可以从本机到VM进行文件传送。这里我们配置静态IP, 同时需要先下载安装一款远程软件 FinalShell(Windows下载、macOS 下载)。安装好后,配置Centos的网络

  1. 熟悉自己的网络信息例如:IP,子网掩码,网关等等
    ​ 打开网络和共享中心→详细信息。记录IP,子网掩码,默认网关,DNS服务器等信息,等会配置Centos系统要用到
    在这里插入图片描述
  2. 打开VM,点击编辑虚拟机设置,选择网络适配器, 选择桥接模式
    在这里插入图片描述

这里简单介绍一下三种模式

  • 桥接模式:VMware 虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器,需要手工为虚拟系统 配置 IP 地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这 个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的 TCP/IP 配置信息,以实现通过局域网的网关 或路由器访问互联网
  • NAT模式:使用 NAT 模式,就是让虚拟系统借助 NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说 使用 NAT 模式可以实现在虚拟系统里访问互联网,但前提是主机可以访问互联网。NAT 模式下的虚拟系统的 TCP/IP 配置信息是由 VMnet8(NAT)虚拟网络的 DHCP 服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域 网中的其他真实主机进行通讯
  • 主机模式:虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机,当然多个虚拟机之间也可以互相访问。其实 Host-only 网络和 NAT 网络很相似,不同的地方就是 Host-only 网络没有 NAT 服务,所以虚拟网络不能连接到Internet。 主机和虚拟机之间的通信是通过 VMware Network Adepter VMnet1 虚拟网卡来实现的。此时如果想要虚拟机上外 则需要主机联网并且网络共享
  1. 点击编辑,选择虚拟网络编辑器→更改设置→Vmnet0→选择桥接→点击应用,确定
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • VMnet0:用于虚拟桥接网络下的虚拟交换机
  • VMnet1:用于虚拟Host-Only网络下的虚拟交换机
  • VMnet8:用于虚拟NAT网络下的虚拟交换机
    在这里插入图片描述
  1. 配置网络
  • 查看网络信息
    登录centos,使用命令ip addr查看我们网卡及部分网络信息。在虚拟机内我们使用的是ens33,可以看到现在还是没有网络,更没有ip。
    在这里插入图片描述
  • 切换到网络配置文件路径下,使用vi命令编辑ifcfg-en33 文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ # 切换路径
[root@localhost ~]# ls # 查看当前文件夹信息
[root@localhost ~]# vi ifcfg-en33

在这里插入图片描述
此时是命令模型,按i键 进入编辑模式,修改如下参数:

BOOTPROYTO=DHCP     修改为    BOOTPROYTO=static

ONBOOT=no           修改为    ONBOOT=yes

增加:
# 增加IP,这里的ip需要时在同一个网段下即可
IPADDR=192.168.0.150

# 子网掩码与主机一直即可
NETMASK=255.255.255.0

# 配置网关与主机一直即可
GATEWAY=192.168.0.1

# 这里的DNS可以写上网关或者是国内解析例如114.114.114.114或者是8.8.8.8
DNS1=192.168.0.1
DNS2=114.114.114.114

在这里插入图片描述

改完后 按键ESC键退出编辑模式,然后按 Shift+; 进入命令模式, 输入 wq 保存退出

在这里插入图片描述

  • 重启服务,验证
    输入service network restart重启网络服务,此时就配置好了网络

在这里插入图片描述
  我们连接外网看看,例如输入ping www.baidu.com ping一下百度。另外因为使用桥接模式,在同一个局域网下,如果不放心,可以尝试ping一下是否能ping通主机ip
在这里插入图片描述

再查看一下我们的ip,可以看到其显示的 是我们刚才设置的静态IP

在这里插入图片描述
4. 远程工具连接
  之所以用到远程工具连接,虽然Linux可以多窗口多任务操作,但是不可能直接在机房操作硬件, 在项目或者是多人使用形况下是会有多用户远程连接操作。
  首先打开Xshell。点击最上方的文件夹图标。选择第一个带+号的白色文件夹图标,最后点击SSH连接
在这里插入图片描述
输入配置信息

  • 主机:这里填上主机的IP,如果是云服务器可以填云服务器的IP
  • 端口:这里一般安装好的电脑22端口是默认的打开的,后面会详细说明
  • 认证方法这里,我们以密码认证
  • 用户名:账号登陆的用户名
  • 密码:登录的用户名密码
  • 下方高级默认即可,可以不用动

在这里插入图片描述
右键选择创建好的远程程序,点击连接→接受本次连接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此,关于VM与Linux的配置都初步配置好,下一章开始全面学习Centos。

第四章 Linux网络

4.1 Linux网络配置文件

​ 查看第一张网卡的网卡信息:

[root@localhost yum.repos.d]# cat vi /etc/sysconfig/network-scripts/ifcfg-ens33 

TYPE=Ethernet(以太网类型)
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static(是否自动获取ip,设为static时可在最后四行设定静态ip)
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=fe07c6dd-8437-474f-8c72-37f5555d754e(red网络标识编号,克隆时新系统要删除此项,自动分配新的)
DEVICE=ens33
ONBOOT=yes(是否开机自动启动网卡,yes就是开机自启)
IPADDR=192.168.0.150(此行是linux的虚拟网卡ip)(克隆后的系统此ip要改动,改最后一个数不一样就行)
NETMASK=255.255.255.0(子网掩码,固定值)
GATEWAY=192.168.0.1(默认网关,就是net设置里面的网关,不是虚拟网络设置主界面的值)
DNS1=192.168.0.1

每次修改之后要重启网卡设置:service network restart

配置说明
DEVICE=eth0网卡设备名,eth0表示第一张网卡
BOOTPROTO=nonenone、static、为静态ip(自己手输)dhcp为动态获取ip
HWADDR=00:0C:29:11:30:39MAC地址
NM_CONTROLLED=yes是否可以由Network Manager图形管理工具托管
ONBOOT=yes是否随网络服务启动当前网卡生效(在CentOS 6 以上的版本中ONBOOT是默认关闭的。)
TYPE=Ethernet网络类型,这里为以太网
UUID=5ab36190-a5df-4bf1-94d8-6c126afd05f1唯一识别码
IPADDR=192.168.0.200IP地址
NETMASK=255.255.255.0子网掩码
GATEWAY=192.168.0.1网关
DNS1=202.106.0.20DNS
IPV6INIT=noIPv6是否启用,这里设置为不启用
USERCTL=no是否允许非root用户控制此网卡,这里为不允许

说明: 1.自动获取IP的条件是:必须在局域网内存在DHCP服务器。 2.相同UUID网络配置的计算机会导致互相不能上网。

1. hostname查看linux的主机名 hostnamectl set-hostname修改主机名

[root@localhost yum.repos.d]# hostnamectl查看主机名
[root@192 user](当前用户、当前主机名、当前目录)# hostnamectl
   Static hostname: localhost.localdomain(静态主机名)
Transient hostname: 192.168.116.129
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8f0ea2672c0643638fa0541ca5887b75
           Boot ID: 92a55843b7cc4374984b29d3ab1b1624
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1127.el7.x86_64
      Architecture: x86-64

# 修改主机名:(不要有特殊符号、中文和大写)
hostnamectl set-hostname mylinux1
#最好还要修改host
vi /etc/hosts
"""
第三行写上linux的ip地址和主机名 :192.168.23.3   mylinux1
重启之后主机名就更新了,重启命令init 6
"""
  1. 查看DNS配置文件(DNS服务器地址,这个服务器就是把域名解析成ip地址):
[root@localhost yum.repos.d]# cat /etc/resolv.conf

# Generated by NetworkManager
nameserver 192.168.0.1
# 配置DNS服务器地址为路由器地址,也可以用网上公用的)
# 复制网上公开DNS地址,前面加ping来测试,连接时间少的最好

nameserver这一项,设置的是域名服务器的地址,多个域名服务器,则在后续添加空格继续补充域名服务器的地址,或者另起一行做类似的nameserver配置

  1. 防火墙设置:
查看防火墙状态: systemctl status firewalld.service

绿的running表示防火墙开启

执行关闭命令: systemctl stop firewalld.service

再次执行查看防火墙命令:systemctl status firewalld.service

执行开机禁用防火墙自启命令  : systemctl disable firewalld.service

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

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

相关文章

C++入门基础05:表达式(表达式基础、算术运算符与赋值运算符、逻辑关系运算符、成员访问运算符与条件运算符、位运算符、移位运算符与类型转换)

C入门基础05&#xff1a;表达式(表达式基础、算术运算符与赋值运算符、逻辑关系运算符、成员访问运算符与条件运算符、位运算符、移位运算符与类型转换) 一、表达式基础 #include <iostream> //系统定义头文件一般是尖括号 #include<fstream> #include<string…

Linux从入门到精通(九)——Linux编程

文章篇幅较长&#xff0c;建议先收藏&#xff0c;防止迷路 文章跳转Linux从入门到精通&#xff08;八&#xff09;——Linux磁盘管理goLinux从入门到精通&#xff08;九&#xff09;——Linux编程goLinux从入门到精通&#xff08;十&#xff09;——进程管理goLinux从入门到精…

教程一 Energy 构建简单的Windows、Linux、MacOSX桌面应用

Golang的Energy使用命令行工具安装开发环境&#xff0c;并运行一个应用。 环境安装 Energy 命令行工具 使用命令行工具自动安装Energy框架的所有依赖(CEF)&#xff0c;支持Window、Linux、MacOSX 安装过程从网络下载CEF和Energy库 获取命令行工具 一、预编译命令行工具 下载地…

银行业国产数据库现状

数据库发展历程 数据库经历了单机数据库、集中式数据库、非关系型数据库、新型数据库四阶段。 单机数据库&#xff1a;单机数据库就是只能运行在单机上&#xff0c;不提供网络功能的数据库。 集中式数据库&#xff1a;数据库是一种经典、传统的数据库结构&#xff0c;多台机…

js内容整理

js内容整理 定时器 JavaScript 提供定时执行代码的功能&#xff0c;叫做定时器&#xff08;timer&#xff09;&#xff0c;主要由setTimeout()和setInterval()这两个函数来完成。 setTimeout() setTimeout函数用来指定某个函数或某段代码&#xff0c;在多少毫秒之后执行。它…

公益是书籍是什么,公益书籍变现模式有哪些

最近&#xff0c;我看到很多人在朋友圈里做公益书籍。 什么是公益书籍&#xff0c;公益书籍又是怎么进行变现的呢&#xff1f; 公益书籍主要是借助公益的逻辑&#xff0c;分发给各种家长。家长每次根据书单给孩子选择相应的书&#xff0c;15元左右就能拿到一套。 公益书籍实…

Linux进程地址空间

哪有明知明天会死今天就会上吊的傻瓜&#xff1f; -要乐观喔 本次博客的分享呢可能比较抽象&#xff0c;博主尽力画图分析&#xff0c;力图给老铁阐明清楚。 目录 ⚽一、进程地址空间区域划分 &#x1f453;Ⅰ区域划分 &#x1f453;Ⅱ虚拟地址和物理地址 ⚽二、页表和映…

科技云报道:发布分布式云战略,中国电子云吹响冲锋号角

科技云报道原创。 过去三年&#xff0c;中国电子云一直牢牢抓住业界的目光&#xff0c;不仅因为“国家队”的身份光环&#xff0c;更因实打实的成绩令人侧目。 据悉&#xff0c;中国电子云核心产品中心云CECSTACK&#xff0c;起步可达3000节点规模&#xff0c;最大可支撑每秒…

一文搞懂堆外内存(模拟内存泄漏)

一、前言 平时编程时&#xff0c;在 Java 中创建对象&#xff0c;实际上是在堆上划分了一块区域&#xff0c;这个区域叫堆内内存。 使用这 -Xms -Xmx 来指定新生代和老年代空间大小的初始值和最大值&#xff0c;这初始值和最大值也被称为 Java 堆的大小&#xff0c;即 堆内内…

2022亚太C题赛题分享

是否全球变暖&#xff1f; 加拿大的49.6C创造了地球北纬50以上地区的气温新纪录&#xff0c;一周内数百人死于高温&#xff1b;美国加利福尼亚州死亡谷是54.4C&#xff0c;这是有史以来地球上记录的最高温度&#xff1b;科威特53.5C&#xff0c;甚至在阳光下超过70多个C&#x…

模板进阶模板分离编译的问题与解决

&#x1f9f8;&#x1f9f8;&#x1f9f8;各位大佬大家好&#xff0c;我是猪皮兄弟&#x1f9f8;&#x1f9f8;&#x1f9f8; 文章目录一、模板参数1.非类型模板参数比如库中的array2.类型模板参数二、模板参数的特化1.全特化2.偏特化&#xff08;半特化&#xff09;三、模板的…

RTSP 和 RTMP原理 通过ffmpeg实现将本地摄像头推流到RTSP服务器

RTSP 和 RTMP原理 & 通过ffmpeg实现将本地摄像头推流到RTSP服务器 文章目录RTSP 和 RTMP原理 & 通过ffmpeg实现将本地摄像头推流到RTSP服务器一、流媒体&#xff1a;RTSP 和 RTMP0、参考资料1、RTSP 和 RTMP的工作原理1&#xff09;RTSP工作原理2&#xff09;RTMP工作原…

计算机组成原理期末复习第三章-3(唐朔飞)

计算机组成原理期末复习第三章-3&#xff08;唐朔飞&#xff09; ✨欢迎关注&#x1f5b1;点赞&#x1f380;收藏⭐留言✒ &#x1f52e;本文由京与旧铺原创&#xff0c;csdn首发&#xff01; &#x1f618;系列专栏&#xff1a;java学习 &#x1f4bb;首发时间&#xff1a;&am…

C树和森林的研究学习随记【一】

文章目录树与森林树结构初识树基本的相关概念森林二叉树(Binary Tree)满二叉树【饱满】完全二叉树【少了叶子的满二叉树】总结树和森林的转换快速转换技巧森林转化为二叉树分辨二叉树的五大性质树与森林 树是一种的数据结构。顾名思义&#xff0c;类似于我们生活中的树一样。【…

C++11标准模板(STL)- 算法(std::stable_sort)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 将范围内的元素排序&#…

m基于Simulink的高速跳频通信系统抗干扰性能分析

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 信道为Rayleigh衰落信道下的性能分析和Nakagami-m衰落信道下的性能分析。本课题我们采用的仿真参数如下&#xff1a; simulink仿真模型如下所示&#xff1a; 跳频是最常用的扩频方式之一…

Hadoop笔记-01概述

文章目录1 什么是大数据&#xff1f;1.1 大数据计算模式及代表产品1.2 云计算与物联网1.2.1 云计算1.2.1.1 虚拟化1.2.1.2 分布式存储1.2.1.3 分布式计算1.2.1.4 多租户1.3 物联网1.3.1 识别和感知技术1.3.2 网络与通信技术1.3.3 数据挖掘与融合技术1.4 大数据与云计算、物联网…

正态分布,二维正态分布,卡方分布,学生t分布——概率分布学习 python

目录 基本概念 概率密度函数(PDF: Probability Density Function) 累积分布函数(CDF: Cumulative Distribution Function) 核密度估计&#xff08;(kernel density estimation&#xff09; 1.正态分布 概率密度函数&#xff08;pdf&#xff09; 正态分布累积分布函数(CD…

山东大学软件学院操作系统课程设计(2021秋季,nachos)实验6

一、实验内容 二、源码分析 1. 理解nachos单线程地址映射机制 Machine::Run()中调用Machine::OneInstruction(Instruction *instr)逐条执行可执行文件中的指令&#xff0c;执行指令过程中和获取下一条指令时如果访问内存&#xff0c;通过machine->ReadMem(…)/WriteMem(……

嵌入式开发学习之--用蜂鸣器来传递摩斯码

本篇文章致力于从开发的角度思考问题&#xff0c;而不是搞学术的东西。 文章目录前言一、项目概况1.1、项目需求1.2、项目来源1.3、项目开发环境1.4、项目意义二、开发步骤2.1、了解什么是摩斯码2.2、构建项目流程图2.3、找到合适的模板2.4、增加文件2.5、添加代码2.6、读入数据…