今回紹介するのは以下
・Linuxのデスクトップアプリケーション
・Linuxのサーバーアプリケーション
・Linuxのパッケージとパッケージ管理ツール
・補足:Linuxの主なプログラミング言語
■Linuxのデスクトップアプリケーション
・業務用ソフトウェア群:LibreOffice、Apache Open Office
→ワープロソフトや表計算ソフトなどが組み合わされたオフィススイート。
・Webブラウザ:Mozilla Firefox
→オープンソースのWebブラウザ。
・電子メールクライアント:Thunderbird
→メールの送受信と受信メールの管理。
・画像の加工と編集(ビットマップ画像、ラスター系):GIMP(GNU Image Manipulation Program)
→オープンソースソフトウェアの画像編集アプリ。
・画像の加工と編集(ベクター画像、ベクター系):Inkscape
→オープンソースソフトウェアの画像編集アプリ。
■Linuxのサーバーアプリケーション
※構築したサーバーにアプリケーションををインストールする場合は、当該OSのディストリビューション用のリポジトリからパッケージを取得することを推奨。
・Webサーバー
→Apache HTTP Server(httpd→httpサービスを提供するデーモン=常駐プログラム)。
→NGINX(Apache HTTP Serverに次ぐシェア)。
メールサーバー
→Postfix(メール転送エージェント=MTAとしての機能を持つアプリケーション)。
→Dovecot(サーバー上のメールを取り寄せる機能を持つソフトウェア)。
・データベースサーバー
→MySQL(ライセンスやソフトウェアの購入不要なオープンソースのソフトウェア)。
→MariaDB(MySQLの派生として開発されている)。
・ファイル共有
→NFS(Network File System:ネットワークを通して複数機でファイルを共有)。
→Samba(ファイルサーバーやプリンタサーバーなどの機能を持ち、Windowsと同様の機能をLinux上でも実現)。
・オンラインストレージ
→ownCloud
→Nextcloud
※いずれもクライアント・サーバー型のソフトウェアで、Linux上でサーバーを構築し、Windowsのクライアントで利用も可能。
■Linuxのパッケージとパッケージ管理ツール
・パッケージには、ソフトウェア本体のほかに設定ファイルやマニュアル、ライブラリなどが含まれる。
・パッケージのインストールやアンインストールなどを行う。パッケージそのものは自分で調達する(ダウンロード等)必要がある。
・リポジトリ(パッケージの取得元)に登録されたパッケージ(群)のインストールやアンインストールを行う。
・パッケージ間の依存関係や衝突などを解決することができる。
・パッケージ管理ツールには、低水準のものと高水準のものの二種類がある。
・Red Hat系:Red Hat Enterprose Linux、CentOSなど
→ファイル形式:<パッケージ名>-<バージョン名>-<リリース番号>.<アーキテクチャ名>.rpm
→管理ツール:yum(※高水準/YUM=Yellowdog Updater Modified)、rpm(※低水準)、dnf(Danified Yum)
・Debian系:Ubuntu、Linux Mintなど
→ファイル形式:<パッケージ名>_<バージョン名>-<リリース番号>_<アーキテクチャ名>.deb
→管理ツール:apt-get(※高水準/APT=Advanced Packageing Tool)、dpkg(※低水準)
■補足:Linuxの主なプログラミング言語
・C:機械の制御系システムやツールやOSまで非常に幅広い開発で使われる。
・PHP:WebサイトやWebアプリなどWebサービスに特化した言語。
・Perl:強力なテキスト処理機能、ファイル処理機能を備えている。
・Java:Webシステム・Androidアプリ・業務システム・機械制御システムまで幅広く使用されている。
・Python:コードの読み易さ、シンプルさが特徴で、FacebookやGoogleの他、人工知能の分野にも用いられている。