第五课、软件包管理

第五课、软件包管理

linux下软件包管理大致两种:

  • 二进制 ( .rpm)
  • 源码包 ( .tar.gz)

源码安装前提板块: gcc gcc-c++

软件包的后缀名: tar.gz (标准压缩包格式)

[root@yzh ~]# rpm -ivh http://www.nginx.org.xx.rpm

yum & rpm —>可以直接网络安装


RPM软件包命名格式:

  • name-version.rpm 版本
  • name-version-noarch.rapm 匹配任何平台,无限制
  • name-version-arch.src.rpm 基于源码的rpm

例如:

epel-release-6.8.noarch.rpm


rpm -q

rpm -qa

rpm -ql

rpm -ql | grep httpd

rpm -q            httpd                       检查httpd包是否安装;

rpm -ql           httpd                       查看软件安装的路径;

rpm -qi           httpd                       查看软件安装的版本信息;

rpm -e            httpd                      卸载httpd软件;

rpm -e   --nodeps   httpd                         强制卸载httpd;

rpm -qa|grep       httpd                     检查httpd相关的软件包是否安装。

rpm -ivh            httpd-2.4.10-el7.x86_64.rpm      安装httpd软件包;

rpm -Uvh           httpd-2.4.10-el7.x86_64.rpm      升级httpd软件;

rpm -ivh   --nodeps  httpd-2.4.10-el7.x86_64.rpm  不依赖其他软件包;

tar软件包管理

常用的参数 c x v f j

标准压缩包 tar.gz

创建: c

解压: x

指定文件 f

显示过程 v

特殊结尾: bz2

-A, --catenate, --concatenate      将存档与已有的存档合并

-c, --create                    建立新的存档

-d, --diff, --compare           比较存档与当前文件的不同之处

--delete                       从存档中删除

-r, --append                   附加到存档结尾

-t, --list                       列出存档中文件的目录

-u, --update                   仅将较新的文件附加到存档中

-x, --extract, --get              解压文件

**-j, --bzip2, --bunzip2          有bz2属性的软件包;**

**-z, --gzip, --ungzip               有gz属性的软件包;**

-b, --block-size N             指定块大小为 Nx512 字节(缺省时 N=20)-B, --read-full-blocks            读取时重组块;

**-C, --directory DIR             指定新的目录;**

--checkpoint                   读取存档时显示目录名;

-f, --file [HOSTNAME:]F         指定存档或设备,后接文件名称;

--force-local                   强制使用本地存档,即使存在克隆;

-G, --incremental               建立老 GNU 格式的备份;

-g, --listed-incremental           建立新 GNU 格式的备份;

-h, --dereference               不转储动态链接,转储动态链接指向的文件;

-i, --ignore-zeros                忽略存档中的 0 字节块(通常意味着文件结束);

--ignore-failed-read              在不可读文件中作 0 标记后再退出;

-k, --keep-old-files              保存现有文件;从存档中展开时不进行覆盖;

-K, --starting-file F              从存档文件 F 开始;

-l, --one-file-system              在本地文件系统中创建存档;

-L, --tape-length N             在写入 N*1024 个字节后暂停,等待更换磁盘;

-m, --modification-time            当从一个档案中恢复文件时,不使用新的时间标签;

-M, --multi-volume             建立多卷存档,以便在几个磁盘中存放;

-O, --to-stdout                 将文件展开到标准输出;

-P, --absolute-paths              不要从文件名中去除 '/'-v, --verbose                   详细显示处理的文件;

--version                       显示tar 程序的版本号;

--exclude                  FILE不把指定文件包含在内;

-X, --exclude-from FILE        从指定文件中读入不想包含的文件的列表。

[root@yzh ~]# tar zcvf backup.tar.gz /root
压缩的格式

tar企业案例演示

tar     -cvf    thinkmo.tar.gz      thinkmo         打包thinkmo文件或者目录,打包后名称thinkmo.tar.gz;

tar     -tf      thinkmo.tar.gz                    查看thinkmo.tar.gz包中内容;

tar     -rf      thinkmo.tar.gz      thinkmo.txt         将thinkmo.txt文件追加到thinkmo.tar.gz中

tar     -xvf    thinkmo.tar.gz                 解压thinkmo.tar.gz程序包;

tar     -czvf   thinkmo.tar.gz      thinkmo         使用gzip格式打包并压缩thinkmo目录;

tar     -cjvf   thinkmo.tar.bz2     thinkmo         使用bzip2格式打包并压缩thinkmo目录;

tar     -czf     thinkmo.tar.gz * -X       list.txt      使用gzip格式打包并压当前目录所有文件,排除list.txt中记录的文件;

tar     -czf     thinkmo.tar.gz * --exclude=zabbix-3.2.4.tar.gz --exclude=nginx-1.12.0.tar.gz                   
使用gzip格式打包并压当前目录所有文件及目录,排除zabbix-3.2.4.tar.gz和nginx-1.12.0.tar.gz软件包。

zip软件包管理

  • zip
  • unzip 解压
1)     通过zip工具打包thinkmo文件夹中所有内容:

zip -rv thinkmo.zip /root/thinkmo/2)     通过zip工具打包thinkmo文件夹中所有内容,排
除部分文件:

**zip -rv thinkmo.zip   * -x linux1.txt

zip -rv thinkmo.zip   * -x linux2.txt -x linux3.txt**3)     通过zip工具删除thinkmo.zip中linux3.txt文件

zip thinkmo.zip -d linux3.txt

(4)     通过unzip工具解压thinkmo.zip文件夹中所有内容:

unzip thinkmo.zip

unzip thinkmo.zip   -d /data/backup/ 
可以-d指定解压后的目录

ll -h 显示大小为计算单位k m ……


源码包软件安装

源码安装3个步骤:

  • ./configure 预编译,主要检测兄台那个环境是否满足。生成 makefile文件

    指定路径  --preifx=/usr/local/nginx|apache|mysql
    

--user=

--group= 其他的就是功能参数

--with-http_ssl_module

  • make 编译,基于第一步生成的makefile文件,进行源代码编译

-j(2/4/8/16/32/64) --内核时 - 同时使用多少个内核进程编译,提升速度。(mysql用源码安装,没有20分钟装不完的。所以很重要)

  • make install
    安装

使用make编译时,LInux操作系统必须有GCC编译器,用于编译源码。


yum安装nginx案例

-c 指的是断点续传。

  • ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

执行完后发现 缺少PCRE library库文件

缺少 xx 就装 xx-devel

则:

  • yum install -y pcre-devel
  • ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

发现说缺少zlib library

  • yum install -y zlib-devel

再次执行预编译

  • ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
  • echo $? 返回上一次命令执行的结果。正确是0

再进行安装

  • **make -j2 && make install -j2 **
    用2核进行编译安装

这时候显示安装成功

服务安装成功,但是一个进程需要一个用户才可以。而且刚才预编译时指定了用户和用户组。所以创建用户:

  • useradd nginx -s /sbin/nologin

服务安装成功,但是如何启动?

安装路径上寻找

  • /usr/local/nginx/sbin/nginx

这样就能启动

  • netstat -lntup
    查看端口

  • systemctl stop firewalld
    关闭防火墙

访问网站ip即可


yum命令指南

YUM命令工具指南,YUM格式为:

YUM [command] [package] -y|-q 其中的[options]是可选。-y安装或者卸载出现YES时,自动确认yes;-q不显示安装的过程。

**yum install httpd                         安装httpd软件包;**

**yum search                              YUM搜索软件包;**

yum list    httpd                              显示指定程序包安装情况httpd;

**yum list                                  显示所有已安装及可安装的软件包;**

**yum remove   httpd                      删除程序包httpd;**

yum erase     httpd                         删除程序包httpd;

**yum update                            内核升级或者软件更新;**

yum update   httpd                       更新httpd软件;

yum check-update                           检查可更新的程序;

yum info     httpd                          显示安装包信息httpd;

yum provides                               列出软件包提供哪些文件;

**yum provides "*/rz"                        列出rz命令由哪个软件包提供;**

yum grouplist                                查询可以用groupinstall安装的组名称;

yum groupinstall "Chinese Support"            安装中文支持;

yum groupremove "Chinese Support"      删除程序组Chinese Support;

yum deplist httpd                          查看程序httpd依赖情况;

yum clean     packages                       清除缓存目录下的软件包;

yum clean     headers                        清除缓存目录下的headers;

yum clean     all                         清除缓存目录下的软件包及旧的headers。

yum  makecache    --- 提前将所有的已有yum源进行缓存以下

使用/usr/local/nginx/sbin/nginx 启动的话太麻烦

所以我们可以使用以下几种方式,进行启动

  1. 软链接

ln -s /usr/local/nginx/sbin/nginx /etc/init.d/

  1. alias别名

alias nginxstart=”/usr/loca/nginx/sbin/nginx”


yum remove httpd -y*
删除卸载


yum工作原理

yum运行需要两个部分,一yum源端,一yum客户端。yum文件以.repo结尾

如果裝圖形界面的話:

  • yum groupinstall -y “Server with GUI”
  • yum grouplist

yum三部走

yum clean all
yum makecache
yum repolist all


yum update -y 更新软件包或者linux内核升级


基于ISO镜像构建YUM本地源

原理:通过查找光盘中的软件包,实现YUM安装。

配置步骤:

  1. 将*.iso镜像加载到虚拟机CD/DVD或者放入服务器CD/DVD光驱中,并奖镜像文件挂载至服务器/mnt目录.
  • mount /dev/cdrom /mnt/
  1. 备份/etc/yum.repos.d/C*.repo 为CentOS.repo.bak,同时在/etc/yum.repos.d下创建media.repo文件,并写入内容:
[centos]
name=centos7
baseurl=file:///mnt
gpgcheck=1
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7
enabled=1

yum clean all
yum makecache
yum repolist all


yum光盘源只能本机使用,局域网其他服务器无法使用yum光盘源。

基于HTTP构建YUM网络源

  1. 挂载光盘镜像文件至/mnt

[root@yzh ~]# mount /dev/cdrom /mnt

  1. 拷贝/mnt/Packages目录下所有软件到/var/www/html/centos/

[root@yzh ~]# cp -R /mnt/Packages/ /var/www/html/centos/*

  1. 使用Createrepo创建本地源,执行如下命令会在centos目录生成repodata目录

createrepo centos/


  1. 在客户端上建立yum源

/var/www/html ⇒ 192.168.10.10

  1. 客户端测试下载
  • yum clean all && yum repolist all && yum makecache

补充:

如果要更新yum仓库则:

.rpm包添加到/var/www/html/centos*

createrepo /var/www/html/centos

即可


同步外网YUM源

reposync命令

  • yum provides “*/reposync”

將网络上的源自动拉过了

  • reposync -r base -p /var/www/html/centos/
  • reposync -r updates -p /var/www/html/centos/
  • createrepo /var/www/html/centos/
    刷新
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨优秀&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值