• 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 --user 通过特定用户运行特定 Linux 发行版
    wsl --import 导入指定的 tar 文件作为新的分发版
    wsl --unregister 注销或卸载 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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    此时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 # 导入
    
    • 1
    • 2
    • 3
    • 4

    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 multiverse
    
    sudo apt-get update # 更新源
    sudo apt install python3.9
    su - # 进入root环境
    su username # user用户登录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    中间两次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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    我这里直接选择默认,装在/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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    报错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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    conda activate vced # 激活环境
    conda info --envs	# 验证是否成功
    
    • 1
    • 2
    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                    //显示所有的虚拟环境
    
    • 1
    • 2
    • 3
    • 4
    • 5

    环境激活成功,但是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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 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这个命令
    
    • 1
    • 2
    • 3
    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
    
    • 1
    • 2

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

    1. 安装 daemonize 和 fontconfig:
    sudo apt install -y fontconfig daemonize
    
    • 1
    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" ]; then
       sudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
       SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
    fi
    
    if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then
        exec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    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]*
    
    • 1
    • 2

    在这里插入图片描述
    4. 刷新配置并重启linux系统,使其生效

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

    在这里插入图片描述

    第三章: 使用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, 同时需要先下载安装一款远程软件 FinalShellWindows下载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
    
    • 1
    • 2
    • 3

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

    BOOTPROYTO=DHCP     修改为    BOOTPROYTO=static
    
    ONBOOT=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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述

    改完后 按键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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    每次修改之后要重启网卡设置: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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    1. 查看DNS配置文件(DNS服务器地址,这个服务器就是把域名解析成ip地址):
    [root@localhost yum.repos.d]# cat /etc/resolv.conf
    
    # Generated by NetworkManager
    nameserver 192.168.0.1
    # 配置DNS服务器地址为路由器地址,也可以用网上公用的)
    # 复制网上公开DNS地址,前面加ping来测试,连接时间少的最好
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    1. 防火墙设置:
    查看防火墙状态: systemctl status firewalld.service
    
    绿的running表示防火墙开启
    
    执行关闭命令: systemctl stop firewalld.service
    
    再次执行查看防火墙命令:systemctl status firewalld.service
    
    执行开机禁用防火墙自启命令  : systemctl disable firewalld.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    “第四十九天” 机组
    HTTP网络协议讲解
    hive和spark-sql中 日期和时间相关函数 测试对比
    2月26日做题总结(C/C++真题)
    Django中使用Ajax时使用CSRF保护
    带修莫队小结
    uni-app实现图片预览
    stm32控制舵机sg90
    react
    大数据技术之 HBase简介
  • 原文地址:https://blog.csdn.net/qq_56591814/article/details/128009475