文章目录

  • 第一章: Linux概述
    • 1.1 操作系统
    • 1.2 操作系统的发展史
    • 1.3 Linux发行版
  • 第二章WSL安装linux
    • 2.1 WSL简介
    • 2.2安装Ubuntu
    • 2.3 Ubuntu功能设置
    • 2.4 ubantu环境设置(apt、pip换源,配置conda,启用systemctl)
      • 2.4.1 apt换源更新
      • 2.4.2 安装miniconda(pip没配好,可跳过)
      • 2.4.3 安装pip并换源
      • 2.4.4 启用systemctl
  • 第三章: 使用VM安装Linux
    • 3.1安装VMware
    • 3.2 配置安装系统环境
    • 3.3 安装Centos系统
      • 3.3.1 配置Centos8
      • 3.3.2 配置Centos7
      • 3.3.3 重启登录
    • 3.4 基本配置与SSH远程
    • 3.5 安装Ubuntu
  • 第四章 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 发行版) 通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。

排行 版本 描述
1 MX Linux 基于Debian和antiX
2 Linux Mint 基于Ubuntu和Debian
3 Ubuntu 顶级Linux发行版之一
4 Elementary OS 基于Debian
5 Manjaro Linux 基于Arch Linux
6 Zorin OS 基于Debian
7 Fedora 软件技术方面处于领先地位
8 Debian 设计得非常稳定
9 CentOS 基于Fedora和Red Hat的企业最佳Linux
10 Kali 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.tar wsl迁移
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-version 2 # 设置默认使用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环境设置(apt、pip换源,配置conda,启用systemctl)

2.4.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 multiversesudo apt-get update # 更新源
sudo apt install python3.9
su - # 进入root环境
su username # user用户登录

2.4.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出错。

2.4.3 安装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这个命令

2.4.4 启用systemctl

参考: WSL2使用systemctl命令的方法,简单快捷
关于systemd和systemctl详情,参考帖子《详细讲解systemctl(附常用指令)》、《systemctl命令》

在WSL 中使用 systemctl 命令会报错,报错信息如下。

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

这是因为WSL 并没有通过 systemd 启动,所以无法执行该操作。但是系统中是有 systemd 命令的,命令位置在 /usr/bin/systemctl。WSL2可以通过下面操作启用systemctl(WSL1无效)。

  1. 安装 daemonize 和 fontconfig:
sudo apt install -y fontconfig daemonize
  1. 编辑/etc/profile, 末尾加入以下内容:
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')if [ -z "$SYSTEMD_PID" ]; thensudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.targetSYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
fiif [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; thenexec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
fi
  1. 编辑/etc/sudoers ,末尾加入以下内容:
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
%sudo ALL=(ALL) NOPASSWD: /usr/bin/nsenter -t [0-9]* -a su - [a-zA-Z0-9]*


4. 刷新配置并重启linux系统,使其生效

source /etc/profile
# 接着重启,验证效果
systemctl status atd.service

第三章: 使用VM安装Linux

3.1安装VMware

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

​2. 接受协议,更改安装位置开始安装,勾选增强型键盘驱动程序。

3. 自行选择

4. 安装完成,输入密钥

(注意:许可证为激活,可以自己搜)
5. 安装成功后,先不重启电脑。打开任务管理器, 点击性能,选择CPU, 看到虚拟化这里显示已禁用。(如果是空白或者显示已启用可以直接跳过直接去到Linux安装)



6. 开启虚拟化
  电脑开机重启后显示logo图标按ESC或者F1键,进入BIOS界面,然后选择Security → 选择VIrtualization 虚拟化功能设置,(这里是联想笔记本,不同主板显示不同,可以百度搜索熟悉详细信息)将这里的DIsabled修改为Enabled,回车F10 Yes 保存。

  1. 重启后查看虚拟化,显示已启用

3.2 配置安装系统环境

这里以Centos8.5 发行版为例,介绍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官网下载Centos8.5镜像文件。
(https://vault.centos.org/ →8.5.2111/ → isos/ →x86_64/)

或者是在阿里云下载Centos8.5,速度可能会快一些:

  1. 新建虚拟机


4. 开始安装
选择稍后安装操作系统→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.3.1 配置Centos8


  如果安装源报错Error setting up base repository,就是上面安装源不是选择10g的那个镜像文件,而选了789M这个iso文件。需要设置完整镜像下载地址,比较麻烦。

日期和时间选择上海:

可以选择最小化安装(mini版)或者带UI界面。

选择自动分区就行:

配置root用户密码,点击开始安装。

3.3.2 配置Centos7

选择English→DATE & TIME设置时间为亚洲上海


这里列出一些其它信息:

自动配置分区

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


配置root超级管理员账号的密码,和 创建用户账号,点击Reboot重启系统
这里只是创建方法之一,接下来的操作暂时使用root账号熟悉管理员权限及了解系统

3.3.3 重启登录

切换用户可以使用su root/username


CentOS的重启与关机命令
​ 注意一般服务器是不会经常开关机,就算是最多也是重启的操作会用的多一些,
​ 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。

centos8.5中配置文件是ifcfg-ens160

  • 切换到网络配置文件路径下,使用vi命令编辑ifcfg-en33 文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ # 切换路径
[root@localhost ~]# ls # 查看当前文件夹信息
[root@localhost ~]# vi ifcfg-en33


此时是命令模型,按i键 进入编辑模式,修改如下参数:

BOOTPROYTO=DHCP     修改为    BOOTPROYTO=staticONBOOT=no           修改为    ONBOOT=yes增加:
# 增加IP,这里的ip需要时在同一个网段下即可
IPADDR=192.168.0.150 # 最后一个数只要不是主机网段1都可以,不过建议选3以后的,5-250都行# 子网掩码与主机一直即可
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 保存退出

  • 重启服务,验证
    centos7输入service network restart重启网络服务,centos8需输入systemctl restart NetworkManager重启,此时就配置好了网络。


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

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


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

输入配置信息

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


右键选择创建好的远程程序,点击连接→接受本次连接



至此,关于VM与Linux的配置都初步配置好,下一章开始全面学习Centos。

3.5 安装Ubuntu

参考《VMware虚拟机安装Ubuntu 2022》

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

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

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

[root@localhost yum.repos.d]# hostnamectl查看主机名
[root@192 user](当前用户、当前主机名、当前目录)# hostnamectlStatic hostname: localhost.localdomain(静态主机名)
Transient hostname: 192.168.116.129Icon name: computer-vmChassis: vmMachine ID: 8f0ea2672c0643638fa0541ca5887b75Boot ID: 92a55843b7cc4374984b29d3ab1b1624Virtualization: vmwareOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-1127.el7.x86_64Architecture: 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

Linux上:使用VMware17安装Centos8.5并配置网络、WSL安装Ubuntu、相关推荐

  1. Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台

    Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 原文:Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 转发请注明此文 ...

  2. 安装Centos6.9后配置网络

    第一篇   安装Centos6.9后配置网络 引言 为了更好理解Centos6.9的开机流程,将其安装在虚拟机,安装完后发现无法ping通外网,后面发现Centos6安装完后需要设置网络,我这里没有使 ...

  3. VMware虚拟机安装Ubuntu22.04并配置网络

    一 Ubuntu22.04下载 地址:https://ubuntu.com Ubuntu Desktop:包含图形用户界面 Ubuntu Server:不包含图形用户界面 二 VMware安装Ubun ...

  4. 安装CentOS6.8并配置网络图文解说亲测全过程

    安装环境: 本文是在win10系统安装上VMWare并配置Centos6.8虚拟机. 准备工作 1.安装VMWare虚拟机 1.1下载VMWare12资源链接:https://pan.baidu.co ...

  5. 详解在VMware Workstation Pro 15 安装 CentOS 7后配置网络

    详解在VMware Workstation Pro 15 安装 CentOS7后配置网络 在Windows 10 64bit上安装VMware Workstation Pro 15后,在虚拟机中安装了 ...

  6. 配置网络,安装docker

    linux准备 VirtualBox-5.2.22-126460-Win.exe CentOS-7-x86_64-DVD-1810.iso 网络模式 桥接模式:虚拟机和主机在同一个局域网中,占用局域网 ...

  7. pve6.3安装部署与虚拟机配置+网络部署

    PVE6.3 安装配置部署与虚拟机配置 参考资料 https://blog.csdn.net/allway2/article/details/102946660?ops_request_misc=%2 ...

  8. 如何卸载linux上的jdk1.7,RedHat卸载JDK 1.7并安装JDK1.8

    一.查看已有JDK的版本 输入命令:JAVA –version [root@oc-hadoop01 ~]# java -version java version "1.7.0_99" ...

  9. u盘安装centos8黑屏_u盘centos7 安装 黑屏苹果电脑怎么安装win7系统还原

    3.然后进入资料备份界面,通过勾选可以选择对"我的文档"."收藏夹"."桌面文件"进行备份,备份资料会保存到自动生成的"XBGho ...

最新文章

  1. 如何实现报表设计中的高精度报表套打?
  2. “theform._eventtarget 为空或者不是对象”,解决办法
  3. 不等待输入_「对方正在输入……」的提示,给聊天带来什么影响?
  4. ios:CGContextRef 渲染中文问题
  5. 独立成分分析ICA系列1:意义
  6. 启明云端分享|ESP32学习笔记参考GPIO口操作
  7. 每日一题(26)—— 无限循环的几种形式
  8. 没有5G也很香!iPhone去年四季度出货量了解下
  9. Android系统对应用程序权限申请的处理方式分析
  10. java库存同步思路_这个是真的厉害,高并发场景下的订单和库存处理方案,讲的很详细了!...
  11. flutter 带未读消息的底部导航
  12. iPad 使用技巧:Safari 浏览器
  13. 用Rest assured作API自动化集成测试
  14. 【linux】内核模块管理:lsmod、insmod、rmmod、modinfo、modprobe、depmod命令
  15. 单词长度和GPS数据处理——程序设计入门C语言
  16. vue.js中created()与activated()
  17. python calu_Python中*args,**kwargs的使用
  18. 《经典算法案例》01-09:如何打印质数表(十列版)
  19. 第7批候选!高工智能汽车金球奖入围年度产品/方案公示
  20. VL813 VL817 VL820 是USB 3.0集线器芯片

热门文章

  1. 物联网的云计算、雾计算、边缘计算和MIST计算的基本概念
  2. 可变参数和Steam流的基本使用
  3. mysql按某个条件升序_问题描述大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例,下同):SELECT * FROM `MyTable` WHERE...
  4. filer.js: 一个 Unix 命令风格的 HTML 5 FileSystem API 封装 - V2EX
  5. 【电路】自用人体感应灯(HC-SR501人体感应模块)
  6. 苹果M1芯片及新产品布局对ARM生态影响
  7. 沈航-数理统计-17-18B-有答案
  8. win7如何更改计算机管理员用户名和密码,win7系统下修改administrator管理员账户密码的设置方法?...
  9. CH340驱动安装失败 win10
  10. SeedLab10: Linux Firewall Exploration Lab