课程内容:
- 安装软件包的三种方法
- rpm包介绍
- rpm工具用法
- yum工具用法
- yum搭建本地仓库
- yum更换国内源
- yum下载rpm包
- 源码包安装
安装软件包的三种方法
- rpm工具
- yum工具
- 源码包
rpm工具使用
概念:RMP包的名称都是由-和.分成了若干部分。
设置光驱并挂载

挂载光驱
挂载光盘
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载 #因为光驱是只读的,不可以写东西
查看rpm包都在哪
[root@localhost Packages]# ls #进入到/mnt/Packages目录里,ls出来的都是rpm包
rmp是由包名,版本号(主版本、次版本、修正版本)、发布版本号、平台
rpm包工具用法
rpm包选项: -i 表示安装 -U 表示升级一个包 -v 表示可视化 -h 表示显示安装进度 -e 卸载一个包 -q 查询一个包是否已经安装 -qi 查询指定包信息 -ql 列出一个包安装的文件 -qf 查询文件绝对路径 //查看一个嗯我呢见是由哪个包安装的 rpm -qf `which cd` 查看这命令的路径包在哪 另在,在安装RPM包时,常用的附带参数还包括如下几项。 --force 表示强制安装,即使覆盖属于其他包的文件也要安装。 --nodeps 表示当要安装的RPM包依赖于其他包时,即使其他包没有安装,也要安装这个包
安装rpm包文件 -ivh
[root@localhost Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
升级rpm包文件 -Uvh
[root@localhost Packages]# rpm -Uvh zsh-5.0.2-28.el7.x86_64.rpm
准备中... ################################# [100%]
软件包 zsh-5.0.2-28.el7.x86_64 已经安装
安装最新版本
卸载rpm包 -e
[root@localhost Packages]# rpm -e zsh
查询指定包是否安装 -q
[[email protected] Packages]# rpm -q ppp
未安装软件包 ppp
查询指定包信息 -qi
[[email protected] Packages]# rpm -qi vim-enhanced
Name : vim-enhanced
Epoch : 2
Version : 7.4.160
Release : 2.el7
Architecture: x86_64
Install Date: 2018年04月12日 星期四 22时07分45秒
Group : Applications/Editors
Size : 2292098
License : Vim
Signature : RSA/SHA256, 2017年08月11日 星期五 04时15分38秒, Key ID 24c6a8a7f4a80eb5
Source RPM : vim-7.4.160-2.el7.src.rpm
Build Date : 2017年08月02日 星期三 08时46分12秒
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>;
Vendor : CentOS
URL : http://www.vim.org/
Summary : A version of the VIM editor which includes recent enhancements
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor. Vi was the first real screen-based editor for UNIX, and is
still very popular. VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more. The
vim-enhanced package contains a version of VIM with extra, recently
introduced features like Python and Perl interpreters.
Install the vim-enhanced package if you'd like to use a version of the
VIM editor which includes recently added enhancements like
interpreters for the Python and Perl scripting languages. You'll also
need to install the vim-common package.
列出一个RMP包的安装文件的命令rpm -ql 包名
[[email protected] Packages]# rpm -ql vim-enhanced
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor
查看一个命令,是由谁安装的
[[email protected] Packages]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-2.el7.x86_64
查一个命令的包是由谁安装的,如不知道绝对路径的
[[email protected] Packages]# rpm -qf which cd # which cd两边有俩个反引号`
bash-4.2.46-28.el7.x86_64
yum工具
使用yum自动安装依赖包,直接直接跟包名就行
[[email protected] Packages]# yum install -y texlive
yum list可以列出所有的RPM包的资源
[[email protected] Packages]# yum list |head -n 20
搜索一个相关关键字的包 yum search vim
[[email protected] Packages]# yum search vim
除此之外,还可以用grep来过滤,从而找到相应的RPM包
[[email protected] Packages]# yum list |grep 'vim'
vim-common.x86_64 2:7.4.160-2.el7 @base
vim-enhanced.x86_64 2:7.4.160-2.el7 @base
vim-filesystem.x86_64 2:7.4.160-2.el7 @base
vim-minimal.x86_64 2:7.4.160-2.el7 @anaconda
protobuf-vim.x86_64 2.5.0-8.el7 base
vim-X11.x86_64 2:7.4.160-2.el7 base
卸载RPM包及相连的包 yum remove -y 包名
[[email protected] Packages]# yum remove -y protobuf-vim
已加载插件:fastestmirror
参数 protobuf-vim 没有匹配
不删除任何软件包
yum搭建本地仓库
yum本地仓库,为了方便Linux系统不能联网,此时我们不能很方便的使用联网的yum源了,这时候就需要卧儿们自己在Linux系统下使用光盘制作yum源。
挂载镜像到/mnt目录
[[email protected] /]# mount /dev/cdrom /mnt/
备份一个文件 方便恢复。
[[email protected] ~]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak
删除所有的.repo文件
[[email protected] ~]# cd /etc/yum.repos.d #进入到yum.repos.d目录
[[email protected] yum.repos.d]# ls #查看
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo CentOS-fasttrack.repo
CentOS-CR.repo CentOS-Media.repo CentOS-Vault.repo
[[email protected] yum.repos.d]# rm -rf ./* #删除所有的文件
创建一个dvd.repo的文件,并且添加以下内容
[[email protected] yum.repos.d]# vi dvd.repo
[dvd] #仓库的名字
name=install dvd #描述
baseurl=file:///mnt #rpm在光驱的路径
enable=1 #是否可用
gpgcheck=0 #是否需要检测,不需要
~
刷新repos生成缓存
[[email protected] yum.repos.d]# yum clean all
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Cleaning repos: dvd
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
yum更换国内源
首先先恢复昨天的实验,把yum备份恢复回来
[[email protected] ~]# cd /etc/yum.repos.d #进入到目录
[[email protected] yum.repos.d]# ls #查看当前文件
dvd.repo
[[email protected] yum.repos.d]# rm -f dvd.repo #rm 删除 dvd.repo文件
[[email protected] yum.repos.d]# cp /etc/yum.repos.d.bak/* /etc/yum.repos.d
#cp拷贝的文件下所有的配置文件,到本目录下。
更换yum源,把源码包删除掉
[[email protected] yum.repos.d]# ls #查看文件的第一个包是源码包里最核心的一个
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[[email protected] yum.repos.d]# rm -f CentOS-Base.repo #删除这个文件
紧接着,去下载一个源码包,国内的
[[email protected] yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo #在这里,由于源码包被删除,wget就使用不了
-bash: wget: 未找到命令
[[email protected] yum.repos.d]# curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo #下载,后面是大“O"
查看是否下载完成
[[email protected] yum.repos.d]# ls
CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
测试一下可以用yum安装
[[email protected] yum.repos.d]# yum install zsh
[[email protected] yum.repos.d]# yum clean all #清除缓存
[[email protected] yum.repos.d]# yum list #这一步是必须要执行的,这样可以生成缓存,方便下次使用。
yum安装RMP包,epel
安装扩展源epel(备用的源码包)
[[email protected] yum.repos.d]# yum install -y epel-release
[[email protected] yum.repos.d]# yum list #这一步是必须要执行的,这样可以生成缓存,方便下次使用。
[[email protected] yum.repos.d]# yum list |grep epel
怎么安装一个rpm包;
- yum install -y 包名 --downloadonly
[[email protected] yum.repos.d]# yum install -y zsh --downloadonly
查看rpm默认下载路径
[[email protected] yum.repos.d]# ls /var/cache/yum/x86_64/7/updates/
794f09bfe14c121f746efba16bb0aa24b38c2506bb93d0939e01df1158efc56d-primary.sqlite.bz2 packages
cachecookie repomd.xml
gen
如果指定下载的rpm路径(如已安装的就指定不了)
[[email protected] yum.repos.d]# yum install -y znc --downloadonly --downloaddir=/tmp/
[[email protected] yum.repos.d]# ls /tmp/
1.txt.gz
d6z
dior1
ks-script-5ToQJK
systemd-private-d4565e90fd384c749a36d51b19e3e377-chronyd.service-91Lo0Y
systemd-private-d4565e90fd384c749a36d51b19e3e377-vgauthd.service-XKotz4
systemd-private-d4565e90fd384c749a36d51b19e3e377-vmtoolsd.service-NZwSqa
yum.log
yum_save_tx.2018-04-15.15-35.qfXziD.yumtx
yum_save_tx.2018-04-16.23-44.QDLlX9.yumtx
znc-1.6.6-1.el7.x86_64.rpm
源码包安装,首先要先下载一个源码包,根据自己需求
[[email protected] httpd-2.4.33]# echo $? 表示上一条命令是否正确
安装源码包通常需要以下3个步骤: 1. ./configyre。这一步可以定制功能,加上相应的选项即可; 具体有什么选项可以通过命令 ./configure --help查看。 这一步会自动检测你的Linux系统于相关的套件是否有编译该源码包时所需要的库, 因为一但缺少某个库,就能完成编译。 2. make。使用这个命令,会进行预设参数编译。 3. make install,用于安装,用于创建相关软件的存放目录和配置文件
源码包默认下载路径 /usr/local/src/ 这个目录下
下载一个apache的包,r.aminglinux.com 在这个网址上找
[[email protected] src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.33.tar.gz
然后解压,tar
[[email protected] src]# ls
httpd-2.4.33.tar.gz
[[email protected] src]# tar -zxvf httpd-2.4.33.tar.gz
进入到解压的文档
/configuer --prefix=/usr/local/apache2,prefix指定安装路径,apache2表示版本
[[email protected] httpd-2.4.33]# ./configure --prefix=/usr/local/apache2
[[email protected] httpd-2.4.33]# echo $? #由于上条命令出现错误,
1 #在这里表示非0的数字,都代表有错误
由于上条命令,缺少依赖包(gcc编译器),继续安装。
[[email protected] src]# tar -zxvf apr-1.6.3.tar.gz
[[email protected] apr-1.6.3]# yum install -y apr
[[email protected] apr-1.6.3]# ./configure --prefix=/usr/local/apache2
[[email protected] apr-1.6.3]# echo $?
此时就成功生成Makefile。查看结果如下:
[[email protected] apr-1.6.3]# ls -l Makefile
-rw-r--r--. 1 root root 5092 4月 17 00:30 Makefile
进行编译及安装
[[email protected] apr-1.6.3]# make & make install
查看该源码包是否安装完成,去所对应的路径下/usr/local/apache2 目录下有没有很多的目录即可。
[[email protected] apr-1.6.3]# cd /usr/local/apache2/
[[email protected] apache2]# ls
bin build-1 include lib
转载于:https://my.oschina.net/u/3912766/blog/1926638