- 论坛徽章:
- 11
|
本帖最后由 Ager 于 2013-06-09 02:41 编辑
跟Solaris 10“自带”了GCC不同,Solaris 11的用户需要自己手动安装GCC,用Oracle官方的话说就是:“它未与OS捆绑”。
在Solaris 11上安装软件,与在Solaris以前版本的OS以及GNU/Linux上相比,有以下两个新概念:
(一)引导环境(BE,Boot Environment ) —— 粗略地说,BE就是Solaris操作系统的映像以及安装在该映像上的应用软件的“可引导实例”(Bootable Instance)。用户可以在本地系统上维护多个BE,而且,用户可以在每个BE下安装不同的软件(版本) —— 这具有“备份”的意义,即避免了由于用户“错装或装错软件”而导致系统崩溃的风险。创建与管理BE的命令是:beadm(1)。
(二)映像包管理系统(IPS,Image Packaging System)—— 这是Solaris过去的包管理机制即SVR4的更新换代产品。不论是使用GUI的软件包管理器,还是使用命令行管理软件包, IPS都是其背后支撑他们的“核心功能”。IPS的命令,是一系列以“pkg”打头的命令族,其中,最首要的是 pkg(1)。
作为上手,我们使用命令:- solaris$ pkg publisher
- PUBLISHER TYPE STATUS URI
- solaris origin online http://pkg.oracle.com/solaris/release/
复制代码 字段“PUBLISHER”表明了软件产品的发布者 —— 不要被“Publisher”这个单词唬住,它跟一些GNU/Linux系统采用的包管理中的“Repository”(绫波希多莉)其实是一个鸟意思,由此可以看出老牌的UNIX继承人与GNU/Linux世界在一些观念上的微妙差异。Oracle为Solaris的用户提供了一个“自带”的Publisher,名叫“solaris”。字段“URI”显示了该Publisher的地址。
接下来,我们使用命令,“预”安装GCC Version 3:- solaris$ pkg install -nv gcc-3
- Packages to install: 1
- Estimated space available: 122.17 GB
- Estimated space to be consumed: 340.45 MB
- Create boot environment: No
- Create backup boot environment: No
- Services to change: 1
- Rebuild boot archive: No
- Changed packages:
- solaris
- developer/gcc-3
- None -> 3.4.3,5.11-0.175.0.0.0.1.530:20111012T111222Z
- Services
- restart_fmri:
- svc:/application/texinfo-update:default
复制代码 解释:
(1)命令行中的选项“-nv”,表明了“我只是想看看如果安装了该软件包会对系统产生什么影响,但实际上我并不真的安装它”的意图,即所谓一次“空运行安装”历程。如果要进行实际上的安装,就去掉选项“-nv”。
(2)“Create boot environment”、“Create backup boot environment”和“Rebuild boot archive”这三个字段,均显示为“No”,意味着安装*这个*GCC Version 3软件包,默认地不会对既有的BE产生什么影响。“Services to change”字段下的“1”,表示安装该软件包,将创建/更新/启动一个服务,该服务的详细信息在此次输出的末尾有显示。
(3)“Changed packages”段落,提示了“gcc-3”的完整“软件包名称”是“developer/gcc-3” —— 这正是Oracle官方手册上所显示的。我们当然也可以使用这个完整名称,作为pkg install的选项(参数)。
为了检索到更多的由当前IPS提供的可以匹配“gcc”的软件包,我们可以使用命令:程序会输出每个软件包的“PACKAGE”字段,须完整地用这个字段下的值(文字)作为pkg install的选项(参数)。比如,使用命令:- solaris$ pkg install pkg:/developer/gcc-3@3.4.3-0.175.0.0.0.2.537
复制代码 结合前述的BE知识,我们使用命令:- solaris$ pkg install --be-name gcc-be gcc-3
- Packages to install: 1
- Create boot environment: Yes
- Create backup boot environment: No
- DOWNLOAD PKGS FILES XFER (MB)
- Completed 1/1 314/314 29.6/29.6
- PHASE ACTIONS
- Install Phase 395/395
- PHASE ITEMS
- Package State Update Phase 1/1
- Image State Update Phase 2/2
- PHASE ITEMS
- Reading Existing Index 8/8
- Indexing Packages 1/1
- A clone of solaris-1 exists and has been updated and activated.
- On the next boot the Boot Environment gcc-be will be mounted on
- '/'. Reboot when ready to switch to this updated BE.
复制代码 —— 这个例子,演示了如何将GCC安装到一个名为“gcc-be”的新的BE中去,即使用选项“--be-name”。
就扯这麽多了,仅供参考:)
|
|