转眼又到周六,一周的课程真是快哦!
首先我们还是来回顾一下上次课的内容,主要是回顾了一下RAID 的一些知识:
RAID 最主要的功能是:提高传输速率,通过数据校验提供容错功能。
RAID 0:把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集, RAID0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
RAID1:称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,RAID1磁盘的利用率最高只能达到50%(使用两块盘的情况下),是所有RAID级别中最低的。可以在一半数量的硬盘出现问题时系统都可以正常运行.
RAID 5:大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID0+1 :把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。
这几个可能是生产环境中用得比较多的RAID方式,所以有必要了解一下。
1.RPM包安装方式:
1.1二进制方式:RPM和YUM,还有一种是源码安装。
1.2rmp是由包名,版本号(主版本、次版本、修正版本)、发布版本号、平台
2.YUM工具
YUM搭建本地仓库
2.1 yum本地仓库,为了方便Linux系统不能联网,此时我们不能很方便的使用联网的yum源了,这时候就需要卧儿们自己在Linux系统下使用光盘制作yum源。
2.2 这里的步骤一般是这样的:
a .挂载镜像到/mnt目录 “mount /dev/cdrom /mnt/”
b. "cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak" //备份repo文件
c. "rm -rf /etc/yum.repos.d/*" 删除所有的.repo文件
d. 创建一个dvd.repo的文件1
[dvd] #仓库的名字
name=install dvd #描述
baseurl=file:///mnt #rpm在光驱的路径
enable=1 #是否可用
gpgcheck=0 #是否需要检测,不需要
e."yum clean all&&yum makecache"刷新repos生成缓存
2.3 yum包工具:使用yum自动安装依赖包,直接直接跟包名就行。
2.3.1 “ yum list |grep 'vim'”//还可以用grep来过滤,从而找到相应的RPM包
2.3.2“yum search vim ”//搜索一个相关关键字的包
2.3.3" yum remove -y 包名" //卸载RPM包
2.3.4 "yum autoremove -y 包名"//卸载RPM包及相依赖的包
2.3.5 “yum install -y 包名 --downloadonly” //只下载不安装
3.RPM包工具
3.1rpm包选项:
-i 表示安装
-U 表示升级一个包
-v 表示可视化
-h 表示显示安装进度
-e 卸载一个包
-q 查询一个包是否已经安装
-qi 查询指定包信息
-ql 列出一个包安装的文件
-qf 查询文件绝对路径.
这几个命令都非常重要,要掌握的。
4.yum更换国内源
4.1 "cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak "//首先备份好我们现在yum源
4.2“curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo”//下载好我们要更换好的yum源
4.3 "yum clean all&&yum makecache"刷新repos生成缓存
5.源码包安装
5.1 安装源码包通常需要以下3个步骤:1. ./configure。这一步可以定制功能,加上相应的选项即可; 具体有什么选项可以通过命令 ./configure --help查看。 这一步会自动检测你的Linux系统于相关的套件是否有编译该源码包时所需要的库, 因为一但缺少某个库,就能完成编译。2. make。使用这个命令,会进行预设参数编译。3. make install,用于安装,用于创建相关软件的存放目录和配置文件
5.2 源码包默认下载路径 /usr/loca/src 这个目录下
5.3 如果编译过程中缺少什么依赖包,直接根据提示去下载安装相关依赖包就可以。
6.搭建局域网yum源(扩展知识)
6.1 本地yum源的搭建一般有两种形式,http和ftp
6.2 首先创建一个目录等一下用于存放下载下来的rpm包:
[root@localhost /]# mkdir -r /data/yumdata
6.3 安装相关的命令需要的包
6.31 安装 createrepo
[root@localhost yumdata]# yum install -y createrepo
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.nju.edu.cn
* extras: mirrors.nju.edu.cn
* updates: mirrors.nju.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package createrepo.noarch 0:0.9.9-28.el7 will be installed
--> Processing Dependency: python-deltarpm for package: createrepo-0.9.9-28.el7.noarch
--> Processing Dependency: libxml2-python for package: createrepo-0.9.9-28.el7.noarch
--> Processing Dependency: deltarpm for package: createrepo-0.9.9-28.el7.noarch
--> Running transaction check
---> Package deltarpm.x86_64 0:3.6-3.el7 will be installed
---> Package libxml2-python.x86_64 0:2.9.1-6.el7_2.3 will be installed
---> Package python-deltarpm.x86_64 0:3.6-3.el7 will be installed
--> Finished Dependency Resolution
6.3.2 安装reposync
[root@localhost yumdata]# yum install yum-utils createrepo yum-plugin-priorities -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* extras: mirrors.cn99.com
* updates: mirrors.163.com
Package createrepo-0.9.9-28.el7.noarch already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package yum-plugin-priorities.noarch 0:1.1.31-46.el7_5 will be installed
---> Package yum-utils.noarch 0:1.1.31-46.el7_5 will be installed
--> Processing Dependency: python-kitchen for package: yum-utils-1.1.31-46.el7_5.noarch
--> Running transaction check
---> Package python-kitchen.noarch 0:1.1.1-5.el7 will be installed
--> Processing Dependency: python-chardet for package: python-kitchen-1.1.1-5.el7.noarch
--> Running transaction check
---> Package python-chardet.noarch 0:2.2.1-1.el7_1 will be installed
--> Finished Dependency Resolution
6.3.3 创建repository
[root@localhost yumdata]# createrepo /data/yumdata
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
6.3.4 用reposync 同步yum源,这里我们用清华大学的镜像源这里rpm包太多了就不一一同步了
[root@localhost repodata]# reposync https://mirrors.tuna.tsinghua.edu.cn/centos/7.5.1804/os/x86_64/Packages/ -p /data/yumdata
No Presto metadata available for base
(1/9886): ImageMagick-doc-6.7.8.9-15.el7_2.x86_64.rpm | 4.6 MB 00:00:01
(2/9886): LibRaw-0.14.8-5.el7.20120830git98d925.i686.rpm | 245 kB 00:00:00
(3/9886): LibRaw-devel-0.14.8-5.el7.20120830git98d925.i686.rpm | 108 kB 00:00:00
(4/9886): GeoIP-data-1.5.0-11.el7.noarch.rpm | 25 MB 00:00:01
(5/9886): LibRaw-0.14.8-5.el7.20120830git98d925.x86_64.rpm | 250 kB 00:00:00
(6/9886): LibRaw-devel-0.14.8-5.el7.20120830git98d925.x86_64.rpm | 108 kB 00:00:00
(7/9886): LibRaw-static-0.14.8-5.el7.20120830git98d925.x86_64.rpm | 200 kB 00:00:00
(8/9886): LibRaw-static-0.14.8-5.el7.20120830git98d925.i686.rpm | 194 kB 00:00:00
(9/9886): ModemManager-1.6.10-1.el7.i686.rpm | 750 kB 00:00:00
(10/9886): ModemManager-1.6.10-1.el7.x86_64.rpm | 735 kB 00:00:00
(11/9886): ModemManager-glib-1.6.10-1.el7.i686.rpm | 229 kB 00:00:00
(12/9886): ModemManager-devel-1.6.10-1.el7.i686.rpm | 238 kB 00:00:00
(13/9886): ModemManager-glib-1.6.10-1.el7.x86_64.rpm | 231 kB 00:00:00
6.3.5 我们可以看一下下载好的rpm包
[root@localhost yumdata]# ls
base repodata
[root@localhost yumdata]# cd base
[root@localhost base]# ls
Packages
[root@localhost base]# cd Pack
-bash: cd: Pack: No such file or directory
[root@localhost base]# cd Packages/
[root@localhost Packages]# ls
389-ds-base-1.3.7.5-18.el7.x86_64.rpm ImageMagick-perl-6.7.8.9-15.el7_2.x86_64.rpm
389-ds-base-devel-1.3.7.5-18.el7.x86_64.rpm LibRaw-0.14.8-5.el7.20120830git98d925.i686.rpm
389-ds-base-libs-1.3.7.5-18.el7.x86_64.rpm LibRaw-0.14.8-5.el7.20120830git98d925.x86_64.rpm
389-ds-base-snmp-1.3.7.5-18.el7.x86_64.rpm LibRaw-devel-0.14.8-5.el7.20120830git98d925.i686.rpm
Cython-0.19-5.el7.x86_64.rpm LibRaw-devel-0.14.8-5.el7.20120830git98d925.x86_64.rpm
ElectricFence-2.2.2-39.el7.i686.rpm LibRaw-static-0.14.8-5.el7.20120830git98d925.i686.rpm
6.3.6 在局域网中我们通http或者ftp搭建环境提供服务,这里就不搭建了!把创建的*.repo文件拷贝到/etc/yum.repos.d/文件夹下面!
6.3.7 如果http环境搭建完成,我们只需要在客户端这样配置
[仓库名]
name=server
baseurl=http://192.168.1.155 //自已搭建的http服务的ip地址
gpgcheck=0
enabled=1
"yum clean all&&yum makecache"刷新repos生成缓存
6.3.8 这里有个"etc/yum.cnf"配置文件需要了解一下
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0 //这里如果设置为1,那我们下载的rpm就会保存下来,位置就是上面的dir
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release