kei615ykhm’s programming learning blog

プログラミングを0から学んでいる学生の備忘録

【学びの記録】メリットとデメリットから知るLinux

Keiです。

 

プログラム開発で幅広く使われているOSのLinuxのメリットとデメリットについて、まとめていきます。

 

メリットとデメリット

前提知識:LinuxGNU/Linux)はWindowsMacに搭載されたOS(Operation System)で、使用用途に合わせて選べる様々なディストリビューションが存在する。

 

メリット:

オープンソース:コードを自由にカスタマイズできるため、汎用性が高い。

そのため、セキュリティの強化やパフォーマンスの向上などの様々な改良が可能。

 

②コスト:多くのディストリビューションは無料で使用することができ、WindowsMacのようにライセンス費用が掛からない。

 

③セキュリティ:オープンソースだからこそ、様々なエンジニアがシステムの脆弱性をカバーするパッチをリリースしてくれるため、安全性が高い。

また、デフォルトでユーザー権限を分離したり、強力なファイアーウォールを使用可能な点も挙げられる。

 

④安定性と信頼性:長時間の運用でも性能が低下することが少ないため、Webサーバーなどの連続稼働が求められるものにとっては理想的な環境といえる。

 

⑤サポートと多様なツール:開発者向けのツールが豊富で、広範囲のディストリビューションとコミュニティのサポートがある。

 

CUIであること:コーディングを行うエンジニアにとって、コマンドを入力するだけで様々な操作が可能なCUIは高効率である。

 

デメリット:

①互換性の問題:特定のソフトウェアやハードウェアがサポートされていない場合がある。また、異なる開発環境を一か所にまとめてしまうことで予期せぬエラーが発生してしまうなどの報告も多数あるという。

 

CUIであること:コーディングを行わない技術者にとっては、コマンドを入力しなければいけない操作が難しいと感じられてしまう。

但し、Ubuntuと呼ばれるディストリビューションGUI(画面操作可能)も可能にしているため、比較的扱いやすくはなっている。

 

Web開発における用途

サーバー運用:長時間の稼働に対する安定性とセキュリティの高さから、Webサーバーやデータベースサーバーとして採用されている。

 

開発環境:DockerやVagrantなどの仮想化技術との関連性が高い点も挙げられる。

 

まとめ

LinuxはOperation System(OS)のひとつで、Web開発においては安定性やセキュリティの高さからWebサーバーやデータベースとして採用されている。

 

また、モダンな開発技術には欠かせない仮想化技術との関連性が高い。