Linux服务器 如何安装pkg包 软件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux服务器 如何安装pkg包 软件相关的知识,希望对你有一定的参考价值。

linux不是流行发行版,也没有安装gcc。不过在线升级可以安装pkg包。不过手动上传pkg包不知如何安装。没有找到pkg-add等命令。pkg包是什么发行版的安装包?如何在线安装他们呢?可以在本地编译二进制软件然后配置到服务器上吗?或者如何在服务器上安装gcc呢
现在用的这个服务器linux不是centos,suse等等流行版,而是根据特定要求简化的一个版本。web在线升级可以安装pkg包。但不知如何手动ssh安装软件。
--------------------------
用ubuntu时常用dpkg,但这个系统对这些命令都无动于忠。不知系统是如何安装上pkg包的。系统很多软件都是以pkg为扩展名。

pkg ?
没见过……貌似是非常偏门的 Linux 系统吧……
你看看 /etc/ 里面有没有什么含有 release 的文件,这个文件里面一般是发行版的名字和版本
另外 /etc/issue 和类似的文件里面是登录的提示信息,一般这个提示也是发行版的名字和版本
你先确定具体用的是哪种系统弄来的吧……

或者是 FreeBSD ?好像 bsd 系列的扩展名是 pkg 。
参考技术A 如果用是CentOS的话,可以直接安装gcc yum install gcc* -y 参考技术B dpkg -i 软件包名
dpkg --help 查看帮助
参考技术C 安装pkg包方法:
1.软件安装包的格式转换
(1)把标准的文件系统格式的软件安装包转换成数据流格式。
把Solaris安装介质放入光驱中。然后按以下示例操作,生成一个包含SUNWadmap、SUNWadmc、SUNWadmr这三个软件包的数据流格式的大包:
# cd /cdrom/cdrom0/Solaris*
# pkgtrans ./Product /tmp/3.pkg SUNWadmap SUNWadmc SUNWadmr
# file /tmp/3.pkg
/tmp/3.pkg: 软件包数据流
# head /tmp/3.pkg
# PaCkAgE DaTaStReAm
SUNWadmap 1 618
SUNWadmc 1 928
SUNWadmr 1 68
# end of header
BASEDIR=/
CATEGORY=system
DESC=Software used to perform system administration tasks
EMAIL=
HOTLINE=Please contact your local service provider

(2)把数据流格式的软件安装包转换成标准的文件系统格式。
仅提取SUNWadmap软件包,并保存在/var/spool/pkg目录
# pkgtrans /tmp/3.pkg /var/spool/pkg SUNWadmap

提取所有的软件包,并保存在/tmp目录
# pkgtrans /tmp/3.pkg /tmp all

如果pkgtrans命令的最后不指定具体的软件包的话,则命令运行后会显示所有可转换的包的列表并提示进行选择。
2.查看软件包的描述信息
pkginfo命令可以显示所有安装在本地系统磁盘的的软件包信息。在/var/sadm/pkg/目录中保留了一个所有已安装包的记录,可用以下两条命令查看安装的包总数。
# ls /var/sadm/pkg | wc -l.
# pkginfo | wc –l 仅查看完整安装的软件包数量,等同于pkginfo –i | wc –l
其他常见用法:
# pkginfo | more 查看系统安装了哪些包
# pkginfo –l | more
# pkginfo –l SUNWxxx 特定包的具体信息,SUNW代表SUN系统的软件
# pkginfo –d ./top-3.6-sol10-x86-local 查看安装包中包含的软件包信息
application SMCtop top #软件包为SMCtop,SMC说明是第三方软件
# pkginfo –d ./top-3.6-sol10-x86-local –l SMCtop 查看SMCtop的信息

3.添加软件包
(1)在默认情况下,pkgadd命令会查看/var/spool/pkg目录中是否有标准格式的软件包并列出所有可安装的软件包,是否安装进行安装(关于/var/spool/pkg目录的使用详见下文“使用spool目录”):
# pkgadd
pkgadd: ERROR: 在</var/spool/pkg>中没有发现包
(2)如果标准软件包在其他目录(非/var/spool/pkg)中,可用-d选项,示例如下。
# pkgadd -d /tmp/soft ---------自动寻找/tmp/soft目录中可安装的软件包
# pkgadd -d . SMCtop ---------仅安装SMCtop软件包
(3)如果要直接安装数据流格式的软件包,可用以下命令:
# pkginfo -d $HOME/top-3.6-sol10-x86-local -------查看包含哪些软件包
application SMCtop top
# pkgadd -d ./top-3.6-sol10-x86-local [all] -------“[ ]”中为可选项
(4)可以把数据流格式的软件包都导到/var/spool/pkg目录并以标准格式存放:
# pkgadd -d $HOME/top-3.6-sol10-x86-local -s /var/spool/pkg SMCtop
Transferring <SMCtop> package instance
或者使用pkgtrans命令把软件包从数据流格式转换成标准文件系统格式:
# pkgtrans $HOME/top-3.6-sol10-x86-local /var/spool/pkg [SMCtop]
Transferring <SMCtop> package instance

然后用pkgadd命令进行安装。
4.检查已安装的软件包
(1)检查自系统安装以来,所有有变动的文件:
# pkgchk
ERROR: /etc/default/login
modtime <01/22/05 07:28:36 AM> expected <04/16/07 02:26:23 PM> actual
file size <2258> expected <2259> actual
file cksum <57347> expected <57382> actual
<……>

(2)检查特定软件包的变动情况:
# pkgchk SUNWbash

(3)查看软件包中包括哪些文件:
# pkgchk -v SUNWcarx

(4)检查特定文件自安装以来的变化修改时间、文件大小、checksum等:
# pkgchk -p /etc/shadow

(5)查看特定文件的信息,特别是属于哪个软件包,必须全路径:
# pkgchk -l -p /usr/bin/showrev
pkgchk的其他参数选项说明:
-a:只审核文件属性。l
-c:只审核文件内容,默认是都审核。l
-f:尝试进行纠正。
参考技术D 信息 不够全面,最好帖出uanme -a的信息好判断是什么系统

Linux 下如何安装软件

一、解析Linux应用软件安装包 
通常Linux应用软件的安装包有三种:

1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。

2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式

3) dpkg包,如software-1.2.3-1.deb。它是Debain Linux提供的一种包封装格式

而且,大多数Linux应用软件包的命名也有一定的规律,它遵循:

名称-版本-修正版-类型

例如:

1)software-1.2.3-1.tar.gz 意味着:

软件名称:software

版本号:1.2.3

修正版本:1

类型:tar.gz,说明是一个tar包。

2)sfotware-1.2.3-1.i386.rpm

软件名称:software

版本号:1.2.3

修正版本:1

可用平台:i386,适用于Intel 80x86平台。

类型:rpm,说明是一个rpm包。

注:由于rpm格式的通常是已编译的程序,所以需指明平台。在后面会详细说明。

而software-1.2.3-1.deb就不用再说了吧!大家自己练习一下。

二、了解包里的内容
一个Linux应用程序的软件包中可以包含两种不同的内容:

1)一种就是可执行文件,也就是解开包后就可以直接运行的。在Windows中所 有的软件包都是这种类型。安装完这个程序后,你就可以使用,但你看不到源程序。而且下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。

2)另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。

通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各种问题和困难。而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序的。你可以根据自己的情况来选择。

三、搞定使用tar打包的应用软件
1. 安装:

整个安装过程可以分为以下几步:

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特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。

2. 卸载:

通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。

那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是Kinstall和Kife,它们是tar包安装、卸载的黄金搭档。它们的使用方法,笔者会另行文介绍。在此就不加赘述了。

四、搞定使用rpm打包的应用软件
rpm可谓是Redhat公司的一大贡献,它使Linux的软件安装工作变得更加简单容易。

1. 安装:

我只需简单的一句话,就可以说完。执行:

rpm –ivh rpm软件包名

更高级的,请见下表:

rpm参数 参 数 说 明
-i 安装软件
-t 测试安装,不是真的安装
-p 显示安装进度
-f 忽略任何错误
-U 升级安装
-v 检测套件是否正确安装

这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。

2. 卸载:

我同样只需简单的一句话,就可以说完。执行:

rpm –e 软件名

不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:

rpm –ivh software-1.2.3-1.i386.rpm

而当卸载时,则应执行:

rpm –e software。

另外,在Linux中还提供了象GnoRPM、kpackage等图形化的RPM工具,使得整个过程会更加简单。这些软件的具体应用,笔者会另行文介绍。

五、搞定使用deb打包的应用程序
这是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得更早,所以在各种版本的Linux都常见到。而debian的包管理器dpkg则只出现在Debina Linux中,其它Linux版本一般都没有。我们在此就简单地说明一下:

1. 安装

dpkg –i deb软件包名

如:dpkg –i software-1.2.3-1.deb

2. 卸载

dpkg –e 软件名

如:dpkg –e software

以上是关于Linux服务器 如何安装pkg包 软件的主要内容,如果未能解决你的问题,请参考以下文章

Linux 包管理基础:aptyumdnf 和 pkg

为啥anaconda下载到D盘是.pkg,如何安装呢

如何在 Linux 中安装漂亮的 GTK+ 扁平化主题 Arc

Linux rpm安装Jenkins应用服务

Linux From Scratch(LFS11.0)构建 LFS 系统 - Pkg-config-0.29.2

Linux From Scratch(LFS11.0)构建 LFS 系统 - Pkg-config-0.29.2