厚基础Linux——第二周作业

    科技2022-08-04  110

    文章目录

    厚基础Linux——第二周作业按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。SlackWareSUSEDeBianUbuntuRedHatRedHat LinuxRHELCentOSFedoraLFS(Linux From Scratch)Android参考 安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。环境规划资源分配CentOS6.10CentOS7.6Ubuntu1804 分区环境安装(基于VMware Fusion 11.5.1)虚拟硬件配置创建新虚拟机选择光盘映象取消快捷安装选择固件类型进入虚拟机设置选择虚拟机文件位置配置处理器和内存硬盘配置网络配置 Linux图形化安装选择区域和语言CentOS 7.6CentOS 6.10Ubuntu 1804 配置用户名CentOS 7.6CentOS 6.10Ubuntu 1804 配置分区信息CentOS 7.6CentOS 6.10Ubuntu 1804 配置网络CentOS 7.6CentOS 6.10 配置初始软件安装CentOS 7.6CentOS 6.10Ubuntu 1804 登陆验证CentOS 7.6CentOS 6.10Ubuntu 1804 关闭SeLinux,创建快照CentOS 7.6CentOS 6.10Ubuntu 1804 备份虚拟机文件 配置环境变量,实现执行history的时候可以看到执行命令的时间。 总结Linux哲学思想。总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令history问题一:命令执行记录需要详细的执行时间问题二:某些命令带有隐私信息,不希望被记录下来history -chistory -dHISTCONTROL echo解析文本解析变量解析特殊含义文本 screen远程终端解耦远程协助 date修改时间时间同步 ifconfigexport普通变量环境变量

    厚基础Linux——第二周作业

    按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

    SlackWare

    第一个版本1.00在1993年7月16日,由创立者和开发领导者Patrick Volerding发布,它是现存最古老的Liunx发行版本。 设计理念: KISS:keep it simple, stupid

    SUSE

    SUSE于1992年末创办,源自德国,综合了SlackWare的一些特性。后被Novell收购。

    2005年8月4日,Novell公共关系科的领导及代言的—— Bruce Lowry表示,SUSE Linux Professional系统的开发将变得更开放,新的开发计划名为openSUSE,目的是为了吸引更多的用户及开发人员。

    DeBian

    Debian计划最初由伊恩·默多克发布,Debian 0.01版在1993年9月15日发布,第一个稳定版本在1996年发布。

    该计划的具体工作在互联网上协调完成,由Debian计划领导人带领一个志愿者团队开展工作,并以三份奠基性质的文档作为工作指导:Debian社区契约、Debian宪章和Debian自由软件指导方针。

    Debian以其坚守Unix和自由软件的精神,以及给予用户众多的选择而闻名。众多知名的Linux发行版,如Ubuntu、Knoppix和Deepin,都基于Debian GNU/linux。

    Ubuntu

    Ubuntu由马克·舍特尔沃斯创立,其首个版本—4.10发布于2004年10月20日,它以Debian为开发蓝本。它主要使用自由、开源的软件。

    与Debian稳健的升级策略不同,Ubuntu每6个月便会发布一个新版,以便人们即时地获取得使用新软件。

    Ubuntu版本支持周期较短,然而它有七个长期支持的版本(Long Term Support,LTS):Ubuntu 6.06、8.04、10.04、12.04、14.04、16.04、18.04与20.04。自Ubuntu 12.04起,桌面版与服务器版都有5年支持周期。而之前的长期支持版本为桌面版3年,服务器版5年。

    RedHat

    分支众多,有RedHat Linux, Redhat Enterprise Linux(RHEL),CentOS, Fedora几种分支。

    RedHat Linux

    第一个版本自1994年11月3日起,至2004年,9.0发布后停止开发,后续RedHat公司将研发力量投入到了RHEL。

    RHEL

    软件开源,服务收费。更新周期较长,通常不少于18个月。

    CentOS

    RHEL的社区开源版,兼容RHEL,在国内广泛被使用。

    Fedora

    RHEL的上游开发,是一个社区项目。该项目是为了让RHEL及其贡献者能够快速响应新技术带来的变革,通常6个月发布一个新版本。 RHEL的血脉关系如下:

    Red Hat Linux 6.2/7 → Red Hat Linux Enterprise Edition 6.2ERed Hat Linux 7.2 → Red Hat Enterprise Linux 2.1Red Hat Linux 10 beta 1 → Red Hat Enterprise Linux 3Fedora Core 3 → Red Hat Enterprise Linux 4Fedora Core 6 → Red Hat Enterprise Linux 5Fedora 12, 13 → Red Hat Enterprise Linux 6Fedora 19, 20 → Red Hat Enterprise Linux 7Fedora 28 → Red Hat Enterprise Linux 8

    LFS(Linux From Scratch)

    LFS是Gerard Beekmans编写的一本Linux安装手册,目前主要由Bruce Dubbs维护。 这本手册主要指导读者如何从源码编译Linux。该手册在Linux From Scratch网站上免费提供。

    Android

    风靡全球的手机操作系统,基于Linux内核,busybox工具集和java虚拟机。

    参考

    主要参考了维基百科

    补充一张阵营九宫格,转自https://zh.moegirl.org.cn/阵营九宫格#/media/File:Linux九宫格.png

    安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。

    环境规划

    三台虚拟机,分别安装CentOS6.10,CentOS7.6,Ubuntu1804

    资源分配

    CentOS6.10

    资源数量Core2HardDisk200GRAM1G 资源数量Core2HardDisk200GRAM1G

    CentOS7.6

    资源数量Core2HardDisk200GRAM2G

    Ubuntu1804

    资源数量Core2HardDisk200GRAM2G

    分区

    目录容量备注/boot1G存储启动文件,其它目录失效不影响系统启动。/200G存储操作系统文件。/data50G存储练习环境文件,对操作系统影响尽量降低。

    环境安装(基于VMware Fusion 11.5.1)

    虚拟硬件配置

    创建新虚拟机

    选择光盘映象

    取消快捷安装

    选择固件类型

    进入虚拟机设置

    选择虚拟机文件位置

    配置处理器和内存

    硬盘配置

    取消预先分配磁盘空间可以节省大量空间。 取消文件拆分可以更方便管理,拷贝迁移。

    网络配置

    初学建议使用NAT模式

    配置完毕后点左上角红色圆点可以完成虚拟机硬件配置

    Linux图形化安装

    三个环境的虚拟机硬件配置类似,这里省略,下面开始对比三个发行版本的图形化安装。

    选择区域和语言
    CentOS 7.6

    选择语言,默认英语。

    选择区域。

    CentOS 6.10

    选择安装语言

    选择键盘

    选择区域语言,取消网络时间同步

    Ubuntu 1804

    选择安装工具语言

    选择区域,没有China,只能选择other。

    选择大洲,只能选Asia

    选择China

    选择locale

    配置用户名
    CentOS 7.6

    用户的创建在安装过程当中。

    配置root密码。 创建一个普通用户。

    CentOS 6.10

    CentOS6.10创建用户在安装完毕第一次重启时。

    Ubuntu 1804

    配置分区信息
    CentOS 7.6

    选择磁盘; 选择手动分区

    配置分区表,选择标准分区。

    接受更改。

    CentOS 6.10

    清除磁盘数据 选择自定义分区

    分区表确认。

    Ubuntu 1804

    配置手动分区

    选择需要分区的磁盘

    确认在该磁盘上创建分区表。 挂载点需手动修改。 分区表配置完成。

    配置网络
    CentOS 7.6

    CentOS 6.10

    配置网卡自动连接

    配置初始软件安装
    CentOS 7.6

    选择Gnome Desktop

    关闭kdump。

    开始安装。安装完后选择重启。

    CentOS 6.10

    软件包自定义

    新增KDE桌面选项。点NEXT,安装开始。安装完后选择重启。

    Ubuntu 1804

    Server版Ubuntu自动最小化安装,无需配置软件包,分区表配置完成后直接开始安装。 安装完毕后选择不要自动更新。 安装SSH,不然没办法远程登陆。 安装 Grub boot loader,不然无法启动。

    登陆验证

    这里使用FinalShell验证

    CentOS 7.6

    CentOS 6.10

    Ubuntu 1804

    关闭SeLinux,创建快照
    CentOS 7.6

    vi /etc/selinux/config 修改SELINUX=disabled,关闭后创建快照。

    CentOS 6.10

    vi /etc/selinux/config 修改SELINUX=disabled,关闭后创建快照。

    Ubuntu 1804

    最小化安装不包含SeLinux。直接创建快照。

    备份虚拟机文件

    拷贝文件到其它存储,防止重复造轮。

    配置环境变量,实现执行history的时候可以看到执行命令的时间。

    HISTTIMEFORMAT变量,可以控制history命令的时间格式。 为使该配置永久生效,将该变量写入/etc/profile文件。

    总结Linux哲学思想。

    总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令

    经过第二周的学习,对一些命令进行总结。

    history

    history是bash的内置命令,用于记录在bash中执行过的命令。这个命令主要帮我解决两个问题。

    问题一:命令执行记录需要详细的执行时间

    HISTTIMEFORMAT变量,可以控制history命令的时间格式。 为使该配置永久生效,将该变量写入/etc/profile文件。

    问题二:某些命令带有隐私信息,不希望被记录下来

    希望删除历史命令中的敏感信息,如26,27,28

    history -c

    可以完全删除。

    history -d

    一次只能删除一行 history -d 26 history -d 27 history -d 28

    HISTCONTROL

    该变量默认值为 ignoredups,忽略重复命令

    配置为ignorespace时,忽略所有空白开头的命令

    配置为ignoreboth时,相当于ignoredups,ignorespace的组合

    配置该变量,敏感信息使用空格打头,即可不被记录。可以看到图中空格命令未被记录下来。

    echo

    echo的英文含义是回音,顾名思义,它的基本功能是输出你向它输入的信息。它不止可以解析文本,还能解析变量,解析特殊含义的文本。

    解析文本

    最基本功能,输入普通文本,输出普通文本。

    解析变量

    当字符串内带有变量时,三种引号显示不同的结果

    ’ '单引号,不对变量进行解析,原样输出。

    " "双引号,对变量进行解析后输出

    ` ` 反引号,可以对命令的结果进行输出

    解析特殊含义文本

    echo 共有3个选项-E,-n,-e,默认为-e模式,压缩掉特殊含义,手动指定-e时,可以得到特殊效果。如echo -e “\a”,可以输出系统提示音。

    screen

    当执行一个时间较长的任务时,如果连接终端的工具挂掉,则会前功尽弃。为了让在服务器上的任务不受远程终端死活的影响,我们可以使用screen工具,它还可以用于远程协助。 操作系统可能不自带screen,需要进行安装。

    远程终端解耦

    执行screen命令,进入终端,该终端可以在远程连接工具退出后继续执行。 ctrl + a + d :临时退出,后台执行。 如果键盘不好,可以先按 ctrl + a 再按 ctrl + d ,防止错误中断。 临时退出后可看到后台有一个终端仍在执行。使用screen -r命令可回到指定终端。若有多个终端,可使用screen -r 终端号指定终端。

    远程协助

    screen还可以用于远程协助,同一主机,同一用户下,工程师A终端1可以创建一个screen终端,让工程师B从终端2访问到该screen终端。

    工程师kel创建终端起名kel,执行命令screen -S kel 工程师zhou尝试进入kel的终端,执行命令screen -x kel 两个终端已完全同步 screen终端同样可以执行exi永久关闭。

    date

    date是基本命令,可以查看时间,修改时间,支持各种自定义格式输出时间。

    修改时间

    使用date -s +字符串修改时间

    时间同步

    可以使用ntpdate从服务器同步时间来修改;或是通过clock命令,使用硬件时间修改。

    ifconfig

    查看本机网络接口的命令 使用ifconfig 网卡名称 查看网络基本信息。

    export

    bash设置的变量只在当前shell有效,使用export命令可使该变量成为该shell的全局变量。

    普通变量

    普通变量只在当前shell有效,子shell无效。

    定义变量

    user=kel

    创建子shell,发现变量不生效

    bash echo $user

    环境变量

    使用export命令,使变量成为环境变量,可对其所有子shell生效。子shell的更改会让孙shell继承,但不会影响父shell。

    user=kel #在父shell中定义变量 bash export user=zhou #在子shell中定义环境变量 echo $user #查看子shell中变量 bash echo $user #在孙shell中查看环境变量 exit exit echo $user #在父shell中查看环境变量

    Processed: 0.027, SQL: 8