Linux(Linux Essentials)1-2.Linuxの主なオープンソースアプリケーション

今回紹介するのは以下
Linuxのデスクトップアプリケーション
Linuxのサーバーアプリケーション
Linuxのパッケージとパッケージ管理ツール
・補足:Linuxの主なプログラミング言語






Linuxのデスクトップアプリケーション
・業務用ソフトウェア群:LibreOfficeApache Open Office
ワープロソフトや表計算ソフトなどが組み合わされたオフィススイート。

WebブラウザMozilla Firefox
オープンソースWebブラウザ

・電子メールクライアント:Thunderbird
→メールの送受信と受信メールの管理。

・画像の加工と編集(ビットマップ画像、ラスター系):GIMPGNU Image Manipulation Program)
オープンソースソフトウェアの画像編集アプリ。

・画像の加工と編集(ベクター画像、ベクター系):Inkscape
オープンソースソフトウェアの画像編集アプリ。




Linuxのサーバーアプリケーション
※構築したサーバーにアプリケーションををインストールする場合は、当該OSのディストリビューション用のリポジトリからパッケージを取得することを推奨。

・Webサーバー
Apache HTTP Server(httpd→httpサービスを提供するデーモン=常駐プログラム)。
→NGINX(Apache HTTP Serverに次ぐシェア)。

メールサーバー
Postfix(メール転送エージェント=MTAとしての機能を持つアプリケーション)。
Dovecot(サーバー上のメールを取り寄せる機能を持つソフトウェア)。

・データベースサーバー
MySQL(ライセンスやソフトウェアの購入不要なオープンソースのソフトウェア)。
MariaDBMySQLの派生として開発されている)。

・ファイル共有
NFS(Network File System:ネットワークを通して複数機でファイルを共有)。
→Samba(ファイルサーバーやプリンタサーバーなどの機能を持ち、Windowsと同様の機能をLinux上でも実現)。

・オンラインストレージ
→ownCloud
→Nextcloud
※いずれもクライアント・サーバー型のソフトウェアで、Linux上でサーバーを構築し、Windowsのクライアントで利用も可能。




Linuxのパッケージとパッケージ管理ツール
・パッケージには、ソフトウェア本体のほかに設定ファイルやマニュアル、ライブラリなどが含まれる。
・パッケージのインストールやアンインストールなどを行う。パッケージそのものは自分で調達する(ダウンロード等)必要がある。
リポジトリ(パッケージの取得元)に登録されたパッケージ(群)のインストールやアンインストールを行う。
・パッケージ間の依存関係や衝突などを解決することができる。
・パッケージ管理ツールには、低水準のものと高水準のものの二種類がある。

Red Hat系:Red Hat Enterprose LinuxCentOSなど
→ファイル形式:<パッケージ名>-<バージョン名>-<リリース番号>.<アーキテクチャ名>.rpm
→管理ツール:yum(※高水準/YUM=Yellowdog Updater Modified)、rpm(※低水準)、dnf(Danified Yum

Debian系:UbuntuLinux Mintなど
→ファイル形式:<パッケージ名>_<バージョン名>-<リリース番号>_<アーキテクチャ名>.deb
→管理ツール:apt-get(※高水準/APT=Advanced Packageing Tool)、dpkg(※低水準)




■補足:Linuxの主なプログラミング言語
・C:機械の制御系システムやツールやOSまで非常に幅広い開発で使われる。
PHP:WebサイトやWebアプリなどWebサービスに特化した言語。
Perl:強力なテキスト処理機能、ファイル処理機能を備えている。
Java:Webシステム・Androidアプリ・業務システム・機械制御システムまで幅広く使用されている。
Python:コードの読み易さ、シンプルさが特徴で、FacebookGoogleの他、人工知能の分野にも用いられている。