覚 えておきたい! zypper コマンドの 使 い 方 by @ftake 日 本 opensuse ユーザ 会 6 月 勉 強 会 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 1/34
あらすじ zypper コマンドの 使 い 方 を 復 習 する ツッコミ 歓 迎! 調 べたけど まだ 怪 しいところが 改 良 して OSC のセミナーなどのネタになればいいな 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 2/34
時 はXXXX 年 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 3/34
SUSE 帝 国 は 皇 帝 YaST によって 支 配 されていた 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 4/34
しかし APT が 率 いるうずまき 帝 国 など 隣 国 の 勢 力 が 強 まり 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 5/34
SUSE 帝 国 は 危 機 にさらされていた 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 6/34
そんなとき ある 勇 者 が 現 れた その 名 も 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 7/34
Zypper 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 8/34
Zypper は YaST の 元 で 大 活 躍 し 危 機 を 救 ったのであった 大 活 躍 中 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 9/34
という 話 はさておき ここまでの 話 はフィクションです 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 10/34
zypper/libzypp パッケージ 管 理 コマンド 10.2 から 導 入 libzypp のフロントエンド 現 在 の YaST - ソフトウェアの 管 理 も libzypp のフロントエンド 他 のディストリだと: aptitude, yum, (port) GUI よりコマンドのほうが 便 利 なことがある! YaST もコンソールから 使 えるが Curses なので GUI に 近 い (TUI) 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 11/34
基 本 中 の 基 本 1/2 zypper コマンドの 構 文 $ zypper グローバルオプション サブコマンド オプション ヘルプを 見 るとき $ zypper help グローバルオプションとサブコマンドの 一 覧 がみられる $ zypper help サブコマンド サブコマンドのオプションなどがみられる $ man zypper 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 12/34
基 本 中 の 基 本 2/2 $ zypper help 使 用 方 法 : zypper [グローバルオプション] <コマンド> [コマンドオプション] [パラメータ] グローバルオプション: --help, -h --version, -V ヘルプ バージョン 情 報 を 表 示 ** 中 略 ** コマンド: help,? shell, sh リポジトリの 操 作 : repos, lr addrepo, ar removerepo, rr ヘルプを 表 示 一 度 で 複 数 のコマンドを 入 力 する 設 定 済 みのリポジトリを 表 示 する 新 しいリポジトリを 追 加 する 指 定 したリポジトリを 削 除 する 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 13/34
ポイント: 長 い 名 前 と 短 い 名 前 サブコマンドやオプションに 長 い 名 前 と 短 い 名 前 がある ex) install in ex) repos lr (list repositories) ex) --detail -s (??) 無 理 に 短 い 方 を 覚 えない 方 がいいかもしれない 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 14/34
パッケージの 検 索 : search 登 録 されているリポジトリにあるパッケージを 検 索 する $ zypper search キーワード キーワードが 名 前 の 一 部 に 含 まれているパッケージを 検 索 fuminobu@tpx41l:~> zypper search dolphin リポジトリのデータを 読 み 込 んでいます... インストール 済 みのパッケージを 読 み 込 んでいます... S 名 前 概 要 種 類 --+-----------------+-------------------------------------+----------- i dolphin KDE File Manager パッケージ dolphin-plugins version control plugins for dolphin パッケージ 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 15/34
パッケージの 検 索 : search パッケージのバージョンや 提 供 元 も 表 示 する $zypper search --detail fuminobu@tpx41l:~> zypper search --detail dolphin リポジトリのデータを 読 み 込 んでいます... インストール 済 みのパッケージを 読 み 込 んでいます... S 名 前 種 類 バージョン アーキテクチャ リポジトリ --+-----------------+------------+-------------+----------------+------------------ i dolphin パッケージ 4.6.0-6.6.2 i586 opensuse-11.4-oss dolphin-plugins パッケージ 4.6.0-4.7.1 i586 opensuse-11.4-oss S 列 の 読 み 方 i: インストール 済 み v: インストールされている 以 外 のほかのバージョン 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 16/34
パッケージの 検 索 : search --match-exact: 完 全 一 致 部 分 検 索 だと --detail で 結 果 が 多 すぎることがある -i: インストール 済 みのパッケージを 検 索 キーワードを2つ 並 べると search foo bar は search foo と search bar の 結 果 をあ わせたもの (--match-any??) --match-all --match-any でなぜが 違 いがでない 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 17/34
パッケージのインストール: install $ zypper install パッケージ パッケージ 名 / 能 力 名 : NAME[.ARCH][OP<VERSION>] ex) $ zypper install "firefox>=4.0" URI クオートするかエスケープする ex) $ zypper install http://example.com/foo.rpm ex) $ zypper install ~/Download/bar.rpm 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 18/34
ポイント: インストール 元 リポジトリ どのリポジトリのパッケージが 選 択 されたかわからない バージョンが 新 しいものが 選 ばれる グローバルオプション -v を 指 定 $ zypper -v install foo リポジトリの 情 報 が 表 示 される 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 19/34
パッケージの 削 除 : remove $ zypper remove パッケージ パッケージの 選 択 方 法 は install と 同 じ install / remove どちらでもインストール 削 除 可 能 ex) $ zypper install -- foo -bar ex) $ zypper remove bar +foo どちらも foo をインストール bar を 削 除 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 20/34
パッチ: patch, list-patches (lp) 未 適 用 のパッチを 表 示 $ zypper lp パッチ 数 を 表 示 するだけなら $ zypper patch-check パッチの 適 用 $ zypper patch KpackageKit や YaST より 手 っ 取 り 早 い? 一 部 を 選 択 するなら GUI のほうが 楽 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 21/34
パターン パッケージをグループ 化 したもの ex) devel_c_c++, kde4, lamp_server, いくつかのパッケージをまとめて 導 入 するのに 便 利 通 常 のパッケージと 同 様 に 検 索 インストール 可 能 パターンだけを 検 索 するには $ zypper search -t pattern $ zypper patterns 若 干 フォーマットが 異 なる 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 22/34
リポジトリの 管 理 の 前 に zypper でサポートされているリポジトリ REPOMOD (Repository MetaData, rpm-md) yum のフォーマット Yast2 従 来 のフォーマット インストール DVD などに 使 われる 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 23/34
リポジトリの 追 加 : addrepo ベース URI で 指 定 する 方 法 $ zypper addrepo --refresh URI alias 自 動 更 新 有 効 alias はリポジトリの 別 名 ( 自 由 に 指 定 可 ) repo ファイルを 指 定 する 方 法 $ zypper addrepo --refresh http://example.com/foo.repo ブラウザで URL をコピーすると 楽 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 24/34
リポジトリの 修 正 : modifyrepo リポジトリのプロパティを 設 定 する $ zypper -p 100 1 リポジトリ 番 号 1 の 優 先 度 を 100 に 設 定 優 先 度 : 優 先 度 が 高 い( 値 が 小 さい)リポジトリからインストール リポジトリ 番 号 は $ zypper repos で 確 認 できる リポジトリ 番 号 の 代 わりに alias を 指 定 しても OK # 別 名 名 前 有 効 更 新 --+-----------------------+--------------------------+------------+----------- 1 M17N_1 M17N はい (Y) いいえ (N) 2 My OBS Home 1 My OBS Home はい (Y) いいえ (N) 8 opensuse-11.4-source opensuse-11.4-source いいえ (N) いいえ (N) URLの 修 正 は YaST からは 簡 単 にできる zypper からの 変 更 は 一 度 リポジトリを 削 除 する 必 要 あり 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 25/34
ポイント: リポジトリの 自 動 更 新 リポジトリの 更 新 をチェックしてキャッシュを 再 構 築 検 索 のときでも 更 新 チェックすると 時 間 がかかる 更 新 の 多 いリポジトリ (OBS, Packman) が 含 まれるとき 自 動 更 新 を 無 効 にして 手 動 で 更 新 アップデート 以 外 のリポジトリ 週 に1 回 くらい 更 新 チェックをすればいいかも $ zypper refresh 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 26/34
対 象 リポジトリを 指 定 する ほどんどのサブコマンドはリポジトリを -r で 指 定 可 zypper search -r 1 firefox リポジトリ 番 号 1 から firefox を 検 索 zypper install -r M17N ibus M17N (alias) から ibus をインストール 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 27/34
パッケージの 更 新 : update パッケージを 新 しいバージョンに 更 新 する 製 造 元 が 同 じで 新 しいバージョンがある 場 合 製 造 元 : opensuse 公 式 リポジトリのもの obs://build.opensuse.org/m17n M17Nプロジェクト 非 公 式 リポジトリのパッケージを 更 新 するのに 使 う 公 式 はセキュリティパッチとして 配 布 $ zypper update ibus ibus を 新 しいバージョンに 更 新 可 能 なパッケージの 一 覧 は $ zypper lu 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 28/34
ポイント: 製 造 元 を 変 更 するには install コマンドで 更 新 する zypper install -r リポジトリ パッケージ よく 次 のようなメッセージが 出 る 依 存 するパッケージの 製 造 元 も 変 更 する 必 要 なことがある この 場 合 は 落 ち 着 いて 1 を 選 択 問 題 点 : foo-bar-1.0.0-1.1.i586 は foo = 1.0.0-1.1 を 必 要 としていますが この 要 求 を 解 決 する 方 法 がありません 削 除 したプロバイダ: foo-1.0.0-1.1.i586 解 決 方 法 1: 以 下 の 動 作 を 実 行 します: foo-bar-1.0.1-1.2.i586 をインストールする ( 製 造 元 を 変 更 する) opensuse --> obs://build.opensuse.org/home:ftake 解 決 方 法 2: foo-1.0.1-1.2.i586 をインストールしない 解 決 方 法 3: いくつかの 依 存 関 係 を 無 視 することによって foo-bar を 壊 します いずれかの 数 字 を 入 力 するか キャンセル(C) を 入 力 してください [1/2/3/c] (c): 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 29/34
すべて 最 新 に: dist-upgrade (dup) update と 異 なり 製 造 元 に 関 わらず 最 新 に 更 新 11.3 から 11.4 に 更 新 するときなど 11.3 で 起 動 し 11.4 のリポジトリを 登 録 してから $ zypper dup インストールイメージ 不 要 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 30/34
その 他 1/2 source-install (si): ソースパッケージのインストール ビルドに 必 要 なパッケージも 同 時 にインストール ps: 削 除 したファイルを 使 用 しているプロセス パッケージの 更 新 後 に $ zypper ps でチェックして 必 要 で あれば 終 了 する install-new-recommends (inr): 推 奨 パッケージをインストール ロケールを 日 本 語 に 設 定 してから inr すると Anthy や 日 本 語 フォントが 自 動 的 に 入 る YaST から 設 定 すると 勝 手 に 実 行 される 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 31/34
その 他 2/2 versioncmp, vcmp: バージョン 番 号 文 字 列 の 比 較 targetos, tos: $ zypper tos opensuse-11.4-i586 what-provides, wp $ zypper wp java java-1_6_0-sun java-1_6_0-openjdk java-1_5_0-gcj-compat --xmlout: 結 果 を XML で 出 力 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 32/34
おまけ zypper moo 試 してみて 下 さい LANG=c と LANG=ja_JP.utf-8 で 結 果 が 変 わります 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 33/34
おしまい これは 覚 えておきたい というものが 他 にあれば 2011/06/04 覚 えておきたい! zypper コマンドの 使 い 方 34/34