Linux安装篇
分区:交换分区一般是物理内存的2倍
1、两种分区表形式
- MBR分区表:最大支持2.1TB硬盘,最多四个分区。
- GPT分区表(全局唯一标示分区表):GPT支持9.4ZB硬盘(1ZB=1024PB,1PB=1024EB,1EB=1024TB)。理论上支持的分区数无限制,但Windows限制128个分区。
- 分区类型
主分区:最多只能有4个
扩展分区:
1)最多只能有一个
2)主分区加扩展分区最多4个
3)不能写入数据,只能包含逻辑分区
2、格式化(为了写入文件系统,并非为了清除数据
)
•格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。
3、分区设备文件名
/dev/hda1(IDE硬盘接口)
/dev/sda1(SCSI硬盘接口、SATA硬盘接口*主要使用)
1 2 3 4只能分配给主分区:/dev/sda2 /dev/sda3
eg:/dev/sdb5 是第二块SATA硬盘的第一个逻辑分区
4、挂载点
使用已经存在的空目录作为挂载点
一、学习Linux的注意事项
1.Linux严格区分大小写
2.Linux一切皆文件
3.Linux不靠扩展名区分文件类型
Windows是依赖扩展名区分文件类型的,Linux不是靠扩展名区分文件类型的,而是靠权限位标识来确定文件类型的,而且文件类型的种类也不像Windows下那么多,常见的文件类型只有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。Linux的可执行文件不过就是普通文件被赋予了可执行权限而已。
但Linux中的一些特殊文件还是要求写“扩展名”的,写这些扩展名是为了帮助管理员来区分不同的文件类型。
这样的文件扩展名主要有以下几种。
- 压缩包:Linux下常见的压缩文件名有
*.gz、*.bz2、*.zip、* . tar.gz、*.tar.bz2、*.tgz
等。 - 二进制软件包:CentOS中所使用的二进制安装包是RPM包,所有的RPM包都用“.rpm”扩展名结尾,目的同样是让管理员一目了然。
- 程序文件:Shell脚本一般用“
*.sh
”扩展名结尾,其他还有用“*.c”
扩展名结尾的C语言文件等。网页文件:网页文件一般使用*.html
或*.php
等结尾,不过这是网页服务器的要求,而不是Linux的要求。
4.Linux中所有的存储设备都必须在挂载之后才能使用
Linux中所有的存储设备都有自己的设备文件名,这些设备文件必须在挂载之后才能使用,包括硬盘、U盘和光盘。挂载其实就是给这些存储设备分配盘符,只不过Windows中的盘符用英文字母表示 ,而Linux中的盘符则是一个已经建立的空目录。我们把这些空目录叫作挂载点(可以理解为Windows的盘符),把设备文件(如/dev/sdb)和挂载点(已经建立的空目录)连接的过程叫作挂载。
5. Windows下的程序不能直接在Linux中使用
Linux和Windows是不同的操作系统,可以安装和使用的软件也是不同的,所以能够在Windows中安装的软件是不能在Linux中安装的。
好处: 能够感染Windows的病毒和木马都对Linux无效。
坏处: 所有的软件要想在Linux中安装,必须单独开发针对Linux的版本,或者依赖模拟器软件运行。
二、服务器管理建议
1.了解Linux目录结构
目录名 | 目录的作用 |
---|---|
/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行。是/usr/bin/目录的软链接 |
/sbin/ | 存放系统 命令的目录,只有超级用户才可以执行。是/usr/sbin/目录的软链接 |
/usr/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行 |
/usr/sbin/ | 存放系统 命令的目录,只有超级用户才可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/home/ | 普通用户的家目录。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的家目录,所有普通用户的宿主目录是在/home/下建立一个和用户名相同的目录。如用户user1的家目录就是/home/user1/ |
/lib/ | 系统调用的函数库保存位置。是/usr/lib/的软链接 |
/lib64/ | 64位函数库保存位置。是/usr/lib64/的软链接 |
/lost+found/ | 当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,如/lost+found就是根分区的备份恢复目录,/boot/lost+found就是/boot分区的备份恢复目录 |
/media/ | 挂载目录。系统建议是用来挂载媒体设备的,如软盘和光盘 |
/misc/ | 挂载目录。系统建议用来挂载NFS服务的共享目录, 系统虽然准备了三个默认挂载目录/media、/mnt、/misc,但是到底在哪个目录中挂载什么设备都可以由管理员自己决定。 |
/mnt/ | 挂载目录 |
/opt/ | 第三方安装的软件保存位置。 |
/proc/ | 虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。/proc/cpuinfo是保存CPU信息的,/proc/devices是保存设备驱动的列表的,/proc/filesystems是保存文件系统列表的,/proc/net是保存网络协议信息的. |
/sys/ | 虚拟文件系统。和/proc/目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息 |
/root/ | root的宿主目录。普通用户宿主目录在/home/下,root宿主目录直接在“/”下 |
/run/ | 系统运行时产生的数据,如ssid,pid等相关数据./var/run/是此目录的软链接 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。所以它不可以保存重要数据 |
/usr/ | 系统软件资源目录。统中安装的软件大多数保存在这里 |
/usr/lib/ | 应用程序调用的函数库保存位置 |
/usr/local/ | 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置 |
/usr/share/ | 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录 |
/usr/src/ | 源码包保存位置,手工下载的源码包和内核源码包都可以保存到这里。 |
/usr/src/kernels/ | 内核源码保存位置 |
/var/ | 动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件 |
/var/www/html/ | RPM包安装的Apache的网页主目录 |
/var/lib/ | 程序运行中需要调用或改变的数据保存位置。如MySQL的数据库保存在/var/lib/mysql/目录中 |
/var/run/ | 一些服务和程序运行后,它们的PID(进程ID)保存位置。是/run/目录的软链接 |
/var/spool/ | 放置队列数据的目录。就是排队等待其他程序使用的数据,比如邮件队列和打印队列 |
/var/spool/mail/ | 新收到的邮件队列保存位置。系统新收到的邮件会保存在此目录中 |
/var/spool/cron/ | 系统的定时任务队列保存位置。系统的计划任务会保存在这里 |
2.远程服务器关机及重启时的注意事项
远程服务器不能关机 ,因为远程服务器没有放置在本地,关机后,必须按下开机电源键才能启动服务器。虽然计算机技术日新月异,但是像插入电源和开机这样的工作还是需要手工进行的。如果服务器在远程,一旦关机,就只能求助托管机房的管理人员帮你开机了。
远程服务器重启时需要注意两点:
1.远程服务器在重启前,要中止正在执行的服务
计算机的硬盘最怕在高速存储时断电或重启,非常容易造成硬盘损坏。所以,在重启前先中止服务,甚至可以考虑暂时断开对外提供服务的网络。
2.重启命令的选用
Linux可以识别的重启命令有很多条,但是建议使用“shutdown -r now”命令重启。这条命令在重启时会正常保存和中止服务器中正在运行的程序,是安全重启命令。而且最好在重启前执行几次“sync”命令,这条命令是数据同步命令,可以让暂时保存在内存中的数据同步到硬盘上。
3.不要在服务器访问高峰运行高负载命令
在服务器访问高峰,如果使用一些对服务器压力较大的命令,则有可能会造成服务器响应缓慢甚至死机。
哪些命令是高负载命令?如复制大量的数据、压缩或者解压缩大文件、大范围的硬盘搜索等。
什么时间算作访问高峰期?一般认为17:00—24:00算作访问高峰期。当然,每台服务器具体提供的服务不同,访问高峰期有时也会有所出入。比如,服务器主要是供美国人民访问的,那就要考虑时差的问题;或者服务器提供的服务很特殊,访问高峰期可能也不同。
一般我们建议在凌晨4:00—5:00执行这些命令。这时我们可以使用系统的计划任务,让操作自动在指定的时间段执行。
4.远程配置防火墙时不要把自己踢出服务器
简单来讲,防火墙就是根据数据包自身的参数来判断是否允许数据包通过的网络设备。服务器要想在公网中安全地使用,就需要使用防火墙过滤有害的数据包。但是在配置防火墙时,如果管理员对防火墙不是很熟悉,则有可能把自己的正常访问数据包和有害数据包全部过滤掉,导致自己也无法正常登录服务器,如防火墙关闭了远程连接的SSH服务的端口。
防火墙配置完全是靠手工命令完成的,配置规则和配置命令相对也比较复杂,万一设置的时候心不在焉,悲剧就发生了。
如何避免这种尴尬的情况发生呢?最好的方法当然是在服务器本地配置防火墙,这样就算不小心把自己的远程登录给过滤了,还可以通过本机登录来进行恢复。如果服务器已经在远程登录了,要配置防火墙,那么最好在本地测试完善后再进行上传,这样会把发生故障的概率降到最低。虽然在本地测试好了,但是传到远程服务器上时仍有可能发生问题。
一个笨办法:如果需要远程配置防火墙,那么先写一个系统定时任务,让它每5分钟清空一下防火墙规则,就算写错了也还有反悔的机会,等测试没有问题了再删除这个系统定时任务
5.指定合理的密码规范并定期更新
密码三原则:
- 复杂性:
大于8位大写、小写、数字、符号最少包含三种
不允许使用和个人信息相关的内容
不允许使用现有的英文单词 - 易记忆性
- 时效性:理论上180天换一个
6.合理分配权限
服务器管理有一个最简单的原则:给予用户最小的权限。
7.定期备份重要数据和日志
备份的基本原则:不要把鸡蛋放在同一个篮子里