软件管理
目前流行的软件包格式: 可直接执行的RPM与DEB、源代码形式的gzip与bzip2压缩包
RPM软件包管理
rpm
rpm [选项] *.rpm
-i
--install
install packages-h
--hash
print hash marks as package installs (good with -v)-v
--verbose
provide more detailed output- -e --erase=<package>+ erase(uninstall) package
-U
--upgrade=<packagefile>+
upgrade package(s) 会删除旧版本软件(仅保留配置文件)在安装新的软件版本-q
查询指定软件包是否已经安装-qa
查询系统中已经安装的所有软件-qi
查询指定安装软件包的详细信息-ql
查询指定软件的安装路劲与文件列表-qc
查询指定软件的配置文件-qf
查询指定文件为那个软件所安装
rpm -vih xxx.rpm
rpm -q ftp
rpm -qa
rpm -qi bash
rpm -ql bash
rpm -qc bash
rpm -qf /etc/inittab
rpm -V bash
安全验证,可以查看软件是否被人篡改过
YUM安装软件包
YUM Yellow dog Update Modified ,RPM安装软件包可能会有依赖,需要你解决依赖安装,大量的依赖会让RPM成为恶魔
YUM 是解决了RPM所面临的软件包依赖问题,YUM可以从很多源中搜素软件以及他们的依赖包,并自动安装相应的依赖软件。
使用YUM安装软件时至少需要一个YUM源,YUM源就是存放很多RPM软件的文件夹,用户可以使用HTTP、FTP或本地文件夹的方式访问YUM源。
设置YUM源
[] | []中填写YUM源唯一的ID,可以任意 |
name | 指定YUM源名称,可以任意字符串 |
baseurl | 指定YUM源的URL地址(可以是HTTP、FTP或本地路径) |
mirrorlist | 指定镜像站点 |
enabled | 是否激活该YUM源(0禁用,1激活,默认激活 |
gpgcheck | 安装软件时是否检查签名(0禁用,) |
gpgkey | 检查签名的秘钥文件 |
-
[base]
-
name=CentOS-$releasever - Base
-
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
-
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
-
gpgcheck=1
-
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
-
# 配置国内阿里源
-
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
-
# CentOS 6
-
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
-
# CentOS 7
-
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
$releasever
代表系统发行版本号 $arch
代表CPU架构$basearch
代表系统架构$YUM0-9
使用Shell对应的0-9个同名变量替换
YUM
-
-y
执行非交互式安装,假定安装过程中出现所有的提示回答为YES - install package1 [package2] 使用yum安装软件包
- remove|erase package1.. 卸载软件包
- list [...] 列出系统中已经安装的已经yum源中所有可用的软件包
- info [...] 查看软件包信息
- clean all 清空所有缓存信息
- groupinstall group1 [...] 使用yum源安装租宝
- grouplist 列出系统已经安装的已经yum源中所有可用的组包
- groupremove [..] 卸载组包
- search [...] 根据关键词查软件
- localinstall rpmfile1... 通过本地rpm文件安装软件
- history 查看历史记录
源码编译安装软件
- 下载
- 编译
configure
.configure --help
- 运行
make
- 安装
make install
常见问题分析
--nodeps 忽略依赖关系
使用rpm安装时,系统提示软件之间有相互依赖关系,但当没有相互依赖包的情况下,可以使用
--nodeps 选项忽略依赖关系 卸载软性可以用
2、RPM数据库损坏
RPM 软件包的相关数据存放在/var/lib/rpm/ 目录下
rpm -rebuiddb 修复数据资料
3、软件安装的时间问题
系统提示"warning:clock skew detected."错误
通过date -s "2018-12-02 14:40" 修改系统时间,并通过hwclock -w 更新写入CMOS时间
4、YUM 繁忙
kill pid
GCC编译器问题
安装gcc就ok