linux应用程序基础
什么是Linux源码包
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络
什么是Linux源码包 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 为什么需要源码包 1.部分软件官网仅提供源码包,需要自行编译并安装。 2部分软件在新版本有一些特性还没来得及制作成rpm包时,可以自行编译软件使用其新特性 3.源码包–>打包成一个rpm格式; rpm方式安装标准 如何获取源码包 1.访问Linux内核官方网站: 2.进入内核管理–点击Linux 3.点击Kernel(内核) 4.可以看到v1.0……好多版本,选择你想要获得的版本,进入 5.选择3.x 往下拖拉直到看到源代码的压缩文件可以下载 1、概念: 源码包是Linux中软件包的另一种形式,需要在计算机上进行编译以后才可以产生可以直接运行的二进制程序。源代码包里面包括了程序的程序代码,一般就是我们能认识的C语言文件,因此在安装源码包的时候通常会检索系统中是否正确安装gcc编译器,并且源代码安装的时间会比较长。 源码包一般的安装过程是: 1:解压、 2:./config、 3:make、 4:make install、 5:ln -sv /usr/local/xxx/lib/xxx /usr/lib64/xxx 【动态链接库文件较少的情况下】或者vim /etc/ld.so.conf 文件末尾追加/usr/local/xxxx/lib,保存退出后执行ldconfig 【建议这种方式】 6:vim /etc/profile,文件末尾添加PATH=/usr/local/xxx/bin:$PATH,然后 source /etc/profile 2、格式: .tar.gz、.tgz、*.bz2 源码包的格式一般是一个版本号的tar包,例如httpd-2.4.25.tar.gz,文件名包含信息没有上述提到的二进制包多 3、特性: tar包形式的源码包包含的内容是明文可见的源代码,如果有足够的能力,可以自行修改源代码,并且在安装的时候可以自由选择要安装的所需功能(./configure中的各种参数)及路径等,并且卸载移除的时候也比较方便。 建议在安装线上的生产服务器软件包时都用源码安装,这是因为源码安装可以自行调整编译参数,能够最大化地定制安装结果。 但是使用源码包也存在一些缺点不足 什么是Linux二进制包 1、概念: 二进制包是软件包的一种形式,二进制包是已经经过编译,可以马上运行的程序软件包。你只需要下载和解包(安装)它们以后,就马上可以使用。软件包的内容是01二进制代码(一般以16进制显示),也就是说,这些文件是计算机能直接识别的(计算机只能识别处理01二进制) 2、格式: 格式1:xxxx-devel-6b-33.x86_64.rpm格式(rpm -ivh安装之后能直接使用), 格式2:mysql-5.5.32-linux2.6-x86_64.tar.gz格式(tar -zxvf解压之后就能直接使用),这里注意和源码包的区别,二进制格式的包名字很长,一般都会带有版本号、适应平台、适应的硬件类型等,而源码格式仅仅就是一个版本号的tar包,例如httpd-2.4.25.tar.gz。 我们一般说的二进制包其实默认指的就是RPM包,也就是说二进制包包含RPM包,RPM包是二进制包的一个子集 3、特性: 我们可以使用UE编辑器,打开/bin下的文件查看,打开Windows中的.exe文件查看,打开rpm包查看,你会发现,这些文件的内容都是01二进制代码(一般以16进制显示),也就是说,这些文件是计算机能直接识别的(计算机只能识别处理01二进制) 使用源码包安装软件具有以下几点好处 1:开源 2:卸载方便 3:可以自由选择 4:更加适合自己的系统应用程序包,更加稳定,效率也更高 使用源码包安装软件具有以下几点坏处 1:安装过程繁琐 2:编译时间较长 什么是RPM包 RPM 是 Red Hat Package Manager 的缩写,是Red Hat 贡献出来的软件包管理工具,在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版 RPM包里包含了什么 里面包含可执行的二进制程序,也就是编译好的执行程序,RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件 1、概念: 在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的程序,但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装,配置,卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个较好的办法来管理成千上百的软件。这就是RPM管理系统。在系统中安装了rpm管理系统以后,只要是符合rpm文件标准的打包的程序都可以方便的安装,升级,卸载 也就是说rpm原本是Red Hat公司专门用来管理Red Hat的Linux发行版本的各项程序套件的管理程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他Linux发行版本的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。 而yum(Yellowdog Update Manager)是RPM的前端工具,是基于RPM的一个管理工具,他能自动的解决安装rpm包产生的依赖关系。 RPM包也就是二进制包的一种,rpm包很好区分,以rpm结尾的一般都是rpm包 注意:RPM分为两种,分别是:package和srcpackage,也就是binary rpm和source rpm;前者是已经编译好的二进制包,可以直接安装使用,而后者是包含了源代码的rpm包,需要重组rebuild之后才可以安装使用,其实从严谨的角度上来说,*.src.rpm算是特殊的源码包,特殊在它能直接生成rpm包 2、格式: 格式1:name-version-release.arch.rpm 格式2:name-version-release.arch.src.rpm name:表示包的名称,包括主包名和分包名 version:表示包的版本信息 release:用于标识rpm包本身的发行号,可还包含适应的操作系统 arch:表示主机平台,noarch表示此包能安装到所以平台上面 i386指这个软件包适用于intel 80386以上的x86架构的计算机(AI32) i686指这个软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机(IA32) noarch指这个软件包于硬件架构无关,可以通用。 示例: gd-devel-2.0.35-11.el6.x86_64.rpm gd是这个包的主包名,devel是这个包的分包名, 2.0.35是表示版本信息,2为主版本,0为此版本,35为修订号, 11.el6中的11是表示发行号,el6表示是RHEL6, x86_64是表示包适合的平台,如果是noarch这表示与平台无关 3、特性: RPM包优点 1:RPM包管理简单,只需要通过几个简单的命令就可以实现软件包的安装升级卸载和查询 2:安装速度比源码包形式快 RPM包缺点 1:RPM包是事先已经经过编译的二进制包,可以直接安装使用,因此无法再看到源码 2:如上所述,功能已经被固定,无法灵活的删除或新增功能 3:RPM包存在很强的依赖性,大部分RPM包的顺利安装需要安装很多个依赖RPM包 4:卸载软件包的时候,如果不小心,会卸载涉及到依赖关系,很有可能就会卸载移除掉系统所需软件,导致系统奔溃 典型应用程序的目录结构 文件类型: 文件类型 :保存目录 日志文件:/var/log 普通执行文件:/usr/sbin 应用程序配置文件:/etc 应用程序参考文档文件:/usr/share/doc 服务器执行程序文件和管理程序文件:/usr/sbin 常见的软件包封装类型 文件类型:保存目录 RPM软件包:扩展名为“.rpm” DEB软件包:扩展名为“.deb” 源代码软件包:一般为“.tar.gz”、“.tar.bz2”等格式的压缩包 包含程序的原始代码 绿色免安装的软件包:软件包的扩展名不一,以TarBall格式的居多 在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用 RPM包获取路径 一般命名格式 bash-4.1.2-15.el6_4.x86_64.rpm bash shell环境 版本信息 4.1.2 15发布次数 x86_64硬件(为“i386”或“i686”等) 包数据库 rpm命令的格式 RPM软件可以实现几乎所有的功能,新增,删除,更新等功能 通式:RPM 选项 包 查询: rpm -qa(all):显示当前系统中以rpm方式安装的所有软件 rpm -q :查看以指定安装的某个软件 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |