プロジェクト

全般

プロフィール

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' と入力して実行すると、プログラムの一覧を表示することができます。

中枢ライブラリもしくはサービスの更新を行いました。
これらの更新を反映させるため、システムの再起動が必要です。

設定の記録

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


ほぼ2年前に更新