`

rpm包指定安装路径

 
阅读更多

rpm包一般都有默认的安装路径,如何你要更改默认路径,有没有办法呢?当然有。我们来看下面的例子。
比如在安装JDK (Java Development Kit)或JRE (Java Runtime Environment)时,这个RedHat package文件的默认安装路径是/usr/java。如果你要安装在其它路径下,例如要放到/home/java目录下,该如何做呢?
一、首先查看rpm包的详细信息
[root@Oracle ~]# rpm -qpi jdk-6u43-linux-amd64.rpm
Name        : jdk                          Relocations: /usr/java
Version    : 1.6.0_43                          Vendor: Oracle and/or its affiliates.
Release    : fcs                          Build Date: Fri 01 Mar 2013 09:03:27 PM CST
Install Date: (not installed)              Build Host: jb6-lin-amd64.sfbay.sun.com
Group      : Development/Tools            Source RPM: jdk-1.6.0_43-fcs.src.rpm
Size        : 127075557                        License: Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. Also under other license(s) as shown at the Description field.
Signature  : (none)
Packager    : Java Software <jre-comments@java.sun.com>
URL        : http://www.oracle.com/technetwork/java/javase/overview/index.html
Summary    : Java(TM) Platform Standard Edition Development Kit
Description :
The Java Platform Standard Edition Development Kit (JDK) includes both
the runtime environment (Java virtual machine, the Java platform classes
and supporting files) and development tools (compilers, debuggers,
tool libraries and other tools).


The JDK is a development environment for building applications, applets
and components that can be deployed with the Java Platform Standard
Edition Runtime Environment.


这个JDK是默认要装在/usr/java 下的。

 

下面我们这样来设置参数,就可以把JDK装在你指定的目录下。
[root@linuxidc ~]# rpm -i --badreloc --relocate /usr/java=/home/java jdk-6u43-linux-amd64.rpm
Unpacking JAR files...
        rt.jar...
        jsse.jar...
        charsets.jar...
        tools.jar...
        localedata.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
ln: creating symbolic link `/usr/java/jdk1.6.0_43': No such file or directory
参数释义:
badreloc是强制把文件安装到你想要的地方。
relocate就是只把应该装到oldpath下的文件安装到newpath,实现将一部分文件安装到其它的路径,而不是把所有的这个包的文件都替换。
但是无论是prefix还是relocate都不见得可以真正可以用,因为有的包或者文件不允许装到其他路径,比如oracleasm-support-2.1.8-1.el6.x86_64.rpm


[root@oracle ~]# rpm -qpi oracleasm-support-2.1.8-1.el6.x86_64.rpm
warning: oracleasm-support-2.1.8-1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Name        : oracleasm-support            Relocations: (not relocatable)
Version    : 2.1.8                            Vendor: Oracle Corporation
Release    : 1.el6                        Build Date: Sat 09 Feb 2013 06:46:49 AM CST
Install Date: (not installed)              Build Host: ca-build44.us.oracle.com
Group      : System Environment/Kernel    Source RPM: oracleasm-support-2.1.8-1.el6.src.rpm
Size        : 221696                          License: GPL
Signature  : RSA/8, Sat 09 Feb 2013 06:50:30 AM CST, Key ID 72f97b74ec551f03
Packager    : Joel Becker <joel.becker@oracle.com>
URL        : http://oss.oracle.com/projects/oracleasm/
Summary    : The Oracle Automatic Storage Management support programs.
Description :
Tools to manage the Oracle Automatic Storage Management library driver


not relocatable不能重定位,是无法修改安装目录的,只有去掉 --prefix参数了。


[root@linuxidc ~]# java -version
-bash: /usr/bin/java: No such file or directory
这时没有显示JAVA版本号,是因为环境变量还没修改。
下面修改一下JAVA的环境变量
[root@linuxidc jdk1.6.0_43]# vi /etc/profile
JAVA_HOME=/home/java/jdk1.6.0_43
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
"/etc/profile" 85L, 1961C written


[root@linuxidc jdk1.6.0_43]# source /etc/profile
使环境变量生效。
再查看,就有JAVA版本号显示了。
[root@linuxidc jdk1.6.0_43]# java -version
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)

 


补充一下:
在安装JDK时,需要查看一下原系统是否有其他的JAVA版本号,如果跟你要装的不一致,请卸载后再装。
[root@linuxidc ~]# java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
进行查找
[root@linuxidc ~]# rpm -aq |grep java
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
tzdata-java-2013g-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
强制卸载
[root@linuxidc ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
[root@linuxidc ~]# rpm -aq |grep java
tzdata-java-2013g-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
[root@linuxidc ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
再检查,发现已卸载干净。
[root@linuxidc ~]# java -version
-bash: /usr/bin/java: No such file or directory

 

RPM包创建入门  http://www.linuxidc.com/Linux/2015-02/113559.htm

如何在Linux中创建RPM包?  http://www.linuxidc.com/Linux/2012-05/60278.htm

制作自己的rpm包 http://www.linuxidc.com/Linux/2013-06/86435.htm

Linux 下rpm安装后的目录结构和一些配置 http://www.linuxidc.com/Linux/2013-06/85761.htm

rpm与yum的综合性介绍与示例演示 http://www.linuxidc.com/Linux/2013-05/84480.htm

Redhat Linux---rpm 命令详解 http://www.linuxidc.com/Linux/2013-03/81971.htm

使用FPM轻松制作RPM包 http://www.linuxidc.com/linux/2014-06/103019.htm

 

参考至:http://www.linuxidc.com/Linux/2015-05/117967.htm

如有错误,欢迎制作

邮箱:czmcj@163.com

分享到:
评论

相关推荐

    CentOS7使用rpm包安装mysql 5.7.18

    说明 本文写于2017-05-20,使用MySQL-5.7.18...1、查看已安装的MariaDB相关rpm包。 rpm -qa | grep mariadb 2、查看已安装的MariaDB相关yum包,包名需根据rpm命令的结果判断。 yum list mariadb-libs 3、移除已安装

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    1)rpm格式包安装配置 1.1 下载以rpm后缀名的包,以11.2.0.4.0 版本为例,其中基础包basic、sql*plus、devel包建议默认下载,其他包视情况而定: oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包...

    oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

    1)rpm格式包安装配置 1.1 下载以rpm后缀名的包,以11.2.0.4.0 版本为例,其中基础包basic、sql*plus、devel包建议默认下载,其他包视情况而定: oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包...

    正确的yum.docx

    yum是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,yum从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载rpm包并且安装 yum工作机制:服务器端:在服务器上面存放了所有的RPM软件包,以...

    im4java-ImageMagick图片压缩处理

    因为im4java是基于imagemagick的commandline进行调用的java接口,不...其实安装imagemagick在任何平台都是一样的安装,在linux下面有rpm包,安装那个包,指定目录就可以了。windows一样,安装并指定安装路径就可以了。

    MySQL安装教程.pdf

    对于Linux用户,可以选择RPM、DEB或TAR包等。 二、安装MySQL 1. Windows系统安装 对于Windows用户,如果选择MSI安装包,可以双击安装包进行安装。安装过程中,可以根据提示进行配置,如选择安装路径、设置数据库...

    Linux解压文件到指定目录的方法

    本文介绍了Linux解压文件到指定目录的方法,分享给大家,具体如下: tar在Linux上是常用的打包、压缩、加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 参数: -c :create 建立压缩档案的参数; -...

    libncurses.so.5附安装方法

    libncurses.so.5是linux系统运行的用到的一个文件,如果在运行的时候提示“libncurses.so.5缺失”,可以下载libncurses.so.5文件,并放到指定的位置后就可以正常运行了,需要此款工具的朋友们可以前来下载使用。...

    Linux命令笔记

    2:RPM包安装服务的管理 2.1:独立服务的管理 2.2:基于xinetd服务的管理 3:源码包安装服务管理 3.1:源码包安装服务的启动 3.2:源码包服务的自启动 3.3:让源码包服务被服务管理器命令识别 第七部分:启动管理 ...

    在Linux和Windows系统上安装Nginx服务器的教程

    如果需要更新版本,可以使用官方制作的 rpm 包,或者使用源码包编译安装。 还可以使用一些二次开发功能增强的 nginx 版本,例如淘宝的 Tengine 和 OpenResty 都是不错的选择。 1.1 常用编译参数  –prefix=PATH:...

    centos7.zip

    各个rpm包; 元数据: 数据文件 包名、版本信息、各包所包含的文件列表、依赖关系、包分组信息 centos5: xml, centos6,7: sqlite createrepo: 制作yum仓库元数据的工具 yum客户端:  指供...

    大数据linux命令.pdf

    进程管理 ps -aux:查看当前进程 kill 进程号 杀死进程 14.rpm和yum包管理器 rpm相当于windows的setup.exe 14.1 rpm –qa 查询已安装的rpm列表 rpm -e firefox 卸载软件包 14.2 yum管理器可以⾃动下载RPM包并安装 15...

    linux安装与配置简明手册

    本书详细介绍如何在个人电脑上安装配置Caldera和Red Hat两种发行版本的Linux操作系统,并能帮助用户解决安装和配置过程中出现的各种问题。本书既能指导你进行基本的安装步骤,也能指导你定制独具特色的Linux 操作...

    Tftp服务器配置与使用.docx

    进入共享文件夹MyShare,将tftp组件的rpm包拷贝到根目录下的home目录中,使用命令rpm -ivh [软件包的完整路径],完成安装。 [root@localhost home] #cp -rf /mnt/hgfs/MyShare/t ./ Tftp服务器配置与...

    MySQL数据库系统.docx

    MySQL安装: 确认没有使用rpm方式安装的mysql-server、mysql软件包 创建运行用户: useradd –M –u 49 –s /sbin/nologin mysql 配置: ./configure--prefix=/usr/local/mysql--with-charset=utf8 --with-...

    LINUX安装与配置简明手册

    本书详细介绍如何在个人电脑上安装配置Caldera和Red Hat两种发行版本的Linux操作系统,并能帮助用户解决安装和配置过程中出现的各种问题。本书既能指导你进行基本的安装步骤,也能指导你定制独具特色的Linux 操作...

    oracle 11g安装配置

    通过 -jreLoc 参数指定中文Java环境的路径 [root@dbserver ~]# su - oracle [oracle@dbserver ~]$ cd /var/ftp/pub/database/ [oracle@dbserver database]$ ./runInstaller -jreLoc /usr/lib/jvm/jre-1.6.0 正在...

    Linux常用的命令。。。。。

    rpm包: rpm –i (install) 包名 -v(显示信息) 包名 -h (show) yum库: 将许多包关联,使包可以一起安装不需要用rpm 一个一个的装 ldap:统一名字(在服务器上) authconfig-tui 打开ldap 空格键 确定选中 用...

    xshell常用命令.docx

    find .-name .rpm 在当前目录中查找rpm包 find .|grep page 在当前目录及其子目录中查找文件名包含page的文件 locate traceroute 在系统的任何地方查找文件名包含traceroute的文件 10.命令vi——编辑文件 vi /etc/...

    tizen-buildroot:从头开始准备 buildroot 目录的脚本,用于 Tizen 系统

    您可以指定需要构建哪些 rpm: sudo ./build_rpms.sh mipsel "argp-standalone acl" 一些必需的主机工具: help2man, flex, flex-devel, ncurses-devel, texinfo, texinfo-tex, gettext-devel, rc

Global site tag (gtag.js) - Google Analytics