软件包
- 源码包(脚本安装包(类似有图形界面的安装包),绝大多数是c语言源码包)卸载方便,直接删除安装目录,建议用源码自己安装一次系统
- 二进制包(RPM包,系统默认包,是经过编译的)
- RPM包管理:RPM、yum
YUM
yum repolist 查看当前可用yum源
yum repolist all 查看所有yum源:
yum whatprovides|provides files 查询某个文件是哪个软件包生成的,files通常指
lrwxrwxrwx. 1 root root 5 Apr 24 15:57 /usr/bin/yum -> dnf-3
rpm -q centos-release 查看系统版本
(显示区别:已经安装的rpm包不会显示后缀.rpm ,而未安装的包则显示后缀.rpm)
yum-config-manage
-e<错误级别> | 错误输出级别 |
---|---|
-d<调试级别> | 调试输出级别 |
-c<配置文件> | 指定配置文件的位置 |
-t | 错误宽容 |
–enable | 启用软件仓库 |
–disable | 禁用软件仓库 |
–add-repo=<软件仓库> | 从指定文件或URL添加(和启用)软件仓库 |
yum-config-manager --add-repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum-config-manager --add-repo=file:///mnt/iso/BaseOS
yum-config-manager --add-repo=file:///mnt/iso/Appstream
安装
yum install #全部安装
yum install package1 #安装指定的安装包package1
yum groupinsall group1 #安装程序组group1
更新和升级
yum update #全部更新
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1
查找和显示
yum info package1 #显示安装包信息package1
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息
yum search string 根据关键字string查找安装包
删除程序
yum remove | erase package1 #删除程序包package1
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
yum makecache就是把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存 以后用install时就在缓存中搜索,提高了速度
配置文件
[root@study~]# vi /etc/yum.repos.d/CentOS-Base.repo
[base]:代表软件源的名字,一定要有中括号,里面的名称则可以随意取。但不能有相同的软件源的名称。
name:说明软件源的意义
mirrorlist=:列出软件源可以使用的镜像站。可以注释掉。
baseurl=:最重要的部分,后面接软件源的实际地址,baseurl是指定一个软件源的网址
enabled=1:就是这个软件源被启用,不启用enable=0
gpgcheck=1这是需要查看RPM文件内的数字签名
gpgkey=:就是数字签名的公钥文件所在地,使用默认值
Appstrem:应用的包
module 模块化管理,一个系统可存在多个版本的软件,用其实现管理
yum module list
yum module info python36 查看模块里面的软件版本
yum module install xx:版本号
yum module remove xx:xx
yum module reset 重置流才能用
模块:python36
流:版本号
Baseos:系统核心的包
(1):如果你想用ISO文件做为yum仓库的时候
vim /etc/yum.repos.d/rhel8.repo
[BaseOs]
name=x
baseurl=file:///mnt/iso/BaseOs
enabled=1
gpgcheck=0
[AppStream]
name=x
baseurl=file://mnt/iso/AppStream
enabled=1
gpgcheck=0
如果你使用的不是ISO文件,那么当你搭建YUM源就不需要搭建baseos和appstream
[CEPH]
name=xx
baseurl=
enabled=1
gpgcheck=0
但是这种网站一般依赖一个核心基础包,就通过ISO搭建
模块:一个模块内,包含了这个软件版本的所有需要软件
模块流:一个软件存在多个版本,一个模块流就是一个软件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ALB0TLXO-1599875882548)(D:%5CMarkdown%E7%AC%94%E8%AE%B0%5C%E7%BA%A2%E5%B8%BD%5CRHCSA%5Cimage%5Cclipboard-1599616501842.png)]
check-update 检查可提供的包升级
clean 删除缓存数据
deplist 列出包依赖相关
erase 移除一个或多个包从你的系统
groupinfo 显示关于包组的细节
groupinstall 从组里安装软件包到你的系统
grouplist 列出当前的组
groupremove 在一个组中移除包从您的系统
help 显示帮助用法信息
info 显示关于包或一组包的细节信息
install 安装一个或多个软件包在你的系统
list 列出一个包或某组的包
localinstall 安装本地 RPM
makecache 生成原数据缓存
provides Find what package provides the given value
reinstall 重新安装一个包
repolist 显示软件仓库的配置
resolvedep 决定哪个包提供了给定的依赖
search 查找包细节居给定的字符串
shell 运行交互式的yum shell
update 更新一个或多个包在你的系统
upgrade Update packages taking obsoletes into account
Options:
-h, --help show this help message and exit
-t, --tolerant be tolerant of errors
-C 从缓冲中运行,而不是升级缓存
-c [config file] config file location
-R [minutes] 最大化的命令等待时间
-d [debug level] 调试输出级别
–showduplicates 显示复制, 在repo,list/search命令下
-e [error level] 错误输出级别
-q, --quiet 安静的操作
-v, --verbose verbose operation
-y 回答所有的问题为是
–version 显示 YUM版本信息并退出
–installroot=[path] 设置为root安装
–enablerepo=[repo] 激活一个或多个仓库(支持通配符)
–disablerepo=[repo] 禁掉一个或多个仓库(支持通配符)
-x [package], --exclude=[package] 在名称或glob不包含包。
–disableexcludes=[repo] disable exclude from main, for a repo or for everything
–obsoletes enable obsoletes processing during updates
–noplugins 禁掉yum插件
–nogpgcheck 禁掉GPG验证检查
–disableplugin=[plugin] 用名称禁掉插件
–enableplugin=[plugin] enable plugins by name
–skip-broken 忽略包的依赖问题
–color=COLOR control whether color is used
RPM
(1)实例:httpd-2.2.15-15.el6.centos. 1.i686.rpm (包全名)
httpd . 软件包名
2.2.15 软件版本
15 软件发布的次数.
el6.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包扩展名
(2):rpm -ivh /mnt/cdroom/xx 先挂载光盘
(3):rpm -Uvh 包全名
(4):rpm -e 包名(erase)
(5):rpm -q 包名 查询是否安装
(6):rpm -qa 查询所有已经安装的包
(7):rpm -qi 查询包的详细信息
(8):rpm -ql 查询包安装路径
(9):rpm -qf 查询系统文件属于哪个包
(10);rpm -qR 查询某个包的依赖性
-p未安装包
(11):rpm -V 包名 查询包的文件是否修改了
(12):rpm2cpio 包全名 | cpio -idv .文件绝对路径
rpm包默认安装位置
/etc/ 配置文件
/usr/bin 可执行的命令安装位置
/usr/ib 程序所使用的的函数库保存位置
/usr/share/doc 基本软件的使用手册
/usr/share/man 帮助文件保存位置
源码包默认安装位置
/usr/local/软件名/ (一般是这里)
rpm包服务启动
(1):/etc/rc.d/init.d/xx start
(2):service xx start
源码包服务启动(因为路径不同,而系统命令只会去默认位置搜索,所以系统命令不能用)
(1):/usr/local/apache2/bin/apachectl start
源码包
1、configure
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure --prefix=/usr上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin.同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定。有一些软件还可以加上 --with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure --help 察看详细的说明帮助。
2、make
这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或Python编写的软件需要调用perl或python来进行编译)。如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。
make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。
3、make install
这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)