程序管理
程序管理
软件包管理
安装过程
语言:
编译语言:编译一次,就能永久执行,但是换其他平台又得重新编译。
c/c++、
解释语言:解释语言需要一个解释器,它边运行边编译的。所有它可以很好的跨平台。(源代码变成二进制)
就比如编译语言是直接将一篇文章翻译成了英文。如果需要德文时,又得重新翻译,而解释性语言是根据当前需求实时翻译的。
python、java、shell
软件安装
源代码----二进制过程(可执行二进制程序文件,配置文件,库文件,头文件<程序执行入口,c语言写的>,帮助文件)
有人已经把上面的功能打包了,我们的软件安装就是解包。
rpm:(软件包管理器),rpm 的忽略依赖关系不推荐使用,因为就算安装起了,也能使用。
依赖关系:
要安装A,得先安装B,你安装B必须要安装C。
debian (第 bi 淹~) 就是 ubiantu
dpm (软件包管理: rpm)
apt-get (解决依赖关系安装:yum)
软件包的挂载点:/mnt/cdrom/Packages
rpm** :一般用来查询**
- -ivh(install)包全名(相对路径或绝对路径-下面都是是) –安装软件包 -v 安装过程 -安装进度条
- -uvh 更新软件包 -u update
- -ivh**–**replacepkgs 重新安装,软件出了问题之内的。
- -q 包名 –查询
- -f 查询/验证文件属于的软件包
- -e 卸载 包名
- -v 提供更多的详细信息输出
- ** -ql 查询软件包生成得文件**。
/bin 都是可执行文件
/etc 为配置文件
.so 以结尾的都是库文件,可能会调用或依赖的库。
/man 都是帮助文件
- -qc 只查询配置文件。
- -qi 查询软件包各种相关信息
- -qa : 查询已安装好的软件包
- -qf: 查询文件是由那个软件包生成的
- -p: 查询未安装的软件包 需跟全名称
-nodeps: 忽略依赖关系,不推荐使用。
–当出现依赖关系需求时,可以直接网上找依赖的软件包。(rpmfind 官网也行)
xargs: 把前面得执行结果用于后面的参数。
解决依赖关系:**yum**
yum 的仓库里面有很很多 rpm 包,且会利用索引文件把他们的依赖关系找出来。但是解决的依赖也只限于库中有的 rpm 包
要成为 yum 仓库就必须具备:rpm 包(Packages)、索引文件(repodata)
仓库的配置目录 : /etc/yum.repos.d
仓库的配置文件 : /etc/yum.repos.d/xxx.**repo **以 repo 结尾的才是仓库
- ** **配置如下**:****一个.repo 可以写多个仓库。用回车隔开**
[仓库的唯一名称]
name=网络的唯一名称
(mirrorlist= 存放镜像,镜像里面有多个仓库的 url 地址)
baseurl= 用于指定仓库的路径
file:// 表示本地路径后面再跟本地路径 /mnt/xx 所以写出来是 file:///mnt/xx
hhtp:// 网页路径 网络需要跟主机名(域名)。本机不需要
**enabled=1 开启仓库 **
gpgcheck=0 不开启安全校验若要安全验证就gpgcheck=1 并加入密钥地址:gpgkey=
cost 默认 1000 如果两仓库的 id 相同 比较其 cost 越小的越先执行。
—yum 的变量
$baserch :获取 cpu 的框架。 x86_64 当前主板版本号。
$arch: 系统所用的 cpu 平台
$releaserver: 操作系统信息,系统平台号,centos7
比如: baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
这个网上的镜像仓库,其中的变量就是为了获取本机的信息,再去找对应的目录。
命令
yum repolist 查询有那些仓库
yum check-update 查看是否可以更新
yum update 更新 yum
yum list 查询 列出仓库里所有得软件包。
yum grouplist 查询 列出仓库里所有得软件包组。
yum groupinfo 查询 软件包组里面有那些软件包 rpm。
yum info 查询仓库的详细信息(名称、框架、版本、发布、大小、源、简介、网址、协议、描述)
yum remove 移除
安装:
yum install -y
如果没有的话,就是在网上找仓库,只用找到配置项,就复制到/etc/yun.repos.d/xx.repo 中 。
yum group**install**“xxx” 安装包组 要用引号。
yum remove -y 卸载
yum clean all 清除缓存。
yum makecache 创建缓存
创建 repodate(索引文件):
cteaterepo 仓库目录下。
下载
wget 网络镜像地址
C 语言源码包编译过程:
先解压源码包。**解压: tar -xf 源文件 –**-解压后打开都是二进制文件。
** 1: 准备编译环境**
** yum groupinstall “Development.Tools” 安装编译工具组**
2:指定安装路径:
** 当前源码包的路径下 ./configure –prefix=/usr/local/自命名**
**apr-util 的安装路径下 还需加上 –with-apr=apr 的目录 ,类似依赖,httpd 的安装则需要 apr 和 apr-util****(apr 的作用是优化 tomcat 的并发。)**
例如:安装 http 需要用–with 指定 apr 和 apr-util
** ****[root@localhost httpd-2.4.46]# ./configure –prefix=httpd24 –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util/**
** 问题处理:**
** ****注释 configure 中的 $RM “$cfgfile”**
3.编译软件 : make && make install 都要使用 (当前原码包目录下直接输入)
是由于软件太新缺少依赖: 安装 yum install expat-devel -y
Source : 源
Binaries: 二进制
nginx 做服务器集群的。