软件包分类:
作用:对软件包实现快速安装、管理及维护
语法:rpm + 选项+ 包名
选项:
常见用法:
#首先安装一个httpd服务,用于测试rpm命令
[root@Test0 ~]# mount /dev/cdrom /mnt/cdrom/#查询已安装的包
[root@Test0 ~]# rpm -qa | grep httpd
httpd-tools-2.4.6-98.el7.centos.6.x86_64
httpd-2.4.6-98.el7.centos.6.x86_64#查询httpd安装的路径
[root@Test0 ~]# rpm -ql httpd
..........
/var/www/cgi-bin
/var/www/html#查询httpd的信息版本
[root@Test0 ~]# rpm -qi httpd
Name : httpd
Version : 2.4.6
Release : 98.el7.centos.
................#安装软件包-->注意这个命令是要准备这个vsftd的软件包的
[root@Test0 ~]# rpm -ivh vsftpd#升级软件包
[root@Test0 ~]# rpm -Uvh httpd#卸载软件包
[root@Test0 ~]# rpm -e httpd
作用:解压、打包、软件包
语法:tar + 选项 + tar包名 +源文件
选项:
常见用法:
#准备一个nginx.tar.gz的包
[root@Test0 ~]# ll nginx-1.16.1.tar.gz
-rw-r--r-- 1 root root 1032630 4月 17 2020 nginx-1.16.1.tar.gz#查看软件包的内容
[root@Test0 ~]# tar -tf nginx-1.16.1.tar.gz
..............
nginx-1.16.1/auto/cc/owc
nginx-1.16.1/auto/cc/sunc#创建打包-->并且指定路径
[root@Test0 ~]# tar -czvf /usr/local/src/init.tar.gz /tmp/*#查看是否成功
[root@Test0 ~]# ls /usr/local/src/
init.tar.gz#把文件追加到init.tar.gz
[root@Test0 ~]# tar -rvf init.tar.gz anaconda-ks.cfg #解压包
[root@Test0 ~]# tar -xvf init.tar.gz #解压包并且指定路径
[root@Test0 ~]# tar -xvf nginx-1.16.1.tar.gz -C /usr/local/
主流的压缩格式包括tar、rar、zip、war、gzip、bz2、iso
与tar相比:zip的压缩效率很高
作用:压缩和解压缩
语法:zip+选项+压缩文件名+源文件
选项:
示例演示:
#zip压缩所有内容-->这个压缩是保留源文件的
[root@Test0 ~]# zip -rv shuzi.zip 1.txt 2.txt 3.txt adding: 1.txt (in=0) (out=0) (stored 0%)adding: 2.txt (in=0) (out=0) (stored 0%)adding: 3.txt (in=0) (out=0) (stored 0%)
total bytes=0, compressed=0 -> 0% savings#压缩所有
[root@Test0 ~]# zip -rv lala.zip * -x 1.txt adding: 2.txt (in=0) (out=0) (stored 0%)adding: 3.txt (in=0) (out=0) (stored 0%)adding: 4.txt (in=0) (out=0) (stored 0%)adding: 5.txt (in=0) (out=0) (stored 0%)adding: anaconda-ks.cfg (in=11457) (out=717) (deflated 94%)adding: shuzi.zip (in=436) (out=436) (stored 0%)adding: sysconfigure.sh (in=1960) (out=1108) (deflated 43%)
total bytes=13853, compressed=2261 -> 84% savings#解压文件-->指定压缩后的目录
[root@Test0 ~]# unzip lala.zip -d /usr/local/src/
Archive: lala.zipextracting: /usr/local/src/2.txt extracting: /usr/local/src/3.txt extracting: /usr/local/src/4.txt extracting: /usr/local/src/5.txt inflating: /usr/local/src/anaconda-ks.cfg extracting: /usr/local/src/shuzi.zip inflating: /usr/local/src/sysconfigure.sh
源码安装三部曲:
使用make编译时,Linux操作系统必须有GCC编译器,用于编译源码。
源码安装nginx web服务讲解
#安装必要的依赖-->依赖是要看不同的服务器是需要不同的依赖的#安装nginx需要的依赖如下-->gcc、gcc-c++:用于源码编译环境-->zlib、zlib-devel-->必要依赖-->pcre、pcre-devel-->必要依赖-->openssl、openssl-devel-->加密作用
[root@Test0 ~]# yum -y install gcc gcc-c++ zlib zlib-devel pcre pcre-devel openssl openssl-devel#准备好nginx的源码包
[root@Test0 ~]# ls nginx-1.16.1.tar.gz
nginx-1.16.1.tar.gz#nginx的软件包是tar.gz包-->直接使用tar命令进行解压
[root@Test0 ~]# tar -xf nginx-1.16.1.tar.gz -C /usr/local/src/#第一步->去到源码包的解压目录-->注意这个一定要操作,不然没法预编译
[root@Test0 ~]# cd /usr/local/src/nginx-1.16.1/
[root@Test0 nginx-1.16.1]# #预编译-->检查依赖环境以及生成Makefile文件
[root@Test0 nginx-1.16.1]# ./configure --prefix=/usr/local/nginx#如果预编译出错了,需要删除makefile文件重新预编译#检查是否有错误可以直接使用echo $?-->输出结果为非0就是出错了
[root@Test0 nginx-1.16.1]# echo $?
0#着了可以查看一下Makefile文件的内容#这里看到很多表示-->以下是解释
[root@Test0 nginx-1.16.1]# cat Makefile
default: build #如果啥都不选就是默认make ibill
clean: #make clean-->删除原来的编译环境-->可以用于排错rm -rf Makefile objs
build: #make build-->就是执行编译安装$(MAKE) -f objs/Makefile
install:$(MAKE) -f objs/Makefile install #编译安装
modules:$(MAKE) -f objs/Makefile modules #指定外家的模块#下面的是升级教程
upgrade:/usr/local/nginx/sbin/nginx -t #先检测配置文件kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` #然后关闭pidsleep 1test -f /usr/local/nginx/logs/nginx.pid.oldbin #测试一下kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` #退出原来的进程#第二步:make 编译
[root@Test0 nginx-1.16.1]# make #第三步就是编译安装
[root@Test0 nginx-1.16.1]# make install #最后启动查看-->到这里安装完成
[root@Test0 nginx-1.16.1]# /usr/local/nginx/sbin/nginx -t
yum工作原理
yum命令讲解
#直接安装vsftpd
[root@Test0 ~]# yum -y install vs ftpd#查询组包
[root@Test0 ~]# yum grouplist | more#直接安装图形界面-->这里使用中文安装不成功
[root@Test0 ~]# yum -y install "GNOME 桌面"#卸载操作
[root@Test0 ~]# yum remove vsftpd#查询命令由哪个软件包组成
[root@Test0 ~]# yum provides rz