openSUSE:Libzypp ロックファイル
ロックは zypper addlock
や zypper removelock
のコマンドで簡単に扱うことができます。コマンドについて、詳しくは man zypper をお読みください。
目次
場所
ロックファイルは、既定で /etc/zypp/locks 内に配置されます。このディレクトリは、 /etc/zypp/zypp.conf 内の locksfile.path 設定で変更することができます。
ロックファイルの書式
ロックは 属性:値 の形式で指定します。属性には一般的な属性のほか、解決型の属性と呼ばれるものがあります。 すべての属性は複数回使用することができます。 複数のロックは空行で区切って指定します。
グローバル属性の一覧
名前 | 説明 | 既定値 |
---|---|---|
repo | リポジトリを限定してロックをかける指定です。リポジトリの別名のみを指定することができます。 | すべてのリポジトリ |
type | 種類を限定してロックをかける指定です。 package (パッケージ), patch (修正),pattern (パターン), product (製品), srcpackage (ソースパッケージ) のいずれかを指定します。 | すべての種類 |
case_sensitive | 大文字と小文字を区別してロックをかける指定です。 | 大文字と小文字を 区別しません |
install_status | オブジェクトの状態を限定してロックをかける指定です。 installed (インストール済みのもの), not-installed (インストールしていないもの), all (両方) のいずれかを指定します。複数の状態を指定した場合は、最後に指定したものを使用します。 | all (両方) |
match_type | 文字列の合致条件を指定します。 type と repo の属性については、ここでの指定に関わらず完全一致で行われます。指定可能な値は、 exact (完全一致), substring (部分文字列), regex (正規表現), glob (グロブ), word (単語) のいずれかです。正規表現では、 POSIX 拡張正規表現 を使用することができます。 | substring (部分文字列) |
query_string | すべての属性に対する文字列を指定します。 solvable 属性を空の値で指定することで、制限を行うことができます (何も制限をかけないと、非常に時間のかかる処理になってしまうためです) (TODO jano what exact) | nothing |
version | バージョンを限定してロックをかける指定です。ここでの値は 2 つのパートに分かれていて、 1 つは演算子、もう 1 つは番号です。演算子には ==, !=, <, >, <=, >= のいずれかを指定することができます。演算子を指定しない場合は、 == とみなされます。番号は 世代:バージョン番号-リリース の形式で指定しますが、バージョン番号以外は指定しなくてもかまいません。 | バージョンを限定しない |
解決型属性
これらの属性はいずれも、パッケージやパターンなど (以下 オブジェクト) のどの場所を検索して判断するのかを指定します。検索文字列を指定したい場合は、グローバル属性の query_string に書かれた文字列を使用します。
複数の場所を検索するように指定した場合は、いずれかの項目が該当すれば条件に合致したことになります (OR 条件として処理されます) 。
全体属性
下記の属性は、すべてのオブジェクトに対して適用されます。
名前 | 説明 | 値の例 |
---|---|---|
solvable_name | オブジェクトの名前 | OpenOffice_org-kde |
solvable_summary | オブジェクトの概要 | KDE Extensions for OpenOffice.org |
solvable_arch | オブジェクトのアーキテクチャ | i586 |
solvable_description | オブジェクトの説明 | This package contains some KDE extensions for OpenOffice.org. |
solvable_messageins | パッケージインストール後のメッセージ | Before you can use this package you have to run `faxsetup` as root. |
solvable_messagedel | パッケージをアンインストールした後のメッセージ | This package is required by lpdfilter. |
solvable_eula | ライセンス文 (flash-player, java など、明示的な合意が必要なものでのみ定義されています) | long text of license |
solvable_installtime | ??? | ??? |
solvable_buildtime | パッケージが構築された時刻 (1970年1月1日からの経過秒数) | 1210698121 |
solvable_installsize | インストール後のサイズ (KB 単位) | 15485 |
solvable_downloadsize | RPM のサイズ (KB 単位) | 12674 |
solvable_diskusage | ディレクトリ内のディスク使用サイズ (ディレクトリ, サイズ (KB 単位), ファイル数 をそれぞれ指定) | /usr/lib64/anjuta 5351 91 |
solvable_provides | 依存関係 | |
solvable_requires | 依存関係 | |
solvable_recommends | 依存関係 | |
solvable_obsoletes | 依存関係 | |
solvable_conflicts | 依存関係 | |
solvable_suggests | 依存関係 | |
solvable_supplements | 依存関係 |
パッケージの属性
下記の属性は、パッケージに対してのみ適用されます。
名前 | 説明 | 値の例 |
---|---|---|
solvable_checksum | RPM のチェックサム (SHA1) | c89f7ea38f04e447b0323d64875a51bd0db91654 |
solvable_medianr | メディア番号 (複数枚の CD や 2 層 DVD で提供されている場合) | 1 |
solvable_mediafile | ??? (未使用?) | ??? |
solvable_mediadir | ??? (未使用?) | ??? |
solvable_license | オブジェクトのライセンス | X11/MIT |
solvable_group | パッケージのグループ | Development/Tools/Version Control |
solvable_keywords | キーワード | x11 |
solvable_authors | オブジェクトの作者 | Michael Andres (メールアドレス) |
solvable_filelist | ファイルの一覧 (実行ファイルと設定ファイルのみ) | /usr/bin/package-manager |
solvable_sourcearch | ??? | ??? |
solvable_sourcename | ??? | ??? |
solvable_sourceevr | ??? | ??? |
headerend | ??? | ??? |
修正の属性
下記の属性は、修正に対してのみ適用されます。
名前 | 説明 | 値の例 | |
---|---|---|---|
solvable_patchcategory | 修正の分類 - security (セキュリティ), optional (任意指定), recommended (推奨) のいずれか。 | recommended | |
update_reboot | 適用時にシステムの再起動が必要かどうか | ??? | |
update_restart | 適用時にソフトウェアの再起動が必要かどうか | ???(find how use it) | |
update_collection_name | 更新名 | clamav | |
update_collection_evr | 世代,バージョン,リリースによる指定 (バージョン番号のみ必須) 世代:バージョン番号-リリース | 0.93-2 | |
update_collection_arch | アーキテクチャ | x86_64 | |
update_collection_filename | RPM の名前 | clamav-0.93-2.x86_64.rpm | |
update_collection_flags | ??? | ??? | |
update_reference_type | 更新の参考情報 (Bugzilla や cve 番号) | bugzilla | |
update_reference_href | その他参考情報 | https://bugzilla.novell.com/show_bug.cgi?id=64937 | |
update_reference_id | 更新 ID | 64937 | |
update_reference_title | 修正のタイトル | bug number 64937 |
パターンの属性
下記の属性は、パターンに対してのみ適用されます。
名前 | 説明 | 値の例 |
---|---|---|
solvable_isvisible | ??? | ??? |
solvable_icon | ??? | ??? |
solvable_order | ??? | ??? |
solvable_category | ??? | ??? |
script | ??? | ??? |
solvable_includes | ??? | ??? |
solvable_extends | ??? | ??? |
例
KDE のすべてを指定したい場合の例
"kde" を含むすべてのものをロックする場合の例です。
solvable_name: kde
下記でも同じ意味になります。
query_string: kde solvable_name:
non-oss や Factory 内にあるすべてのシェアウェアを指定したい場合の例
non-oss や Factory 内にあるすべてのシェアウェア (shareware) をロックする場合の例です。
solvable_license: shareware repo: non-oss repo: factory
すべての修正を指定したい場合の例
すべての修正 (patch) をロックします。
type:patch
2 つのロック
文字列 'kde' (ただし小文字) を名前または説明に含むすべてのオブジェクトをロックします。 2 番目のロックでは、キーワード内に 'x11' を含むものすべてをロックします。
query_string: kde solvable_name: solvable_description: case_sensitive: on solvable_keywords: x11
明示的なパッケージ指定
k3b をロック (つまり更新しない) します。
zypper addlock コマンドを使用する方法をお勧めします。
solvable_name: k3b match_type: exact
特定のバージョンへのパッケージの固定
gnome-screensaver の特定のバージョンをロックします:
type: package match_type: exact case_sensitive: on solvable_name: gnome-screensaver == 2.24.0
バージョン 4.0 未満のすべての 'kde' パッケージをロックします:
type: package match_type: glob case_sensitive: off solvable_name: kde* < 4.0
type: package match_type: glob case_sensitive: off solvable_name: kde* solvable_edition: < 4.0