2019独角兽企业重金招聘Python工程师标准>>>
1 、安装软件包的三种方法
(1)、rpm工具
(2)、yum工具
(3)、源码包
YUM | RPM和源码安装的区别
YUM|RPM在线安装(二进制包);
GCC环境源码编译(源代码包);
YUM | RPM : 主要用户安装简单的软件,定制性错;
源码编译 :主要用于生产环境、定制性强;
2、 rpm包介绍
rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
3、 rpm工具用法
设置光驱并挂载,连接,使用mount /dev/cdrom挂载
cd切换到Packages目录下,命令:cd /mnt/Packages. 没有这个目录就创建一个。命令:mkdir /mnt/Packages. 使用rpm -ivh zsh-5.0.2-25.el7.*86_64.rpm安装,卸载时命令:rpm -e zsh。
rpm包格式,包名、版本号、发布版本号、平台
rpm -ivh rpm //包文件//安装
rpm -Uvh rpm // 包文件//安装
rpm -e //包名//卸载
rpm -qa //查询安装的包
rpm -q 包名 //查询指定包是否安装
rpm -qi 包名 //查询指定包信息
rpm -ql 包名 //查询指定包安装过的文件
rpm -qf 文件绝对路径 //查看一个文件是由哪个包安装的
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。 |
RPM包格式解析如下:
RPM包命名格式为: name-version.rpm name-version-noarch.rpm name-version-arch.src.rpm 如下软件包格式: epel-release-6-8.noarch.rpm perl-Pod-Plainer-1.03-1.el6.noarch.rpm yasm-1.2.0-4.el7.x86_64.rpm RPM包格式解析如下:
4表示是发布版本号,该RPM包是第几次编译生成的;
|
RPM工具命令详解如下:
RPM 选项 PACKAGE_NAME -a, --all 查询所有已安装软件包; -q,--query 表示询问用户,输出信息; -l, --list 打印软件包的列表; -f, --file FILE 查询包含 FILE 的软件包; -i, --info 显示软件包信息,包括名称,版本,描述; -v, --verbose 打印输出详细信息; -U, --upgrade 升级RPM软件包; -h,--hash 软件安装,可以打印安装进度条; --last 列出软件包时,以安装时间排序,最新的在上面; -e, --erase 卸载rpm软件包 --force 表示强制,强制安装或者卸载; --nodeps RPM包不依赖 -l, --list 列出软件包中的文件; --provides 列出软件包提供的特性; -R, --requires 列出软件包依赖的其他软件包; --scripts 列出软件包自定义的小程序。 |
软件的配置管理
1)Linux平台下软件分类,按照软件的内容分为二进制软件、源码包软件;
2)二进制包特点:软件的内容直接可以使用的,系统能够直接识别,直接运行,后缀以rpm、.zip结尾,或者基于rpm、yum工具去安装;
3)源代码包特点:软件的内容不能直接使用的,内容包括.c .h .cpp等,后缀以tar、zip、tar.gz、tar.bz2,需要通过GCC编译器编译,生成二进制文件,方可使用;安装的方式:./configure;make;make install;
4)RPM软件、YUM软件区别是什么?没有大的区别,都是用于管理以.rpm结尾的二进制包,RPM、YUM可以实现软件的安装、卸载、更新等管理;
5)RPM软件管理不能自己解决依赖软件包,而YUM可以自行解决各种依赖包,企业生产环境推荐使用YUM工具的,RPM安装的软件包,必须在本地存在(也可以使用http下载),YUM安装的软件包可以在线自动下载;
6)为嘛YUM可以自行下载软件,因为服务器可以上网,YUM内部工作机制问题,YUM是C/S模式,服务端、客户端;
7)YUM服务器端负责发布工作.rpm结尾软件包+依赖关系+基础数据库信息,服务器端一般通过HTTP、FTP协议进行发布;
8)YUM客户端,基于YUM命令,自动去查找YUM服务器端相关的软件+依赖关系,客户端使用YUM命令,首先会检查/etc/yum.repos.d是否有.repo结尾的文件,如果没有repo结尾的文件,则无法使用yum安装软件;
4、 yum工具用法
yum list //列出可用rpm包
ls /etc/yum.repos.d/ #查看yum的配置文件
yum search vim #搜索一个vim包
yum install [-y] #安装一个包,加上y就不再询问了。
yum grouplist # 列出来可用的组
yum groupinstall [-y] #安装一个组,加上y就不再询问了。
yum remove [-y] #卸载包,包括依赖的包
yum update [-y] #自动升级包的等级
yum provides "/*/vim" #搜索有关vim的包,前提系统里没有vim
实例:
cd切换到Packages目录下,使用yum install texlive(包 名),直接安装需要的包。
查看yum的配置文件。
搜索一个包名。
在yum list中搜索的有关vi m的信息,列出来。管道符|是把前面的内容输出到后面。
切换英语语言
搜索有关vim的包,前提系统里没有vim
5、 yum搭建本地仓库
挂载镜像到/mnt目录
cp -r /etc/yum.repos /etc/yum.repos.d.bak #复制到/etc/yum.repos.d.bak下
rm -f /etc/yum.repos.d/* #删除所有的/etc/yum.repos.d目录下的所有的repo文件。
vim /etc/yum.repos.d/dvd.repo 或者vi media.repo(没有就创建touch media.repo) //内容如下 #编辑/etc/yum.repos.d/dvd.repo 目录
【dvd】
name=install dvd
baseurl=file://mnt
enable=1
gpgcheck=0
mv * /tmp/
cd /tmp/cenmtos-Base.repo . #拷贝到本地
yum clean all #
yum list #
先复制,然后再删除。使用rm-rf ./*命令,删除repo的文件。
使用vi编辑
使用yumn clean all命令,使用yum list查看一下列表。yum list |less可以翻页看。
查看系统启动的源
- Linux软件分类,按照内容分类,2大类,分别是:二进制软件、源代码软件;
- 二进制软件,根据软件内容,包含二进制运行文件、可执行文件,可以直接使用,直接安装,一般情况,后缀以.rpm结尾、deb结尾、zip结尾;
- 源代码软件,根据软件内容,包含源码文件、没有可执行文件、.cc、.c、.h、.cpp结尾,不能直接使用,必须通过编译器编译生成二进制文件,一般情况,后缀有.zip、.tar.gz、.tar.bz2;
二进制软包,一般情况二进制软件可以直接解压使用,如果是CentOS操作系统,软件后缀为rpm,基于RPM工具去安装;
RPM 选项 PACKAGE_NAME
-a, --all 查询所有已安装软件包;
-q,--query 表示询问用户,输出信息;
-l, --list 打印软件包的列表;
-f, --file FILE 查询包含 FILE 的软件包;
-i, --info 显示软件包信息,包括名称,版本,描述;
源码包安装的方法:
./configure 预编译;
Make 编译;
Make install 安装;
二进制包安装的方法:
直接解压使用、解压安装;
rpm -ivh name
rpm -i names
yum install name
YUM软件管理工具,用于管理rpm结尾的二进制包,区别是rpm需要将软件下载到本地,不能自动解决依赖关系;而yum可以自动外网下载安装、可以自动解决依赖,企业生产环境推荐使用yum工具!
yum install name -y(软件名称)
yum remove name -y(软件名称)
- YUM是什么?是一款前端软件管理工具,适用于CentOS、Redhat、SUSE等,主要管理以rpm结尾的软件;
- YUM是用来安装软件的,YUM分为服务器端和客户端,YUM服务端、YUM客户端;
- 客户端只需要yum命令,就可以实现各种软件安装、卸载、升级等操作;
- YUM客户端是去YUM服务端获取的软件,YUM服务端HTTP、FTP发布的各种软件+软件依赖关系+信息数据库,服务端也可以称为YUM源端;
zsh-4.3.10-7.el6.x86_64.rpm软件包命令规范:
- zsh代表软件包的名称;
- 4表示主版本;
- 3表示次版本;
- 10表示末版本号;
- 7表示版本的发行次数,小版本号;
- El6 操作系统匹配型号;
- X86_64 用于操作系统的位数
常见问题:
zsh-5.0.2-25.el7.x86_64.rpm
[root@node1 ~]# rpm -ivh httpd-2.4.6-45.el7.centos.x86_64.rpm
error: Failed dependencies:
httpd-tools = 2.4.6-45.el7.centos is needed by httpd-2.4.6-45.el7.centos.x86_64
解决方法:先安装依赖的包,再次安装主程序包!
yum install -y httpd-tools = 2.4.6-45.el7
rpm -ivh –nodeps namexxxx
httpd-2.2.31.tar.bz2安装的步骤:
- 查看压缩包的属性、类型;file httpd-2.2.31.tar.bz2
- 解压tar包:tar -jxvf httpd-2.2.31.tar.bz2
- cd httpd-2.2.31
- ./configure 预编译,检查系统能否满足软件安装,需要GCC编译环境;
- Make 将源代码生成可以运行二进制文件、bin文件;
- Make install 将二进制文件、bin文件、目录cp、安装到系统中去;
libtool: install: error: cannot install `libaprutil-1.la' to a directory not ending in /usr/local/apache//lib
make[2]: *** [install] Error 1
make[2]: Leaving directory `/root/httpd-2.2.31/srclib/apr-util'
make[1]: *** [install-recursive] Error 1
解决方法:
yum install apr-util-devel apr-devel –y
rpm -ivh apr-util-devel apr-devel软件全名称;