任务一 安装与配置初始CentOS系统
【任务说明】
所谓难者不会,会者不难,所有的技术,只要肯下功夫,都可以学会。Linux的运维学习,首先从系统安装学起。系统的安装也是一门技术,在安装过程中可以学习Linux系统的一些基本知识。本任务的最终目标是安装配置好CentOS6.5,搭建好学习的环境。
【任务实施】
第一步:选择启动方式
将光盘放入光驱,启动机器,选择第一项回车开始安装
在如图所示的CentOS安装启动界面中有5个选项,其含义分别是:
(1)安装或更新系统
(2)安装显示卡驱动
(3)系统修复
(4)从硬盘启动
(5)内存测试
第二步:跳过光盘检测
选择“Skip”,跳过光盘自检,进入Linux安装界面
第三步:选择安装语言
安装语言,选择“Chinese(Simplified)(中文(简体))”,点击NEXT
第四步:选择合适的键盘
键盘配置,选择“美国英语式”,点击下一步
第五步:选择安装的存储设备
选择安装使用的设备类型,如无特定的企业级设备,选择基本,下一步
第六步:存储设备警告信息处理
可能弹出警告窗口,一般选择“是”,初始化磁盘。
第七步:设置主机名
设置主机名,可以先不设置网络,点击下一步
第八步:设置时区信息
时区选择,选择“亚洲/上海”,点击下一步
第九步:设置root密码
设置根账号的密码,密码必须符合复杂性要求。即密码必须符合其最低要求,即不能包含用户的帐户名,不能包含用户姓名中超过2个连续字符的部分;至少有6个字符长;包括以下4类字符中的3类字符;英文大写字母(A~Z),英文小写字母(a~z),10个基本数字(0~9),非字母字符(#¥%!)。如果密码不满足最低要求,会弹出“脆弱密码”的提示框,可以再次更改或单击【无论如何都使用】按钮。
第十步:选择安装类型并默认分区
根据实际情况进行选择安装的类型,其中有5中方式可以选择,每一种后面都有详细的描述说明。
磁盘设置
第十一步:重置系统分区
第十二步:自定义系统分区
设置引导分区,可按默认值进行设置,例如200MB;
第十三步:设置交换分区
第十四步:设置根分区,可选择“使用全部可用空间(a)”,其他参数参照下图。
第十五步:完成设置后,点击下一步
第十六步:选择格式化
第十七步:将分区写入磁盘
第十八步:引导装载程序设置,点击下一步
第十九步:选择“现在自定义(C)”软件包组
第二十步:常用软件包组
常用软件包组如下:
基本系统:基本
应用程序:EMACS
开发:开发工具
服务器:系统管理工具、网络基础设施服务器
桌面:X窗口系统、图形管理工具、字体、桌面、通用桌面
系统管理:系统管理
语言支持:中文支持
选择完毕后,点击下一步
第二十一步:安装软件包
第二十二步:安装完成,取出光盘,重新引导。
第二十三步:启动后进入配置界面,选择“前进”进行配置
第二十四步:许可证信息,选择“是”
第二十五步:先不创建用户,选择“前进”进入下一步
第二十六步:校准日期和时间
第二十七步:点击确定,下一步设置不启用kdump
第二十八步:不启用kdump,点击完成
第二十九步:登陆账号进入系统
输入用户名及密码后单击【登入】按钮。登入根账户(root)时,会有弹出安全提示对话框,提示用户登录的是超级用户,需谨慎操作系统,如果不想每次都有该提示,可以选中【不要再提示此信息】即可。
登录系统后,就进入CentOS的图像界面,操作和平时的微软Windows差不多。可以单击鼠标进行操作。到此,CentOS系统已经成功安装到计算机中。
任务二 认识Linux的文件系统
【任务说明】
安装操作系统后,我们需要了解linux支持的文件系统类型和Linux的基本目录结构,对系统进行一些基本配置。本任务的主要目标是熟悉Linux操作系统的目录结构,路径规则,基本命令和文件类型等。
【任务实施】
【子任务一】 熟悉Linux系统中的目录结构
文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识。
本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录、挂载基本原理、文件存储结构、软链接硬链接、和常见目录的介绍。相信有了这些知识对于深入的学习linux会有一定的帮助。
第一步:了解Linux系统的目录结
Linux发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同。目录结构基本上都是一样的。Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如:C,D,E,F等。
Linux的文件结构是单个的树状结构.可以用tree命令进行展示(默认没有安装)。
每次安装系统的时候我们都会进行分区,Linux下磁盘分区和目录的关系如下:
① 任何一个分区都必须挂载到某个目录上。
② 目录是逻辑上的区分。分区是物理上的区分。
③ 磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。
④ 根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区。
以下是我们可能存在的一种目录和分区关系:
第二步:对比了解Linux系统的文件结构
有一块硬盘,分成了4个分区,分别是/,boot,/usr和Windows下的FAT,对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。
如果把Windows下的FAT分区挂载到/mnt/winc下(挂载将【子任务4】中介绍】,那么对于/mnt/winc和/usr或mnt/winc和/boot来说,它们是从属目录树上没有任何关系的两个分支。
因为Linux是一个多用户系统,所以要制订一个固定的目录规划,这样有助于对系统文件和不同的用户文件进行统一管理。但是就这一点让很多从Windows转到Linux的初学者感到头疼。
第三步:列出Linux下一些常用目录的功能
/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员的主目录(呵呵,特权阶级)
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
/usr/x11r6 存放x window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
【子任务二】了解Linux系统中的路径规则
使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推。
【子任务三】 掌握Linux系统中的基本命令
第一步:常用指令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
第二步:系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了,找男人 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
第三步:打包压缩相关命令
gzip:
bzip2:
tar: 打包压缩
-c 归档文件
-x 压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
例:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。
第四步:关机/重启机器
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启
第五步:Linux管道
将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
例:grep -r "close" /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。
第六步:Linux软件包管理
dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。
比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。
sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件
sudo dpkg -r tree 卸载软件
注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;
APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。
依然以tree为例
sudo apt-get install tree 安装tree
sudo apt-get remove tree 卸载tree
sudo apt-get update 更新软件
sudo apt-get upgrade
将.rpm文件转为.deb文件
.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。
sudo alien abc.rpm
第七步:vim使用
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
命令模式下:
:q 退出
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 在文档中查找apache 按n跳到下一个,shift+n上一个
yyp 复制光标所在行,并粘贴
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
第七步:用户及用户组管理
/etc/passwd 存储用户账号
/etc/group 存储组账号
/etc/shadow 存储用户账号的密码
/etc/gshadow 存储用户组账号的密码
useradd 用户名
userdel 用户名
adduser 用户名
groupadd 组名
groupdel 组名
passwd root 给root设置密码
su root
su - root
/etc/profile 系统环境变量
bash_profile 用户环境变量
.bashrc 用户环境变量
su user 切换用户,加载配置文件.bashrc
su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile
【子任务四】挂载外部文件到Linux系统中
第一步:挂载概念
在windows操作系统中,
挂载通常是指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符。
第三方软件,如磁盘分区管理软件、虚拟磁盘软件等,通常也附带挂载功能。
在linux操作系统中,
挂载是一个非常重要的功能,使用非常频繁。
它指将一个设备(通常是存储设备)挂接到一个已存在的目录上。
(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。)
需要理解的是,
linux操作系统将所有的设备都看作文件,
它将整个计算机的资源都整合成一个大的文件目录。
我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,
然后通过访问这个目录来访问存储设备。
第三步:挂载命令
挂载时使用mount命令:
格式:mount [-参数] [设备名称] [挂载点]
其中常用的参数有:
-t<文件系统类型> 指定设备的文件系统类型,
常见的有: minix linux最早使用的文件系统
ext2 linux目前常用的文件系统
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 网络文件系统
iso9660 CD-ROM光盘标准文件系统
ntfs windows NT 2000的文件系统
hpfs OS/2文件系统
auto 自动检测文件系统
-o<选项> 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。
常用的有 codepage=XXX 代码页 iocharset=XXX 字符集 ro 以只读方式挂载
rw 以读写方式挂载 nouser 使一般用户无法挂载 user 可以让一般用户挂载设备
第四步:使用挂载命令选项
-t 详细选项:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs(需内核支持)推荐cifs
UNIX(LINUX) 文件网络共享:nfs
-o 详细选项:
loop :用来把一个文件当成硬盘分区挂接上系统
ro :采用只读方式挂接设备
rw :采用读写方式挂接设备
iocharset :指定访问文件系统所用字符集,例如iocharset=utf8
remount :重新挂载
【子任务五】 掌握Linux系统中的自动挂载
登录服务器,给查看了下,发现确实是没有自动加载,df -h只能显示本地硬盘的分区,fdisk -l 还是能看到存储空间,这说明这个服务器连接存储是木有问题的。
输入history | grep mount,查看所有mount记录,最后一条为:mount /dev/emcpowerb1 /oracle/oradata。复制出来,粘贴到命令行,回车后就挂载上了。不过这个下次重启还是会有问题的,还是彻底解决吧。解决办法有俩:
1:把mount 的命令放到/etc/rc.d/rc.local 里面去,vi /etc/rc.d/rc.local ,然后把mount /dev/emcpowerb1 /oracle/oradata这个命令塞进去。保存退出就好了。
2:修改/etc/fstab文档
先vi /etc/fstab,
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
这个就是fstab的内容了,把要挂载的盘信息加到里面吧:
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
/dev/emcpowerb1 /oracle/oradata ext3 defaults 0 0
保存退出,等重启服务器就可以生效了。
在给系统新增了磁盘以后,如果重启系统我们会发现找不到存储了;但是使用fdisk -l可以看到存储空间,说明存储还在。这是因为关机后,挂载已经自动卸载掉了。我们当然可以手动再次将其挂载,但如果每次重启都需要这样手动操作会很不方便;因此我们可以利用自动挂载,这样系统每次开机的时候就可以自动将磁盘挂载上去了。