目录
⭐Linux简介
Linux 是在 1991 由林纳斯·托瓦兹在赫尔辛基大学上学时创立的,主要受到 Minix 和 Unix 思想的启发。它也继承了其核心理念——“一切皆文件”。
Liunx是一款开源的操作系统,是免费的,并且可以自由更改和共享,打造属于适合自己个人使用或者生产使用的操作系统。
⭐Linux的发行版本
完整的Linux系统包称为发行版,由于各种环境运算需求不同,有很多不同的Linux发行版来满足各种运行环境。发行版的定位用户群体包括商业用户、多媒体爱好者、软件开发人员或者普通家庭用户等。每个定制的发行版都包含了支持特定功能所需的各种软件包,比如为多媒体爱好者准备的音频和视频编辑软件,为软件开发人员准备的编译器和集成开发环境(IDE)。
不同的Linux发行版通常归类为3种:
- 完整的核心Linux发行版
- 特定用途的发行版
- LiveCD测试发行版
以下是一些流行的Liunx发行版本
发行版 | 描述 |
---|---|
Slackware | 最早的Linux发行版中的一员,在Linux极客中比较流行 |
Red Hat | 主要用于Internet服务器的商业发行版 |
Fedora | 从Red Hat分离出的家用发行版 |
Gentos | 为高级Linux用户设计的发行版,仅包含Linux源代码 |
openSUSE | 用于商用和家用的发行版 |
Debian | 在Linux专家和商用Linux产品中流行的发行版 |
⭐走进Linux
🌟Linux的组成
首先,Linux可划分为以下四部分:
- Linux内核
- GNU工具
- 图形化桌面环境
- 应用软件
下图是一个基本结构框图,展示了各整个Linux系统的各部分的架构以及如何协同工作的。
Linux系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。
内核主要负责以下四种功能:
- 系统内存管理
- 软件程序管理
- 硬件设备管理
- 文件系统管理
- 系统内存管理
操作系统内核的主要功能之一就是内存管理。内核不仅管理服务器上的可用物理内存,还可以创建和管理虚拟内存(即实际并不存在的内存)。 内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为交换空(swap space)。内核不断地在交换空间和实际的物理内存之间反复交换虚拟内存中的内容。这使得系统以为它拥有比物理内存更多的可用内存。
- 软件程序管理
Linux操作系统将运行中的程序称为进程。进程可以在前台运行,将输出显示在屏幕上,也可以在后台运行,隐藏到幕后。内核控制着Linux系统如何管理运行在系统上的所有进程。内核创建了第一个进程(称为init进程)来启动系统上所有其他进程。当内核启动时,它会将init进程加载到虚拟内存中。内核在启动任何其他进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码。
- 硬件设备管理
内核的另一职责是管理硬件设备。任何Linux系统需要与之通信的设备,都需要在内核代码中加入其驱动程序代码。驱动程序代码相当于应用程序和硬件设备的中间人,允许内核与设备之间交换数据。在Linux内核中有两种方法用于插入设备驱动代码:
- 编译进内核的设备驱动代码
- 可插入内核的设备驱动模块
- 文件系统管理
不同于其他一些操作系统,Linux内核支持通过不同类型的文件系统从硬盘中读写数据。除了自有的诸多文件系统外,Linux还支持从其他操作系统(比如Microsoft Windows)采用的文件系统中读写数据。内核必须在编译时就加入对所有可能用到的文件系统的支持。以下列出了 Linux系统用来读写数据的标准文件系统。
文件系统类型 | 描述 |
---|---|
ext | Linux扩展文件系统,最早的Linux文件系统 |
ext2 | 第二扩展文件系统,在ext的基础上提供了更多的功能 |
ext3 | 第三扩展文件系统,支持日志功能 |
ext4 | 第四扩展文件系统,支持高级日志功能 |
hpfs | OS/2高性能文件系统 |
jfs | IBM日志文件系统 |
iso9660 | ISO 9660文件系统(CD-ROM) |
minix | MINIX文件系统 |
msdos | 微软的FAT16 |
ncp | Netware文件系统 |
nfs | 网络文件系统 |
ntfs | 支持Microsoft NT文件系统 |
proc | 访问系统信息 |
ReiserFS | 高级Linux文件系统,能提供更好的性能和硬盘恢复功能 |
smb | 支持网络访问的Samba SMB文件系统 |
sysv | 较早期的Unix文件系统 |
ufs | BSD文件系统 |
umsdos | 建立在msdos上的类Unix文件系统 |
vfat | Windows 95文件系统(FAT32) |
XFS | 高性能64位日志文件系统 |
🌟Linux的目录结构
Linux文件系统结构是从Unix文件结构演进过来的。在Linux文件系统中,通用的目录名用于表示一些常见的功能。下表列出了一些较常见的Linux顶层虚拟目录名及其内容。
目录 | 描述 |
---|---|
/ | 虚拟目录的根目录。通常不会在这里存储文件 |
/bin | 二进制目录,存放许多用户级的GNU工具 |
/boot | 启动目录,存放启动文件 |
/dev | 设备目录,Linux在这里创建设备节点 |
/etc | 系统配置文件目录 |
/home | 主目录,Linux在这里创建用户目录 |
/lib | 库目录,存放系统和应用程序的库文件 |
/media | 媒体目录,可移动媒体设备的常用挂载点 |
/mnt | 挂载目录,另一个可移动媒体设备的常用挂载点 |
/opt | 可选目录,常用于存放第三方软件包和数据文件 |
/proc | 进程目录,存放现有硬件及当前进程的相关信息 |
/root | root用户的主目录 |
/sbin | 系统二进制目录,存放许多GNU管理员级工具 |
/run | 运行目录,存放系统运作时的运行时数据 |
/srv | 服务目录,存放本地服务的相关文件 |
/sys | 系统目录,存放系统硬件信息的相关文件 |
/tmp | 临时目录,可以在该目录中创建和删除临时工作文件 |
/usr | 用户二进制目录,大量用户级的GNU工具和数据文件都存储在这里 |
/var | 可变目录,用以存放经常变化的文件,比如日志文件 |
⭐创建一台Liunx虚拟机
🌟环境介绍
虚拟化软件:VMware® Workstation 15 Pro
操作系统镜像:CentOS-7-x86_64-Minimal-2009
镜像下载推荐阿里云社区:https://developer.aliyun.com/mirror/
🌟CentOS 7虚拟机创建
硬件参数配置
- CPU:2核
- 内存:2GB
- 硬盘:20GB
- 在VMware种创建新的虚拟机
- 新手选用典型方式
- 选择稍后安全操作系统
- 选择Liunx,版本为CentOS 7 64位
- 设置虚拟机名称,选择虚拟机安装目录
- 硬盘大小保持默认20GB,选择将虚拟磁盘存储为单个文件,提高磁盘性能。
- 点击完成
- 点击编辑虚拟机设置,挂载操作系统镜像
- 打开虚拟机进行系统安装
- 建议选择英文,兼容性好一些
- 设置时区
- 选择安装的软件,由于我的镜像是最小安装版所有没有其余软件安装包可选,如:开发工具、配置环境等。
- 配置分区,这里选自动分配即可;后续可根据实际开发环境进行自定义分区,包括分区的大小、分区的文件系统格式等参数。
- 点击开始安装
- 设置Root密码
- 安装完成后重启系统
🌟CentOS 7系统初始优化
🍒网络初始化配置
由于安装系统时,并未配置相关网络,所有系统安装完成后需要修改网卡信息,配置相关网络环境,首先要进入网卡的配置文件,网卡的配置文件存在于 /etc/sysconfig/network-scripts 目录下
我的虚拟机网卡名称为ifcfg-ens33,网卡名称根据实际环境配置,首先要备份网卡配置文件,使用命令cp ifcfg-ens33 ifcfg-ens33.bak
修改虚拟网卡配置信息,IP地址与网关需要与你为此虚拟机配置的虚拟网卡为同一网段,网关地址为虚拟网卡的网关地址。使用命令vi ifcfg-ens33进入网卡配置文件,输入 i 进行插入操作,按ESC键,输入 :wq 保存并退出。
使用命令ifup ens33,开启网卡,网卡名称以实际环境为准。
使用命令ip add查看网络配置信息,并测试网络联通性
🍒基础工具安装
由于我的镜像是最小模块化安装,缺少一些基础的工具包,所以网络配置完成后先安装一些基础的工具包。
yum install wget
yum install net-tools
🍒Yum源替换
首先备份Yum源文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载国内阿里云的yum源文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
清楚原有Yum源缓存
yum clean all
新建Yum源缓存
yum makecache
🍒关闭SELinux
SELinux是「Security-Enhanced Linux」的简称,是美国国家安全局「NSA=The National Security Agency」 和SCC(Secure Computing Corporation)开发的 Linux的一个扩张强制访问控制安全模块。原先是在Fluke上开发的,2000年以 GNU GPL 发布。
PS:如果不关闭SELinux的话会导致一些配置无法生效,如:修改SSH端口号等
进入SELinux的配置文件vi /etc/selinux/config按下图将其参数修改为disable,并重启系统
🍒保存虚拟机快照
当后续你进行越来越多的实验时,建议每一个阶段完成后生成一个虚拟机快照,这样可以帮助你更好的开发与学习。
举个例子:当你在进行环境配置时,发现版本安装错了,但是卸载起来又很麻烦,如果你在进行环境配置前进行了快照,此时你就可以通过VMware的快照管理系统,将系统状态恢复至进行环境配置之前的系统状态。
点击VMware软件上方的菜单栏中的虚拟机->快照->拍摄快照,为你此次的快照起个名字,做好描述即可。
当选要恢复时可以在上方菜单栏中的虚拟机->快照->恢复快照,选择你要恢复快照的状态即可。