Linux操作系统-下篇课件(完整版)_第1页
Linux操作系统-下篇课件(完整版)_第2页
Linux操作系统-下篇课件(完整版)_第3页
Linux操作系统-下篇课件(完整版)_第4页
Linux操作系统-下篇课件(完整版)_第5页
已阅读5页,还剩504页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 项目1 软件包的安装与管理任务一 了解Linux中软件包的形式;任务二 熟悉Linux中软件包的安装教学学时教学内容2学时理论+2学时实践本课教学目标了解源码包和RPM包的主要特点;熟悉Linux中软件包的安装方式。本课教学重难点教学重点 rpm包的主要特点和命名规则;yum方法安装软件。教学难点 包依赖;yum方法安装软件。 要在Linux中安装软件,首先得明白软件的基本存在形式,就像在windows操作系统中,我们都知道安装软件是把软件下载下来,然后执行一个“*.exe”的执行文件。那么,在Linux操作系统中,软件到底是长啥样呢? 首先,告诉大家一个好消息,Linux中可以使用的软

2、件包依然众多,而且几乎都是免费的,且大多还是开源的,也就是说可以看到其源代码,只要你有足够的能力,你可以个性化地修改程序源代码。还有一个好消息,就是Linux不识别“.exe”格式的文件,所以说,可以攻击Windows系统的所有病毒文件,对Linux来讲都是无可奈何的,这一点大大提升了Linux系统的安全性。 言归正传,在Linux操作系统中,软件到底有哪几种形式存在呢?首先要强调的是不同的版本有不同的软件管理方法,本书只介绍Red Hat及与其完全兼容的CentOS版本的软件管理形式,主要有两种,一种是源码包,另一种是rpm包。问题引入任务一 了解Linux中软件包的形式 所谓源码包,就是软

3、件工程师使用特定的格式编写的文本代码,是一系列计算机语言指令,一般是以英文单词组成,比如最常见的是用C语言编写的程序。源码包的主要特点如下:主要优点 一是开源。即如果你有足够的能力,可以自由修改源代码。 二是可以自由选择所需的功能。 三是因为软件是编译安装的,所以更加适合自己的系统,更加稳健,效率也更高。 四是卸载方便,不会留下残留的垃圾文件。主要缺点 一是安装过程较为复杂,容易出错,只适合经验丰富的人,对于新手,一旦报错,几乎很难解决。 二是编译过程需要时间,所以安装起来耗时较长。一、源码包任务一 了解Linux中软件包的形式 rpm包就是源码包经过编译以后生成的二进制包。计算机只能识别机器

4、语言,即由0和1组成的二进制语言,把源码包翻译成二进制机器语言的过程就称为编译。目前,Linux中常见的两种包管理系统是RPM包管理系统和DPKG包管理系统,前者主要用于Red Hat、CentOS、Fedora和SuS等E版本,后者主要用于Debian和Ubuntu版本的Linux系统。主要优点 一是包管理系统简单。通过简单的命令就可以实现包的安装、升级、查询和卸载。 二是安装速度比源码包要快得多。主要缺点 一是相比源码包,经过了编译,不能再看到源代码。 二是安装时功能选择不如源码包灵活。 三是包依赖性。在后面的软件安装时会详细介绍什么是包依赖性以及它带来的不便。二、rpm包任务一 了解Li

5、nux中软件包的形式rpm包的命名规则 rpm包的命名通常会遵循统一的规则,例如:samba-3.5.10-125.el6.i686.rpm samba:软件包名。 3.5.10:软件版本。 125:软件发布的次数。 el6:软件发行商。el6是由Red Hat公司发布的,适合在RHEL 6.x(Red Hat Enterprise Linux)和CentOS 6.x上使用。 i686:最适合的硬件平台。也就是说奔腾以上的计算机都可以安装,目前几乎所有的CPU都能满足该要求。 rpm:RPM扩展名。二、rpm包任务一 了解Linux中软件包的形式rpm包的命名规则 需要注意的是,Linux下的

6、文件不是靠扩展名来区分文件类型的,也就是说扩展名在Linux中没有任何含义。这里加一个“.rpm”作为扩展名,主要是帮助管理者更好地识别这是一个RPM包,方便管理员管理。 通常,我们把samba-3.5.10-125.el6.i686.rpm叫作包全名,把samba叫作包名。这是两个不同的概念,大家一定要注意区别,因为有些命令后面要求跟包全名,如利用rpm方法安装软件时,而有些命令后面一定得跟包名,如查询和卸载,包括用yum方法安装软件时跟的也是包名。二、rpm包任务一 了解Linux中软件包的形式 我们已经了解了Linux操作系统中软件的主要存在形式,接下来来介绍安装方法。在Linux操作系

7、统中安装软件主要有三种方法,一是图形化方法,二是rpm方法,三是yum方法。下面逐一介绍这三种方法的特点。1.图形化方法 该方法首先要求Linux安装有图形界面,且并不是所有的服务都适合安装,所以该方法用得并不多。由于实际生产服务器中安装的都是命令行界面,本书安装的也是命令行界面,所以该方法这里不做演示,大家知道有这种方法即可。一、图形化方法任务二 熟悉Linux中软件包的安装2.rpm方法 采用rpm方法安装软件,首先你得把这个软件下载到Linux系统中。如果是安装光盘镜像文件中的rpm包,则需要先将光盘挂载,然后用绝对路径指明包全名所在的位置。如果是光盘中没有的rpm包,就得先将rpm包下

8、载到Linux系统中的某一个位置,安装时进入到该目录后执行安装命令,或者采用绝对路径再跟上包全名。采用rpm方法安装软件的命令格式为:rootMASTER # rpm -ivh 包全名选项: -i:安装(install) -v:显示详细的信息(verbose) -h:打印,显示安装进度(hash) 注意:一定是跟包全名,还要注意包全名所在的位置。二、rpm方法任务二 熟悉Linux中软件包的安装包依赖问题 采用rpm方法安装软件面临的最大麻烦就是包依赖问题,那么到底什么是包依赖呢?比方说你要安装软件包a,结果会提示你需要先安装好软件包b,当你安装软件包b的时候,又提示你要先安装好软件包c,也就

9、是说,你要想成功安装软件包a,你得先安装好软件包c,再安装好软件包b,最后才能安装软件包a,要根据依赖性从后往前安装。这个问题说起来好理解,但做起来就不容易了,有些软件包的安装要依赖几十上百个软件包,非常容易把人绕晕,所以,对于依赖性比较强的软件包,用rpm方法安装是不可取的,尤其是对于初学者。二、rpm方法任务二 熟悉Linux中软件包的安装3.yum方法 由于rpm方法安装软件要面临包依赖的问题,那有没有一种方法可以较好的解决这个问题呢。答案是有的,这就是即将要重点学习的yum方法。 yum(Yellow dog Upadater Modified)是一款软件包管理工具,默认情况下我们在安

10、装Linux系时是自动安装了这个软件的,查询如下:rootMASTER # rpm -q yumyum-3.2.29-30.el6.centos.noarch yum可以自动化升级、安装和移除rpm包、收集rpm包的相关信息、检查包依赖性并自动解决包依赖问题。也就是它能从光盘中或者从网络中自动下载需要的依赖包并完成安装,而且操作起来非常方便,可以说是安装软件最为便捷的方法,尤其是对于初学者。 但是利用yum方法安装软件得有一个先决条件,就是必须先准备好yum源。yum源分两种,一种是网络yum源,适用条件是Linux能连接公网的情况。另一种是使用光盘yum源,这种情况适用于Linux不能连接公

11、网时。下面分别介绍这两种情况下yum源的配置及安装软件的方法。三、yum方法任务二 熟悉Linux中软件包的安装Linux能够连接公网的情况 只要Linux能够ping通公网,则不需要进行任何的yum源配置,就可以直接使用网络上的yum源安装软件,yum方法安装软件的命令格式如下:rootMASTER # yum -y install 包名选项: Install: 安装 -y:自动回答yes。如果不加-y,则每个安装的软件都需要手工回答yes 下面详细解释一下为什么当Linux可以连接公网时,不需要任何yum源的配置就可安装服务呢?这是因为此时Linux自动使用了一个yum源配置文件CentO

12、S-Base.repo,该文件保存在/etc/yum.repos.d/目录中,我们进入到该目录查看一下:rootMASTER yum.repos.d# lsCentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo三、yum方法任务二 熟悉Linux中软件包的安装 我们可以看到该目录下默认有四个yum源配置文件,后缀都为“.repo”,第一个文件就是CentOS-Base.repo,默认是它生效的,这就是当Linux可以连接公网时,不需要任何yum源的配置就可直接利用yum方法安装软件的原因所在。下面我们

13、进入该配置文件看看,看里面到底有哪些内容,大致是什么含义。rootMASTER yum.repos.d# vi CentOS-Base.repobasename=CentOS-$releasever - Basemirrorlist=/?release=$releasever&arch=$basearch&repo=osbaseurl=/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6三、yum方法任务二 熟悉Linux中软件包的安装 我们发现,在CentOS-

14、Base.repo文件中共有5个yum源容器,这里只列出base容器,其他容器基本类似,该容器语句详解如下: base:容器名称,一定要放在 中。 name:容器说明,内容可以自由定义。 mirrorlist:镜像站点,这个可以注释掉。 baseurl:这就是我们用的yum源服务器的地址。默认是CentOS官方的yum源服务器,这个是可以改成自己喜欢的yum源地址的。 enabled:决定此容器是否生效,如果不写或写成enabled=1都代表此容器生效,如写成enabled=0代表此容器不生效。 gpgcheck:如果为1则表示RPM的数字证书生效;如果为0,则表示RPM的数字证书不生效。 g

15、pgkey:数字证书的公钥文件保存位置,不用修改。三、yum方法任务二 熟悉Linux中软件包的安装Linux不能够连接公网的情况 如果Linux主机不能连接公网,yum方法还能不能使用呢?答案是肯定的,yum早就考虑到这个问题,所以在系统镜像文件中几乎包含了所有的常用软件的rpm包。虽然此时不能再使用默认的网络yum源文件CentOS-Base.repo,却可以使用/etc/yum.repos.d/目录中的第三个yum源配置文件CentOS-Media.repo,该文件以本地光盘作为yum源服务器的模板文件。那么究竟如何做才能让该文件生效并且可以使用本地光盘yum源呢,方法如下: 第一步:挂

16、载光盘到指定位置。命令如下:rootMASTER # mkdir /mnt/cdrom#在/mnt/目录下创建目录cdrom,作为光盘的挂载点。rootMASTER # mount /dev/sr0 /mnt/cdrommount: block device /dev/sr0 is write-protected, mounting read-only#挂载光盘到/mnt/cdrom目录下,/dev/sr0为光盘设备的文件名。三、yum方法任务二 熟悉Linux中软件包的安装 第二步:修改其他不需要的yum源,只保留需要的CentOS-Media.repo源文件。有两种方法:一是直接把其他三个

17、删掉,但是这样做的坏处是下次如再需要使用网络yum源就没有了,因此该方法是不可取的。我们一般采用方法二:将其他暂时不需要的三个源文件加个后缀,进行重命名,这样做相当于既让其暂时失效了,又没有被彻底删掉。执行命令如下:rootMASTER # cd /etc/yum.repos.d/#进入到/etc/yum.repos.d/目录rootMASTER yum.repos.d# mv CentOS-Base.repo CentOS-Base.repo.bakrootMASTER yum.repos.d# mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.b

18、akrootMASTER yum.repos.d# mv CentOS-Vault.repo CentOS-Vault.repo.bakrootMASTER yum.repos.d# ls #再次查看CentOS-Base.repo.bak CentOS-Debuginfo.repo.bak CentOS-Media.repo CentOS-Vault.repo.bak 【其他三个repo源修改成功】三、yum方法任务二 熟悉Linux中软件包的安装 第三步:修改光盘yum源配置文件CentOS-Media.repo,最终修改成如下形式:rootMASTER yum.repos.d# vi C

19、entOS-Media.repo c6-medianame=CentOS-$releasever - Mediabaseurl=file:/mnt/cdrom/ #将地址修改成本地光盘挂载的地址# file:/media/cdrom/ #注释这个不存在的地址 # file:/media/cdrecorder/ #注释这个不存在的地址gpgcheck=1enabled=1 #把enabled从0改成1,让这个yum源配置文件生效gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6三、yum方法任务二 熟悉Linux中软件包的安装 经过这三步,就可以利

20、用本地光盘yum源安装软件了,安装命令和使用网络yum源安装软件一样。利用本地yum源安装软件和使用网络yum源安装软件的区别在于前者用的是光盘镜像文件中的rpm包,因而版本不一定是最新的,而使用网络yum源用的是当前网络上的rpm包,往往安装的版本比前者要新。三、yum方法任务二 熟悉Linux中软件包的安装 本课讲解Linux中的软件包存在的主要形式以及软件包的安装方法。首先介绍了源码包的概念及特点;然后介绍了rpm包的概念、特点及命名规则,最后详细介绍了Linux中软件包的安装方法。重点是要掌握yum源的配置方法,难点是理解包依赖这个概念。1. 项目1 软件包的安装与管理教学小结课后作业

21、 请完成超星学习通题库对应题目。讨论互动 问题1:你是怎么理解包依赖这个问题的? 问题2:你是怎样理解yum源配置这个问题的?作业及讨论1. 项目1 软件包的安装与管理2. 项目1 软件包的安装与管理任务三 掌握Linux中软件包的管理教学学时教学内容2学时理论+2学时实践本课教学目标掌握软件包的卸载命令;掌握软件包的升级命令;掌握软件包的查询命令。本课教学重难点教学重点 软件包的卸载和查询命令。教学难点 软件包的卸载、升级和查询命令。 软件既然能够安装,自然也能够卸载。 1.rpm包卸载 rpm包卸载命令格式如下:rootMASTER # rpm -e 包名选项: -e:卸载(erase)

22、需要注意的是:对于安装时有依赖性的软件,卸载时要按照安装的反方向进行,即后安装的先卸载,最先安装的最后卸载,否则会报错。当然,卸载命令是支持“-nodeps”选项的,可以不检测依赖性直接卸载。但是,不推荐这样使用,因为强行这样做可能导致其他软件包无法正常使用。一、软件包卸载任务三 掌握Linux中软件包的管理 2.yum卸载命令 yum方法卸载命令格式如下:rootMASTER # yum remove 包名#卸载指定的软件包rootMASTER # yum remove samba #举例:卸载samba软件包 再次强调,除非你确定要卸载的软件的依赖包不会对系统产生影响,否则不要执行yum卸

23、载,否则,轻则导致其他的软件无法正常使用,严重时将直接导致系统奔溃。一、软件包卸载任务三 掌握Linux中软件包的管理 所谓软件包的升级,就是用新的软件版本代替旧的软件版本。 1.rpm包升级rootMASTER # rpm -Uvh 包全名选项: -U(大写):升级安装。如果没有安装过,则系统会直接安装。如果安装过的版本较低,则升级到新版本(upgrade)。rootMASTER # rpm -Fvh 包全名选项: -F(大写):升级安装。如果没有安装过,则系统不会安装。也就是说执行该命令的前提是必须已经安装了一个低版本的软件才行(freshen)。二、软件包升级任务三 掌握Linux中软件

24、包的管理 2.yum升级命令rootMASTER # yum -y update 包名 #升级指定的软件包选项: update:升级 -y: 自动回答 注意:在进行升级操作时,首先得确保yum源服务器中的软件包的版本要比本机安装的软件包的版本高。rootMASTER # yum -y update #升级本机中所有的软件包 执行该命令会升级本机系统中所有的软件包,这在实际的生产服务器中是很少这样操作的,因为生产服务器最讲究的是稳定,并不是最新。二、软件包升级任务三 掌握Linux中软件包的管理 rpm包管理系统是非常强大和方便的包管理系统,相比于源码包,它最大的好处是可以使用命令查询、升级和卸

25、载。还有一点请大家注意,我们介绍rpm包管理命令的时候会同时介绍yum命令,这是因为yum方法操作的对象依然是rpm包,只是它能够自动解决包依赖性而已。三、软件包查询任务三 掌握Linux中软件包的管理 rpm包管理系统是非常强大和方便的包管理系统,相比于源码包,它最大的好处是可以使用命令查询、升级和卸载。还有一点请注意,我们介绍rpm包管理命令的时候会同时介绍yum命令,这是因为yum方法操作的对象依然是rpm包,只是它能够自动解决包依赖性而已。 1.rpm包查询查询软件包是否安装rootMASTER # rpm -q 包名 #查询某软件包是否安装选项: -q:查询(query)rootMA

26、STER # rpm -q samba #例如,查看一下samba包是否已安装samba-3.6.23-51.el6.i686 注意:查询命令跟的是包名,如果能查到结果,表示该软件已经安装,如果查询不到结果,代表该软件还没有被安装。三、软件包查询任务三 掌握Linux中软件包的管理查询软件包的详细信息 若要查询已安装的某个软件包的详细信息,命令及结果如下:rootMASTER # rpm -qi 包名选项: -i:查询软件信息(information)rootMASTER # rpm -qi samba #例如,查询samba包的安装信息:Name: samba Relocations: (n

27、ot relocatable)Version: 3.6.23 Vendor: CentOS#版本和厂商三、软件包查询任务三 掌握Linux中软件包的管理查询软件包中的文件列表 rpm包安装软件时系统会自动建立与其相关的文件,也就是说,一个软件安装完成后,与其相关的文件的名字和位置都会自动建立好。不同的Linux版本,软件安装的相关文件名和所在位置会有差异。查询命令格式如下:rootMASTER # rpm -ql 包名选项: -l:列出软件包中所有的文件列表和软件所安装的目录(list)rootMASTER # rpm -ql samba #例如,查看与samba服务相关的所有文件的安装位置/

28、etc/logrotate.d/samba/etc/openldap/schema三、软件包查询任务三 掌握Linux中软件包的管理查询文件系统属于哪个rpm包 通过上一个知识点的学习,我们已经知道使用命令“rpm -ql 包名”可以查到指定rpm包中文件的安装位置。反过来,若已知一个文件,能够查询出它来源于哪个包呢。答案是可以的,只是大家要注意,只有经过rpm包安装生成的文件才能查询,自己手动建立的文件是不能这样查询的。命令格式如下:rootMASTER # rpm -qf 系统文件名选项: -f:查询系统文件属于哪个软件包(file) rootMASTER # rpm -qf /bin/l

29、s #例如,查询ls命令来自哪个rpm包coreutils-8.4-19.el6.i686三、软件包查询任务三 掌握Linux中软件包的管理查询软件包所依赖的软件包 (1)查询一个已安装的软件包的依赖包,命令格式如下:rootMASTER # rpm -qR 包名选项: -R:查询软件包的依赖性(requires)rootMASTER # rpm -qR samba #例如,查询已安装的samba包的依赖性 (2)查询一个未安装的软件包的依赖包,命令格式如下:rootMASTER # rpm -qRp /mnt/cdrom/Packages/dhcp-4.1.1-31.P1.el6.i686.

30、rpm 注意:对于还没有安装的软件包,查询依赖性要加上“-p”选项即可,且一定要跟包全名,还要指明包全名的绝对路径。三、软件包查询任务三 掌握Linux中软件包的管理 2.yum命令查询 除了有rpm包的查询命令,yum照样有自己的查询命令,大家可以根据自己习惯灵活使用。查询yum源服务器上所有可安装的软件包列表 当前所用的是网络yum源,命令查询及结果如下:rootMASTER # yum list |less #查询当前网络yum源上所有可用的软件包列表Installed Packages #已经安装的软件包ConsoleKit.i686 0.4.1-3.el6 anaconda-Cent

31、OS-201207051201.i386/6.3.省略部分输出.Available Packages #还可以安装的软件包389-ds-base.i686 5-97.el6_10 updates.省略部分输出.三、软件包查询任务三 掌握Linux中软件包的管理查询yum源服务器中是否包含某个软件包rootMASTER # yum list 包名 #查询单个软件包 例如,要查询yum源服务器中是否包含dhcp软件包,可执行如下命令:rootMASTER # yum list dhcpLoaded plugins: fastestmirror, securityLoading mirror spe

32、eds from cached hostfile * base: * extras: * updates: Available Packagesdhcp.i686 12:4.1.1-63.P1.el6.centos 三、软件包查询任务三 掌握Linux中软件包的管理搜索yum源服务器上所有和关键字相关的软件包rootMASTER # yum search 关键字 #搜索yum源服务器上所有和关键字相关的软件包 例如,要搜索yum源服务器上所有和dhcp相关的软件包,可执行如下命令:rootMASTER # yum search dhcpLoaded plugins: fastestmirror

33、, securityLoading mirror speeds from cached hostfile * base: * extras: * updates: = N/S Matched: dhcp =dhcp-common.i686 : Common files used by ISC dhcp client and server 三、软件包查询任务三 掌握Linux中软件包的管理查询指定软件包的信息rootMASTER # yum info dhcp #查询dhcp软件包的信息Available Packages /还没有安装Name : dhcp /包名 Arch : i686 /适

34、合的硬件平台Epoch : 12 /发布次数Version : 4.1.1 /版本Release : 63.P1.el6.centos /发布版本Size : 826 k /大小Repo : updates /属网络yum源.省略部分内容.三、软件包查询任务三 掌握Linux中软件包的管理 本课讲解Linux中软件包的管理。主要学习了软件包的卸载、升级和查询命令。重点是要掌握yum卸载和rpm包查询命令,难点是要理解yum卸载和yum升级时要注意的问题。2. 项目1 软件包的安装与管理教学小结课后作业 请完成超星学习通题库对应题目。讨论互动 问题1:执行yum卸载和yum升级时应该注意什么?作

35、业及讨论2. 项目1 软件包的安装与管理3. 项目2 samba服务器的配置与管理任务一 安装与控制Samba服务教学学时教学内容2学时理论+2学时实践本课教学目标掌握samba服务的功能和工作原理;掌握samba服务的安装方法;掌握samba服务的开机自启动设置方法。本课教学重难点教学重点 samba服务的功能;samba服务的安装;samba服务的的开机自启动设置方法。教学难点 samba服务的开机自启动设置方法。 要学习Samba服务器配置,首先得明白Samba服务的主要功能、工作原理、工作端口、主要进程以及使用的协议等相关知识。1.Samba服务的主要功能 (1)用于Linux与Win

36、dows系统之间共享文件。它既可以用于Linux和Windows之间的文件共享,也可以实现Linux和Linux之间的文件共享,只是NFS服务可以很好的实现Linux和Linux之间的文件共享,所以一般认为Samba服务的主要功能是用于Linux与Windows系统之间的文件共享。 (2)解析NetBIOS名字。Samba通过NMB服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS名称解析成IP地址,实现主机之间的访问定位。 (3)Samba服务器可以作为网络中的WINS服务器,还可以实现Windows Server 2008中域控制

37、器的某些功能。一、Samba服务的功能和工作原理任务一 安装与控制Samba服务2. Samba服务的工作原理 Samba服务运行主要包括两个服务,一个是SMB,另一个是NMB。SMB是Samba的核心启动服务,进程名为smbd,主要负责Samba服务器和客户机之间的对话,完成身份验证并实现文件共享,监听TCP的139端口和445端口。NMB服务是一个类似于DNS的解析服务,进程名为nmbd,它主要负责将Linux系统共享的工作组名与其IP对应起来。对于NMB服务,就算不开启,也完全不影响Samba服务的文件共享功能,只是只能通过IP来访问共享资源,它监听的是UDP的137端口和138端口。S

38、amba服务的具体工程如下: 步骤一:客户端访问Samba服务器时,首先发送一个SMB negprot请求数据包,并列出它所支持的SMB协议版本。服务器接收到请求后开始响应请求,反馈希望使用的协议版本,如果没有可使用的协议版本,则返回oXFFFFH信息,结束通信。一、Samba服务的功能和工作原理任务一 安装与控制Samba服务2. Samba服务的工作原理 步骤二:当SMB版本确定后,客户端进程向服务器发送Session setup & X请求数据包,发起用户或共享认证。然后服务器返回一个Session setup & X应答数据包来允许或者拒绝本次连接。 步骤三:客户端和服务器端完成了协商

39、和认证后,客户端会发送一个Tree connect或SMB Tree connect&X数据包并列出它想访问的网络资源,然后服务器会返回一个SMB Tree connect&X应答数据包以表示接受或者拒绝本次连接。步骤四:如果连接建立,则客户端连接到相应资源,通过open SMB打开文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。一、Samba服务的功能和工作原理任务一 安装与控制Samba服务3. SMB协议介绍 SMB协议是Microsoft和Intel在1987年开发的,通过该协议使得客户端应用程序可以在各种网络环境下访问服务器端的文件

40、资源。SMB协议工作于会话层、表示层和一小部分应用层,并使用了NetBIOS的应用程序接口。另外,它是一个开放性的协议,允许协议扩展。SMB协议最初设计是在NetBIOS协议上运行的,而NetBIOS本身又是运行在TCP/IP协议上的。因此,通过“NetBIOS over TCP/IP”使用Samba服务,不但可以在局域网中实现资源共享,还可以和互联网上众多的计算机实现资源共享,因为互联网上的主机使用的都是TCP/IP协议。 为了让Linux与Windows系统之间能够相互访问,最好的办法就是在Linux中安装支持SMB协议的软件,而Samba就是这样一款软件。一、Samba服务的功能和工作原

41、理任务一 安装与控制Samba服务1.rpm方法安装 实际操作中,安装各种服务软件时基本上都是采用yum方法,这里只讲解采用rpm方法安装的基本步骤和命令格式。对于像Samba这样的常用软件,光盘镜像文件中是肯定有相关的安装包的,那么,这些rpm包到底放在光盘中哪个位置呢?rootMASTER # mkdir /mnt/cdrom #创建挂载点rootMASTER # mount /dev/sr0 /mnt/cdrom #挂载光盘rootMASTER # cd /mnt/cdr #进入光盘挂载目录omrootMASTER cdrom# lsCentOS_BuildTag GPL isolinu

42、x RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-6 RPM-GPG-KEY-CentOS-Security-6 TRANS.TBL EULA images Packages repodata RPM-GPG-KEY-CentOS-Debug-6 RPM-GPG-KEY-CentOS-Testing-6二、Samba服务的安装任务一 安装与控制Samba服务1.rpm方法安装(续) 这就是光盘中的所有文件,我们需要的各种软件的rpm包就存放在Packages目录中,继续进入Packages目录,查看一下与Samba相关的rpm包有哪些。rootMAST

43、ER cdrom# cd Packages/ #进入Packages目录rootMASTER Packages# ls |grep Samba #查看与samba服务相关的软件包Samba-3.5.10-125.el6.i686.rpmSamba4-libs-4.0.0-23.alpha11.el6.i686.rpmSamba-client-3.5.10-125.el6.i686.rpmSamba-common-3.5.10-125.el6.i686.rpmSamba-winbind-3.5.10-125.el6.i686.rpmSamba-winbind-clients-3.5.10-125

44、.el6.i686.rpmsblim-cmpi-Samba-1.0-1.el6.i686.rpm 二、Samba服务的安装任务一 安装与控制Samba服务1.rpm方法安装(续) 如果要用rpm方法安装Samba服务,就得逐个安装这些软件包,有些包可能还需要依赖其他这里没显示的包,还有,先安装哪个包再安装哪个包有时候也是有严格的顺序的。所以,凡是当一个软件需要安装好几个包,且还存在包依赖性时,要用rpm方法完成安装都是比较难的。但是对于初学者,没必要去纠结这个,因为Linux早就解决了这个问题,为我们提供了更好的yum解决方案。但是对于实际的生产服务器搭建,有些服务还是需要将rpm包一个一个下

45、载下来,再用rpm方法安装,为了增加服务器的访问性能,有些软件还必须用源码包安装,但当你真正从事这种工作的时候,肯定已经是个Linux高手,解决包依赖已经不在话下。对于初学者建议大家就用yum方法安装。 二、Samba服务的安装任务一 安装与控制Samba服务2.yum方法安装 利用本地光盘yum源安装 因为本书后面的所有服务都会使用yum方法来安装。为了体现本地光盘yum源和网络yum源的区别,这里先使用本地光盘yum源安装Samba服务,配置好yum源并挂载光盘后,执行安装命令如下:rootMASTER # yum -y install Samba#.省略部分内容.Installed: S

46、amba.i686 0:3.5.10-125.el6 Complete! 二、Samba服务的安装任务一 安装与控制Samba服务利用网络yum源安装 设置好yum源以后执行安装命令如下:rootMASTER # yum -y install Samba#.省略部分内容.Installed: Samba.i686 0:3.6.23-51.el6 .省略部分内容.Complete!二、Samba服务的安装任务一 安装与控制Samba服务结果对比 采用网络yum源安装的版本是3.6.23,而采用本地光盘yum源安装的版本是3.5.10,实验证明不管使用哪种yum源安装服务都是可以的,只是版本可能会

47、有差异。这对于我们学习用的实验服务器,这个版本区别是没必要考虑的,这个对比试验主要是为了告诉大家,不管你的Linux是否能够连接公网,都是可以正常安装常用的软件服务的,只是如果你的Windows主机不能连接外网的话,使用本地光盘yum源安装要多一个yum源配置而已。服务安装好以后,若要查询一下软件是否安装成功,可执行如下查看命令:rootMASTER yum.repos.d# rpm -q SambaSamba-3.6.23-51.el6.i686#结果表明samba服务已经安装成功二、Samba服务的安装任务一 安装与控制Samba服务 所谓对一个服务的控制主要就是查询服务的运行状态、启动服

48、务、停止服务、重启服务以及设置服务的开机自启动等一系列操作。这里先请大家注意一个问题,服务、软件名和进程名是三个不同的概念,名字可能完全不一样。以DNS服务器为例,其软件包名叫bind,称叫DNS服务,进程名又叫named。经常所说的启动一个服务在效果上就是启动其相应的进程,对于Samba服务来说,它包括两个服务smb和nmb,要分别进行启动,服务启动后运行的进程名字又叫smbd和nmbd。所以说,不同的服务这三者的命名没有规律可循,大家在学习后续的服务器配置时一定要特别注意该点。三、Samba服务的控制任务一 安装与控制Samba服务1.查询Samba服务的运行状态 首先请大家明确一个概念,

49、一个服务的安装与是否运行完全是两码事。前面我们已经完成了Samba服务的安装,但是却并未启动该服务,那么要想知道一个服务此时此刻是不是处于运行状态应该怎么查呢,命令如下:rootMASTER # service smb statussmbd 已停 从反馈的结果来看,当前Samba服务是没有启动的。所以说服务安装了并不代表也启动了。三、Samba服务的控制任务一 安装与控制Samba服务 service命令详解 因为samba服务是我们第一个要学习的服务,在此着重介绍一下服务的控制命令格式。对于Linux,凡是用rpm包安装的软件,服务的控制都是通过调用其对应的脚本来实现的,而服务的脚本默认都是

50、放在/etc/rc.d/init.d/目录下的,例如,服务的启动命令格式如下:rootMASTER # /etc/rc.d/init.d/服务脚本文件 start|restart|stop|status 比方说,要启动smb服务,严格来讲应该执行如下命令:rootMASTER # /etc/rc.d/init.d/smb start 那么,这里为什么能用“service”这个命令呢。“service”是“红帽”系列版本的专有命令,“service”实际上是一个脚本,本质上也是通过调用/etc/rc.d/init.d/中的启动脚本来启动服务的。所以请大家务必注意,因为本书用的是CentOS版本,

51、它与“红帽”系列是完全兼容的,所以本书中的所有控制命令都是用service来实现的,这在操作上要比使用脚本控制服务简洁很多,但是大家一定要明白这两种控制命令格式之间的区别和联系。三、Samba服务的控制任务一 安装与控制Samba服务2.启动Samba服务 如果要启动Samba服务,命令如下:rootMASTER # service smb start启动 SMB 服务: 确定rootMASTER # service nmb start启动 NMB 服务: 确定 注意:如果访问共享资源时用的是IP地址,则不开启nmb服务对于文件共享是没有任何影响的。rootMASTER # service s

52、mb status #再次查询smbd (pid 1814) 正在运行.rootMASTER # service nmb statusnmbd (pid 1829) 正在运行. 三、Samba服务的控制任务一 安装与控制Samba服务端口与服务启动的关系 我们在前面讲Samba服务工作原理的时候,还讲到了端口的概念,smb服务工作于TCP的139和445端口,nmb服务工作于UDP的137和138端口。端口对于初学者来讲也是一个比较难理解的知识点。简单来理解,计算机要运行很多个服务,那怎样区分这些服务并让其有序工作呢?在计算机中,每一个服务都是对应一个或几个端口的,如www服务对应的端口是80

53、,FTP服务对应的端口是21,SSH服务对应的端口是22,Mail服务对应的端口是25,DNS服务对应的端口是53等等。当外界有一个服务请求进来时,到底是由哪项服务来应付呢。我们可以这么认为,常见的服务都是有其固定的工作端口的,一项服务一旦开启后,其对应的工作端口就处于监听状态,当有对应的连接请求时,该项服务就会开门工作。那么,现在Samba服务已经处于工作状态了,那怎么证明其对应的工作端口是否已处于监听状态了呢。这里就要用到学习网络配置与管理项目时讲到的一个重要命令“netstat -utln”,为了体现对比性,我们先在Samba服务未的时候执行该命令,结果如下: 三、Samba服务的控制任

54、务一 安装与控制Samba服务rootMASTER # service smb statussmbd 已停rootMASTER # service nmb statusnmbd 已停rootMASTER # netstat -utlnActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 :51141 :* LISTEN tcp 0 0 :111 :* LISTEN .省略部分内容. 结果中没有看到137、138、139和445端口的开启记

55、录。 三、Samba服务的控制任务一 安装与控制Samba服务 下面我们开启smb和nmb服务,再次执行查看命令,结果如下:rootMASTER # netstat -utlntcp 0 0 :139 :* LISTEN tcp 0 0 :445 :* LISTEN udp 0 0 55:137 :* udp 0 0 12:137 :* udp 0 0 :137 :* udp 0 0 55:138 :* udp 0 0 12:138 :* udp 0 0 :138 :* 结果中体现了137、138、139和445端口的开启记录。 三、Samba服务的控制任务一 安装与控制Samba服务 通过对

56、比可以看出,在Samba服务开启前后,通过查看其端口的工作状态就可以体现该服务是否处于运行状态,后面要学习的服务也都强调了端口号,大家都要从这个角度去查看去验证服务是否已真正启动,以加深对服务与端口的理解。因为很多时候,启动命令执行了并不代表服务真的启动了,只有查看到其对应的工作端口处于监听状态了,才能真正说明该服务已处于工作状态。 三、Samba服务的控制任务一 安装与控制Samba服务3.停止Samba服务rootMASTER # service smb stop关闭 SMB 服务: 确定rootMASTER # service nmb stop关闭 NMB 服务: 确定 三、Samba服

57、务的控制任务一 安装与控制Samba服务4.重启Samba服务rootMASTER # service smb restart关闭 SMB 服务: 确定启动 SMB 服务: 确定rootMASTER # service nmb restart关闭 NMB 服务: 确定启动 NMB 服务: 确定 确定 三、Samba服务的控制任务一 安装与控制Samba服务5.设置Samba服务的开机自启动 这里先理解“开机自启动”这个概念,我们已经明白了一个服务的安装与是否启动完全是两码事,那么要启动一个服务就得执行相应的操作命令。只是设置服务启动分两种方式,一种是每次开机后,有需要时再自行启动;另一种方式是

58、设置成开机自启动,即只要服器一开机或者重启该服务就会自动启动,这在实际的生产服务器上是必须要设置好的,不可能说服务器一重启所有的服务都得手动去打开吧,所以设置服务开机自启动也是一个重点知识。设置服务自启动的方法主要有三种,下面以设置samba服务开机自启动详细介绍这三种方法: 三、Samba服务的控制任务一 安装与控制Samba服务 方法一:使用chkconfig自启动管理命令,命令格式如下: (1)查看所有服务的开机自启动设置状态rootMASTER # chkconfig -list 这个命令能够查看所有服务的开机自启动设置状态,即能够看到每一项服务是否设置了开机自启动。如果要具体查看哪一

59、个指定的服务,可以使用管道符过滤,例如,要查看Samba服务的开机自启动设置状态,可执行如下命令:rootMASTER # chkconfig -list |grep smbsmb 0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭 从查询结果可以看出,smb服务没有设置开机自启动。其中0到6属于Linux的七个运行级别,如果都显示“关闭”,代表该服务没有设置开机启动,如果在某个运行级别上显示“启用”,则代表从这个级别启动系统时,该服务会自动开启。 三、Samba服务的控制任务一 安装与控制Samba服务 (2)设置服务开机自启动 怎样设置一个服务开机自启动呢,命令格式如下:rootMA

60、STER # chkconfig -level 运行级别 服务名 on/off选项: -level:设置在哪些运行级别中设置开机自启动(on),或者关闭开机自启动(off) 例如,要设置Samba服务在2、3、4、5四个运行级别中开机自启动,可执行如下命令:rootMASTER # chkconfig -level 2345 smb onrootMASTER # chkconfig -list |grep smbsmb 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 这里请大家注意一个问题,设置了开机自启动不代表该服务就立即启动了,它只代表下次系统重启时会自动启动。 三、Samba服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论