5.软件安装

解释型和编译型语言

解释型语言:就是计算机逐条去除源码文件的指令,将其转化成机器指令,并执行这个指令的过程.

编译型语言:是指程序在运行前就将所有的源代码一次性转化为机器代码(一般为二进制程序),再运行这个程序的过程.

源码安装前提条件是安装gc工具.

将root变量保存至配置文件中

echo "export PATH=$PATH:/root" >> /etc/rc.local

源码编译安装软件的原理--编写源代码--编译源码生成二进制可执行性文件(也就是程序)--复制该文件到任一PATH变量包含的目录中.

第一步,运行configure命令,并结合必要的参数以生成Makefile;

第二步,运行make命令生成各类模块和主程序;

第三步,运行make install命令将必要的文件复制到安装目录下.

以上三步都需要在对应软件包目录的根目录下运行.

linux系统中一半在/usr/local/src目录里下载源码包

apache 开源web服务器

具有良好的安全性和跨平台,简单,快速,稳定,支持ssl加密,虚拟主机等功能,同时其模块化程度非常高,极易进行功能扩展.

编译Apache

./configure --prefix=/ust/local/apache/ 指定安装目录 --enable-modules=most 启用Apache绝大部分模块.

执行时会有大量的输出产生,包括检查编译环境及,如果出现任意一个错误即会编译失败.编译成功后可以使用make && make install

编译完成使用如下命令启动Apache,并查看一下80端口,确认80端口已经被httpd的进程占用

/usr/local/apache/bin/apachectl start

lsof -i:80

rpm安装软件

RPM分为两类,第一类是二进制安装包(预编译包),将编译好的软件复制到相同的软件环境,(内核版本一致,软硬件运行环境一致)的服务器中,在特定kernel版本下预先编译好软件(编译时使用了大多数常见的编译参数),并将所需要的文件(二进制程序,模块,配置文件等)整体打包,在新主机安装该RPM包时,解压并复制到特定的目录中去.第二类是RPM源码包,当需要自定义参数,自行制作二进制安装包的时候使用

RPM常用参数

安装参数

-i install 安装软件

-v verbose 打印详细信息

-h hash 使用"#"号打印安装进度(需要和-v同时用)

-e erase 删除软件

-U upgrade=<packagefile>+ 升级软件

--replacepakge 如果软件已经安装,则强行安装

--test 安装测试,并不实际安装

--nodeps 忽略软件包的依赖关系强行安装

--force 忽略软件包及文件的冲突

查询参数

-a all 查询所有安装软件

-p package 列出某个安装软件

-l list 列出某个软件包所包含的所有文件

-f file 查询某个文件的所属包

安装软件包

rpm -ivh pm.rpm

测试安装软件包,不做真实安装

rpm -ivh --test pm.rpm

安装软件包,并重新定义安装路径

rpm -ivh --relocate /=.usr/local/pm pm.rpm

强行安装软件包,忽略依赖关系

rpm -ivh pm.rpm --force --nodeps

升级软件包

rpm -Uvh pm.rpm

强行升级软件包,忽略依赖关系

rpm -Uvh pm.rpm --force --nodeps

删除软件包,并忽略依赖关系

rpm -e pm --nodeps 只是包名,不需要跟版本号

导入签名

rpm --import RPM-GPG-KEY

查询某个包是否已经安装

rpm -q pm

查询系统中所有已安装的包

rpm -qa

查询文件属于哪个包

rpm -qf /etc/auto.misc

查询某个已安装软件所包含的所有文件

rpm -ql pm

查询某个包的依赖关系

rpm -qpR pm.rpm

查询某个包的信息

rpm -qpi pm.rpm

删除软件包

rpm -e pm

包依赖:在安装A包之前需要已经安装了B包,其实质是A软件运行时需要依赖B软件提供的功能.

yum安装软件

yellow dog updater,Modified,是一个基于RPM的shell前端包管理器,能够从指定的服务器(一个多个)自动下载并安装或更新软件,删除软件.最大特点是会自动解决依赖关系.

yum命令参数

1.安装操作

install 安装某个包

yum groupinstall 安装某个软件组

2.升级操作

update 更新系统中所有需要更新的包

yum update name 更新某个包

yum check-update 检查当前系统中需要更新的软件包

3.查找操作

yum list 显示软件源中所有可用的包,一般不用

yum list installed 显示系统中已经安装过的包

yum info name 显示某个包的信息

yum groupinfo name 显示某个软件组的信息

yum grouplist 显示软件源宏所有的可用软件组

4.删除操作

yum remove 删除某个包

yum groupremove 删除某个软件组

5.清除操作

yum clean 清楚使用yum所产生的缓存文件

其中options是可选参数,包括帮助参数-h,确认参数-y 静默安装参数-q等;

command参数为需要进行的操作;package参数为具体的包或者软件组 .按照功能分类yum支持安装,升级,查找,删除,清理缓存等操作.

网络yum源

[base]

name=yum_repos

baseurl=http://centos.ustc.edu/centos/6/os/$basearch/

gpgcheck=1

gpgkey=htpp://mirror.centos.org/centos/RPM-KEY-CentOS-6

本地yum源

[base]

命名一个叫"base"的源

name=yum_repos

该源的名字叫做yum_repos

baseurl=file:///mnt/cdrom

该源的http地址,$basearch是一个变量,其值和命令uname -m输出一致

baseurl 支持http,file,ftp三种类型

gpgcheck=0

开启gpg验证,1代表开启,0代表关闭

enabled=1

gpgkey=htpp://mirror.centos.org/centos/RPM-KEY-CentOS-6

定义gpgkey地址

刷新缓存

yum clean all

yum makecache

重建RPM包(了解)

源码包一般是以.src.rpm结尾.如果使用重建rpm包,则在后续任何更新,bug修复都需要重建新的RPM包

1.使用src重建RPM包

创建重建环境

安装rpmbuild

yum install -y rpm-build

rpmbuild --version

yum install gcc* make

快速重建rpm包

rpmbulid --rebuild /PATH/TO/SRPM

wget http://vault.centos.org/5.5/os/SRPMS/name.src.rpm(CentOSsrpm包源)

rpmbuild --rebuild name.src.rpm

yum install libtermcap-devel pam-devel

rpmbuild --rebuild name.src.rpm

2.使用spec重建RPM包

其中spec文件是一个重建RPM包的配置文件,描述了RPM报的相关信息,该动作是将源码包以及一些补丁(patch文件)解压到/usr/src/redhat/SOURCES目录,同时将一个spec文件解压到/usr/src/redhat/SPECS目录中的一个过程,实际上srpm包就是由源码包,补丁和spec文件组成的.

进入/usr/src/redhat/SPECS,使用该spec文件重建RPM包

rpmbuild -ba rsh.spec

spec文件简介

spec文件类似于源码编译时的Makefile文件,是重建rpm包的核心文件.spec文件有一定的模板格式,一般来说分为preample(序言),prep(前期准备),build(编译),install(安装),clean(清理),files(文件列表),changelog(修改日志)等部分.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值