`
flashdream8
  • 浏览: 688944 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux后缀为tar.gz的安装方法 RPM 安装

阅读更多
Linux后缀为tar.gz的安装方法

  现在tar.gz的东西不多了。

  大多以tar.gz 和tar.bz2打包软件,大多是通过 ./configure ;make ;make install 来安装的;有的软件是直接make;make install ;

  我们可以通过./configure --help 来查看配置软件的功能;大多软件是提供./configure 配置软件的功能的;少数的也没有,如果没有的就不用./configure ;直接make;make install 就行了;

  ./configure 比较重要的一个参数是 --prefix ,用--prefix 参数,我们可以指定软件安装目录;当我们不需要这个软件时,直接删除软件的目录就行了;

  比如我们可以指定fcitx 安装到 /opt/fcitx 目录中;

  [root@localhost fcitx]#./configure --prefix=/opt/fcitx

  如果我们不需要fcitx 时,可以直接删除 /opt/fcitx 目录;

  所以我们举这个例子中,fcitx如果定制安装到 /opt/fcitx目录中,完整的安装方法应该是:

  [root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2
  [root@localhost fcitx]#cd fcitx
  [root@localhost fcitx]# ./configure --prefix=/opt/fcitx
  [root@localhost fcitx]# make
  [root@localhost fcitx]# make install
注意:
*******************************
rpm是个功能十分强大的软件包管理系统,他使得linux下的安装,升级和删除软件包的工作非常简单易行,并且更有查询,验证软件包的功能。和图像化工具相比,使用命令的方式理灵活,更强大。
下面介绍的内容 都 以 example.1.2.3-1.i386 软件包为例来介绍安装,升级,更新用查询等操作和安装使用.
1:安装,升级和更新
rpm -i 安装一个新的软件包。
rpm -U 升级一个系统中已有的软件包,如果不存在就进行安装。
rpm -F 更新一个软件包,如果软件包不存在就不进行安装。
通常这几项还往往配合其他的一些参数使用,比如显示安装过程中的信息及显示安装进度等:
-v 选项表示安装时显示各种信息,如安装路径及安装了什么内容。
-h 选项将会在rpm安装时显示安装的进度条,这能监视系统安装进程。
因此,一般想要安装软件包,最常用的命令形式就是联合使用-Uvh三个参数,以前面介绍的安装软件包example为例,输入软件包安装命令:
[root@localhost root]# rpm -Uvh example-1.2.3-1.i386.rpm
其中 example-1.2.3-1.i386.rpm 是软件包的全名,用 1.2.3 -1表示软件包的版本,i386表示软件包适用于x86系统。
2:删除
删除一个软件包的命令是:
[root@localhost root]# rpm -e example
需要注意,这里删除使用的是软件名而不是软件包的全名。
3:查询
不仅能查询系统中已安装的rpm软件包,还能查询某个rpm软件包安装 文 件中包含的文件清单。
  1)列出用户已安装的rpm软件包
        如果想查询在系统中安装的软件包信息,或是确定某个软件包是否安装,使用 rpm -qa(query all),即可查询已安装的软件包列表;
       如果是查看某个已安装的软件包,如example的信息,则使用rpm -q example.
  2)查看一个rmp包中包括的文件
        查看某个软件包中包含的文件清单,有两种情况:
如果是未安装的软件包example,则使用
[root@localhost root]# rpm -qlp example-1.2.3-1.i386.rpm
如果是已安装的软件包,则使用
[root@localhost root]# rpm -pl example
  3)确定某个文件属于哪个rpm包
        如果遇见了不认识的文件,想要找出他属于那个软件包,则首先记录这个文件的完整路径,然后使用如下命令:
[root@localhost root]# rpm -qf  filename
-qf 选项表示查询文件,filename需要完整的文件路径。
  4)查询rpm包的用途
       有的rpm包会利用附加信息来包含他的用途信息,这样用户能更方便 地在安装或使用时查询每个软件包的用途,版本等信息,命令如下:
[root@localhost root]# rpm -qip example-1.2.3-1.i386.rpm
4:验证
验证一个软件包,就是比较原始包和已安装包中文件的信息。具体来说,这些信息包括每个文件的大小,MD5校验和访问许可权,类型及所属的用户和组等。
使用命令选项-V能验证一个包,常用的情况有以下几种:
   a:验 证包含某个特别文件的软件包,输入命令
[root@localhost root]# rpm -Vf example
    b:验证所有已安装的软件包
[root@localhost root]# rpm -Va
在linux下更通用的一种软件安装方式是 *.tar.gz/*.bz2形式的二进制软件包。这类软件包是用tar工具打包,用gzip/bzip2压缩的,安装时要先解压缩,然后按如下的步骤进行安装.这类软件包为了能够在多种操作系统中使用,通常需要在安装时进行本地编译,然后产生可用的二进制文件。
1:获得软件
应用软件能从网上下载,购买光盘或是其他渠道获得,目前主要是从网上下载。
2:解压
一般的tar包,都会再做一次压缩,为的是更小更容易下载,常见的是用gzip压缩,用命令 tar -zxvf  *.tar.gz ,就可完成解压或解包文件。
3:阅读附带的install和readme文件
通常tar包会包含名为install和readme的文件,提示用户安装及编译的过程。
4:执行 ./configure 命令为编译做准备
这一步通常是用来设置编译器及确定其他相关的系统参数。
5:运行make
经过 ./configure 后,将会产生用于编译用 的MakeFile,这时运行make命令,真正开始编译;
6:make install
这一步会把编译产生的可执行文件复制到正确的位置。
7:清除临时文件
运行 make clean
安装的命令怎么执行,一般都会在install和readme文件中有说明,通常产生的可执行文件会被安装到/usr/local/bin目录下。
tar包的安装,用户能自己编译安装源程式,虽然设置灵活,不过会出现话多的问题,他适合linux有一定经验的用户,不推存初学者使用。。


rpm -ivh [install_options] package
       --prefix ;
              This  sets  the  installation  prefix to ; for
              relocatable packages.
       --relocate ;=;
              For relocatable packages, translates the files that
              would be put in ; to ;.
       --badreloc
              To  be  used  in  conjunction with --relocate, this
              forces the relocation even  if  the  package  isn’t
              relocatable.
       --noorder
              Don’t reorder the packages for an install. The list
              of packages would normally be reordered to  satisfy
              dependancies.
有些软件包是以.src.rpm结尾的,这类软件包是包含了原始码的rpm包,在安装时
需要进行编译。这类软件包有两种安装方法,
方法一:
1.执行rpm -i your-package.src.rpm
2. cd /usr/src/redhat/SPECS
3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件
4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
5. ./configure 这一步和编译普通的源码软件相同,能加上参数
6. make
7. make install
方法二:
1.执行rpm -i you-package.src.rpm
2. cd /usr/src/redhat/SPECS
前两步和方法一相同
3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件
这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等)
在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
执行rpm -i new-package.rpm即可安装完成。

怎么不安装不过获取rpm包中的文件
使用工具rpm2cpio和cpio
rpm2cpio xxx.rpm | cpio -vi
rpm2cpio xxx.rpm | cpio -idmv
rpm2cpio xxx.rpm | cpio --extract --make-directories
参数i和extract相同,表示提取文件。v表示指示执行进程
d和make-directory相同,表示根据包中文件原来的路径建立目录
m表示保持文件的更新时间。
注意:
rpmdb: Lock table is out of available locker 错误
操作命令:
# rpm -qa 

错误信息:
rpmdb: Lock table is out of available locker entries
rpmdb: Unknown locker ID: 1149
error: db4 error(22) from db->close: 无效的参数
error: cannot open Packages index using db3 - 无法分配内存 (12)
error: cannot open Packages database in /var/lib/rpm

错误原因:
使用rpm命令时,rpm先访问BDB数据库,设置一个临时锁。如果在它运行时意外中断,未释放这个临时锁,那么rpm就很可能会出错误。

解决办法:
# cd /var/lib/rpm
# rm -rf __db.00*
# rpm --rebuilddb
分享到:
评论

相关推荐

    最新版linux jdk-8u241-linux-x64.tar.gz 64位

    在Linux环境下安装JDK 8u241,首先需要下载提供的压缩包文件`jdk-8u241-linux-x64.tar.gz`。这个文件是一个tar归档文件,后缀`.gz`表示它使用gzip压缩算法。Linux用户通常会用以下步骤来解压并安装: 1. **下载文件...

    LibreOffice_7.2.5_Linux_x86-64_deb.tar.gz

    在给定的压缩包"LibreOffice_7.2.5_Linux_x86-64_deb.tar.gz"中,我们可以找到适用于Linux操作系统的64位版本的LibreOffice 7.2.5。 首先,让我们详细了解一下LibreOffice的组件和功能: 1. Writer:这是...

    tcp-wrappers-devel-7.6-77.el7.x64-86.rpm.tar.gz

    tcp-wrappers-devel-7.6-77.el7.x64-86.rpm.tar.gz文件包及其相关依赖的安装,不仅需要理解tar.gz压缩包的解压和rpm工具的使用,还需要对TCP_Wrappers的用途有所了解。此外,熟悉Linux下的依赖关系处理也是顺利完成...

    rpm-4.11.3-48.el7-9.x64-86.rpm.tar.gz

    rpm-4.11.3-48.el7_9.x86_64-86.rpm.tar.gz是一个压缩包,包含了rpm包和相关的安装文档,适用于基于Red Hat的Linux系统,其安装过程简单明了,分为解压和安装两个步骤,用户需按照指导进行操作,并参考readme文档...

    acl-2.2.53.tar.gz

    这个压缩包遵循Unix/Linux的打包和分发标准,`.tar.gz` 后缀表明它是用 `tar` 命令打包,然后用 `gzip` 压缩的。这种格式既方便了文件的归档,又减小了文件的存储空间。 在Linux环境中,我们可以使用以下步骤来解压...

    pcre2-10.23-2.el7.x64-86.rpm.tar.gz

    pcre2-10.23-2.el7.x64-86.rpm.tar.gz包是一个为64位和32位系统准备的pcre2正则表达式库的安装包,包含了必要的依赖包,使用RPM包管理器安装。解压、安装、解决依赖关系是整个过程的关键步骤,而全程的安装指导则为...

    jdk-6u21-linux-x64-rpm.tar.gz

    总的来说,"jdk-6u21-linux-x64-rpm.tar.gz"这个文件包含了一个旧版的Java 6开发工具包,适用于64位Linux系统,通过RPM格式进行安装。对于需要这个特定版本的开发者或系统管理员来说,这个压缩包是一个宝贵的资源,...

    libvpx-devel-1.3.0-8.el7.x64-86.rpm.tar.gz

    在本文档中,我们将深入探讨libvpx-devel-1.3.0-8.el7.x64-86.rpm.tar.gz这一软件包的安装过程以及其相关内容。libvpx-devel是Google开发的一个开源视频编码库VP8的开发工具集,它是WebM项目的一部分。它包含了用于...

    libXScrnSaver-devel-1.2.2-6.1.el7.x64-86.rpm.tar.gz

    本文所涉及的压缩包文件名为"libXScrnSaver-devel-1.2.2-6.1.el7.x64-86.rpm.tar.gz",这表明其内部包含了多个rpm格式的软件包以及可能的安装说明文件。rpm是Red Hat Package Manager的缩写,它是Linux系统中用于...

    jdk8-8u202-linux-x64.tar

    Java Development Kit 8版本8u202适用于Linux平台的64位系统的文件包包含了一系列的文件,其中最重要的文件名包括jdk-8u202-linux-x64.tar.gz以及readme.txt。在安装和使用这个版本的JDK之前,了解其文件结构和功能...

    pcp-libs-4.3.2-13.el7-9.x64-86.rpm.tar.gz

    文件标题中的“pcp-libs-4.3.2-13.el7-9.x64-86.rpm.tar.gz”指的是一组打包在一起的文件,其中包含了多个RPM软件包。文件标题中的“pcp”很可能指的是Performance Co-Pilot,这是一个用于性能监控和分析的跨平台...

    perl-DBI-1.627-4.el7.x64-86.rpm.tar.gz

    我们可以了解到一个具体的软件安装包实例——perl-DBI-1.627-4.el7.x86_64.rpm.tar.gz,这是一个由多个rpm格式的安装包组成的压缩包文件,通常用于在基于Red Hat的Linux发行版,如CentOS或Fedora中进行软件安装。...

    ttf-dejavu.tar.gz

    ".gz"后缀表示该tar文件已经过gzip压缩。 在Delphi编程环境中,开发者可能使用这些字体文件来改善他们的应用界面显示。Delphi是一个基于Object Pascal语言的集成开发环境(IDE),主要用于Windows平台上的桌面应用...

    recode-3.6-38.el7.x64-86.rpm.tar.gz

    首先,我们提到的压缩包文件名为“recode-3.6-38.el7.x64-86.rpm.tar.gz”。从这个文件名可以看出,压缩包内含的主文件名为“recode”,版本号为“3.6-38”,发行版为“el7”,并且是针对x64架构的。文件名后缀“....

    jdk-8u191-linux-x64.rpm下载 jdk-8u201-linux-x64.tar.gz 下载

    对于`.rpm`文件,可以使用`sudo rpm -ivh jdk-8u191-linux-x64.rpm`命令进行安装,对于`.tar.gz`文件,解压后需要将解压路径添加到系统环境变量中。例如,如果解压路径为`/usr/local/java/jdk1.8.0_201`,则需要在`...

    jdk-7u79-linux-x64.rar

    jdk1.7 64位官方正式版 jdk-7u79-linux-x64.tar.gz,某些人下载积分那么高,良心不会痛吗?低积分给大家,下载后解压,解压出来的文件改名字和后缀(.tar.gz)就可以了,主要是后缀,希望帮到大家

    cloud-utils-0.27-20.el7.centos.x64-86.rpm.tar.gz

    《cloud-utils-0.27-20.el7.centos.x64-86.rpm.tar.gz》安装指南详细解析 cloud-utils-0.27-20.el7.centos.x64-86.rpm.tar.gz是一个RPM格式的压缩包,包含了多个软件组件的安装文件。RPM(RPM Package Manager)是...

    perl-Locale-Maketext-1.23-3.el7.x64-86.rpm.tar.gz

    Locale-Maketext-1.23-3.el7.x64-86.rpm.tar.gz”中的“perl-Locale-Maketext-1.23-3.el7”表明该软件包是Perl语言的一个模块“Locale::Maketext”的第1.23版本,发行号为3,适用于基于Red Hat的Linux发行版(如...

    gnutls-c++-3.3.29-9.el7-6.x64-86.rpm.tar.gz

    标题中提到的文件名"gnutls-c++-3.3.29-9.el7-6.x64-86.rpm.tar.gz"表明这是一个包含多个rpm包的压缩文件,用于在Linux系统上安装和配置GnuTLS库,这是一个安全通信库,支持TLS协议和SSL协议,常用于网络通信中的...

    libodfgen-0.1.4-1.el7.x64-86.rpm.tar.gz

    标题中的"libodfgen-0.1.4-1.el7.x64-86.rpm.tar.gz"指明了文件的类型为压缩包,包含了名为libodfgen的软件包,版本为0.1.4,适用于基于el7(即企业版Linux 7,也就是CentOS或RHEL 7)的系统。文件格式为rpm,表明它...

Global site tag (gtag.js) - Google Analytics