Linux学习笔记:第1、2、3章:简介、安装与注意事项

234 阅读12分钟

课程来自兄弟连 www.bilibili.com/video/BV1mW… P1-P11

1.Linux系统简介

1.1 UNIX与Linux发展史

背景

  • MIT/GE/AT&T贝尔实验室
  • 肯·汤普森 UNIX系统
  • TCP/IP协议
  • C语言的诞生

UNIX主要发行版本

  • AIX > IBM > PowerBC
  • HP-UX > HP > PA-RISC
  • Solaris > Sun > SPARC
  • Linux > Redhat Linux, Ubuntu Linux ... > IA(Intel, AMD, Cyrix, RISE...)
  • BSD

Linux发展历史

  • 1991年, 芬兰大学Linus Torvalds,开源软件
  • 以企鹅作为标志

Linux内核版本

Linux主要发行版本

  • Redhat系列 redhat centos suse fedora mandriva...
  • Debian系列 debian ubuntu knoppix

1.2 开源软件简介

商业软件:收费,不开放源代码

开源软件:apache php python nginx samba ruby mysql mongoDB sphinx

  • 使用的自由:绝大多数免费
  • 研究的自由:可以获得软件源代码
  • 散步及改良的自由:可以自由传播,改良甚至销售

支撑互联网的开源技术 LAMP

  • Linux 操作系统 《细说Linux》
  • Apache Web服务器
  • MySQL 数据库
  • PHP 编程语言 《细说PHP》

1.3 Linux应用领域

基于Linux的企业服务器

  • www.netcraft.com 踩点扫描

  • QQ, taobao, microsoft 官网都是用的linux服务器

嵌入式应用

  • 手机、平板电脑 > 安卓
  • 其他嵌入式应用
    • 智能家电:机顶盒,游戏机,数码相机
    • 智能卡系统
    • 航空系统
    • 银行系统
    • 卡拉OK点歌系统
    • ...

Linux在电影娱乐业

  • CAD/CAM

1.4 Linux学习方法

  • 为什么选择命令行:应用性、稳定性 [图形界面更占用系统资源]
  • 解决问题的智慧:帮助文档、自己寻找答案、问问题描述清楚
  • 英文提示的困惑
  • 忘掉windows的思维方式
  • 计划、专注、坚持、练习

2.Linux系统安装

2.1 VMware虚拟机安装与使用

VMware 虚拟PC软件,模拟出一台新的PC

官方网站:www.vmware.com

主要特点

  • 不需要分区或重新开机就能在同一台PC上使用两种以上的操作系统
  • 本机系统可以与虚拟机系统网络通信
  • 可以设定并且随时修改虚拟机操作系统的硬件环境

VMware配置

  • CPU 1Ghz以上
  • 内存 1GB以上
  • 硬盘 8GB以上

安装VMware

  • 不要用太高版本,个人用7就可以了
  • 典型安装即可,最好别放C盘,不需要检测更新

新建虚拟机

  • 新建虚拟机 标准 创建一个虚拟空白硬盘 选择linux操作系统 选择CentOS 名称 磁盘空间20G(用多少占用多少)

硬件设置

  • 调整:内存不超过物理内存的一半(最小628M),处理器可以选多核,光驱可以选镜像文件,网卡设置比较复杂后面讲

使用技巧

  • 快照:可随时恢复到快照状态
  • 克隆:链接克隆占用资源更小

P6.over

2.2 系统分区

磁盘分区

  • 磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,碟片一旦划分成数个分区,不同类的目录与文件可以储存进不同的分区
  • 提高读取文件和目录的效率

分区类型

  • 主分区:最多4个
  • 扩展分区:最多1个,主分区加扩展分区最多4个,不能写入数据,不能格式化,只能包含逻辑分区
  • 逻辑分区:可以写入数据和格式化

image-20210315111445379

格式化(在柜子中打入隔断)

  • 又称逻辑格式化,他是根据用户选定的文件系统(FAT16 FAT32 NTFS EXT2 EXT3 EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间
  • 数据块 block,文件存入数据块可以是不连续的
  • 文件编号 inode
  • node列表

硬件设备文件名

硬件设备文件名
IDE硬盘/dev/hd[a-d]
SCSI/SATA/USB硬盘/dev/sd[a-p]
光驱/dev/cdrom, /dev/sr0
软盘/dev/fd[0-1]
打印机 25针/dev/lp[0-2]
打印机 USB/dev/usb/lp[0-15]
鼠标/dev/mouse

分区设备文件名(硬件设备文件名后面加数字)

  • /dev/hda1 IDE硬盘接口
  • /dev/sda1 SCSI硬盘接口,SATA硬盘接口 (SATA串口接口现在更多)
  • 1-4都会分配给主分区,并且任何情况下,逻辑分区永远从5开始

挂载

  • 盘符--挂载点
  • 必须分区:【/ 根分区】【swap分区 交换分区 内存2倍 不超过2GB】
  • 推荐分区:【/boot 启动分区 200MB】

文件系统结构

从目录结构看呈树形结构

/
-> /boot
-> /etc
  -> passwd
  -> shadow
  -> group
->/home

从硬盘结构来看,每个目录都可对应单独的硬盘空间

/boot => /dev/sda1
/home => /dev/sda2
/ => /dev/sda3

总结

  • 分区:把大硬盘分为小的逻辑分区
  • 格式化:写入文件系统,顺便清空
  • 分区设备文件名:给每个分区定义设备文件名
  • 挂载:给每个分区分配挂载点,必须是空目录

2.3 Linux系统安装

硬件调整

  • 内存:最小628MB
  • CD/DVD:使用ISO镜像 CentOS安装光盘
  • 其余硬件后续再调整

设置光盘启动(本例为CentOS6)

  • 开启电源,F2,进入BIOS(主板上的操作系统)
  • Boot > CD-ROM Drive 按+号上调置顶,修改为光驱启动
  • 注意安装完后要重新调整为硬盘启动
  • Exit > Exit Saving Changes 保存退出

欢迎界面

  • 有五个选项,安装选第一个就行 Install
  • 文字界面跑字 Ctrl+Alt+Enter 进入全屏
  • 进入设置页面 简体中文>美式英语键盘>基本存储设备>是,忽略所有设置>选择默认主机名>时区 亚洲上海>管理员密码

分区

  • 创建自定义布局,标准分区,创建
    • /boot ext4 200 => sda1
    • /home ext4 2000
    • 不适用 swap 1000
    • / ext4 使用全部可用空间(会自动变为扩展分区下的逻辑分区)
  • 格式化
  • 建议选择basic server,也可以自定义
  • 安装完成后,root登陆

密码原则

  • 复杂性:8为以上,大小写字母,数字,符号,不能是英文单词,不能和用户相关
  • 容易记忆:对你有含义的话
  • 时效性:定期更换,90-180d

软件包选择

  • Desktop
  • Minimal Desktop
  • Minimal
  • Basic Server 基本服务器
  • Database Server 数据库服务器
  • Web Server 网页服务器
  • Virtual Host 虚拟主机
  • software devlopment workstation 软件开发工作站

安装日志

  • /root/install.log 存储安装了在系统中的软件包及其版本信息
  • /root/install.log.syslog 存储了安装过程中留下的事件记录
  • /root/anaconda-ks.cfg 以kickstart配置文件的格式记录安装过程中设置的选项信息

2.4 远程登录管理工具

虚拟机网络配置:虚拟机设置 > 硬件 > 网络连接

  • 桥接:利用真实网卡上网,相当于一台真的电脑,占用一个同地址段下的IP,容易引起IP冲突
  • NAT:VMnet8虚拟网卡,只和本机通信,本机能上网,虚拟机也能上网
  • Host:VMnet1虚拟网卡,只能和本机通信,均无网络

设置linux的IP地址

# 修改为真实机同地址段IP
# 这里是临时生效
ifconfig eth0 192.168.118.2
  • 如果不能连接网络,注意网卡的选择
  • 回到windows ping一下,能ping通表明可以通信

远程连接工具

  • SecureCRT:快速连接 > hostname填入ip > 填入用户名 > accept and save > 输入密码
    • 中文乱码解决:session option > appearance > font > 中文字体 字符集 GB2312 > 确定 > character encoding > utf-8
    • ctrl+L清屏
  • Winscp文件拷贝工具

3.给初学者的建议

3.1 学习linux的注意事项

  • linux严格区分大小写,命令、选项、文件名等写错了会报错
  • linux内所有内容都以文件形式保存,包括硬件
    • 硬盘文件是/dev/sd[a-p]
    • 光盘文件是/dev/sr0等
  • linux不靠文件扩展名区分文件类型,少数特定类型文件会有扩展名
    • 压缩包 .gz .bz2 .tar.bz2 .tgz
    • 二进制软件包 .rpm
    • 网页文件 .html .php
    • 脚本文件 .sh
    • 配置文件 .conf
  • linux所有存储设备都必须挂载之后用户才能使用,包括硬盘、U盘、光盘
  • windows下的程序不能直接在linux中安装和运行

3.2 服务器管理和维护建议

linux各目录的作用

初学时可以自己操作的目录/root,/tmp

目录名目录作用
/bin/存放系统命令的目录,普通用户和超级用户都可以执行。不过放在/bin下的命令在单用户模式下也可以执行
/sbin/保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令可以允许普通用户查看
/usr/bin/存放系统命令的目录,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行
/usr/sbin/存放根文件系统不必要的系统管理命令,例如多数服务程序。只有超级用户可以使用。大家其实可以注意到Linux的系统,在所有“sbin”目录中保存的命令只有超级用户可以使用,“bin”目录中保存的命令所有用户都可以使用
/boot/系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
/dev/设备文件保存位置。我们已经说过Linux中所有内容以文件形式保存,包括硬件。那么这个目录就是用来保存所有硬件设备文件的
/etc/配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务的配置文件全部都保存在这个目录当中,如用户账户和密码,服务的启动脚本,常用服务的配置文件等
/home/普通用户的家目录。建立每个用户时,每个用户要有一个默认登录位置,这个位置就是这个用户的家目录,所有普通用户的家目录就是在/home下建立一个和用户名相同的目录。如用户user1的家目录就是/home/user1
/lib/系统调用的函数库保存位置
/lost+found/当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如/lost+found就是根分区的备份恢复目录,/boot/lost+found就是/boot分区的备份恢复目录
/media/挂载目录。系统建议是用来挂载媒体设备的,例如软盘和光盘
/mnt/挂载目录,早期Linux中只有这一个挂载目录,并没有细分。现在这个目录系统建议挂载额外设备,如U盘,移动硬盘和其他操作系统的分区
/misc/挂载目录。系统建议用来挂载NFS服务的共享目录。我们在刚刚已经解释了挂载,童鞋们应该知道只要是一个已经建立的空目录就可以作为挂载点。那么系统虽然准备了三个默认挂载目录/media、/mnt、/misc,但是到底在哪个目录中挂载什么设备都可以由管理员自己决定。例如超哥接触Linux的时候,默认挂载目录只有/mnt一个,所以养成了在/mnt下建立不同目录挂载不同设备的习惯。如/mnt/cdrom挂载光盘,/mnt/usb挂载U盘,这都是可以的
/opt/ (用的不多)第三方安装的软件保存位置。这个目录就是放置和安装其他软件的位置,我手工安装的源码包软件都可以安装到这个目录当中。不过我还是更加习惯把软件放置到**/usr/local/**目录当中,也就是说/usr/local/目录也可以用来安装软件
/proc/虚拟文件系统,该目录中的数据并不保存到硬盘当中,而是保存到内存当中。主要保存系统的内核,进程,外部设备状态和网络状态灯。如/proc/cpuinfo是保存CPU信息的,/proc/devices是保存设备驱动的列表的,/proc/filesystems是保存文件系统列表的,/proc/net/是保存网络协议信息的
/sys/虚拟文件系统。和/proc目录相似,都是保存在内存当中的,主要是保存于内核相关信息的
/root/超级用户的家目录。普通用户家目录在“/home”下,超级用于家目录直接在“/”下
/srv/服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/临时目录。系统存放临时文件的目录,该目录下所有用户都可以访问和写入。我们建议此目录中不能保存重要数据,最好每次开机都把该目录清空
/usr/系统软件资源目录。注意usr不是user的缩写,而是“Unix Softwre Resource”的缩写,所以不是存放用户数据,而是存放系统软件资源的目录。系统中安装的软件大多数保存在这里,所以除了/usr/bin/和/usr/sbin/这两个目录,我在介绍几个/usr/下的二级目录
/var/动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件

服务器注意事项

  • 远程服务器不允许关机,只能重启
  • 重启时应该关闭服务
  • 不要在服务器访问高峰运行高负载命令
  • 远程配置防火墙时不要把自己踢出服务器
  • 指定合理的密码规范并定期更新
  • 合理分配权限(越少越好,够用就好)
  • 定期备份重要数据和日志(不要把鸡蛋放在同一个篮子里)