2018-8-9 直播课堂笔记+第八课预习内容

首先我们还是回顾了一下上次直播课的内容,vim的一些用法,分为三种模式(一般模式 编辑模式 命令模式)。这个vim工具非常有用,以后在配置各种服务和编写shell脚本的时候用得非常多。下面进入今天的直播课内容:压缩打包。

1.压缩

 我们使用压缩文件,不仅可以节省磁盘空间,而且在传输时还能节省网络宽带。

而在linux中我们常见的压缩格式有以下几种: .zip,.gz,.bz2,.xz,.tar.bz2,.tar.xz。

1.1 gzip压缩工具

1.1.1用法:gzip [参数] filename,gzip -d filename 这是解压文件。gzip只能压缩文件,不能压缩目录,并且解压文件时源文件消失。

其中这里有一个重要的参数 -c

gzip –c filename > /tmp/filename.gz指定压缩文件路径,并且源文件存在.

1.1.2我们可以用zcat 1.txt.gz 查看.gz文件内容,file /tmp/1.txt.gz 查看文件的属性。这里具体的例子可以查看我的预习笔记!

1.2  bzip2压缩工具

1.2.1 bzip2的用法:bzip2 [参数] filename ,这个命令如果没有安装可以“yum install -y bzip2” 安装一下。

        -d 解压文件: bzip2  -d 1.txt.bz2

1.2.2 这里也介绍一下 -c参数:bzip2 -c 1.txt > /root/1.txt.bz2 //指定压缩文件路径,并且源文件存在

1.2.3 一样的也可以用“bzcat 1.txt.bz2 //查看压缩文件“,可以用”file 1.txt.bz2 “查看文件属性。

1.2.4 bzip比gzip压缩更小,所耗费的CPU资源也最大(压缩的文件也是最小的),也不能压缩目录。

1.3 xz压缩工具

1.3.1 xz的用法:xz[参数]filename ,-d  解压文件:xz -d filename

1.3.2 还是-c参数:xz -c 1.txt > /root/1.txt.xz //指定压缩文件路径,并且源文件存在

1.3.3  可以用 xzcat 1.txt.xz //查看压缩文件内容,file 1.txt.xz查看文件属性!

1.3.4 xz压缩文件比bzip2更小,所耗费的CPU资源也最大(压缩的文件也是最小的),不能压缩目录。

1.4 zip压缩工具

1.4.1 zip的用法:zip[参数]filename, zip -r 123.zip 123/   //压缩目录

         如果没有这个工具可以用:yum install -y zip 安装一下。

1.4.2 zip指定解压目录:unzip 123.zip -d /root/456/ //解压文件,并指定解压到那个目录下,zip压缩文件后,源文件不消失

1.4.3 不能查看压缩文件的内容,只能查看内容列表 ,unzip -l 123.zip //查看压缩文件的内容列表

2. tar打包

2.1 这是一个非常重要的命令,以后也会用得非常多。tar本身是一个打包工具,可以把目录打包成一个文件,它把所有的文件整合成一个大文件,方便复制或者移动。

2.2 tar的用法:tar [-zjxcvfpP] filename.tar

 z表示同时使用gzip压缩 

-j表示同时用bzip压缩-

J表示同时用xz压缩

-c表示建立一个tar包或者压缩文件包

-x表示解包或者解压

-v表示可视化

-f后面跟文件名(-f filename,表示压缩后的文件名为filename)注意:如果多个参数组合的情况下,

-f要写在最后面。

-t表示查看tar包里的文件--exclude filename 表示在打包或压缩时,不要将某个文件不包含在里面。

2.3  tar打包或解包均会直接覆盖原文件和目录,不会提示覆盖信息

2.4 tar可以打包并压缩,tar 命令还可以在打包的同时支持gzip压缩,bzip压缩和xz压缩

  例: tar -zcvf 123.tar.gz 123 //使用tar打包并用gzip格式压缩

   tar -zxvf 123.tar.gz//解包

  tar -jcvf 123.bz2 123//使用tar打包并用bzip压缩

   tar -jxvf 123.bz2//解包

   tar -Jcvf 123.xz 123//使用tar打包并用xz压缩

   tar -Jxvf 123.xz//解包

    tar -tf 123.bz2 / tar -tf 123.gz / tar -tf 123.xz//查看tar包的内容

注意:打包后文件越小,耗时越长,占用cpu资源越多。

3. 扩展内容

 3.1 自动挂载文件/etc/fstab

第四列:parameters:文件系统的参数

Async/sync

设置是否为同步方式运行,默认为async

auto/noauto 

 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto

rw/ro        

 是否以以只读或者读写模式挂载

exec/noexec        

 限制此文件系统内是否能够进行"执行"的操作

user/nouser

是否允许用户使用mount命令挂载

suid/nosuid

是否允许SUID的存在

Usrquota

启动文件系统支持磁盘配额模式

Grpquota

启动文件系统对群组磁盘配额模式的支持

Defaults

同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

3.2 raid知识

3.2.1 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。

3.2.2 RAID0 没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

         RAID1磁盘的利用率最高只能达到50%(使用两块盘的情况下),是所有RAID级别中最低的。

         RAID0+1以理解为是RAID 0和RAID 1的折中方案。RAID 0+1可以为系统提供数据安全保障,但保障程度要比 Mirror低而磁盘空间利用率要比Mirror高。

       RAID 2将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均”的纠错码(汉明码)编码技术来提供错误检查及恢复。

       RAID3它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。

  RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为 奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。

  RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

7.1 安装软件包的三种方法
7.2 rpm包介绍
7.3 rpm工具用法
7.4 yum工具用法
7.5 yum搭建本地仓库
7.6 yum更换国内源
7.7 yum下载rpm包
7.8/7.9 源码包安装

1.安装软件包的三种方法

我们习惯了在windows下面直接点.exe就可以安装软件,而我们在linux中就不像windows中那么容易,下面我们来介绍常用的三种方法:

rpm工具
yum工具
源码包安装

2.rpm包介绍

2.1首先我们要知道什么是rpm(Red Hat Package Manager),它是以一种数据库记录的方式将我们所需要的套件安装到linux主机的一套管理程序。

2.2RPM包是预先在linux机器上编译并打包的文件,安装非常快捷。但它安装环境必须与编译时的环境一致或者相当,包与包之间存在着相互依赖情况,卸载包时需要先把依赖包卸载。如果依赖包是系统所必需的,就不能卸载这个包,否则系统会崩溃。

3.rpm工具用法

3.1 首先我们要设置光驱并挂载(如果是在虚拟机上就点亮这个图标)

3.2我们先把光驱挂载起来:

mount /dev/cdrom /mnt /光驱挂载到mnt目录下面

 现在我们就可以找到Packages,里面就有很多rpm包。

3.3rpm包格式:“zlib-1.2.7-17.el7.x86_64.rpm”,"zlib"是包名:“1.2.7”这个是版本号:“11.el7”是指发行版本:"x86_64"表示64位系统。

3.4rpm包的安装

3.4.1 rpm的安装我们用这个命令“rpm -ivh rpm包文件”,我们安装一个看一下

3.4.2有时候有一些rpm包需要升级我们可以用这个命令“rpm -Uvh rpm文件”,

这里提示我们已经安装好了zip-3.0.11.el7.x86_64这个包。

3.4.3我们也可以查询安装了哪些包有这个命令“rpm -qa”

3.4.4我们刚刚安装了一个包,可以查询指定的包是否安装,“rpm -q 包名”

3.4.5 再查询一下这个包的一些相关信息“rpm -qi 包名”

3.4.6 查出包安装的文件“rpm -ql 包名”

3.4.7 我们还可以通过一个文件是由哪个包安装的“rpm -qf 文件的绝对路径”

3.4.8既然可以安装就可以卸载“rpm -e 包名”

我们总结一下就是这样的步骤:

4.yum工具用法

4.1 yum工具其实要比rpm使用起来更方便,yum工具可以去互联网下载所需要的rpm包,然后自动安装。如果要安装rpm包有依赖关系,yum工具会帮我们依次安装所有相关的rpm包。

4.2先看一下我们的yum包“yum list”列出所有的rpm包

4.3 这里也可以搜索相关的rpm包“yum search [相关关键词]”

4.4安装相关的rpm包 “yum install -y 包名”如果不加“-y”则会以与用户交互的方式安装。

4.5我们还可以看一下这个命令“yum grouplist”系统中以组安装的包,由于我们是最小化安装的所以没有。

4.6 如果有相关的组件我们也可以用这个命令安装“yum grouplist intsll -y”

4.7 这里也可以升级相关的rpm包“yum update 包名”

4.8通过相关的命令查询相关的rpm包“yum provides /usr/bin/ls”

4.9这个同样可以卸载“yum remove 包名”

这里我们也总结一下:

5.yum搭建本地仓库

5.1 有时候我们的电脑不能联网,那我们就需要搭建一个本地的yum源。

5.2 首先我们先挂载光盘“mount /dev/cdrom /mnt”

5.3删除原先/etc/yum.repos.d目录下的文件

5.4创建新的.repo文件

5.5我们查看 一下是否配置成功“yum list”可以看到指向dvd

6.yum更换国内源

6.1有时候我们会发现之前配置的yum源有点慢,这时候我们可能就会想更找一下国内的yum源,直接在这个地方换成我们新的yum源地址就可以:

7.yum下载rpm包

7.1有时我们需要下载rpm包但不安装,我们可以使用yum工具完全可以做到只下载而不安装。

用法:

 
  1. yum istall 包名 -y --downloadonly --downloaddir=/usr/local/src

  2. 后面是指定下载到/usr/local/src目录下

7.2如果这个包已经安装过了“yum install --downloadonly”根本就不起作用,它会提示这个包已经安装过,根本就不能下载下来,那我们就可以用这个命令:yum reinstall -y bash --dwonloadonly

8源码包安装

8.1在linux中安装源码包是最常用的。源码包的编译用到了linux系统里的编译器。使用源码包除了中以自定义修改源代码外,还可以定制相关的功能,因为源码包在编译时可以附加额外的选项。

8.2安装源码包一般可以通过以下3个步骤:

./configure 这里会检测你的linux系统与相关的套件是否有编译该源码包时所需要的库,因为一旦缺少某个库,就不能完成编译。
make 会根据makefile文件中预设的参数进行编译,这一步其实是在gcc工作了
make install 这是安装步骤,用于创建相关软件的存放目录和配置文件。

8.3我们一般会把源码包放在/usr/local/src目录下:"wget https://mirrors.aliyun.com/apache/httpd/httpd-2.4.34.tar.gz"

8.4解压源码包:"tar xzvf httpd-2.4.34.tar.gz"

8.5配置相关的选项并生成makefile

8.5.1首先我们进入安装目录:

8.5.2 ../configure有很多参数:我们这里要用到--prefix

--prefix=/usr/local/apache
解释:prefix是你要安装的位置。
通常 ./configure  --prefix=/usr/lcoal/xxxx

我们可以通过这个命令难证是否成功:0为成功,其它数字表示不成功

 
  1. [root@localhost httpd-2.4.34]# echo $?

  2. 0

8.6进行编译:生成Makefile后,需要进行编译

 
  1. [root@localhost httpd-2.4.34]# ls -l Makefile

  2. -rw-r--r--. 1 root root 11359 Aug 10 05:14 Makefile

 
  1. [root@localhost httpd-2.4.34]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

  2. checking for chosen layout... Apache

  3. checking for working mkdir -p... yes

  4. checking for grep that handles long lines and -e... /usr/bin/grep

  5. checking for egrep... /usr/bin/grep -E

  6. checking build system type... x86_64-pc-linux-gnu

  7. checking host system type... x86_64-pc-linux-gnu

  8. checking target system type... x86_64-pc-linux-gnu

  9. configure:

  10. configure: Configuring Apache Portable Runtime library...

  11. configure:

  12. checking for APR... yes

  13. setting CC to "gcc"

  14. setting CPP to "gcc -E"

  15. setting CFLAGS to " -g -O2 -pthread"

  16. setting CPPFLAGS to " -D_REENTRANT -D_GNU_SOURCE"

  17. setting LDFLAGS to " "

  18. configure:

  19. configure: Configuring Apache Portable Runtime Utility library...

  20. configure:

  21. checking for APR-util... yes

  22. checking for gcc... gcc

  23. checking whether the C compiler works... yes

  24. checking for C compiler default output file name... a.out

 
  1. [root@localhost httpd-2.4.34]# echo $?

  2. 0

8.7安装

8.7.1安源源码包的命令为 make install

 
  1. [root@localhost httpd-2.4.34]# make install

  2. Making install in srclib

  3. make[1]: Entering directory `/usr/local/src/httpd-2.4.34/srclib'

  4. make[2]: Entering directory `/usr/local/src/httpd-2.4.34/srclib'

  5. make[2]: Leaving directory `/usr/local/src/httpd-2.4.34/srclib'

  6. make[1]: Leaving directory `/usr/local/src/httpd-2.4.34/srclib'

  7. Making install in os

  8. make[1]: Entering directory `/usr/local/src/httpd-2.4.34/os'

  9. Making install in unix

  10. make[2]: Entering directory `/usr/local/src/httpd-2.4.34/os/unix'

  11. make[3]: Entering directory `/usr/local/src/httpd-2.4.34/os/unix'

  12. make[3]: Leaving directory `/usr/local/src/httpd-2.4.34/os/unix'

  13. make[2]: Leaving directory `/usr/local/src/httpd-2.4.34/os/unix'

  14. make[2]: Entering directory `/usr/local/src/httpd-2.4.34/os'

  15. make[2]: Leaving directory `/usr/local/src/httpd-2.4.34/os'

  16. make[1]: Leaving directory `/usr/local/src/httpd-2.4.34/os'

  17. Making install in server

 
  1. [root@localhost httpd-2.4.34]# echo $?

  2. 0

8.7.2 我们可以看一下安装完后的目录:

 
  1. [root@localhost apache2.4]# ls

  2. bin build cgi-bin conf error htdocs icons include logs man manual modules

注:这里编译的时候出现在了一些错误缺少一些必要的aprapr-uitl可以看一些这篇去解决

https://www.cnblogs.com/yuzhaokai0523/p/4382974.html

猜你喜欢

转载自blog.csdn.net/a1779078902/article/details/81556722