HEARTBEATS

研修生によるAOPENソースインストール課題の感想

   

概要

はじめまして。
2021年1月に入社し、現在人材開発室で研修中の鈴木賢吾です。 さっそくですが、ハートビーツにはAOPEN(アオペン)という研修課題があります。
AOPENの大まかな構成は以下の通りです。

  1. IT基礎用語課題
  2. Linuxコマンド課題
  3. パッケージインストール課題
  4. ソースインストール課題

特にソースインストール課題が難関で、大変苦戦しましたが、その分多くの学びを得ることができました。
そこで当記事では、実際にAOPENをやった研修生がソースインストール課題についてまとめていきます。 当記事の大まかな流れは以下の通りです。

  • AOPENソースインストール課題の詳細
  • パッケージインストールとソースインストールの違い
  • 個人的に苦戦したこと、学べたこと

それではよろしくお願いいたします。

ソースインストール課題でやること

ソースインストール課題は何をするかというと、LAMP環境の構築をソースインストールのみで行います。
LAMP環境とは以下のOSやミドルウェアからなるサーバ環境のことです。

  • L → Linux
  • A → Apache
  • M → MySQL, MariaDB
  • P → PHP, Python等

まず、ソースインストール課題では、VirtualBoxで仮想マシンを用意するところから始め、最低限必要なツール類をインストールします。
準備はそれだけで、その後必要になるものは全てソースインストールしなければなりません。

パッケージインストールとソースインストール

ソースインストールがなぜ大変なのかは、パッケージインストールと比較すると分かりやすいです。

パッケージインストールの流れ

まず、パッケージとは実行ファイル、設定ファイル、ライブラリ等を一つにまとめたもののことです。
パッケージインストールを行う際は、yumやapt等のパッケージ管理システムを利用します。
例えばApacheをyumでインストールしたい場合、下記コマンドを実行します。

yum install httpd

Apacheを動作させるために必要なものは全てパッケージとしてまとめてあるため、このコマンド一発でApacheのインストールは完了します。

ソースインストールの流れ

一方、ソースインストールの場合は下記手順になります。

  • ソースファイルの入手
  • configure
  • make
  • make install

手順の多さだけでも、パッケージインストールよりも大変なことが分かるかと思います。
例えば、Apacheをソースインストールする場合、本体のソースファイルだけでなく、必要となるライブラリも用意しなければなりません。
また、それらのライブラリもソースインストールで用意する場合は、Apacheのビルド時に、コンパイラがそれらを探し出せるようにパスを指定しなければいけません。
もしパスが間違っていたり、そもそも最低限必要なライブラリが存在しないと、ビルドに失敗してしまいます。

どこに苦戦したか

一番苦戦したところは、ビルド時にライブラリやヘッダファイルが見つからないというエラーに遭遇したところです。
足りないライブラリをソースインストールしたのになぜエラーがそのままなのか、なかなか解決できませんでした。 このように、そもそもライブラリとは何か、ビルド時にコンパイラがどうやってライブラリを探すのかといったことについて、きちんと理解していることが求められました。

何が身についたか

AOPENのソースインストール課題まで一通りやってみて、個人的に一番身についたことは一次情報を見る癖です。
AOPENには基本的には一次情報を参照することというルールがあります。
各設問ごとに参照した一次情報源を載せなければならず、そうしないと課題のチェック時にOKをもらうことができません。 そのためAOPENをやると強制的にこの癖がつきます。
また、一次情報源は英語で書かれていることが多いので、英語への抵抗心がなくなりました。

最後に

当記事では、実際にAOPENをやった研修生の立場から、ソースインストール課題についてまとめました。
業務でソースインストールをすることはほぼ無いと思いますが、パッケージインストールだけでは見えてこなかったサーバの基礎部分を学ぶことができました。
AOPENで学んだことを活かしながら、今後の研修も頑張っていこうと思います。
最後まで読んでいただきありがとうございました。

株式会社ハートビーツの技術情報やイベント情報などをお届けする公式ブログです。



ハートビーツをフォロー

  • Twitter:HEARTBEATS
  • Facebook:HEARTBEATS
  • HATENA:HEARTBEATS
  • RSS:HEARTBEATS

殿堂入り記事