OpenSUSE¶
はじめに¶
OpenSUSE LEAP15をインストールして利用する際の設定・操作メモです。
初期設定¶
ネットワーク¶
ホスト名の設定¶
$ hostname localhost $ hostnamectl set-hostname primo $ hostname primo
ユーザー設定¶
sudo で昇格¶
デフォルトでは、一般ユーザーがsudoコマンドを実行すると、rootアカウントのパスワードを要求されます。
$ sudo ls / [sudo] root のパスワード:
rootパスワードではなく、そのユーザーのパスワードで昇格できるようにするには次のように設定します。
- /etc/sudoers の編集(visudoコマンドで編集すること推奨)
## Uncomment to allow members of group wheel to execute any command -# %wheel ALL=(ALL) ALL +%wheel ALL=(ALL) ALL
- /etc/sudoers.d/userpw を新規作成し編集(visudoコマンドで編集すること推奨)
# visudo -f /etc/sudoers.d/userpw
+Defaults !targetpw
管理操作¶
パッケージの更新¶
パッケージ・リポジトリの操作(zypper)¶
書式zypper [グローバルオプション群] <コマンド> [コマンドオプション群] 引数
リポジトリ情報の更新¶
zypper refresh
使いたいコマンドが含まれるパッケージを検索¶
cnf <コマンド>
パッケージのインストール¶
zypper install <パッケージ>
パッケージ名だけを指定すると利用可能な最新バージョンをインストールします。パッケージ名とバージョンを指定すると、指定バージョンをインストールします。
パッケージの削除¶
zypper remove <パッケージ>
指定したパッケージの削除後、不要になったパッケージ(依存するパッケージ)を合わせて削除するには、--clean-deps
オプションを追加します。
zypper remove <パッケージ> --clean-deps
パッケージの検索¶
zypper search <パッケージ名(の一部)>
$ zypper search gradle S | Name | Summary | Type --+-------------------------------+-----------------------------------------------------+----------- | gradle | オートメーションビルドツール | パッケージ :(略)
S列には、パッケージのステータスが表示されます。i
インストール済み、v
他のバージョンがインストール済み、空欄は未インストールを示します。
パッケージのバージョンを表示させるには、-sオプションを追加します。
$ zypper search -s gradle S | Name | Type | Version | Arch | Repository --+-------------------------------+------------+-------------+----------------+---------------- | gradle | パッケージ | 4.4.1-1.87 | x86_64 | Main Repository
インストール済みパッケージの一覧¶
直接リストするコマンドがないので、検索コマンドでインストール済みのみ表示するオプションを指定するzypper search -i
リポジトリの一覧¶
zypper lr
リポジトリの無効化(設定は残したまま、検索・インストール対象から除外)¶
zypper mr -d <N>
N: リポジトリ番号、zypper lr で付けられている番号を指定
リポジトリの有効化¶
zypper mr -e <N>
openSUSEマイナーバージョンの更新¶
openSUSE Leap 15.3から15.4へ更新するといったマイナーバージョンの更新方法です。
現バージョンでパッケージを最新にしておく¶
リポジトリ情報を最新に更新¶
zypper ref
そのバージョンでの最新パッケージに更新¶
zypper up
現在のリポジトリ情報を確認¶
~> zypper lr -u リポジトリの優先順位は無効化されています。有効化されている全てのリポジトリが同じ優先順位になっています。 # | Alias | Name | Enabled | GPG Check | Refresh | URI ---+-----------------------------+----------------------------------------------------------------------+------------+---------------+------------+------------------------------------------------------------------------ 1 | openSUSE-Leap-15.3-2 | openSUSE-Leap-15.3-2 | はい (y) | (r ) はい (y) | いいえ (n) | cd:/?devices=/dev/disk/by-id/ata-Virtual_CD 2 | repo-backports-debug-update | Update repository of openSUSE Backports (Debug) | いいえ (n) | ---- | ---- | http://download.opensuse.org/update/leap/15.3/backports_debug/ 3 | repo-backports-update | Update repository of openSUSE Backports | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/update/leap/15.3/backports/ 4 | repo-debug | Debug Repository | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.3/repo/oss/ 5 | repo-debug-non-oss | Debug Repository (Non-OSS) | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.3/repo/non-oss/ 6 | repo-debug-update | Update Repository (Debug) | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.3/oss/ 7 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS) | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.3/non-oss/ 8 | repo-non-oss | Non-OSS Repository | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/distribution/leap/15.3/repo/non-oss/ 9 | repo-oss | Main Repository | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 10 | repo-sle-debug-update | Update repository with updates from SUSE Linux Enterprise 15 (Debug) | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.3/sle/ 11 | repo-sle-update | Update repository with updates from SUSE Linux Enterprise 15 | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/update/leap/15.3/sle/ 12 | repo-source | Source Repository | いいえ (n) | ---- | ---- | http://download.opensuse.org/source/distribution/leap/15.3/repo/oss/ 13 | repo-update | Main Update Repository | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/update/leap/15.3/oss/ 14 | repo-update-non-oss | Update Repository (Non-Oss) | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/update/leap/15.3/non-oss/
マイナーバージョンのアップデートで使用するリポジトリ確認¶
アップデート後のバージョンを指定して、リポジトリ一覧を参照します。
ここでは、openSUSE Leap 15.3 の環境で、15.4へのアップデートをするための情報を参照しています。
~> zypper --releasever=15.4 lr -u 警告: 強制設定: $releasever=15.4 リポジトリの優先順位は無効化されています。有効化されている全てのリポジトリが同じ優先順位になっています。 # | Alias | Name | Enabled | GPG Check | Refresh | URI ---+-----------------------------+----------------------------------------------------------------------+------------+---------------+------------+------------------------------------------------------------------------ 1 | openSUSE-Leap-15.3-2 | openSUSE-Leap-15.3-2 | はい (y) | (r ) はい (y) | いいえ (n) | cd:/?devices=/dev/disk/by-id/ata-Virtual_CD 2 | repo-backports-debug-update | Update repository of openSUSE Backports (Debug) | いいえ (n) | ---- | ---- | http://download.opensuse.org/update/leap/15.4/backports_debug/ 3 | repo-backports-update | Update repository of openSUSE Backports | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/update/leap/15.4/backports/ 4 | repo-debug | Debug Repository | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.4/repo/oss/ 5 | repo-debug-non-oss | Debug Repository (Non-OSS) | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.4/repo/non-oss/ 6 | repo-debug-update | Update Repository (Debug) | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.4/oss/ 7 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS) | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.4/non-oss/ 8 | repo-non-oss | Non-OSS Repository | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/distribution/leap/15.4/repo/non-oss/ 9 | repo-oss | Main Repository | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/distribution/leap/15.4/repo/oss/ 10 | repo-sle-debug-update | Update repository with updates from SUSE Linux Enterprise 15 (Debug) | いいえ (n) | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.4/sle/ 11 | repo-sle-update | Update repository with updates from SUSE Linux Enterprise 15 | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/update/leap/15.4/sle/ 12 | repo-source | Source Repository | いいえ (n) | ---- | ---- | http://download.opensuse.org/source/distribution/leap/15.4/repo/oss/ 13 | repo-update | Main Update Repository | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/update/leap/15.4/oss/ 14 | repo-update-non-oss | Update Repository (Non-Oss) | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/update/leap/15.4/non-oss/
メタ情報を更新¶
~> sudo zypper --releasever=15.4 ref [sudo] toru のパスワード: 警告: 強制設定: $releasever=15.4 リポジトリ 'openSUSE-Leap-15.3-2' は最新の状態に更新済みです。 リポジトリ 'Update repository of openSUSE Backports' のメタデータを取り出しています ..............................[完了] リポジトリ 'Update repository of openSUSE Backports' のキャッシュを構築しています ................................[完了] リポジトリ 'Non-OSS Repository' のメタデータを取り出しています ...................................................[完了] リポジトリ 'Non-OSS Repository' のキャッシュを構築しています .....................................................[完了] リポジトリ 'Main Repository' のメタデータを取り出しています ......................................................[完了] リポジトリ 'Main Repository' のキャッシュを構築しています ........................................................[完了] リポジトリ 'Update repository with updates from SUSE Linux Enterprise 15' のメタデータを取り出しています .........[完了] リポジトリ 'Update repository with updates from SUSE Linux Enterprise 15' のキャッシュを構築しています ...........[完了] リポジトリ 'Main Update Repository' のメタデータを取り出しています ...............................................[完了] リポジトリ 'Main Update Repository' のキャッシュを構築しています .................................................[完了] リポジトリ 'Update Repository (Non-Oss)' のメタデータを取り出しています ..........................................[完了] リポジトリ 'Update Repository (Non-Oss)' のキャッシュを構築しています ............................................[完了] すべてのリポジトリを更新しました。
変更したバージョンへディストリビューションの更新(エラーあり)¶
:~> sudo zypper --releasever=15.4 dup 警告: 強制設定: $releasever=15.4 リポジトリのデータを読み込んでいます... インストール済みのパッケージを読み込んでいます... 警告: すべての有効なリポジトリを利用して、ディストリビューションのアップグレードを行おうとしています。続行する前に、これらのリポジトリに互換性があることをご確認ください。このコマンドについての詳しい情報は 'man zypper' をご覧ください。 ディストリビューションのアップグレードを準備しています... :中略 511 個のパッケージアップグレード, 16 個のダウングレード, 57 個の新規, 3 個の削除. 全ダウンロードサイズ:555.0 MiB。すでにキャッシュ済み:0 B。 この操作を行うには、追加で 138.0 MiB の容量が必要です。 続行しますか? [y/n/v/...? すべてのオプションを表示] (y): パッケージ openSUSE-release-dvd-15.3-lp1532.19.4.x86_64 を取得しています (1/584), 7.4 KiB (展開後サイズ 66 B) cd:/?devices=/dev/disk/by-id/ata-Virtual_CD を /var/tmp/AP_0xoIGC8Z にマウントできませんでした: Mounting media failed (mount: /var/tmp/AP_0xoIGC8Z: no medium found on /dev/sr0.) メディア [openSUSE-Leap-15.3-2] #1 を挿入し 'y' を入力して続行するか、 'n' を入力してキャンセルしてください。 [はい/いいえ] (いいえ):
openSUSE Leap 15.3をインストールした際のディスクイメージがエラーとなってしまいました。
15.4にアップグレードするならこれは不要ですが、リポジトリ設定上有効になっていたままなので無効にしておきます。
openSUSE 15.3のインストールイメージのリポジトリを無効化¶
openSUSEをインストールしたCDドライブがリポジトリに有効で設定されていますが、これはreleaseverを変更しても変化しません。
これはいったん無効としておきます。
~> sudo zypper mr --disable openSUSE-Leap-15.3-2
~> zypper --releasever=15.4 lr -u 警告: 強制設定: $releasever=15.4 リポジトリの優先順位は無効化されています。有効化されている全てのリポジトリが同じ優先順位になっています。 # | Alias | Name | Enabled | GPG Check | Refresh | URI ---+-----------------------------+----------------------------------------------------------------------+------------+---------------+----------+------------------------------------------------------------------------ 1 | openSUSE-Leap-15.3-2 | openSUSE-Leap-15.3-2 | いいえ (n) | ---- | ---- | cd:/?devices=/dev/disk/by-id/ata-Virtual_CD 2 | repo-backports-debug-update | Update repository of openSUSE Backports (Debug) | いいえ (n) | ---- | ---- | http://download.opensuse.org/update/leap/15.4/backports_debug/ 3 | repo-backports-update | Update repository of openSUSE Backports | はい (y) | (r ) はい (y) | はい (y) | http://download.opensuse.org/update/leap/15.4/backports/ : 以下略
変更したバージョンへディストリビューションの更新(対処後)¶
~> sudo zypper --releasever=15.4 ref 警告: 強制設定: $releasever=15.4 リポジトリ 'Update repository of openSUSE Backports' は最新の状態に更新済みです。 リポジトリ 'Non-OSS Repository' は最新の状態に更新済みです。 リポジトリ 'Main Repository' は最新の状態に更新済みです。 リポジトリ 'Update repository with updates from SUSE Linux Enterprise 15' は最新の状態に更新済みです。 リポジトリ 'Main Update Repository' は最新の状態に更新済みです。 リポジトリ 'Update Repository (Non-Oss)' は最新の状態に更新済みです。 すべてのリポジトリを更新しました。
マイナーバージョンの更新¶
~> sudo zypper --releasever=15.4 dup 警告: 強制設定: $releasever=15.4 リポジトリのデータを読み込んでいます... インストール済みのパッケージを読み込んでいます... 警告: すべての有効なリポジトリを利用して、ディストリビューションのアップグレードを行おうとしています。続行する前に、これらのリポジトリに互換性があることをご確認ください。このコマンドについての詳しい情報は 'man zypper' をご覧ください。 ディストリビューションのアップグレードを準備しています... 以下 514 個のパッケージをアップグレードします: PackageKit PackageKit-backend-zypp PackageKit-branding-openSUSE PackageKit-gstreamer-plugin PackageKit-gtk3-module PackageKit-lang adobe-sourcesanspro-fonts adwaita-icon-theme alsa-plugins alsa-plugins-speexrate alsa-plugins-upmix apparmor-abstractions apparmor-docs apparmor-parser apparmor-parser-lang apparmor-profiles apparmor-utils :(中略) 514 個のパッケージアップグレード, 13 個のダウングレード, 62 個の新規, 8 個の削除, 2 個のアーキテクチャ変更. 全ダウンロードサイズ:681.2 MiB。すでにキャッシュ済み:0 B。 この操作を行うには、追加で 33.2 MiB の容量が必要です。 注意: システムの再起動が必要です。 続行しますか? [y/n/v/...? すべてのオプションを表示] (y): y :(中略) dracut: *** Creating initramfs image file '/boot/initrd-5.14.21-150400.10-default' done *** %postrans スクリプトを実行しています .............................................................................[完了] 実行中のプログラムが、直近のアップグレードにより削除もしくは更新されたファイルを使用しています。ご確認の上、これらを再起動してください。 'zypper ps -s' と入力して実行すると、プログラムの一覧を表示することができます。 中枢ライブラリもしくはサービスの更新を行いました。 これらの更新を反映させるため、システムの再起動が必要です。
Snapper ファイルシステムのスナップショット¶
ファイルシステムのスナップショットの作成と管理を行う Snapper により、特定の時点でのファイルシステムの状態をスナップショットとしてコピーし、ファイルシステムの変更を後でロールバックできるようにします。
Btrfsのほか、LVMボリューム上のXFS, または Ext4 ファイルシステムで動作します。
16GB以上のBtrfsファイルシステムのルートパーティションでは自動的に有効となります。
スナップショット作成時点では、スナップショットと元のファイルシステムのデータは同じブロックを指しており、スナップショットのディスク容量はほとんどありません。元のファイルシステムへの変更が行われると、古いデータブロックがコピーされ、新しいデータに変更され、古いデータブロックはスナップショットとして残されます。それにより、徐々にスナップショットのディスク容量が増えていきます。
SLSE 12SP5 Document - 7 Snapperを使用したシステムの回復とスナップショット管理
スナップショットの種類¶
- タイムラインスナップショット
1時間ごとに1つのスナップショットを作成、古いスナップショットは自動的に削除、デフォルトで最近10日間、10か月間、10年間の最初のスナップショットが保持。ルートパーティション以外で有効 - インストールスナップショット
YaST/Zypperでパッケージをインストールする際に、常にスナップショットのペア(インストール前とインストール後)が生成、古いスナップショットは自動的に削除、最新の10個の「重要」スナップショットおよび最新の10個の「通常」スナップショットが保持。デフォルトで有効。 - 管理スナップショット
YaSTで管理する際に常にスナップショットペア(YaST開始時とYaST終了時)が作成、最新の10個の「重要」スナップショットおよび最新の10個の「通常」スナップショットが保持。デフォルトで有効。
ルートパーティションの/home、/var、/optなどは対象外です。
Snapperの設定¶
設定に関係するファイル
- /etc/snapper/configs/root
- /etc/sysconfig/yast2
- /etc/snapper/zypp-plugin.conf
Snapperの管理状況¶
sudo snapper --config root list
Snapperの有効・無効制御¶
- タイムラインスナップショットの無効化: (デフォルトでrootのタイムラインスナップショットは無効)
sudo snapper --config root set-config "TIMELINE_CREATE=no"
- インストールスナップショットの無効化: snapper-zypp-pluginパッケージをアンインストール
sudo zypper remove --no-confirm snapper-zypp-plugin
- 管理スナップショットの無効化: /etc/sysconfig/yast2 で、USE_SNAPPER を no に設定
スナップショット領域の削除¶
- snapper が管理するスナップショット構成のリストを表示
sudo snapper list-configs
- 指定したスナップショット構成(e.g. root)のスナップショット一覧を表示
sudo snapper --config root list
- リストされたスナップショットを削除(No.1のスナップショットは削除できない)
sudo snapper --config root delete 2
複数の値を列挙(2 7 8)、または範囲指定(2-5)することも可
設定の記録¶
Redmineプラグイン開発用のOpenSUSE¶
bash設定¶
プロンプトを簡潔に、gitブランチ名表示をします。
gitブランチ名の表示に必要な設定は次をダウンロードし、先頭にピリオドを付けてホームディレクトリに保存しておきます。
https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
https://github.com/git/git/raw/master/contrib/completion/git-prompt.sh
次にOpenSUSEが定義する環境変数NAMEとVERSIONがRAILSのコマンドと干渉するため無効化します。
- ~/.bashrc
PS1="\W\[\033[36m\]\$(__git_ps1)\[\033[00m\]\$ " if [ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash fi if [ -f ~/.git-prompt.sh ]; then . ~/.git-prompt.sh fi export GIT_PS1_SHOWDIRTYSTATE=1 export GIT_PS1_SHOWSTASHSTATE=1 export GIT_PS1_SHOWUNTRACKEDFILES=1 export GIT_PS1_SHOWUPSTREAM="auto" + unset NAME VERSION
Redmineソースコードのクローン作成¶
~> mkdir redmine redmine$ git clone https://github.com/redmine/redmine.git redmine-trunk : redmine$ cd redmine-trunk redmine$ cd redmine-trunk redmine-trunk$
Redmine動作設定¶
データベースをSQLite3使用に設定
- config/database.yml
production: adapter: sqlite3 database: db/redmine.sqlite3 development: adapter: sqlite3 database: db/redmine.sqlite3
zypper install sqlite3-devel
zypper install ruby2.5-devel
zypper install zlib-devel
zypper install ruby2.5-ruby-gem-bundler
zypper install libxslt1
zypper install timezone
セッション秘密鍵生成
bundle exec rails generate_secret_token
データベース初期化
bundle exec rails db:migrate