Linux初学(一)

本篇随笔为Linux实验报告一,讨论linux系统安装与初步应用。受时间精(neng)力所限,本文多是一些简略的描述。如果发现事实性错误,希望读者不吝指正。

Linux的历史

  我们都知道机器本身不具备供人操作的能力,我们通过精巧的电路设计让它有了基本的记忆存储、条件判断等基本逻辑功能,然而这些依旧无法被普通大众和应用开发者所接受,所以我们需要一个操作系统来连接硬件与应用。Linux就是这样一个连接件。

  在Linux还未诞生的年代,intel的386已经初露头角,成为民用级的高性能cpu,所以,Linux的作者托瓦兹(Linus Torvalds)便基于此硬件撰写了Linux内核,此后又在全世界极客的共同努力下不断更新,其现状如下:

VersionMaintainerReleasedProjected EOL
4.14Greg Kroah-Hartman2017-11-12Jan, 2020
4.9Greg Kroah-Hartman2016-12-11Jan, 2019
4.4Greg Kroah-Hartman2016-01-10Feb, 2022
4.1Sasha Levin2015-06-21May, 2018
3.16Ben Hutchings2014-08-03Apr, 2020
3.2Ben Hutchings2012-01-04May, 2018

 

 

 

 

 

 

 

 

 

 

 

  然而Linux的早期维护都是一些极客在做,普通使用者并没有直接编译源码或修改它们的能力,同时,受限于GPL授权,Linux本身不能用于牟利。于是便有一些开发者做出易于安装的发行版本,同时加上一些自己的特色软件,并提供后续的长期维护,做出Linux的distribution版本,如商业公司提供的Red Hat.此外还有一些社区版本,如Debian、CentOS等。

硬盘

  非易失性存储器已经发展到闪存阶段,我们现在日常使用的存储设备多是由闪存制作,如U盘,固态等。从玩家的角度来看,这里面还有非常多的分类,但总的来讲,现在主流的硬盘有由机械结构构成的机械硬盘和基于闪存的固态硬盘。然而,不严格的讲,固态硬盘的历史不过10年,在Windows或Linux刚诞生的年代,机械硬盘才是主流。同时,到如今,主流的机械硬盘容量虽还在1T上下,但已经有超过10T的单盘机械硬盘了。同时通过RAID 0等方式,容量可以大幅扩充。因此,对操作系统来讲,考虑2T以上的容量是很必要的。顺带一提,由intel主推的3D XPoint存储方案也已有产品推出,其4k性能有质的突破。

  由于机械硬盘本身的结构所限,其4k性能极低,延时极高,为此,将机械硬盘分区,将数据存储在较为集中的地带,有助于提高性能,同时,由于可以保证分区之间的独立性,分区有利于保证数据的安全。机械硬盘被分为大量扇区,其中第一扇区比较特殊。在开机启动时,系统并非直接就能进入操作系统,而需要首先经过BIOS,接着转向第一扇区,依靠第一扇区内的主引导记录(MBR,Main Boot Record)的帮助,才最终指向目标操作系统,这也是双系统可行的原因。扇区通常有512Bytes(如今大容量机械似乎也和固态等一样改为4k了),第一扇区也不例外,而MBR占446Bytes,而第一扇区中还有占据64Bytes的分区表,用来记录整颗硬盘的分区状态。由于分区表所在区块仅有 64 Bytes 容量,仅能有四组记录区,每组记录区记录了该区段的启始与结束的柱面号码,也就是分区信息。虽然第一扇区只能有四个分区记录,但其他的扇区也可以存放分区表。办法是将四个分区记录中的第一个(或前两个、前三个)用来记录分区信息,我们称为主分区,而将第二个用来记录其他分区表的位置,我们称这一块为延伸(拓展)分区。诸位都知道相对于文件本身,指针是很小的。因此,延伸分区所能指向的范围实在太大了,而我们可能会将这样大的范围再次划分,比如分成D盘,E盘等。因此,我们在延伸分区的大框架内,对它做切割,分成各个小块,这些小块称为逻辑分区。借用《鸟哥的Linux私房菜》中的图示如下:

  由于单个分区表只有16Bytes的大小,因此,MBR分区表会出现如下限制:1.操作系统无法抓取到 2.2T 以上的磁盘容量!2.MBR 仅有一个区块,若被破坏后,经常无法或很难救援。3.MBR 内的存放开机管理程序的区块仅 446Bytes ,无法容纳较多的程序码。因此,现在有了更好的GPT方法来做分区。 其通过34个LBA区块记录信息,保证容错和补救,同时单一分区可提供最高8ZB(230TB)的容量。需要注意的是,GPT分区中不再有延伸分区这些说法,可以将每一块都看作主分区。

  MBR中存在各类问题的同时,BIOS也逐渐被发现存在安全性等方面的问题,业界已使用UEFI取代BIOS。因此,如果现在用U盘等安装Linux,很可能是通过UEFI+GPT,而非BIOS+MBR,不过,百度上也搜索到了BIOS+GPT的奇怪结果:-)而从对分区的要求上来讲,BIOS+MBR安装系统要求硬盘只要存在非隐藏、活动的主分区就可以了;而UEFI+GPT要求硬盘上除了存在ESP分区(EFI system partition),还必须存在至少一个主分区,具体可参看http://www.pc841.com/article/20160729-70127.html

Ubuntu的安装

  讨论完硬件,以及uefi之类的玄学东西,该来到更上一层的系统了。

  前面已经提过distrubtion和Linux内核本身的区别了,在此,使用Ubuntu16.04版本。Linux常见的安装方式是windows+linux,或者单独使用linux,或者在虚拟机中配置安装。由于已经安装双系统,在此仅给出VMware虚拟机安装步骤。在此说明,如果不考虑兼容性问题,双系统的安装仅比虚拟机安装多出一个磁盘分区的过程。

  虚拟机的配置等直接略过,直接到安装阶段。

  

  

  由于使用虚拟机,并设置了单虚拟硬盘,因此此处只有一个sda,如果是双系统安装,这一步需要注意,确定好哪一个是已分出的空闲磁盘。sda是指sata或scsi型的磁盘,现在应该只有sata类型的了,不过虚拟机配置的是scsi类型。

  首先分一点位置给swap,此部分可能用于缓存。

  

  接着挂载/boot分区,此分区被称为引导分区,也就是引导操作系统启动的程序所在的分区。但似乎在GPT模式下已不再必须。

  

  依次类推,分别创建/home目录,此目录用于保存自己创建的文件;/usr目录,此目录用于保存安装的软件,需要注意的是,此区域需要至少4.2GB的容量;以及最重要的根目录/。一个错误的最终截图如下:

   

  此处留了一点空间,只是单纯的担心以后会不会出什么玄学问题,具体有没有用并不清楚。

  读者或许注意到上面这张图的问题,这是我第一次配完时的图,然而在后续安装时崩溃了。问题就在于/boot目录空间太小,我初始以为它并不重要,结果直接导致安装空间不够,好在我不是第一个出这问题的。。。。具体可参看上上张图。

  同时,这里应该说明一下挂载与挂载点。linux中将一切都视为文件,因此,所有东西都应该能在文件系统中找到。而挂载点就是linux中的磁盘文件系统的入口目录,上面那几个目录都是挂载点,而挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上这样的操作。

  这里还碰到了一个小麻烦,由于分辨率的问题,我是看不到安装的全部界面的。此时按住ALT+鼠标左键,可以拖动安装界面,完成安装。不过似乎更好的方式是在查看中选择适应客户机。

  此处也可以看到,安装时与上文主分区,逻辑分区对应了起来。

  同时,还要在此说明的是,linux的文件系统主要是支持ext2,ext3,ext4,可以看到,此处用的就是较新的ext4;相对应的,windows主要支持FAT32和NTFS,FAT32在今天其实已经不好用了,因为它只能支持单文件4G,这显然经常不够。ext4就很可怕了,支持16TB的单文件,简直难以置信。

  安装时最后的提醒:

  

常用软件安装

① 首先安装VMware tools。

  将其拷贝到桌面上。

  在文件系统中,切换到桌面,然后输入指令tar -zxvf 文件名,解压完后,进入目录vmvare-tools-distrib,接着执行sudo ./wmware-install.pl。这里就是上面提到的崩溃的地方,但不管怎么样,最终还是装起来了。它的效果是,可以无缝的在虚拟机内和外部切换,比如直接将文件复制到里面,而之前他们是各复制各的。

② 搜狗输入法

  先说一句,自带的输入法也还能用。

  安装步骤:1.在官网下载好安装包 2.以root用户身份运行,在终端输入apt-get -f install(此处网络速度极慢)。

  此时便已安装成功,可在右上角切换使用。

  在此解释,-f用于修补缺失的包,此处搜狗输入法需要facix的更新支持。

  现在来说明一下网速极慢的问题。由于默认使用的ubuntu官网的服务器,网络不稳定且极慢,因此需要将其更换为国内的镜像。

  通过图形界面完成操作:

  在系统设置中选择‘软件和更新’,然后选择下载自,选择‘其他站点’,然后选择‘选择最佳服务器’,然后等它测试完便可以了,之后的速度便极快(10m/s,可怜我的手机流量:-)。

  

X-Window

  我们看到的登录和使用的界面就是X-Window界面。

  X Window system  是个利用网络架构的图形使用者接口软件,它本身只是一个运行在linux上的软件。这个软件基本上由两个部分组成, X Server  与 X Client,它们在某种意义上完成了一个解耦,下面分别介绍。

  X Server更接近于硬件,它可以用于管理键盘、鼠标、手写板、显示器 ( monitor ) 、屏幕分辨率与色彩深度、显卡 (包含驱动程序) 与显示的字体等等与输入输出有关的设备。它可以将硬件的信息提供给X Client,供其计算,并将X Client的结果切实反应在机器上。

  X Client最重要的工作就是处理来自 X Server 的动作,将该动作处理成为绘图数据, 再将这些绘图数据传回给 X Server。也就是说,X Client更关注与运算上的处理。前面提到这某种意义上完成了解耦,这里就可以看出一个显然的好处,一个X Server可以对应多个X Client。

   多个X Client显然不能自己配合好,需要一个特殊的X Client来进行总体调节,这就是 Window Manager  ( WM,  窗口管理器)。这不是一个简单的活,不过已有很多成熟的产品如:GNOME KDE twm XFCE。

   虽然在X-Window下使用感觉和在Windows中颇为相像,不过,X Window始终是一个软件,而非与Windows一样的操作系统。从其历史来看,X Window诞生于1984年的MIT,在开发 X 时,开发者就希望这个窗口接口不要与硬件有强烈的相关性,这是因为如果与硬件的相关性高,那就等于是一个操作系统了, 如此一来的应用性会比较局限。因此 X 在当初就是以应用程序的概念来开发的,而非以操作系统来开发。某种意义上,这是诸多协议的综合体。然而,具体的联系与区别还是留待后续学习吧。

总结

  至此,linux的安装以及初步使用便告一段落。linux给我印象最深的一点就是一切皆文件,但到目前为止,还无法领略linux的特色功能,期待后续的学习。

 

参考书目:鸟哥的Linux私房菜基础学习篇第四版(2015)

 

转载于:https://www.cnblogs.com/Guqi1901/p/8566518.html

        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/weixin_34237596">
                <img src="https://profile.csdnimg.cn/9/6/7/3_weixin_34237596" class="avatar_pic" username="weixin_34237596">
            </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit "><a href="https://blog.csdn.net/weixin_34237596" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;ab&quot;:&quot;new&quot;}" target="_blank">weixin_34237596</a></span>
                    <!-- 等级,level -->
                                            <img class="identity-icon" src="https://csdnimg.cn/identity/blog4.png">                                            </div>
                <div class="text"><span>原创文章 158</span><span>获赞 52</span><span>访问量 26万+</span></div>
            </div>
                            <div class="right-message">
                                        <a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;ab&quot;:&quot;new&quot;}">关注</a>
                                                            <a href="https://im.csdn.net/im/main.html?userName=weixin_34237596" target="_blank" class="btn btn-sm bt-button personal-letter">私信
                    </a>
                                </div>
                        </div>
                    
    </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值