Linux安装

1 虚拟机是什么?

简单的说,虚拟机(virtual machine)就是允许我们在当前操作系统中运行其它操作系统的软件,本质上和VS、QQ这些应用程序上一样。
所以,只要我们在电脑(PC或笔记本)上安装好虚拟机软件,就可以模拟出若干台相互独立的虚拟PC设备,每一个都如同一台真实的计算机。在此基础上,我们可以给每台虚拟的PC设备安装指定的操作系统,这样就可以实现在一台电脑上同时运行多个操作系统。
在这里插入图片描述
如图所示,展示的是在Windows10桌面操作系统上安装的虚拟机软件VMware Workstation(简称VWware),这里通过配置VMware虚拟出了2台PC设备,且分别在这2台PC上安装了Linux系统和Windows系统。这2台虚拟机同时在一台电脑上独立运行,几乎互不干扰,并且可以在同一局域网内,还可以相互通信。

2 VMware虚拟机安装Linux系统

许多新手连Windows的安装都不太熟悉,更别提Linux的安装了;即使安装成功了,也有可能破坏现有的Windows系统,比如导致硬盘数据丢失、Windows无法开机等。然而,通过虚拟机技术可以很容易冲破这种困境。由于虚拟机安装Linux所有的操作(例如硬盘分区、删除或修改数据)都是在虚拟硬盘中进行,因此不会对现有的数据和系统造成任何损失,即使安装失败了也无所谓。
所谓虚拟机(virtual machine),就是通过软件技术虚拟出来的一台计算机,它在使用层面和真实计算机并没有什么区别。常用的虚拟机软件有VMware、virtualBox、Microsoft Virtual PC等,其中,VMware市场占有率最高。
在这里插入图片描述
VMware可以使你在一台计算机上同时运行多个操作系统,例如同时运行Windows、Linux和Mac OS。在计算机上直接安装多个操作系统,同一时刻只能运行一个操作系统,重启才可以切换;而Vmware可以同时运行多个操作系统,可以像Windows应用程序一样来回切换。站在使用者的角度讲,虚拟机系统和真实安装的系统是一样的,甚至可以在一台计算机上将几个虚拟机系统连接为一个局域网或连接到互联网。
在虚拟机系统中,每台虚拟产生的计算机都被称为“虚拟机”,而用来存储所有虚拟机的计算机则称为“宿主机”。例如,你的Windows系统就是宿主机,而VMware安装的Linux则为虚拟机。

2.1 Vmware下载与安装

本节只讲解在Windows下安装VMware和Linux。
VMware有两个版本,分别是VMware Workstation Pro和VMware Workstation Player。

  • Player是免费版本,只用用于非商业用途,适合个人学习。
  • Pro是商业版本,功能最强大,付费后才能使用。

C语言中文网http://c.biancheng.net/view/714.html提供了一个带着密钥的Pro版本,并放在了百度网盘,可以无限制的使用:
VMware Workstation Pro下载地址1:https://pan.baidu.com/s/1XXhFFh0Fx0vzvcd1A543Yg,提取码:2o19(下载得到的压缩包中包含VMware安装所需的秘钥)
VMware Workstation Pro下载地址2:
https://pan.baidu.com/s/1JXk4HVgAswx9VWqpctEUHA,提取码:love
VMware对计算机的硬件配置要求比较高,配置低了虚拟机会很慢,甚至不能运行。理论上配置越高越好,现在主流的计算机配置都可以达到运行VMware的要求。

2.2 VMware安装Linux系统

2.1.1 Linux系统版本Centos7下载

百度云链接:https://pan.baidu.com/s/1EvaqfTfMUYfOnKCb0ZHKTQ
提取码:love
下载后放在C盘以外的文件夹中,将文件夹命名为“CentOS7”

2.2.2 CentOS7安装

1.创建新的虚拟机
在这里插入图片描述
2.典型→下一步
在这里插入图片描述
3.选择【稍后安装操作系统】,点击【下一步】
在这里插入图片描述
4.选择【Linux】【CentOS 64位】,点击【下一步】
在这里插入图片描述
5.虚拟机名称输入【CentOS 7 64位】,点击【浏览】更改系统的安装位置,建议安装在出C盘之外的磁盘,可在F盘或其他磁盘新建【CentOS 7】文件夹,点击【下一步】。
在这里插入图片描述
6.根据自己情况更改磁盘大小【50G】,点击【下一步】
在这里插入图片描述
7.点击【自定义硬件】
在这里插入图片描述
8.点击【内存】,根据自己情况设置【1024MB】
在这里插入图片描述
9.选择【新CD/DVD(SATA)】,浏览找到并选择解压后【CentOS 7】文件夹里面的【CentOS-server-7.0】这个镜像
在这里插入图片描述
10.点击【网络适配器】,网络连接选择【仅主机模式】。
在这里插入图片描述
11.选中【USB控制器】,点击【移除】
在这里插入图片描述
12.选中【打印机】,点击【移除】然后点击【关闭】
在这里插入图片描述
13.点击【完成】
在这里插入图片描述
14-17.选中【CentOS 7 64位】,点击【开启此虚拟机】,用键盘上的上下箭头,选择【Install CentOS 7】,然后按键盘上的回车键
选择【中文】,点击【继续】
在这里插入图片描述
18-19.点击【软件选择】,选择【带GUI的服务器】,点击【完成】
在这里插入图片描述
20.点击【网络和主机名】
在这里插入图片描述
21.点击【完成】
在这里插入图片描述
22.点击【安装位置】
在这里插入图片描述
23.不做修改,点击【完成】
在这里插入图片描述
24.点击【开始安装】
在这里插入图片描述
25.点击【Root密码】
在这里插入图片描述
26.输入Root密码,然后点击【完成】温馨提示:如果输入的密码较弱需要点击两次【完成】
在这里插入图片描述
27.安装中
在这里插入图片描述
28.安装成功后,点击【重启】
在这里插入图片描述
29.重启后不要有任何操作-点击【LICENSE INFORMATION】
在这里插入图片描述
31.勾选【我同意许可协议】,点击【完成】
在这里插入图片描述
32.点击【完成配置】
在这里插入图片描述
33.选择【汉语】,点击【汉语】点击【前进】,再点击【前进】
在这里插入图片描述
35.在输入框中输入【上海】,然后点击【前进】
在这里插入图片描述
36.点击【跳过】
在这里插入图片描述
37.建立【本地用户】,点击【前进】
在这里插入图片描述
38.设置本地账户的密码,点击【前进】
在这里插入图片描述
39.点击【开始使用 CentOS Linux】
在这里插入图片描述
40.CentOS7系统安装成功。
在这里插入图片描述

2.2.3 VMware网络链接方式

VMware 提供的网络连接有 5 种,分别是"桥接模式"、“NAT 模式”、“仅主机模式”、“自定义"和"LAN 区段”:

  • 桥接模式:相当于虚拟机的网卡和宿主机的物理网卡均连接到虚拟机软件所提供的 VMnet0 虚拟交换机上,因此虚拟机和宿主机是平等的,相当于一个网络中的两台计算机。这种设置既可以保证虚拟机和宿主机通信,也可以和局域网内的其他主机通信,还可以连接 Internet,是限制最少的连接方式,推荐新手使用。
  • NAT 模式:相当于虚拟机的网卡和宿主机的虚拟网卡 VMnet8 连接到虚拟机软件所提供的 VMnet8 虚拟交换机上,因此本机是通过 VMnet8 虚拟网卡通信的。在这种网络结构中,VMware 为虚拟机提供了一个虚拟的 NAT 服务器和一个虚拟的 DHCP 服务器,虚拟机利用这两个服务器可以连接到 Intemet。所以,在正常情况下,虚拟机系统只要设定自动获取 IP 地址,就能既和宿主机通信,又能连接到 Internet了。但是这种设置不能连接局域网内的其他主机。
  • 仅主机模式:宿主机和虚拟机通信使用的是 VMware 的虚拟网卡 VMnet1,但是这种连接没有 NAT 服务器为虚拟机提供路由功能,所以仅主机网络只能连接宿主机,不能连接局域网,也不能连接 Internet 网络。
  • 自定义网络:可以手工选择使用哪块虚拟机网卡。如果选择 Vmnet1,就相当于桥接网络;如果选择 VMnet8,就相当于 NAT 网络。
  • LAN 区段:这是新版 VMware 新增的功能,类似于交换机中的 VLAN(虚拟局域网),可以在多台虚拟机中划分不同的虚拟网络。

3 Linux文件目录结构

学习linux,不仅限于学习各种命令,了解整个linux文件系统的目录结构以及各个目录的功能至关重要。
在linux根目录“/”下包含很多子目录(一级目录),例如“bin”,“boot”等。同时,各一级目录下还含有很多子目录(二级目录)。linux文件目录系统整体上呈树形结构,根目录(/)就相当于树根。
由于Linux系统免费开源,使得Linux发行版本有很多,利用Linux开发产品的团队也有很多,如果任由每个人都按照自己的想法来配置Linux系统文件目录,后期可能会产生诸多的管理问题。为了避免诸多使用者对Linux系统文件目录结构天马行空,Linux基金发布会发布了FHS标准。多数Linux发行版本都遵循这一标准。
FHS(文件系统层次化标准),该标准规定了Linux系统中所有的一级目录以及部分二级目录的用途。发布该标准的主要目的是为了让用户清楚地了解每个目录应该存放什么类型的文件。
登录系统后,在当前命令窗口下,输入命令:

ls /

会看到如下图所示:
在这里插入图片描述
在这里插入图片描述

3.1 根目录(/)

FHS认为,Linux系统的根目录(/)最为重要(没有之一),其原因有以下两点:

  • 所有目录都是由根目录衍生出来的;
  • 根目录与系统的开机、修复、还原密切相关

因此,根目录必须包含开机软件,核心文件,开机所需程序、函数库、修复系统程序等文件。

3.2 一级目录

3.2.1 /bin/,/boot/,/etc/,/dev/,/home/,/lib/,/media/,/mnt/,/misc/,/opt/,/root/,/sbin/,/srv/,//tmp/

  • /bin/
    存放系统命令,普通用户和root都可以执行。放在/bin下的命令单用户模式下也可执行。
  • /boot/
    系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等。
  • /dev/
    设备文件保存位置。
  • /etc/
    配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等。
  • /home/
    普通用户的主目录(家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录都是在/home/下建立一个和用户名相同的目录。如用户liming的主目录就是/home/liming/。
  • /lib/
    系统调用的函数库保存位置。
  • /media/
    挂载目录。系统建议用来挂载媒体设备,如软盘和光盘。
  • /mnt/
    挂载目录。早期Linux中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如U盘、移动硬盘和其他操作系统的分区。
  • /misc/
    挂载目录。系统建议用来挂载NFS服务的共享目录。虽然系统准备了三个默认挂载目录/media/,/mnt/,/misc/,但是到底在哪个目录挂载什么设备可以由管理员自己决定。
  • /opt/
    -第三方安装的软件保存位置。这个目录是安置和安装其他软件的位置,手工安装的源码软件都可以安装到这个目录下。不过笔者还是习惯把软件放到/uer/local/目录中,也就是说,/usr/local/目录也可以用来安装软件。
  • /root/
    root的主目录。普通用户的主目录在/home/下,root主目录直接在/下。
  • /sbin/
    保存与系统环境设置相关的命令,只有root可以使用这些命令进行系统环境设置,但有些命令可以允许普通用户查看。
  • /srv/
    服务数据目录。一些系统服务启动后,可以在这个目录下保中保存所需要的数据。
  • /tmp/
    临时目录。系统存放临时文件的目录,在该目录下,所用用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空。

3.2.2 /lost+found/,/proc/,/sys/

FHS针对根目录中包含的子目录仅限于此,但是除此之外,Linux系统根目录下通常还包含以下几个一级目录。

  • /lost+found/
    当系统以外崩溃或意外关机时,产生的一些文件碎片会存放在这里。在系统启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。这个目录在各个分区中出现,例如,/lost+found/就是根分区的备份恢复目录,/boot/lost+found/是/boot分区的备份恢复目录。
  • /proc/
    虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如/proc/cpuinfo保存CPU信息,/proc/devices保存设备驱动信息,/proc/filesystems保存文件系统列表,/proc/net保存网络协议信息…
  • /sys/
    虚拟文件系统。和/proc/目录相似,该目录的数据都保存在内存中,主要保存与内核相关的信息。

3.2.3 /usr/

usr(注意不是user),全称为Unix Software Resource,此目录用于存储系统软件资源。FHS建议所有开发者,应该把软件产品的数据合理的放置在/usr目录下的各个子目录中,而不是为它们的产品创建新的目录。
Linux系统中,所有系统默认的软件都存储在/usr目录下,/usr目录就类似于Windows系统中的C:\Windows+C:\Program files\两个目录的综合体。
FHS建议,/usr目录应具备下面的子目录

  • /usr/bin/
    存放系统命令,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行。

  • /usr/sbin/
    存放根文件系统不必要的系统管理命令,如多数服务程序,只有root可以使用。

  • /usr/lib/
    应用程序调用的函数库保存位置。

  • /usr/XIR6/
    图形界面保存位置。

  • /usr/local/
    手工软件保存位置。我们一般建议源码包软件安装在这个位置。

  • /usr/share/
    应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录。

  • /usr/src/
    源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中

  • /usr/include
    C/C++ 等编程语言头文件的放置目录

3.3.4 /var/

/var目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。

  • /var/lib/ 程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中
  • /var/log/ 登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等。
  • /var/run/ 一些服务和程序运行后,它们的 PID(进程 ID)保存位置
  • /var/spool/ 里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务。
  • /var/www/ RPM 包安装的 Apache 的网页主目录
  • /var/nis和/var/yp NIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息;yp 是 linux 的 nis 服务的日志文件存放的目录
  • /var/tmp 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除

3.2.5 练习

根据以上各表列举的各目录及作用,如果我们要做一些实验和练习,需要创建一些临时文件,应该保存在哪里呢?

答案是用户的主目录或 /tmp/ 临时目录。但是要小心有些目录中不能直接修改和保存数据,比如 /proc/fn/sys/ 目录,因为它们是保存在内存中的,如果在这里写入数据,那么你的内存会越来越小,直至死机;/boot/ 目录也不能保存额外数据,因为 /boot/ 目录会单独分区作为启动分区,如果没有空闲空间,则会导致系统不能正常启动。

总之,Linux 要在合理的目录下进行操作和修改。

4 什么是挂载?

Linux系统中”一切皆文件“,所有文件都放置在以根目录为树根的树形目录结构中。在Linux看来,任何硬件设备也是文件,它们都有自己的一套文件系统(文件目录系统)。
因此产生的问题是,当在Linux系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为”挂载“。

如果不挂载,通过Linux系统的图形界面系统可以查找到硬件设备,但是命令行方式无法找到

挂载,就是将设备文件中的顶级目录链接到Linux根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。
纠正一个误区,并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,这会造成系统异常甚至崩溃,挂载点最好是新建的空目录。
举个例子,我们想通过命令行的方式访问某个UP中的数据,下图为U盘文件目录结构和Linux系统中的文件目录结构。
在这里插入图片描述
从图中可以看出,目前U盘和Linux系统文件分属两个文件系统,还无法使用命令行找到U盘文件,需要将两个文件系统进行挂载。
接下来,我们在根目录下新建一个目录/sdb-u,通过挂载命令将U盘文件系统挂载到此目录,挂载效果如下图所示。
在这里插入图片描述
可以看出,U盘文件系统已经成为Linux文件系统目录的一部分,此时访问/sdb-u/就相当于访问U盘。
前面讲过,根目录下的/dev/目录文件负责所有的硬件设备文件,事实上,当U盘插入Linux系统后,系统也确实会给U盘分配一个目录文件(比如sdb1),就位于/dev/目录下(/dev/sdb1),但是无法通过/dev/sdb1/直接访问U盘数据,访问此目录只会提供给你此设备的一些基本信息(比如容量)。
总之,Linux系统使用任何硬件设备,都必须将设备文件与已有目录文件进行挂载。
具体挂载指令后续呈现。

5 Linux中一切皆是文件

Linux中所有内容都是以文件的形式保存和管理的,即一切皆是文件,普通文件是文件,目录(Windows下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连嵌套字(socket)、网络通信等资源也是文件。
在Linux系统中,文件具体可以分为以下几种类型:

  • 普通文件
    类似mp4、pdf、html这样,可直接拿来使用的文件都属于普通文件,Linux用户根据访问权限的不同可以对这些文件进行查看、删除以及更改操作。

  • 目录文件
    -对于惯用Windows系统的用户来说,目录是文件可能不太好理解。在Linux系统中,目录文件包含了此目录中各个文件的文件名及指向这些文件的指针,打开目录等同于打开目录文件,只要你有权限,可以随意访问目录中的任何文件。注意,目录文件的访问权限与普通文件的执行权限是一个意思。

  • 字符设备文件和块设备文件
    这些文件通常隐藏在/dev/目录下,当进行设备读取或对外交互时才会被使用。例如,磁盘光驱属于块设备文件,串口设备属于字符设备文件。

  • 嵌套字文件
    嵌套字文件一般隐藏在/var/run/目录下,用于进程间的网络通信。

  • 符号链接文件
    类似与Windows中的快捷方式,是指向另一文件的简介指针(也就是软链接)

  • 管道文件
    主要用于进程间通信。

一切皆是文件的利弊。
与Windows系统不同,Linux系统没有C盘、D盘、E盘这么多盘符,只有一个根目录(/),所有文件都存储在以根目录为树根的树形目录结构中。
这样做最明显的好处是,开发者仅需要使用一套API和开发工具即可调用Linux系统中的绝大部分资源。举个简单的例子,Linux中几乎所有读(读文件、读系统状态、读嵌套字、读网络通信)的操作都可以用read函数来进行;几乎所有更改(更改文件、更改系统参数)的操作都可以用write函数来进行。
不利之处在于,在使用任何硬件设备都必须与根目录下某一目录执行挂载操作,否则无法使用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值