UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

pkginfo/pkgrm/pkgaddでパッケージ管理

pkginfo/pkgrm/pkgaddでパッケージ管理


0.改訂履歴

  • 2009.06.01 新規作成

1.はじめに

 このドキュメントでは,Solaris 10にて,パッケージ(アプリケーション)の管理を行う手順を説明する. まず,インストールされているパッケージを調べるpkginfoコマンドの使い方,不要なパッケージを消す手順を確認し,依存関係がある場合の対処方法について確認する. また,pkgaddによって,topコマンドをインストールする手順を確認している.

2.パッケージ情報を表示する(pkginfo)

2.1.全パッケージの一覧を取得する

  • pkginfo -i(エル)で,完全にインストールされたパッケージの情報を表示する事ができる.
-bash-3.00$ pkginfo -i
system BRCMbnx Broadcom NetXtreme II Gigabit Ethernet Adapter Driver
system CADP160 Adaptec Ultra160 SCSI Host Adapter Driver
system HPFC Agilent Fibre Channel HBA Driver
system JSatsvr Japanese Input System ATOK12 root files
system JSatsvu Japanese Input System ATOK12 usr files
system JSatsvw Japanese Input System ATOK12 X11 support files
system NCRos86r NCR Platform Support, OS Functionality (Root)
system NVDAgraphics NVIDIA Graphics System Software
system NVDAgraphicsr NVIDIA Graphics System Device Driver
system SK98sol SysKonnect SK-NET Gigabit Ethernet Adapter SK-98xx
system SKfp SysKonnect PCI-FDDI Host Adapter
system SUNW1251f Russian 1251 fonts
system SUNW1394 Sun IEEE1394 Framework
system SUNW1394h Sun IEEE1394 Framework Header Files
ALE SUNW5ttf Traditional Chinese (BIG5) True Type Fonts Package
ALE SUNW5xmft Traditional Chinese (BIG5) X Windows Platform minimum required Fonts Package
system SUNWGlib GLIB - Library of useful routines for C programming
system SUNWGtkr GTK - The GIMP Toolkit (Root)
system SUNWGtku GTK - The GIMP Toolkit (Usr)
GNOME2 SUNWPython The Python interpreter, libraries and utilities


〜略〜

application SUNWzfsgu ZFS Administration for Sun Java(TM) Web Console (usr)
system SUNWzfskr ZFS Kernel (Root)
system SUNWzfsr ZFS (Root)
system SUNWzfsu ZFS (Usr)
system SUNWzip The Info-Zip (zip) compression utility
system SUNWzlib The Zip compression library
system SUNWzoner Solaris Zones (Root)
system SUNWzoneu Solaris Zones (Usr)
system SUNWzsh Z shell (zsh)
system SYMhisl Symbios 895A, 896 and 1010 SCSI driver
-bash-3.00$

2.2.選択したカテゴリのパッケージだけを表示する

  • カテゴリ別に 表示させるには,-cオプションを使う.
  • 指定できるカテゴリは,system,application,GNOME2,ALE,Java等.
  • java関連でインストールされているパッケージを調べてみる.
-bash-3.00$ pkginfo -c java                        
application SUNWjdmk-base Java DMK 5.1 minimal subset
application SUNWjhdem JavaHelp Demos
application SUNWjhdev JavaHelp Development Utilities
application SUNWjhdoc JavaHelp Documentation
application SUNWjhrt JavaHelp Runtime
-bash-3.00$
  • どういうカテゴリがあるかは,次の様にして探す事ができる.
-bash-3.00$ pkginfo -l|grep CATEGORY|sort|uniq|more
CATEGORY: ALE,system
CATEGORY: APOC,application,JDS3
CATEGORY: CTL,system
CATEGORY: EVO146,application,JDS3
CATEGORY: FIREFOX,application,JDS3
CATEGORY: G11NTOOLS,application,JDS3
CATEGORY: GLOW,application,JDS3
CATEGORY: GNOME2,application,JDS3
CATEGORY: JAI,system,JDS3
CATEGORY: JAVAAPPS,application,JDS3
CATEGORY: JAVAAPPS,system,JDS3
CATEGORY: JDIC,application,JDS3
CATEGORY: JDS3,application
CATEGORY: JDS3,system
CATEGORY: MOZ17,FLASH7,application,JDS3
CATEGORY: MOZ17,application,JDS3
CATEGORY: MUSCLE,system,JDS3
CATEGORY: THUNDERBIRD,application,JDS3
CATEGORY: TX,GNOME2,application,JDS3
CATEGORY: TX,GNOME2,application,JDS3,l10nja
CATEGORY: application
CATEGORY: application,java
CATEGORY: application,l10nasia
CATEGORY: application,l10nja
CATEGORY: system
CATEGORY: system,SunVTS
CATEGORY: system,graphics
CATEGORY: system,l10nja
-bash-3.00$
  • ここで,"ALE,system"とされているものは,-c systemでも-c ALEでも検索できる.

2.3.パッケージの詳細を表示する

  • パッケージ毎の詳細情報を確認するには,-l(エル)を使ってパッケージ名を指定する.
-bash-3.00$ pkginfo -l SUNWfirefox
PKGINST: SUNWfirefox
NAME: Mozilla Firefox Web browser
CATEGORY: FIREFOX,application,JDS3
ARCH: i386
VERSION: 2.0.0.4,REV=10.4.3.2007.06.22.19.52
BASEDIR: /usr
VENDOR: Sun Microsystems, Inc.
DESC: Mozilla Firefox Web browser
PSTAMP: swanson20070622195216
INSTDATE: 5?? 29 2009 00:02
HOTLINE: Please contact your local service provider
STATUS: 完全にインストールされました。
FILES: 427 のインストールされたパス名
10 の共有パス名
35 のディレクトリ
90 の実行可能ファイル
86591 ブロック (概算値) が使われました

-bash-3.00$
  • パッケージを指定せずに実行すれば,全てのパッケージについて一覧表示される.

2.4.パッケージのバージョンとアーキテクチャを確認する

  • -xオプションを付ける事で,パッケージのバージョンとアーキテクチャを表示する事ができる.
-bash-3.00$ pkginfo -x SUNWfirefox
SUNWfirefox Mozilla Firefox Web browser
(i386) 2.0.0.4,REV=10.4.3.2007.06.22.19.52
-bash-3.00$
  • パッケージを指定せずに実行すれば,全てのパッケージについて一覧表示される.

3.パッケージを削除する(pkgrm)

  • まずは,削除する対象のパッケージを探す.
-bash-3.00$ pkginfo -i | grep Thunderbird
THUNDERBIRD SUNWthunderbird Mozilla Thunderbird Email/Newsgroup Client
THUNDERBIRD SUNWthunderbirdl10n-ja-JP Thunderbird localization - Japanese
-bash-3.00$
  • 今回は,このパッケージを削除する.
  • pkgrmコマンドで,パッケージ名を指定して実行する.
-bash-3.00$ pkgrm SUNWthunderbird
-bash: pkgrm: command not found
-bash-3.00$
  • pkgrmコマンドへのパスが通ってないようである.

3.1.パッケージ名を指定して削除する

  • rootユーザへスイッチする.
-bash-3.00$ su
パスワード:
#
  • 再度実行する.
# pkgrm SUNWthunderbird

次のパッケージは現在インストールされています:
SUNWthunderbird Mozilla Thunderbird Email/Newsgroup Client
(i386) 2.0.0.4,REV=10.4.3.2007.06.22.20.22

このパッケージを削除しますか [y,n,?,q]
  • 消してよいので,yを選択する.
このパッケージを削除しますか [y,n,?,q] y

## インストール済みパッケージインスタンス <SUNWthunderbird> を削除中です。
## 大域ゾーン内でパッケージ <SUNWthunderbird> の依存関係を検査しています
警告:
<SUNWthunderbirdl10n-ja-JP> パッケージは、現在削除中の
パッケージに依存しています。

依存関係の検査に失敗しました。

このパッケージの削除処理を継続しますか [y,n,?,q]
  • 依存関係がみつかったようである.

3.2.依存関係のあるパッケージを削除する

  • 現在消そうとしているSUNWthunderbirdは,SUNWthunderbirdl10n-ja-JPが必要としているファイルだという警告である.
  • 今回は,依存関係を無視して,削除する.
このパッケージの削除処理を継続しますか [y,n,?,q] y
## パッケージ情報を処理中です。
## クラス <none> 中のパス名を削除中です。
/usr/share/pixmaps/thunderbird-icon.png
/usr/share/pixmaps <共有パス名は削除されません。>
/usr/share/man/sman1/thunderbird.1
/usr/share/man/sman1 <共有パス名は削除されません。>
/usr/share/man <共有パス名は削除されません。>
/usr/share/applications/thunderbird.desktop
/usr/share/applications <共有パス名は削除されません。>
/usr/share <共有パス名は削除されません。>
/usr/lib/thunderbird/xpt_link
/usr/lib/thunderbird/xpt_dump
/usr/lib/thunderbird/xpidl
/usr/lib/thunderbird/xpicleanup
/usr/lib/thunderbird/xpcshell
/usr/lib/thunderbird/thunderbird.cfg
/usr/lib/thunderbird/thunderbird-bin
/usr/lib/thunderbird/thunderbird
/usr/lib/thunderbird/run-mozilla.sh
/usr/lib/thunderbird/res/viewsource.css
/usr/lib/thunderbird/res/viewer.properties

〜略〜

/usr/lib/thunderbird/chrome/en-US.manifest
/usr/lib/thunderbird/chrome/en-US.jar
/usr/lib/thunderbird/chrome/comm.manifest
/usr/lib/thunderbird/chrome/comm.jar
/usr/lib/thunderbird/chrome/classic.manifest
/usr/lib/thunderbird/chrome/classic.jar
/usr/lib/thunderbird/chrome/chromelist.txt
/usr/lib/thunderbird/chrome/US.jar
/usr/lib/thunderbird/chrome <共有パス名は削除されません。>
/usr/lib/thunderbird/README.txt
/usr/lib/thunderbird/LICENSE.txt
/usr/lib/thunderbird <共有パス名は削除されません。>
/usr/lib <共有パス名は削除されません。>
/usr/bin/thunderbird
/usr/bin <共有パス名は削除されません。>
## システム情報を更新中です。

<SUNWthunderbird> の削除に成功しました。
#
  • パッケージ情報を表示してみる.
# pkginfo -i | grep Thunderbird
THUNDERBIRD SUNWthunderbirdl10n-ja-JP Thunderbird localization - Japanese
#
  • 指定したパッケージだけが削除されている事がわかる.
  • 残りのパッケージも削除を行う.
# pkgrm SUNWthunderbirdl10n-ja-JP

次のパッケージは現在インストールされています:
SUNWthunderbirdl10n-ja-JP Thunderbird localization - Japanese
(i386) 2.0.0.4,REV=10.4.3.2007.07.10.10.44

このパッケージを削除しますか [y,n,?,q] y

## インストール済みパッケージインスタンス <SUNWthunderbirdl10n-ja-JP> を削除中です。
## 大域ゾーン内でパッケージ <SUNWthunderbirdl10n-ja-JP> の依存関係を検査しています
## パッケージ情報を処理中です。
## クラス <none> 中のパス名を削除中です。
/usr/lib/thunderbird/chrome/ja.manifest
/usr/lib/thunderbird/chrome/ja.jar
/usr/lib/thunderbird/chrome
/usr/lib/thunderbird
/usr/lib <共有パス名は削除されません。>
## システム情報を更新中です。

<SUNWthunderbirdl10n-ja-JP> の削除に成功しました。
#
  • 削除に成功している.

4.パッケージを追加する(pkgadd)

  • ここでは,topコマンドをインストールしてみる.
  • topコマンドのパッケージが保存されているディレクトリを確認する.
# ls -la |grep SFWtop
drwxrwxr-x 5 root sys 2048 3月 18日 05:09 SFWtop
# ls -la FWtop
合計 51
drwxrwxr-x 5 root sys 2048 3月 18日 05:09 .
drwxr-xr-x 110 root sys 16384 3月 18日 05:09 ..
drwxr-xr-x 2 root sys 2048 3月 18日 05:09 archive
drwxr-xr-x 2 root sys 2048 3月 18日 05:09 install
-rw-r--r-- 1 root sys 537 8月 26日 2008年 pkginfo
-rw-r--r-- 1 root sys 357 8月 27日 2008年 pkgmap
drwxr-xr-x 2 root sys 2048 8月 27日 2008年 reloc
#
  • インストール作業をしているディレクトリにあるSFWtopディレクトリからパッケージを,SFWtopとしてインストールするので,次の様なコマンド入力となる.
# pkgadd -d  . SFWtop

</cdrom/s10_509_software_companion/Solaris_Software_Companion/Solaris_i386/Pack
ages> 中のパッケージインスタンス <SFWtop> を処理中です。

top - display information about processes(i386) 3.5.1,REV=2008.08.26.00.08
Top users/processes display for Unix
Version 3

This program may be freely redistributed,
but this entire comment MUST remain intact.

Copyright (c) 1984 through 2004, William LeFebvre
Copyright (c) 1984, 1989, William LeFebvre, Rice University
Copyright (c) 1989 - 1994, William LeFebvre, Northwestern University
Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory
Copyright (c) 1996, William LeFebvre, Group sys Consulting

DISCLAIMER

"top" is distributed free of charge. It should not be considered an
official product of Group sys Consulting. William LeFebvre supports
"top" in his spare time and as time permits.

NO WARRANTY:

BECAUSE "top" IS DISTRIBUTED FREE OF CHARGE, THERE IS ABSOLUTELY NO
WARRANTY PROVIDED, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING, GROUP SYS CONSULTING, ARGONNE
NATIONAL LABORATORY, NORTHWESTERN UNIVERSITY, WILLIAM N. LeFEBVRE
AND/OR OTHER PARTIES PROVIDE "top" "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
PROGRAM IS WITH YOU. SHOULD THE "top" PROGRAM PROVE DEFECTIVE, YOU
ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

IN NO EVENT WILL GROUP SYS CONSULTING, ARGONNE NATIONAL LABORATORY,
NORTHWESTERN UNIVERSITY, WILLIAM N. LeFEBVRE, AND/OR ANY OTHER PARTY
WHO MAY MODIFY AND REDISTRIBUTE "top", BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE
PROGRAM TO OPERATE WITH OTHER PROGRAMS) THE PROGRAM, EVEN IF YOU HAVE
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY
ANY OTHER PARTY.

So there!


YOU MUST OBSERVE ANY AUTHORS' CONDITIONS WITH RESPECT TO
INDIVIDUAL COMPONENTS PROVIDED WITHIN THIS CODE. SUPPORT
FOR THE TECHNOLOGIES AND DOCUMENTATION IS NOT PROVIDED
BY SUN MICROSYSTEMS, INC.

THE TECHNOLOGIES AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT TECHNICAL
SUPPORT OR WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
</opt> をパッケージのベースディレクトリとして使用します。
## パッケージ情報を処理中です。
## システム情報を処理中です。
## パッケージの依存関係を検査しています。
## ディスク領域の要件を確認中です。
## すでにインストール済みのパッケージとの重複を確認中です。
## setuid/setgid を行うプログラムを検査中です。

このパッケージには、パッケージのインストール処理中にスーパーユーザーの
アクセス権で実行するスクリプトが含まれています。


<SFWtop> のインストールを継続しますか [y,n,?]
  • インストールするので,yを入力する.
<SFWtop> のインストールを継続しますか [y,n,?] y

top - display information about processes を <SFWtop> としてインストール中です。

## 1/1 部分をインストールしています。
119 ブロック

<SFWtop> のインストールに成功しました。
#
  • インストールしたパッケージを確認する.
# pkginfo -i SFWtop
system SFWtop top - display information about processes
# pkginfo -l SFWtop
PKGINST: SFWtop
NAME: top - display information about processes
CATEGORY: system
ARCH: i386
VERSION: 3.5.1,REV=2008.08.26.00.08
BASEDIR: /opt
VENDOR: http://sourceforge.net/projects/unixtop
DESC: top - display and update information about the top cpu processes
PSTAMP: freeware20080826000910
INSTDATE: 6月 01 2009 18:48
HOTLINE: Please contact the owners of this software
STATUS: 完全にインストールされました。
FILES: 6 のインストールされたパス名
4 のディレクトリ
1 の実行可能ファイル
119 ブロック (概算値) が使われました

#
  • この情報だと,/optにインストールされたようなので,確認する.
# ls -la /opt
合計 12
drwxr-xr-x 6 root sys 512 6月 1日 18:48 .
drwxr-xr-x 45 root root 1024 5月 30日 21:14 ..
drwxr-xr-x 3 root bin 512 5月 28日 23:46 SUNWits
drwxr-xr-x 4 root bin 512 5月 29日 00:40 SUNWmlib
drwxr-xr-x 4 root sys 512 6月 1日 18:48 sfw
drwxr-xr-x 3 root root 512 6月 1日 18:24 starsuite8
#
  • これだけだと判らない...
  • パッケージ情報から,どこに保存したかを探る.
# cd SFWtop
# ls -la
合計 51
drwxrwxr-x 5 root sys 2048 3月 18日 05:09 .
drwxr-xr-x 110 root sys 16384 3月 18日 05:09 ..
drwxr-xr-x 2 root sys 2048 3月 18日 05:09 archive
drwxr-xr-x 2 root sys 2048 3月 18日 05:09 install
-rw-r--r-- 1 root sys 537 8月 26日 2008年 pkginfo
-rw-r--r-- 1 root sys 357 8月 27日 2008年 pkgmap
drwxr-xr-x 2 root sys 2048 8月 27日 2008年 reloc
# cat pkgmap
: 1 160
1 i copyright 2479 47613 1210411323
1 i depend 1693 10978 1219723748
1 i pkginfo 537 43618 1219723750
1 d none sfw 0755 root sys
1 d none sfw/bin 0755 root bin
1 f none sfw/bin/top 0711 root sys 47848 55495 1218784192
1 d none sfw/man 0755 root bin
1 d none sfw/man/man1 0755 root bin
1 f none sfw/man/man1/top.1 0444 root bin 12736 8086 1218784192
#
  • sfw/binの下に保存している様なので,会わせると/opt/sfw/bin/topにあると思われる.
  • ファイルを確認する.
# ls -la /opt/sfw/bin/top
-rwx--x--x 1 root sys 47848 8月 15日 2008年 /opt/sfw/bin/top
#
  • topを実行してみる.
load averages:  0.02,  0.02,  0.03                               18:55:11
79 processes: 78 sleeping, 1 on cpu
CPU: % idle, % user, % kernel, % iowait, % swap
Memory: 580M real, 107M free, 286M swap in use, 521M swap free

PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
5997 root 14 59 0 104M 22M sleep 1:17 0.36% java
7896 root 1 39 0 3996K 1320K cpu 0:00 0.19% top
1033 root 1 59 0 71M 12M sleep 1:14 0.16% gnome-netst
743 root 1 59 0 0K 0K sleep 1:02 0.14% vmware-user
501 root 1 59 0 0K 0K sleep 1:53 0.12% vmware-gues
1043 root 1 59 0 68M 9056K sleep 0:25 0.05% mixer_apple
6798 shinnai 1 59 0 8024K 3016K sleep 0:06 0.03% sshd
6943 root 1 49 0 4228K 1792K sleep 0:04 0.02% bash
598 root 1 59 0 150M 39M sleep 1:26 0.02% Xorg
6088 root 2 49 0 95M 21M sleep 0:13 0.02% gnome-termi
913 root 11 59 0 103M 32M sleep 0:21 0.02% nautilus
904 root 1 59 0 89M 21M sleep 0:11 0.01% gnome-panel
869 root 1 59 0 8300K 3760K sleep 0:05 0.00% xscreensave
141 root 38 59 0 9568K 2752K sleep 0:03 0.00% nscd
459 root 1 59 0 2676K 520K sleep 0:02 0.00% vmware-memc
  • これで動作した.


広告スペース
Google