プロジェクト

全般

プロフィール

操作

20260728 redmineユーザーをcontainer-executerへリネーム

タイトルの通り。
ユーザーをリネームするだけだけどpodman周りが詰まった。

現状

redmineというユーザーがいてredmineコンテナを動かしている。
他にもコンテナが立つかもしれないので名前をredmineからcontainer-executerへ変更したい。

課題

podmanでプロセスを動かしている

解法

AI(Gemini)を信じる

作業

  • /home/redmineやredmineユーザーを参照している箇所の確認
  • podmanのコンテナ終了
  • redmineユーザーのプロセス終了
  • プライマリグループredmineのリネーム
  • ユーザー名のリネーム
  • ホームディレクトリの移動・コピー
  • podmanの立上げ(詰まった)

/home/redmineやredmineユーザーを参照している箇所の確認

grep -rli /home/redmine /etc
grep -rli redmine /etc

何かで調べる。関係しそうなのはAIが言ってたもの以外特になかった

podmanのコンテナ終了

podman compose stop

redmineユーザーのプロセス終了

# ps -u redmine
# loginctl terminate-user redmine
# ps -u redmine

2回目のpsコマンドで何も出ないことを確認する。

プライマリグループredmineのリネーム

Geminiの指示通り以下を実行

sudo groupmod -n container-executer redmine

一応、打つ前に意味をチェック

$ groupmod --help
使い方: groupmod [オプション] GROUP

オプション:
  -a, --append                  append the users mentioned by -U option to the group
                                without removing existing user members
  -g, --gid GID                 グループの ID を GID に変更します
  -h, --help                    このヘルプを表示して終了する
  -n, --new-name NEW_GROUP      名前を NEW_GROUP に変更する
  -o, --non-unique              他と重なる GID を許可する
  -p, --password PASSWORD       パスワードをこの (暗号化された) PASSWORD
                                に変更する
  -R, --root CHROOT_DIR         chroot するディレクトリ
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -U, --users USERS             list of user members of this group

単なる名前変更なので安心

ユーザー名のリネーム

Geminiを信じて以下を打つ:

sudo usermod -l container-executer -d /home/container-executer -m redmine

の前に確認。以下、該当オプションだけヘルプをピックアップします。

$ usermod --help
使い方: usermod [オプション] LOGIN

オプション:
  -d, --home HOME_DIR           ユーザアカウントのホームディレクトリを
  -l, --login NEW_LOGIN         ログイン名を変更する
  -m, --move-home               現ホームディレクトリの内容を新たな場所に

ホームディレクトリの移動・コピー

上の節で実行済み

podmanの立上げ(詰まった)

Geminiからのお告げを打っていく。
自動起動できるようにユーザー設定とpodmanがちゃんと動くか確認

# loginctl enable-linger container-executer
$ podman info

Failed to obtain podman configuration: lstat /run/user/1002: no such file or directory 

うろたえる。Geminiに一度ログアウトして入りなおせと言われたので実行すると回復

$ podman info

Error: database static dir "/home/redmine/.local/share/containers/storage/libpod" does not match our static dir "/home/container-executer/.local/share/containers/storage/libpod": database configuration mismatch 

再びうろたえる。podmanが保持するDB内に/home/redmineへの参照があるらしくエラーになるらしい。
キャッシュ的な情報なので削除してやり直す

rm -rf ~/.local/share/containers/storage
rm -rf /run/user/1002/containers
rm -rf /run/user/1002/podman*

これをしたら

podman info

で情報が出たので

docker compose up -d

でコンテナ立上げ直して終わり

sylow castle さんが20日前に更新 · 1件の履歴