Solaris 11配置IPS安装系统包(类似linux中的yum源)

简介: 参考:http://blog.chinaunix.net/uid-8860-id-3777457.html一、  概述:Solaris 11被称为第一个云操作系统,因此在很多方面体现了云系统的一些特点,在程序包管理方面,Solaris 11做了很大的修改,原有的一些方式方法都已经不再适用一些新的内容了。

参考:http://blog.chinaunix.net/uid-8860-id-3777457.html

一、  概述:

Solaris 11被称为第一个云操作系统,因此在很多方面体现了云系统的一些特点,在程序包管理方面,Solaris 11做了很大的修改,原有的一些方式方法都已经不再适用一些新的内容了。

Solaris 11的软件分发采用IPSImage Packaging System)方式进行分发,IPS里面存放了所有的Solaris11支持的软件包,软件包存放在叫repositories的库里面,通过publisher来进行发布,一般来说,操作系统安装完毕,缺省情况下IPS的分布包指向为ORACLE网站的更新release:

http://pkg.oracle.com/solaris/release 
     完整文档可参考我豆丁文档:http://www.docin.com/p1-671236987.html

二、  如何创建本地IPS

目前Solaris 11采用IPS的方式来分发软件,补丁程序也是通过SRU的方式来进行更新,不再出类似Solaris 10及以前的形式的补丁号和补丁集了,因此,Solaris 11下所有软件包的更新都必须使用IPS

安装Solaris 11使用的txt光盘,在初始化安装的时候,只安装了kernel以及比较核心和常用的软件,其他软件一概不安装,如果需要安装就须通过IPS进行操作系统的更新。

如果需要创建IPS,必须在oracle网站下载repo的文件,以下为SPARCX86合并的一个repo文件两个下载部分连接:

http://download.oracle.com/otn/solaris/11_1/sol-11_1-repo-full.iso-a

http://download.oracle.com/otn/solaris/11_1/sol-11_1-repo-full.iso-b

下载后把这两个文件ftp到系统里面,放在诸如/opt/sun/os目录下,使用以下命令将这个两个文件合并成一个完整的ISO文件:

# cd /opt/sun/os

# cat sol-11_1-repo-full.iso-a sol-11_1-repo-full.iso-b > sol-11_1-repo-full.iso

创建IPS有两个方法,第一个方法就是直接使用ISO文件,第二方法使用拷贝的方法。

1.   直接ISO文件方法

如果直接使用ISO文件方法,对客户来说,这只是一个临时的方法,除非使用相关脚本来设置,使得机器reboot后仍然能够使用。

# lofiadm -a /opt/sun/os/sol-11_1-repo-full.iso(创建lofi设备/dev/lofi/1)

# mkdir /repo

# mount –F hsfs /dev/lofi/1 /repo

# pkg set-publisher –g file:///repo/repo solaris(直接发布IPS软件包)

此时,IPS发布完毕,可以使用pkg publisher命令查看发布信息,结果和以下信息类似:

# pkg publisher

PUBLISHER                   TYPE     STATUS P LOCATION

solaris                     origin   online F file:///repon/repo/

 

至此就可以使用pkg install来进行软件的安装了,比如pkg install soalris-desktop来安装Solaris 11的图形界面程序了。也可以使用pkg list|grep solaris-desktop命令来查看相关软件信息了,比如pkg list solaris-desktop输出如下:

# pkg list solaris-desktop

NAME (PUBLISHER)                                  VERSION                    IFO

group/system/solaris-desktop                      0.5.11-0.175.1.0.0.24.3    i—

 

2.   第二种创建本地IPS的方法

Solaris 11系统中创建永久的和性能较好的IPS,可以采用第二种拷贝的方法。

IPS支持两种类型的repositoryoriginmirror方式。origin方法里面包含了repository的所有数据,比如catalogs,manifestssearch indexes,是一种性能比较好和安全性较高的存放方法,而mirror方法存放的repository里面只包含了文件。

a.   创建zfs文件系统

# zfs create rpool/export/repoSolaris11

# zfs set atime=off rpool/export/repoSolaris11(atime关闭,主要是为了获取高性能)

b.   原始文件访问设置

IPS的源文件即为sol-11_1-repo-full.iso,假设ISO文件mount到了/reposource目录下,将ISO文件的所有内容拷贝到上面步骤中创建的zfs文件系统中。

# lofiadm –a /opt/sun/os/ sol-11_1-repo-full.iso(产生/dev/lofi/1文件)

# mount –F hsfs /dev/lofi/1 /reposource

# rsync -aP /reposource /export/repoSolaris11

(rysnc命令主要可以支持增量拷贝,如果是一个全新的目录,该命令和tar功效一样)

使用tar命令来拷贝方法如下:

# cd /resposource; tar cf - . |(cd /export/repoSolaris11; tar xf -)

拷贝完毕文件后,就可以创建search的索引了,方法如下:

# pkgrepo -s /export/repoSolaris11 refresh

至此就可以使用pkg set-publisher来进行发布了,根据不同的使用目的,可以采用不同的发布方法,以下主要介绍NFSHTTP的方法。

三、  IPS发布方法介绍

IPS只有分布给系统后,才能进行软件包的安装和系统软件包的updateIPS的发布方法根据不同的需求有多种方法相适应之。如果用local方式的话,那么每台主机系统都需要进行IPS包的下载和分布,这样会造成网络上大量数据的传输,管理员需要花费大量的时间进行数据的拷贝和传输,造成了管理上的不方便,也使得云操作系统优势无法尽情发挥。

1.   采用NFS方式分布

该方法只要在一台主机系统上进行IPS包的部署,然后其他各主机通过NFS的方式进行软件包的获取和升级更新,部署的方法可以参考以上的创建local IPS方法的第二种方法,只是创建ZFS文件系统时候需要打开NFS,具体方法如下:

# zfs create rpool/export/repoSolaris11

一般solaris 11操作系统采用zfs封装系统盘,如果采用ufs的话,zfs create需要制定rpool名字以及磁盘等信息。

# zfs set share=name=solaris11repo,path=/export/repoSolaris11,prot=nfs rpool/export/repoSolaris11

注意zfs set share=name=solaris11repo只能在Solaris 11上使用,在10的任何版本不支持。

# zfs set sharenfs=on rpool/repoSolaris11

# pkg set-publisher -G * -M * -g /net/`hostname `/export/repoSolaris11/ solaris

该发布取消所有原有的originmirrorpublisher,增加新的一个origin的分布内容。

其他主机系统使用nfs发布来更新的方法就比较省时和简单了,只需要将文件系统mount到本地,然后直接发布和更新就可以了,实际上就是省掉了文件的拷贝过程:

首先,将远程nfs文件系统mount到本地,dfshares 远程主机名可以看到share出来的路径,假设将nfs mount到本地的/solaris11reo(没有该mount pointmkdir创建之),最后一步就是直接分布即可,pkg set-publisher –g /solaris11repo(如果本机有其他发布,就使用-G -Moption将其他发布remove掉),此时就可以使用pkg命令进行安装软件包和更新系统了。

2.   采用http方式发布

在创建本地local IPS发布的基础上,通过网络,也可以采用http的方式将IPS包发布到网络里所有的其他solaris 11系统主机。Solaris 11带有一个pkg/serverweb服务程序应用包,首先将应用enable起来,系统将运行pkg.deportd进程来提供服务:

# svccfg -s application/pkg/server setprop pkg/inst_r oot=/export/repoSolaris11

# svccfg -s application/pkg/server setprop pkg/readonly=true

使用ps来查看是否具有pkg.deportd进程:

# ps -ef |grep pkg.depotd

 root  1188   1  0 17:43:56 ? 0:08 /usr/bin/python2.6 /usr/lib/pkg.depotd --cfg svc:/application/pkg/server:default

缺省情况下pkg/server程序包使用80端口作为程序pkg.deportd的监听端口,如果系统中有其他应用程序使用80端口,那么就必须使用以下命令改变pkg.deportd的监听端口:

svccfg -s application/pkg/server setprop pkg/port=port_number

port_number可以根据系统具体情况进行设定。

修改好端口号以及定制好其他属性后,就可以重新启动web服务进程了:

# svcadm refresh application/pkg/server

# svcadm enable application/pkg/server

 

至此可以通过pkg set-publisher进行发布了:

pkg set-publisher -G * -M * -g http://localhost:port_number/ solaris

客户端可以直接使用pkg set-publisher设置http服务端的分布,然后可以通过浏览器或者pkg命令直接管理和安装软件包和update系统了。下图显示浏览器访问界面:

图片无法显示,请参考我的豆丁文档:http://www.docin.com/p1-671236987.html

至此solaris 11repository的设置和发布以及pkg命令set-publisher以及安装等简单使用初步介绍了,IPS的管理和修改,以及pkg命令如何更新系统等等介绍请参考后续的文档。







相关文章
|
2天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
15 5
linux系统服务二!
|
2天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
16 3
linux系统服务!!!
|
2天前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
10 2
|
3天前
|
Ubuntu Linux Shell
Linux 系统中的代码类型或脚本类型内容
在 Linux 系统中,代码类型多样,包括 Shell 脚本、配置文件、网络配置、命令行工具和 Cron 定时任务。这些代码类型广泛应用于系统管理、自动化操作、网络配置和定期任务,掌握它们能显著提高系统管理和开发的效率。
|
6天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
40 3
|
7天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
8天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
29 2
|
9天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
22 3
|
9天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
2月前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】