質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

877閲覧

古いLinuxシステムを整理しています(その2)

kawakawa2018

総合スコア1195

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2019/08/26 08:23

編集2019/09/03 12:41

古いLinuxシステムを整理しています

からの派生する質問になります。現行システムでLinuxサーバーを数台。ここから一台のPCに移行作業を検討中です。

・私が作業計画を作成中で、実際に運用するのは管理者(私ではない)です。
・今後のことを考えて、運用マニュアル、移行マニュアルも作成したいと思っています。

昔は、シェルスクリプトやCのコードを書いて、おしまいでした。当時はそれでもよかったのですが、
今の時代は業務の監査等あって、ベンチマーク?(移行作業時間、移行データ量)も取得予定です。

新規PC(あるいはLinuxサーバー)でユーザーを一から設定、作成するのですが、

1.利用ユーザーには、新規ユーザー作成とツールインストール、データの復元をしてもらう。その際には、

・あらかじめ必要な環境変数を記述したひな形ユーザー(ドットファイル)を用意
・これをユーザーが自分のhomeにあるユーザーフォルダに上書きしてもらう、

2.移行作業は不可逆的に行いたい。すなわち1ユーザーが一回のみ、1.の作業を行う。

3.今のところ、/homeの容量は上限を気にしない。

4.外部からのssh利用など、セキュリティ面は、別作業として今は考慮しない。

と考えております。

一番問題にあるのが、2.の「移行作業は不可逆的に行いたい」だと思うのですが、
これをLinuxコマンド的にどう判定すべきか思いつきません。

ユーザー名、作業実施フラグ

の内容を持つ「管理ファイルを1つ作り、作業フラグを保持する」方法くらいしか思いかびません。

そこで質問ですが、

1 「管理ファイルを1つ作り、作業フラグを保持する」以外で何か方法がありますでしょうか。

2 もっと広い意味で、2.の「すなわち1ユーザーが一回のみ、1.の作業を行う。」を実行するツールや手法などはありますでしょうか。

--追記 9月3日--
多くの方に閲覧してくださり、ありがとうございました。
また編集・追記依頼もいただきました。

いただいた2つの回答の内容では、まだ対応方針が定まりませんでした。
私の質問内容も問題があったと思います。
システムの詳細上、詳細に書けない内容もありますので、
今後、別の質問にて質問内容も整理・工夫して、
ヒントを得たいと思います。

なお、ベストアンサーは最初の方にさせていただきます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2019/08/26 13:43

登場人物とその役割が整理されていない、ないし、整理されて書かれていないので、 > 「移行作業は不可逆的に行いたい」 が意味不明です。単に一度だけ行えばいいのでは?
kawakawa2018

2019/08/26 14:27

ご指摘ありがとうございます。 >登場人物とその役割が整理されていない、ないし、整理されて書かれていない この点はそうだと思います。 この作業は ・「利用ユーザー」が、自分のuserを作成時に一回だけ行う。管理者が行うものではない。 という意味です(一番最初の説明はあいまいでした。ただ詳細をすべて書けないこともご理解ください)。 >単に一度だけ行えばいい これが実は問題でして、利用ユーザーはLinuxに詳しい方ばかりでないです。 ある期間内に、全ユーザーがエラーなく、移行してほしいため、前もって準備しています。 またユーザーがuserを新規に作っても、移行作業、設定はしないまま、そのままログアウト。しばらくの間、作業しない場合も想定されます。 そのため、ログイン時に ・すでに環境設定の更新したかどうか ・データの復元をしたか などを判定し、もし作業を行っていなければ、(作成予定の)移行作業シェル、データ復元シェルをユーザーフォルダ、GUIであればユーザーデスクトップにコピーするスクリプトも検討しています。 とにかく、管理者の作業負担を減らし、かつ「利用ユーザー」によるミスオペ(操作ミスによるデータ消失 など)が発生しないことが理想です。 ※そのため、そうした運用方法の検討の中で「管理ファイル」も、自分が考えついたわけです。 移行作業、その詳細もすべてはこちらには書けませんが、ヒントでもいただければと思います。
guest

回答2

0

別途管理ファイルを作るより、

そのため、ログイン時に

・すでに環境設定の更新したかどうか
・データの復元をしたか
などを判定し、もし作業を行っていなければ、(作成予定の)移行作業シェル、データ復元シェルをユーザーフォルダ、GUIであればユーザーデスクトップにコピーするスクリプトも検討しています。

がいいかと思います。

投稿2019/08/27 00:05

otn

総合スコア84421

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

一番問題にあるのが、2.の「移行作業は不可逆的に行いたい」だと思うのですが、

これをLinuxコマンド的にどう判定すべきか思いつきません。

ユーザー名、作業実施フラグ
の内容を持つ「管理ファイルを1つ作り、作業フラグを保持する」方法くらいしか思いかびません。

やってる内容がイマイチわかんないんですが、新規ってことは/home/ユーザー以下が空の状態から作業しているんでしょうから、ツールのインストールやデータの復元がユーザーごとなんであれば、ユーザーディレクトリの下を調べたら作業済みかどうか判断する事は可能なのでは。(作業後に必ずできてるはずのディレクトリやツールのインストール状況をチェックするなど)

なぜ別に作る必要があると思ったのか、の背景がわからないと何ともですけど。

投稿2019/08/26 09:00

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kawakawa2018

2019/08/26 09:29 編集

ご回答ありがとうございます。 ・「移行作業は不可逆的に行いたい」は、各ユーザー一人ひとりが移行作業を一回のみ行うという意味です。あいまいな説明ですみません。 具体例としては、 1.設定ファイル(ドットファイル)の更新・追加作業 2.ローカルで稼働する開発環境のインストール Eclipseなどのソフト などを一回のみ行うという意味でした。 ※もちろん、この後はユーザーの判断で、必要に応じてパスの追加や環境変数の追加などもできます。 ・新規ってことは/home/ユーザー以下が空の状態から作業している その通りです。 ”作業後に必ずできてるはずのディレクトリやツールのインストール状況をチェックするなど” 確かに、「管理ファイル」は作らずに ファイルをリスト(ls)で取得し、その結果からファイルの有無をチェックする でいいかもですね。 管理ファイルを考えたのは、「ユーザーファイル設定実施フラグ、ソフトのインストール実施フラグ、実行日時」などの情報を持たせるためです。 (もちろん一般的なソフト、実行ファイルはこちらで管理者がインストールしておきます)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問