多くの作成者は、Enable Sysadminリーダーに、ホームラボ環境を構築する理由、またはvirsh、Ansible、さらにはコンテナーを使用してラボ環境を作成するためのガイダンスを提供しています。それで、ホームラボが自分に適していることがわかり、記事を使用して優れたセットアップを構築したので、次は何ですか?
私が教えるときは、Linuxの知識を高めたり、認定試験の準備をしたりするために使用できる論理的な順序で提案されたスキルを提供する、自分のペースで学習できるラボワークブックを生徒に提供します。この記事のワークブックを変更して、光沢のある新しいLinuxラボ環境に関係する13のことを説明しました。
これは膨大なガイドラインのセットです。さらに、ステップバイステップの説明はありません。実際、それがポイントです。現実の世界と同じように、これらのタスクを実行する方法がまだわからない場合は、これらのタスクを調べて自分で学ぶ必要があります。
一部のタスクをカバーするEnableSysadminの記事があります。教訓は、これらすべての答えを知っている必要があるということではなく、見つける方法を知っている必要があるということです。 これらすべての答え。すべてのセクションを実行する必要はありませんが、他のセクションに依存しているものもあります。
1。 Linuxを選択
ホームラボは多くの目的を果たすことができ、ラボを使用して何を達成したいかについてのアイデアが必要です。
- Linuxで何ができるかを調べているだけの場合は、CentOSStreamまたはFedoraをインストールすると柔軟な環境が提供されます。これらのディストリビューションのいずれかをスペアコンピューター、Raspberry Piにインストールするか、仮想マシン(VM)またはコンテナーとしてインストールできます。
- 目的地から旅を始めたい場合は、サポートされているプラットフォームにRed Hat Enterprise Linux(RHEL)をインストールできます。これにより、エンタープライズ品質のLinuxを使い始めることができます。つまり、セットアップを完了すると、本番環境に移行する準備が整います。
これらのディストリビューションはすべてFedoraから派生しているため、インストールプロセスは、どちらを選択しても基本的に同じです。開始方法がわからない場合は、紹介ガイドに従うことができます。この情報を使用して、次のタスクでインストールするディストリビューションを選択し、Linuxランドスケープをよりよく理解してください。
2。少なくとも3つのディストリビューションをインストールする
- 個別のブート、変数、ホーム、スワップ、およびファイルシステムのルートパーティションを作成します(合計5つのパーティション)。将来のタスクのために、少なくとも100MBの空の未使用のパーティション化されていないハードディスクスペースを残してください。
- 選択したディストリビューションで使用できるデスクトップグラフィカルユーザーインターフェイス(GUI)を選択します。
- インストール中にユーザーを作成し、そのユーザーを管理者にします。これにより、ユーザーに
sudo
が付与されます 権限。 - インストールが完了したら、組み込みのヘルプ機能を調べます。
- マニュアルページを使用して
fstab
を調査します ファイル。 - さまざまなマニュアルページセクションの違いは何ですか?管理者は主にセクション1、5、および8を使用します—なぜですか?
- マニュアルページ内でキーワード検索を行うにはどうすればよいですか?
-
/usr/share/doc
にあるもの ? - 利用可能なGUIヘルプファイルを調べます。
- マニュアルページを使用して
- Vimチュートリアルを完了します(コマンドは
vimtutor
です )Vimに慣れるため。必要に応じてNanoを使用できます。 確実に これらのアクティビティを続行する前に、構成ファイルを作成、開く、編集、保存、および閉じることができます。 -
tzselect
を使用して、特定のタイムゾーンのインストールを構成してみてください コマンド。 - プライマリラボコンピューターとして1つのインストールを選択します。それを「サーバー」として指定し、2番目のインストールを「クライアント」として選択します。残りのアクティビティでは、これら2つのシステムを使用します。
[学習中および作業中は、Linuxコマンドのチートシートを常に手元に置いてください。 ]
3。ユーザー権限を調整する
- インストール時に作成したユーザーアカウントを使用してログインします。
sudo
を使用する システム全体の管理タスクを実行する必要がある場合にroot権限を取得するコマンド。これは、Linux管理における重要なベストプラクティスです。 -
sudo
を使用して、ユーザーアカウントに割り当てられている権限を調整します 指図。/etc/sudoers
を編集する必要がありますvisudo
を使用してファイルを作成する コマンド。
4。テキストエディタを使用する
- Vimを使用して認定研究計画を作成します。 Linuxスキル開発の一環として実行する予定のタスクを一覧表示します。
- Nanoテキストエディタを使用して、3つ(またはそれ以上)のリソースを一覧表示します。
- GUIテキストエディタの使用に自信がある3つのLinuxスキルと自信がない3つのLinuxスキルをリストします。このアクティビティ全体でGUIエディタを使用するのはこれだけです。
5。ユーザーとグループを管理する
-
/etc/skel
を使用します ユーザーアカウントを追加する前にプロファイル設定を定義するディレクトリ。 -
/etc/login.defs
を使用してパスワードとアカウントの有効期限を設定します ユーザーアカウントを追加する前にファイルします。次のパスワード要件を使用します。- パスワードは90日後に有効期限が切れ、5日間の警告期間があります。
- コマンドラインを使用して、後のアクティビティで使用する5つのユーザーアカウントを作成します。これらのアカウントを使用して、権限と所有権を試してみます。各ユーザーに一意の名前を付けますが、すべて同じパスワードを設定します(自分の正気のため)。
- コマンドラインを使用して、架空の部門に基づいて、営業、マーケティング、人材、IT、エンジニアリングの5つのグループを作成します。上から1人のユーザーを各グループに配置します。
-
sudo
を使用して、システムを再起動する機能を1人のユーザーのみに委任します 。
6。ファイルの管理
- ファイルシステムのルートに各部門(営業、マーケティング、人材、IT、エンジニアリング)のディレクトリを作成します。
- 各グループが独自の部門ディレクトリにのみアクセスできるように、標準のLinux権限と所有権を構成します。たとえば、販売グループは
/sales
にアクセスできます。 ディレクトリですが、他の部門のディレクトリにはありません。- 前の手順を完了してテストした後、マーケティング部門が
/sales
への読み取りアクセスを許可するようにACL権限を構成します ディレクトリ。 - ACL権限を使用して、1つのユーザーアカウントに
/IT
への読み取り権限を付与します ディレクトリ。 -
/marketing
でSGIDとスティッキービットを設定します ディレクトリ。
- 前の手順を完了してテストした後、マーケティング部門が
- 既存の2つのユーザーアカウントがマーケティンググループのメンバーになっていることを確認します。
- 各アカウントを使用して、
/marketing
に1つのファイルを作成します ディレクトリ。 - これらのアカウントの1つが、他のアカウントによって作成されたファイルを削除できるかどうかをテストします(スティッキービットのため、削除できないはずです)。
- 各アカウントを使用して、
-
unchangeable.txt
というファイルを作成します 、不変属性を設定してから、ファイルを削除します。 - ファイルリンクを構成します。
-
LinksTest.txt
という名前のファイルを作成します/opt
で ディレクトリを作成し、/tmp
にそのディレクトリへのハードリンクを作成します。 ディレクトリ。 Vimを使用して、/opt/LinksTest.txt
を介してファイルにテキスト行を追加します パスをクリックし、/tmp/LinksTest.txt
を使用してファイルの内容を表示します ファイルパス。 -
/tmp/LinksTest.txt
へのシンボリックリンクを作成します rootユーザーのホームディレクトリにあり、ファイルの内容を表示します。 -
/tmp/LinksTest.txt
を削除します ファイルを作成し、/root/LinksTest.txt
を介してファイルの内容を表示してみます。 シンボリックリンク。
-
-
/tmp
に10個のファイルを作成します ディレクトリを作成し、tar
を使用します およびgzip
ファイルをバンドルして圧縮します。- 10個の元のファイルを削除してから、tarballから復元します。
-
find
を使用します 部門ディレクトリでテストファイルを検索するコマンド。このタスクは、最初にrootユーザーとして、次にディレクトリを所有するグループのメンバーであるユーザーとして、最後にディレクトリを所有するグループのメンバーではないユーザーとして実行します。 - コマンドラインでのみ、ISOイメージのマウントとアンマウントを練習してください。
- ファイルをISOからLinuxインストール上のディレクトリにコピーします。
- LVMの構成:
- 残りの空のハードディスクドライブスペースのそれぞれ50MBの2つのセクションを、LVMが使用する物理ボリューム(PV)として指定します。
- これらをPVに結合して単一のボリュームグループにし、100MBの単一の論理ボリューム(LV)を構成します。
- このLVのマウントポイントとして機能するディレクトリを作成し、
/etc/fstab
にエントリを追加します。 システムの起動時にマウントされるようにします。
[テスト準備に関するその他のアドバイスについては、RedHatリモート試験の準備eBookをダウンロードしてください。 ]
7。ソフトウェアの管理
-
rpm
を使用します ソフトウェアを管理するコマンド:-
rpm
を使用します インストールされているすべてのソフトウェアのインベントリを作成し、このインベントリリストをテキストファイルにリダイレクトするコマンド。 -
rpm
を使用してRPMパッケージをインストールします 指図。たとえば、zsh
をインストールします パッケージ。必要に応じてパッケージをダウンロードします。 -
rpm
を使用しますzsh
に関する情報を取得するコマンド パッケージ化してから、rpm
を使用します パッケージをアンインストールします。
-
-
dnf
を使用します ソフトウェアを管理するコマンド:-
dnf
を使用してRPMパッケージをインストールします 指図。たとえば、ksh
をインストールします パッケージ。 -
dnf
を使用しますksh
に関する情報を取得するコマンド パッケージ化してから、dnf
を使用します パッケージをアンインストールします。
-
- コンパイルする必要のあるソフトウェアを見つけてダウンロードします。ソフトウェアをコンパイルするプロセスを実行します。 (GitLab、GitHub、Sourceforgeは人気のある開発リポジトリです。)
- MD5チェックサムを含むソフトウェアをダウンロードして、その整合性を検証します。ダウンロード後、MD5の結果をWebサイトの結果と比較します。
8。 CLIとGUIを起動します
- systemdを使用してコマンドラインインターフェイス(CLI)で起動するようにラボマシンの1つを構成し、再起動して成功したことを確認します。
- 再起動したり、デフォルト設定を変更したりせずに、systemdを使用してGUIを起動します。
- デフォルトでGUIを起動するようにVMを再構成してから、再起動して成功したことを確認します。
- CLIを再度起動するようにVMを構成してから、再起動して成功したことを確認します。
9。ハードウェアの管理
- 次のコマンドを使用して、ラボコンピューターのハードウェア情報を文書化します。
df
、du
、cat /proc/cpuinfo
、cat /proc/meminfo
、devices
、partitions
、ifconfig
、ip addr
、cat /etc/fstab
、uname –a
- これらのコマンドからの出力をテキストファイルに転送します(このドキュメントを合理的に整理するために必要な数のテキストファイルを作成します)。両方の
>
を使用する および>>
データを整理します。 -
dmesg
をリダイレクトします テキストファイルに出力してから、grep
を使用します ファイル内の「メモリ」または「CPU」への参照を表示するユーティリティ。このファイルは他に何を教えてくれますか?
10。スクリプトを作成する
- インターネットで、役立つと思われる3つ以上の簡単なスクリプトを検索してください。
- 「ドットスラッシュ」(
./
)を使用する目的は何ですか )スクリプトを実行するときにスクリプトの前にありますか? - 「sh-bang」の目的は何ですか(
#!/bin/bash
など) )スクリプトの先頭にありますか?
- 「ドットスラッシュ」(
- Vimを使用してこれらのスクリプトを編集します。 GUIエディタを使用しないでください。
- JimHallのLearnBashの記事を読んでから、システム管理者向けのDavidBothのBashスクリプトをダウンロードしてください。
- バックアップスクリプトを作成して使用し、前に作成した部門ディレクトリの内容をバックアップします。
-
cron
を使用して、バックアップスクリプトを1時間ごとに実行するようにスケジュールします。 。動作することがわかったらすぐに設定を解除してください!
-
- GitHubで無料のアカウントを作成し、そこにスクリプトを保存してバージョン管理を可能にします。
[Linuxcronチートシートをダウンロードします。 ]
11。システムおよびネットワークサービスを構成する
- OSIモデルの7つの層を文書化します(これは、一般的なネットワーキングの知識と見なされます)。
- 少なくとも1つのLinuxシステムのIPアドレスとMACアドレスを
networking.txt
というファイルに記録します rootユーザーのホームディレクトリにあります。このIPアドレスはどのクラスですか? -
/etc/hosts
を編集します 名前によるping機能を許可するために使用可能なVM上のファイル。 - ネットワークに接続されているVMが2つ以上ある場合は、SSH接続を確立します。
- キーベースの認証専用にSSHを設定します。
- SSHサーバーごとにそのサーバーのホスト名をリストするバナーメッセージを設定します。 (つまり、1つのVMを管理ワークステーションとして設定し、残りのVMをサーバーとして設定してから、SSH接続を使用して1つのワークステーションからすべての管理を実行します。)SSH接続用にファイアウォールを構成する必要がある場合があります。
-
traceroute
を実行します IPアドレス8.8.8.8に送信し、出力をtraceroutegoogle.txt
というファイルに記録します。 rootユーザーのホームディレクトリに保存されます。tracepath
を使用してプロセスを繰り返します コマンド。 - 一方のVMを静的IPアドレスを持つDHCPサーバーとして構成し、もう一方をDHCPクライアントとして構成します。
-
ping
を使用する 2つのVM間の接続を確認します。
-
- HTTPやFTPなど、このセクションでテストするすべてのネットワークサービスのファイアウォールでポートを開きます。
-
firewall-cmd
を使用します Firewalldサービスを管理するコマンド。ディストリビューションは別のファイアウォールサービスを使用している可能性があるため、適切なコマンドを使用してください。
-
- Apache Webサーバーをインストールして有効にします(Apacheのプロセスは
httpd
と呼ばれます )。-
multi-user.target
で自動的に起動するようにApacheを設定します およびgraphical.target
構成。 - VMの1つでホストされるテストWebサイトを作成します。
index.html
を作成する必要があります ウェブページ。 Webサイトが他のVMから利用可能であることを確認します。 -
ps
の組み合わせを使用する およびgrep
Apacheに関するプロセス情報を表示します(httpd
)プロセス。
-
- vsFTPdサーバーソリューションをインストールして構成し、vsFTPdサービスが自動的に開始するように設定します。
- テストFTPサイトを利用可能にして、そこからファイルをダウンロードできることを確認します。
- 上記のHTTPおよびFTPサービスのrsyslogログファイルを表示します。
- GRUB2メニューファイルをカスタマイズして、ディストリビューションがデフォルトのメニューエントリ(通常はベンダーによって指定されたディストリビューションの正式な名前を表示する)ではなく、ブートメニューで「MyLinuxDistro」と表示されるようにします。
-
top
を使用する プロセスを放棄するコマンド。 -
systemd-analyze
の出力をリダイレクトします コマンドをテキストファイルに入力し、起動に最も時間がかかる3つのサービスをメモします。 -
/proc/cpuinfo
の内容を確認します ファイルを作成し、CPUのモデル名を文書化します。 -
/proc/meminfo
の内容を確認します ファイルを作成し、システムのメモリの総量を文書化します。
12。忘れたルートパスワードを回復する
- GRUB2の起動プロセスを中断して、rootユーザーのパスワードをリセットします。時間をかけて、この構成を活用するのにどれくらいの時間がかかりましたか?フルディスク暗号化を使用してLinuxをインストールした場合、これは機能しません。したがって、このタスクを実行できる場合は、暗号化を有効にする必要があります。
13。 GUIを調査する
- さまざまなディストリビューションで利用できるさまざまなGUIを調べてください。これらは、使用しているディストリビューションと選択したインストールオプションによって異なります。さまざまなGUI内で、職場や家庭でなじみのある、または役立つ機能を見つけてください。
- パソコンの使い方を考えてみましょう。 Linux上で実行される便利なオープンソースアプリケーションはありますか?たとえば、ミュージシャンはレコーディングソフトウェアをよく使用しますが、その目的でLinuxで利用できるソフトウェアは何ですか。またはゲームはどうですか?デジタル写真と画像編集?
- さまざまなFedoraスピンの説明をオンラインで読んでください。
まとめ
これらは単なる提案です。試験の目的リスト、職務記述書、学習ガイド、およびその他のリソースからタスクを追加して、自分の道に来る可能性のあるものすべてに完全に備えるようにします。これは膨大なタスクリストであることを認識しています。象を食べるのと同じように、一度に一口ずつアプローチします。