RPM(RedHat Package Manager)一种通过资料库管理的方式将所需要的软件安装到主机上的管理程序,Linux就是通过rpm来管理和实现软件的安装、查看、删除的。
例如,让我们来看看 fpaste。你可以使用 dnf 下载该 RPM。这将下载 Fedora 存储库中可用的 fpaste 最新版本。在 Fedora 30 上,当前版本为 0.3.9.2:
$dnfdownloadfpaste...fpaste-0.3.9.2-2.fc30.noarch.rpm
由于这是个构建 RPM,因此它仅包含使用 fpaste 所需的文件:
$rpm-qpl./fpaste-0.3.9.2-2.fc30.noarch.rpm/usr/bin/fpaste/usr/share/doc/fpaste/usr/share/doc/fpaste/README.rst/usr/share/doc/fpaste/TODO/usr/share/licenses/fpaste/usr/share/licenses/fpaste/COPYING/usr/share/man/man1/fpaste.1.gz
在此链条中的下一个环节是源 RPM。Fedora 中的所有软件都必须从其源代码构建。我们不包括预构建的二进制文件。因此,要制作一个 RPM 文件,RPM(工具)需要:
源 RPM 拥有所有这些信息。源 RPM 与构建 RPM 相似,但顾名思义,它们不包含已构建的二进制文件,而是包含某个软件的源文件。让我们下载 fpaste 的源 RPM:
$dnfdownloadfpaste--...fpaste-0.3.9.2-2.fc30.src.rpm
注意文件的结尾是 src.rpm。所有的 RPM 都是从源 RPM 构建的。你也可以使用 dnf 轻松检查“二进制” RPM 的源 RPM:
$dnfrepoquery--qffpastefpaste-0.3.9.2-2.fc30.src.rpm
另外,由于这是源 RPM,因此它不包含构建的文件。相反,它包含有关如何从中构建 RPM 的源代码和指令:
$rpm-qpl./fpaste-0.3.9.2-2.fc30.src.rpmfpaste-0.3.9.2.tar.gzfpaste.spec
这里,第一个文件只是 fpaste 的源代码。第二个是 spec 文件。spec 文件是个配方,可告诉 RPM(工具)如何使用源 RPM 中包含的源代码创建 RPM(档案文件)— 它包含 RPM(工具)构建 RPM(档案文件)所需的所有信息。在 spec 文件中。当我们软件包维护人员添加软件到 Fedora 中时,我们大部分时间都花在编写和完善 spec 文件上。当软件包需要更新时,我们会回过头来调整 spec 文件。你可以在的源代码存储库中查看 Fedora 中所有软件包的 spec 文件。
请注意,一个源 RPM 可能包含构建多个 RPM 的说明。fpaste 是一款非常简单的软件,一个源 RPM 生成一个“二进制” RPM。而 Python 则更复杂。虽然只有一个源 RPM,但它会生成多个二进制 RPM:
$sudodnfrepoquery--qfpython3python3-3.7.3-1.fc30.src.rpmpython3-3.7.4-1.fc30.src.rpm$sudodnfrepoquery--qfpython3-develpython3-3.7.3-1.fc30.src.rpmpython3-3.7.4-1.fc30.src.rpm$sudodnfrepoquery--qfpython3-libspython3-3.7.3-1.fc30.src.rpmpython3-3.7.4-1.fc30.src.rpm$sudodnfrepoquery--qfpython3-idlepython3-3.7.3-1.fc30.src.rpmpython3-3.7.4-1.fc30.src.rpm$sudodnfrepoquery--qfpython3-tkinterpython3-3.7.3-1.fc30.src.rpmpython3-3.7.4-1.fc30.src.rpm
用 RPM 行话来讲,“python3” 是“主包”,因此该 spec 文件将称为 python3.spec。所有其他软件包均为“子软件包”。你可以下载 python3 的源 RPM,并查看其中的内容。(提示:补丁也是源代码的一部分):
$dnfdownload--python3python3-3.7.4-1.fc30.src.rpm$rpm-qpl./python3-3.7.4-1.fc30.src.rpm00001-rpath.patch00102-lib64.patch00111-no-static-lib.patch00155-avoid-ctypes-thunks.patch00170-gc-assertions.patch00178-dont-duplicate-flags-in-sysconfig.patch00189-use-rpm-wheels.patch00205-make-libpl-respect-lib64.patch00251-change-user-install-location.patch00274-fix-arch-names.patch00316-mark-bdist_wininst-unsupported.patchPython-3.7.4.tar.xzcheck-pyc-timestamps.pyidle3.appdata.xmlidle3.desktoppython3.spec
现在我们有了源 RPM,并且其中有什么内容,我们可以从中重建 RPM。但是,在执行此操作之前,我们应该设置系统以构建 RPM。首先,我们安装必需的工具:
$sudodnfinstallfedora-packager
这将安装 rpmbuild 工具。rpmbuild 需要一个默认布局,以便它知道源 RPM 中每个必需组件的位置。让我们看看它们是什么:
$rpm-E%{_specdir}/home/asinha/rpmbuild/SPECS$rpm-E%{_sourcedir}/home/asinha/rpmbuild/SOURCES$rpm-E%{_builddir}/home/asinha/rpmbuild/BUILD$rpm-E%{_buildrootdir}/home/asinha/rpmbuild/BUILDROOT$rpm-E%{_srcrpmdir}/home/asinha/rpmbuild/SRPMS$rpm-E%{_rpmdir}/home/asinha/rpmbuild/RPMS
我已经在系统上设置了所有这些目录:
$$tree-L1rpmbuild/rpmbuild/├──BUILD├──BUILDROOT├──RPMS├──SOURCES├──SPECS└──SRPMS6directories,0files
RPM 还提供了一个为你全部设置好的工具:
$rpmdev-setuptree
然后,确保已安装 fpaste 的所有构建依赖项:
sudodnfbuilddepfpaste-0.3.9.2-3.fc30.src.rpm
对于 fpaste,你只需要 Python,并且它肯定已经安装在你的系统上(dnf 也使用 Python)。还可以给 builddep 命令一个 spec 文件,而不是源 RPM。在手册页中了解更多信息:
$mandnf.plugin.builddep
现在我们有了所需的一切,从源 RPM 构建一个 RPM 就像这样简单:
$rpmbuild--rebuildfpaste-0.3.9.2-3.fc30.src.rpm....$tree~/rpmbuild/RPMS/noarch//home/asinha/rpmbuild/RPMS/noarch/└──fpaste-0.3.9.2-3.fc30.noarch.rpm0directories,1file
linux如何查看php环境安装路径
1、首先可以利用2113find / -name 查找一下,系统是否有php的配置文件、利用netstat -ntpl 查看9000端口是否在运4102行3、如果9000端口存在,可1653以使用lsof -i:9000查看文件位置4、另外,如果系统已经安装了php,你还可以用php -v 查看版本号,前提是设置环境变量apache:如果采用RPM包安装,安装路径应在 /etc/httpd目录下apache配置文件:/etc/httpd/conf/模块路径:/usr/sbin/apachectl web目录:/var/www/html 如果采用源代码安装,一般默认安装在/usr/local/apache2目录下php:如果采用RPM包安装,安装路径应在 /etc/目录下 php的配置文件:/etc/如果采用源代码安装,一般默认安装在/usr/local/lib目录下php配置文件: /usr/local/lib/或/usr/local/php/etc/: 如果采用RPM包安装,安装路径应在/usr/share/MYSQL目录下mysqldump文件位置:/usr/bin/mysqldumpmysqli配置文件:/etc/或/usr/share/mysql/数据目录在/var/lib/mysql目录下如果采用源代码安装,一般默认安装在/usr/local/mysql目录下
如何在linux下安装另一个linux
、安装包一般有四类: 1)tar包,如。 他是使用UNIX系统的打包工具tar打包的。 2)rpm包,如。 他是Redhat Linux提供的一种包封装格式。 包的管理工具YUM 3)dpkg包,如。 他是Debain Linux提供的一种包封装格式。 包的管理工具apt-get 4)bin包,如jdk-1_5_0_,有些Linux软件不公开源代码,只发布二进制可执行程序,这类程序一般会以bin来标记。 2、tar一般安装方法 1)取得应用软件:通过下载、购买光盘的方法获得; 2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。 如果是最常见的gz格式,则能执行:“tar -xvzf 软件包名”,就能一步完成解压和解包工作。 如果不是,则先用解压软件,再执行“tar -xvf 解压后的tar包”进行解包; 3)阅读附带的INSTALL文件、README文件; 4)执行“./configure”命令为编译做好准备; 5)执行“make”命令进行软件编译; 6)执行“make install”完成安装; 7)执行“make clean”删除安装时产生的临时文件。 一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。 3、rpm包一般安装方法只需简单的一句话,就能说完。 执行: rpm -ivh rpm软件包名 rpm参数参 数 说 明-i 安装软件-t 测试安装,不是真的安装-p 显示安装进度-f 忽略所有错误-U 升级安装-v 检测套件是否正确安装4、deb包一般安装方法 dpkg -i deb软件包名 如:dpkg -i 5、bin包一般安装方法1)、打开一个SHELL,即终端2)、用CD 命令进入源代码压缩包所在的目录3)、给文件加上可执行属性:chmod +x ******(中间是字母x,小写)4)、执行命令:./******(realplayer for linux就是这样的安装包),执行安装过程中可以指定安装目录,类似于Windows下安装。
Linux rpm包安装!!!
很明显是有依赖性的,建议使用yum安装,方法如下:(1)挂载光盘:mount /dev/scd0 /mnt(2)配置yum仓库vi /etc/.d/(是自定义的,但是一定要以repo结尾系统才能识别到)[rhel-ClusterStorage] (仓库名称)name=rhel-ClusterStorage (描述)baseurl=file:///mnt/ClusterStorage (安装源,也可以使用ftp或http形式)enabled=1 (是否启用此仓库,1是启用,0是不启用)gpgcheck=1 (1是代表检测gpgkey,0是不检测)gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release(系统key位置,红帽系统都是放在此处)[rhel-Cluster]name=rhel-ClusterStoragebaseurl=file:///mnt/Clusterenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[rhel-Server]name=rhel-Serverbaseurl=file:///mnt/Serverenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[rhel-VT]name=rhel-VTbaseurl=file:///mnt/VTenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release最后保存退出,并执行:yum clean all (清除yum仓库缓存)(3)就可以很方便的使用yum安装软件包了,例如:yum install stardict* 或者 yum groupinstall Virtualization
发表评论