支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • 【Linux系資格取得を目指す人向け

はじめに

日常的に多くの人が利用しているスマートフォンは、基本的にGUI(グラフィカルユーザインターフェース)と言う、マウスや指での視覚的な操作が可能なコンピュータです。家庭用のパソコンやオフィス用のパソコンでの占有率が高いWindowsや、MacOSもご存知の通りGUIでの操作が可能なコンピュータです。そのため、テキストデータの「.txt」、エクセルデータの「.xls」「.xlsx」、Wordデータの「.doc」といった拡張子のファイルを取り扱うことはあっても、システム関連のファイルを直接開いて編集する機会は非常に少ないことでしょう。

しかし、実際コンピュータ内には非常にたくさんのファイルが存在し、それらが正しく機能することで初めてOSやソフトウェアが動作している状態です。また、GUIを介してこれらのファイルの設定値が変更できるようになっています。この記事では、そんなファイルの中でも重要な「.conf」ファイルについて紹介していきます。なお「.conf」ファイルはOSの種類にかかわらず使われますが、今回はLinuxOSの内容をメインに取り扱います。これからLinuxのエンジニアを目指している方、またはLinuxの試験勉強を始めようとしている方はぜひご覧ください。

.confファイルとは?

.confファイルは、設定ファイルという呼び方もされ、ファイルの中身には、OSやサービスの様々な設定がテキストデータで書き込まれています。初めから存在しているファイルですが、エンジニアが後からデフォルトのパラメーターを変更したり、項目を追加したりすることが可能です。一般的に「コンフファイル」と読みます。

この.confファイルがないと、各プログラムごとに設定内容を書き込まなければならず、修正が必要となった際には毎回全てのプログラムの編集が必要となるため、非常に時間がかかるだけではなく修正漏れが発生する可能性もあります。.confファイルにまとめて設定値を指定しておき、各プログラムで一斉に.confファイルを参照することで、これらの手間や懸念を解消することができます。例えば、価格の変動が激しい製品があった場合、デジタルカタログに価格を記載せず、「価格は以下リンク先を参照」としておくと毎回カタログの内容を修正しなくて済みますが、.confファイルにはこの「リンク先」と同じ効果があります。

設定内容を誤ったり、削除してしまったりするとソフトが起動しない、動作不良を起こすといった状況になりかねないため、取り扱いには十分注意しましょう。編集する際は、事前に編集前のファイルのバックアップを取っておくことをおすすめします。バックアップを取っておけば、万が一のことがあってもすぐに修復可能となります。

今回は「設定ファイル=.conf」として紹介していますが、設定ファイルの役割を持っているファイルの拡張子が「.conf」であるとは限りません。拡張子の付け方に特にルールはないので、「config」を別の略し方をして「.cfg」とした拡張子や、「initialization(初期化)」を略して「.ini」とした拡張子のファイルが設定ファイルの役割を持っている場合もあります。いずれのファイルも、多くの場合は実行ファイルが設置されている場所と同じディレクトリに置かれています。しかし、必ずそこに設定しなければいけないというルールもなく、設定ファイルを集めたディレクトリ内に設置されていたり、ユーザーごとに分けたディレクトリ内に設置されていたりする場合もあります。

なお他にも、パラメータを設置することがメインとなっているファイルには「.json」「.yml」「.xml」といった拡張子があり、ソフトウェアやプログラミング言語によって使い分けられます。また、「.ini」はWindowsOSのシステムで利用さえる傾向にある拡張子ではあるものの、Linuxには「init」というコマンドが存在したり、デフォルトで起動スクリプトが設置されているディレクトリが「/etc/init.d」であったりと、何かと目にすることの多い名称ではあります。

.confファイルの記述内容を見るために特別なソフトを用意する必要はなく、Windowsのメモ帳やMacOSのTextEditのように、デフォルトでインストールされている各種テキストエディタにて閲覧可能です。

Linuxの代表的な.confファイルについて

LinuxOSのサーバーを管理するに当たって、編集や追加が行われることの多い代表的なサービスの.confファイルについて、概要を紹介していきます。.confには具体的にどういった内容が記述されているか掴めるので、ぜひご覧ください。なお、いずれのファイルにも共通しますが、設定内容ではなくコメントとして記述されている部分の先頭には「#」がついています。これはLinux共通の仕様となるので、自分で編集する際にコメントアウト(読み込ませたくない)したい場合は、「#」を使いましょう。

sysctl.conf

「/etc/sysctl.conf」ディレクトリにあるこのファイルは、OS起動時に毎回設定したい内容が記述されています。OS起動時に参照する仮想ファイルは「/proc/sys/」にあるものの、実際の編集は「/etc/sysctl.conf」の方で行います。なお、編集はviエディタ等を利用して行いましょう。また、設定を反映させるためにはOSの再起動が必要となるファイルであることも覚えておいてください。「/proc/sys/」内の仮想ファイルに設定を反映させたいだけの場合は、「sysctl -p」というコマンドを実行することで可能となります。

resolv.conf

そのサーバーの名前解決に関する設定を書き込むファイルです。「nameserver」という項目名があり、こちらに利用するDNSサーバーのIPアドレスを入力しますが、この設定をすることでDNSサーバーの利用が可能となります。ネームサーバーは複数存在することが多いですが、「nameserver IPアドレス」という形式で複数のネームサーバーを設定することも可能です。一番最初に記述されたネームサーバーから問い合わせを始め、名前解決できなかった場合は、そのすぐ下に記述されたネームサーバーに問い合わせるという仕様です。「nameserver」の部分にはグローバルIPアドレスだけではなく、自分自身を表す「127.0.0.1」や、プライベートIPアドレスを指定することも可能です。これらが先頭に記述されていると、先にローカル環境のDNSに問い合わせをして、内部で名前解決できなかった場合に外部に問い合わせに行くという設定になります。

また、「domain」という部分にサーバーの所属するドメイン名を記載すると、名前解決においてホスト名の部分だけ入力した時に、自動でドメインの部分を補完してくれます。例えば「domain exdmain」というように設定すると、「ssh host」というコマンドを実行した際に、実際には「ssh host.exdmain」を実行するようになるという仕組みです。他にも「search」という項目があり、ここにもドメインを記述しておくと「domain」部分で名前解決ができなかった際、続けて「search」に記述されているドメインを付加して名前解決するようになります。なお、2022年時点で主流とはなっていないものの、「resolv.conf」にはIPv6に関する記述もされていることを覚えておきましょう。

httpd.conf

Apache(アパッチ)の設定ファイルです。ApacheとはWebサーバーソフトウェアの一つで、オープンソースで無料で利用でき、OSに依存せず利用可能であることから、長い間多くのWeb系システムで利用されています。このApacheが稼働することで、HTMLやCSS等のファイルで構成されたホームページの公開が可能となります。なお、Apache以外に利用されることの多いWebサーバーソフトウェアとしては、Windowsの「IIS(Internet Information Services)」や「nginx(エンジンエックス)」等があります。

「httpd.conf」には、Apacheを稼働させる際の様々な設定値が記述されています。例えば、セッションの保持に関する「KeepAlive」「KeepAliveTimeout」「MaxKeepAliveRequests」、サーバーの起動に必須となる「Listen」、サーバーを実行するユーザーやグループを指定する「User」「Group」等です。

さらには、エラーが発生した際の連絡先として表示される管理者のメールアドレスを設定する「ServerAdmin」、サーバー名やポート番号を設定する「ServerName」、ドキュメントルートを指定する「DocumentRoot」、ファイル名が指定されていない場合にも表示可能とするファイル名を指定する「DirectoryIndex」、アクセス制御の役割を持つファイルを指定する「AccessFileName」があります。特に「DocumentRoot」「DirectoryIndex」「AccessFileName」は、初めてWebサーバーの設定を行う際にも編集する可能性が高いでしょう。他にも非常に多くの設定項目がありますが、この記事での紹介は以上とします。

Linuxの資格について

Linuxのスキル・知識を習得するのに適している資格を2つ紹介します。名称が似通っていて間違えやすいですが、特徴が多少異なるので、ぜひ違いを理解した上で適した方を受験しましょう。

LPIC(エルピック)

正式名称は「Linux Professional Institute Certification」で、LPIというカナダの組織が認定している世界的な資格です。海外の組織が認定しているものの、日本支部もあるため日本語での受験が可能です。試験は初級のLPIC-1からLPIC-3までの3レベルに分かれていて、LPIC-1は101試験、102試験、LPIC-2は201試験、202試験という2つの試験に合格することで資格が認められる仕組みになっています。ただし、2つ目の試験をすぐに受けなければいけないということはなく、一方に合格してから5年以内にもう一方に合格すれば資格が認められます。なお、LPIC-3は300試験(OSの混在環境)、303試験(セキュリティ関連)、305試験(仮想化およびコンテナ化)、306試験(高可用性システムとストレージ)の中から一つを選択して合格することで資格が認められます。305試験、306試験は2022年10月時点で英語の試験しかない点にご注意ください。

いずれの試験も下位の試験に合格していることが受験条件となり、コンピュータで受験することとなります。解答方法がマウス選択、キーボード入力という点、試験時間は90分、約60問程度の出題数という点も全試験共通です。また、LPICは有効なスキルや知識の保有を目指すという目的があることから、資格の有効期限が5年間と定められています。LPIC-1、LPIC-2の場合は、5年以内に上位試験に合格すれば有効性が維持され、LPIC-3は5年以内に再受験して合格すると資格が維持されます。

試験はパソコンで受験できるものの、自宅で行うことはできず、ピアソンVUEの運営する全国各地のテストセンターに行って受験する必要があります。受験までの流れとしては、まずLPIの公式ページにてIDを登録し、次にバウチャーと呼ばれる受験チケット(受験料に該当)を購入します。続いて、ピアソンVUEでもアカウント登録をし、試験会場・受験日を予約することとなります。バウチャーは全試験共通の税込16,500円(2022年10月時点)、発行から6ヶ月の有効期限があることにご注意ください。

いずれの試験も合格ラインは65〜75%の間と言われているので、出題数が60問と考えると正解数は約42問程を目安とすると良いでしょう。なお、合否は試験終了後に即時分かるようになっています。勉強時間は、LPIC-1は1〜3ヶ月、LPIC-2は3〜6ヶ月、LPIC-3は6〜12ヶ月程度が目安です。また、不合格となった場合は、再受験するまでに7日間待つ必要があります。2回目も不合格となった場合は、3回目まで30日以上待たなければなりません。

最後に出題範囲について紹介します。LPIC-1の101は、システムアーキテクチャ、Linuxのインストールとパッケージ管理、GNUとUnixのコマンド、デバイス、Linuxファイルシステム、ファイルシステム階層です。102は、シェル、スクリプト、データ管理、インターフェイスとデスクトップ、管理タスク業務、必須システムサービス、ネットワーキングの基礎、セキュリティです。LPIC-2の201は、キャパシティプランニング、Linuxカーネル、システムの起動、ファイルシステムとデバイス、高度なストレージデバイスの管理、ネットワーク構成、システム・メンテナンスです。202は、ドメインネームサーバ、ウェブサービス、ファイル共有、ネットワーククライアントの管理、電子メールサービス、システムのセキュリティです。なお、LPIC-3は選択したジャンルによって異なるので省略します。今回紹介した「.confファイル」に関しては、初級であるLPIC-1から出題される内容となるので、早いうちに押さえておくことをおすすめします。

LinuC(リナック)

2018年に開始されたLPICよりも新しい資格試験で、日本のLPI-Japanという組織が運営しています。なお、LPI-Japanは元々LPICの日本向けの試験を運営していましたが、その後LPICの運営はLPI日本支部に変わり、LPI-JapanではLinuCのみ運用しているという状況です。

LinuCの試験概要としてはLPICと同じ部分が多く、レベル1〜3まで3段階の試験があり、レベル1は101、102試験、レベル2は201、202試験の両方に合格すると資格が認められます。1つ目に合格してから5年以内にもう一方に合格しなければいけない点、各試験の下位資格に合格していることが受験条件という点も同様です。レベル3は300(Mixed Environment)、303(Security)、304(Virtualization & High Availability)のいずれかを選択、受験して合格することで資格が認められます。受験料金も全レベル共通で税込16,500円となっています。受験方法等も同様なので以降は省略します。

共通点の多いLPICとLinuCですが、逆にどのような点が異なるのかを紹介します。LinuCは日本独自に運営している資格試験であるため、国内IT市場のトレンドに沿った内容が出題される傾向にあります。その一方で世界での認知度は低く、国外ではLPICの方が有効と言えます。業務により関連した資格を取得しておきたいという場合はLinuC、業務と直接関係なくても将来的にLinuxの知識をつけておきたい、エンジニアとして海外で働くことも視野に入れているという場合はLPICを選択すると良いでしょう。またLinuCはフォローが手厚く、スコアと合否判定だけではなく、合格基準、項目別のスコアも開示してくれます。

最後にLinuCの出題範囲ですが、レベル1は、Linuxの物理・仮想サーバーの運用・構築、クラウド環境のセキュリティ、オープンソースに関する内容が出題されます。レベル2は、システム設計から構築、運用監視、トラブルシューティング、仮想マシンのコンテナの仕組み、セキュリティ、システムアーキテクトの基本について出題されます。レベル3は、選択した専門分野についてそれぞれ異なる内容が出題されます。以上の出題範囲を見る限り、LinuCでも「.conf」ファイルの内容はレベル1から理解しておいた方が良いと言えます。

まとめ

この記事ではLinuxOSをメインとした.confファイルの基礎について紹介してきましたが、.confファイルに関しては特に応用するような複雑な特徴ではないので、今後.confファイルに出会ったとしても、今回の概要を抑えておけば特に困ることはないと言えます。なお、記事内でも触れていますが、.confファイルは誤って編集したり削除してしまったりすると、ソフトウェアやOSが動作しないという致命的な状態を生じさせてしまうことにもなりかねないため、編集前に必ずバックアップを取る等をして、慎重に取り扱うようご注意ください。また、サーバーエンジニア等でLinuxOSを管理する場合は、ぜひ各.confファイルにどのような設定が含まれているか、ある程度頭に入れておくことをおすすめします。