Linux软件安装及管理程序
一、Linux应用程序基础
1 .Linux源码包
实际上,源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的
2 .Linux二进制包
二进制包,也就是源码包经过成功编译之后产生的包。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快(同 Windows下安装软件速度相当),且安装过程报错几率大大减小。
3 .源码包 VS RPM二进制包
源码包一般包含多个文件,为了方便发布,通常会将源码包做打包压缩处理,Linux 中最常用的打包压缩格式为“tar.gz”,因此源码包又被称为 Tarball。
(1) 源码包安装软件具有以下优点:
- 开源。如果你有足够的能力,则可以修改源代码。
- 可以自由选择所需的功能。
- 因为软件是编译安装的,所以更加适合自己的系统,更加稳定,效率也更高。
- 卸载方便
(2)源码包安装软件的缺点:
- 安装过程步骤较多,尤其是在安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误。
- 编译时间较长,所以安装时间比二进制安装要长。
- 因为软件是编译安装的,所以在安装过程中一旦报错,新手很难解决
二、应用程序与系统命令的关系
角色 系统命令 应用程序 文件位置 一般在/bin和/sbin目录中,或为Shell内部指令 通常在/usr/bin和/usr/sbin目录中 主要用途 完成对系统的基础管理工作,例如IP配置工具 完成相对独立的其他辅助任务,例如网页浏览器 适用环境 一般只在字符操作界面中运行 根据实际需要,有些程序可在图形界面中运行 运行格式 一般包括命令字、命令选项和命令参数 通常没有固定的执行格式 三、典型应用程序的目录结构
文件类型 保存目录 普通执行程序文件 /usr/bin 服务器执行程序文件和管理程序文件 /usr/sbin 应用程序配置文件 /etc 日志文件 /var/log 应用程序参考文档文件 /usr/share/doc 应用程序手册页文件 /usr/local/share/man 四、常见的软件包封装类型
文件类型 保存目录 RPM软件包 扩展名为 “.rpm” DEB软件包 扩展名为 “.deb” 源代码软件包 一般为 “.tar.gz”、 “.tar.bz2” 等格式的压缩包 包含程序的原始代码 绿色免安装的软件包 软件包的扩展名不一,以TarBall格式的居多,在压缩包内提供已编译好的执行程序文件,解开压缩包后的文件即可直接使用 五、RPM包管理工具
Red-Hat Package Manager ———— 由Red Hat公司提出,被众多Linux发行版所采用建立统一的数据库文件(一张对应表将信息写入)详细记录软件包安装、卸载等变化信息,自动分析软件包依赖关系 RPM软件包软件素材参考: www.rpm.org
- RPM软件包,一般命名格式
bash-4.1.2-15.el6_4.x86_64.rpm bash shell环境 版本信息 4.1.2 15发布次数 x86_64硬件
六、RPM命令格式
- RPM软件可以实现几乎所有的管理功能,新增,删除,更新等
1 .查询选项
选项 功能效果 rpm -qa 显示当前系统中以 RPM 方式安装的所有软件列表 rpm -q 软件名 查询指定软件是否已安装 rpm -qi 软件名 查看指定软件包的名称、版本、许可协议、用途描述等详细信息 rpm -ql 软件名 显示指定的软件包在当前系统中安装的所有目录、文件列表 rpm -qc 软件名 列出已安装的指定软件的配置文件 rpm -qd 软件名 列出已安装的指定软件的软件包文档所在位置 rpm -qR 软件名 列出已安装的指定软件的依赖的软件包及文件 rpm -qf 软件名 查看指定的文件或目录是由哪个软件包所安装 rpm-qpd 查询未安装指定软件包的文档位置 rpm -qpi 查询未安装指定软件包的完整名称详细信息 rpm -qpl 查询未安装指定软件包的文件列表 rpm -qpc 查询未安装指定软件包的配置文件位置 - 示例:
[root@localhost ~]# rpm -q httpd 未安装软件包 httpd ##查看httpd有没有安装 [root@localhost ~]# rpm -qa|wc -l 1375 ##查询通过rpm一共安装了1375个软件2 .挂载
mount 设备 加文件夹路径 (已存在且是空的文件夹,原来的数据将被隐藏)
- 挂载规则:
- 一个挂载点同一时间只能挂载一个设备
- 一个挂载点同一时间挂载了多个设备,只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
- 一个设备可以同时挂载到多个挂载点
- 通常挂载点一般是已存在空的目录
[root@localhost ~]# mount /dev/sr0 /mnt mount: /dev/sr0 写保护,将以只读方式挂载 [root@localhost ~]# cd /mnt [root@localhost mnt]# ls CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL3 .安装卸载升级
- 基本格式:rpm [选项] rpm软件包
选项 作用 -i 安装一个新的RPM软件包 -U 升级某个软件包,若未安装过则进行安装 -F 升级某个软件包,若未安装过则直接结束 -h 在安装或升级过程中已#号显示读条 -v 显示安装过程的详细信息 –force 强制安装某个软件包 -e 软件名 卸载指定的软件 –nodeps 在安装或升级、卸载一个软件包时,不检查与其他包的依赖关系 七、编译安装
- 软件版本比较新,新功能,修复bug
- 可以自行定义配置文件的路径
- 源码可能有100个功能,红帽认为你可能不需要会自行处理砍掉,自行定制50
1 .程序包编译安装:
源代码–>预处理–>编译–>汇编–>链接–>执行
多文件:文件中的代码之间,很可能存在跨文件依赖关系虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软
件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特
性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具
可以大大减少编译过程的复杂度[root@test1 /]# vim httpdinstall.sh mkdir /bianyi cd /bianyi/ wget https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.48.tar.bz2 tar xvf httpd-2.4.48.tar.bz2 cd httpd-2.4.48/ yum install apr* gcc* pcre* -y ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=most --with-mpm=worker --disable-cgid --disable-cgi make make install systemctl stop firewalld.service /usr/local/apache/bin/apachectl start [root@test1 /]#chmod 755 httpdinstall.sh [root@test1 /]#./ httpdinstall.sh八、yum安装
YUM(Yellow dog Updater,Modified)
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间1 .配置yum本地仓库(yum本地源)
[root@localhost ~]# mount /dev/sr0 /mnt mount: /dev/sr0 写保护,将以只读方式挂载 [root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# mkdir bak [root@localhost yum.repos.d]# mv *.repo bak [root@localhost yum.repos.d]# vim lyn.repo [local] name=local baseurl=file:///mnt gpgcheck=0 yum clean all && yum makecache [root@localhost yum.repos.d]# yum clean all && yum makecache 已加载插件:fastestmirror, langpacks 正在清理软件源: local 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 已加载插件:fastestmirror, langpacks local | 3.6 kB 00:00:00 (1/4): local/group_gz | 156 kB 00:00:00 (2/4): local/filelists_db | 3.1 MB 00:00:00 (3/4):local/primary_db | 3.1 MB 00:00:00 (4/4): local/other_db | 1.2 MB 00:00:00 Determining fastest mirrors 元数据缓存已建立2 .配置yum扩展仓库(epel源)
[epel] ##扩展源——(需要网络支持) name=epel baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64 ##阿里 https://mirrors.cloud.tencent.com/epel/$releasever/x86_64 ##腾讯 ##网址对齐! https://mirrors.huaweicloud.com/epel/$releasever/x86_64 ##华为 https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64 ##清华 gpgcheck=0 yum clean all && yum makecache
5483

被折叠的 条评论
为什么被折叠?



