序章

ほとんどすべてのサーバーに必要な機能の1つは、他のネットワークマシンと情報を送受信する能力です。 人々は一般的にサーバーをコンテンツを提供するものと考えていますが(結局のところ、サーバーはその名前に含まれています)、さまざまな理由でコンテンツを取得する機能も必要です。

ほとんどのLinuxパッケージは、ディストリビューションのリポジトリから入手でき、標準のパッケージ管理ツールを使用してダウンロードできますが、他の情報やファイルは他のメカニズムを使用する必要があります。 このガイドでは、Linuxサーバーにファイルとデータを取得するための最も一般的な方法のいくつかについて説明します。

このリストを実行するために主にUbuntu14.04VPSインスタンスを使用しますが、他のディストリビューションやリリースでこのソフトウェアのほとんどすべてをインストールして使用できます。

リポジトリからのデータとソフトウェアの取得

おそらく、パッケージとソフトウェアをサーバーに取り込む最も一般的な方法は、リポジトリを使用することです。 このコンテキストのリポジトリは、実際にはかなり異なるものを参照できます。

これは、単に利用可能なソフトウェアの大規模なコレクションを指している場合があります。 これらには、ディストリビューションで使用するために一般的にテストおよび構成された、コンパイル済みですぐにインストールできるソフトウェアが含まれています。 特定のソフトウェアプロジェクトを構築するために必要なすべてのファイルを含むソースリポジトリもあります。

このセクションでは、これらのタイプの両方について説明します。

通常の配布リポジトリからのソフトウェアのインストール

Linuxコンピューター用のソフトウェアをインストールする標準的な方法は、パッケージマネージャーを使用することです。 パッケージマネージャーは、互換性のあるシステムで検証、パッケージ化、およびテストされたパッケージのリポジトリーを含む構成済みのサーバーセットに接続するように構成されています。

Linuxディストリビューションは、これを実現するためにさまざまなパッケージ形式とパッケージマネージャーを使用します。

最も人気のあるパッケージ形式は .deb DebianおよびUbuntuディストリビューションとその派生物で使用されるパッケージ形式、および .rpm RedHat、CentOS、Fedoraおよび関連するディストリビューションで伝統的に使用されているパッケージ形式。 一部のシステムは、異なるパッケージ形式を使用します。 たとえば、ArchLinuxはシンプルなものを使用しています .tar.xz パッケージ。

一般的に、 .deb パッケージは使用する傾向があります apt ツールのパッケージ管理スイート。 aptを使用して.debパッケージを管理する方法については、ここをクリックしてください。

同様に、 .rpm パッケージ形式は通常、 yum パッケージマネージャー。 使い方を学ぶことができます yum さまざまなソースから入手できます。その一部の例は、ここここ、およびここで入手できます。

Arch Linuxはこれらのパターンに従わず、独自のパッケージ形式を使用しているため、独自のパッケージマネージャーを開発しました。 pacman この機能を管理します。 Arch wikiには、pacmanの使用方法に関するすばらしいページがあります。これはここにあります。

パーソナルパッケージアーカイブの使用方法

Ubuntuマシンで利用可能なソフトウェアを取得する1つの方法は、パーソナルパッケージアーカイブまたは PPAs。 ソフトウェアを入手するこの方法はほとんどのディストリビューションには関係ありませんが、Ubuntuサーバーに柔軟性を提供します。

PPAは基本的にリポジトリであり、通常は単一またはいくつかの特定のパッケージに焦点を当てており、公式のUbuntuチャネル外の個人またはチームによって維持されます。 これにより、PPAをパッケージマネージャーの個別のソースとして使用でき、そこでビルドおよび保存されたソフトウェアを他のパッケージとシームレスにインストールできるようになります。

これには明らかな利点がいくつかあります。 Ubuntuの公式リリースの間に新しいバージョンのソフトウェアを入手できます。これにより、通常、一度に6か月間ほとんどのパッケージの古いバージョンが残ります。 また、Ubuntuチームによって正式にパッケージ化されていないソフトウェアに簡単にアクセスできます。ただし、独立した当事者がパッケージを提供するためにそれを引き受けている場合に限ります。

ソースからコンパイルすることに対する最大の利点は、これらのパッケージが通常のパッケージツールを介して管理されることです。 これは、更新を定期的に受信でき、一般的なパッケージエコシステムにプラグインされていることを意味します。これにより、依存関係の解決などの機能を利用できます。

ただし、このアプローチには欠点もあります。 1つは、使用しているPPAのメンテナに多くの信頼を置く必要があります。 Ubuntuのパッケージャーを信頼するのには十分な理由があるかもしれませんが、関心のあるPPAが信頼できるソースから提供されているかどうかを自問する必要があります。 メンテナが悪意を持っていなくても、セキュリティを最も意識しておらず、無意識のうちに侵害されたパッケージを提供している可能性があります。

覚えておくべきもう1つのことは、これらのPPAの寿命です。 このソースから突然サポートが削除された場合のアクションの計画はありますか? ディストリビューションがデフォルトのチャネルを介してパッケージのサポートを追加することになった場合に備えて、注意を払う時間はありますか?

始める前に、PPAを簡単に管理できるように、システムにパッケージを追加する必要がある場合があります。 これはリリースによって異なりますが、以下の2つのオプションのいずれかを使用できるはずです。

sudo apt-get update
sudo apt-get install python-software-properties     # For Ubuntu 12.04 and lower
sudo apt-get install software-properties-common     # For Ubuntu versions > 12.04

その後、次のように入力してPPAを追加できます。

sudo add-apt-repository ppa: PPA_name

次に、パッケージインデックスを更新して、新しいPPAから情報を取得する必要があります。 次に、PPAが提供する新しいソフトウェアをインストールできます。

sudo apt-get update sudo apt-get install new_package

Gitリポジトリ

Linuxソフトウェアを扱うときに遭遇する可能性のある他のタイプのリポジトリは、ソフトウェアソースファイルを管理するために使用されます。 一般的に、これは git リポジトリ。

関心のあるファイルがでホストされている場合 git リポジトリ、またはGitHub、Bitbucket、プライベートGitLabなどのホストされたGitソリューション上。 従来の方法を使用してファイルを簡単にプルダウンできます git コマンド。

サーバーに git 開始するためにインストール:

sudo apt-get update
sudo apt-get install git

その後、プロジェクトを保持するディレクトリに移動し、サイトで提供されている情報を使用してリポジトリのクローンを作成できます。 たとえば、GitHubでは、右側にプロジェクトのリポジトリURLを取得できます。

URLをコピーして、cloneコマンドの後にターミナルセッションに貼り付けることができます。

 git clone  https://github.com/user/project.git

これにより、プロジェクト全体が現在のディレクトリに複製されます。

一般的なWebリソース

リポジトリを使用したソフトウェアの管理は簡単で、ソフトウェアと変更を追跡するための優れた方法を提供しますが、さまざまな理由から、これらの方法に常に依存できるとは限りません。 すべてのソフトウェアがリポジトリに保持されているわけではなく、サーバーに必要なデータの種類はソフトウェアパッケージだけではありません。

リポジトリ以外のコンテンツについては、他のツールを利用できます。 以下では、いくつかの洗練された方法と洗練されていない方法について説明します。

リモートダウンロードと転送

おそらく、最も自然に感じられるサーバーにデータを取得する方法は、データを自宅のコンピューターにダウンロードしてから、サイトにアップロードすることです。 おそらくすでにカスタムコンテンツをサイトにアップロードしているので、この方法は、正確にエレガントではないにしても、簡単です。

サイトに必要なコンテンツ、ファイル、またはパッケージは、通常のWebブラウザーを使用してコンピューターにダウンロードできます。 ソフトウェアを入手している場合は、サーバーのディストリビューション、リリース、およびアーキテクチャに一致する正しいバージョンをダウンロードしていることを確認してください(ダウンロードオプションが異なる場合)。

その後、これらのファイルをサーバーに簡単に転送できます。 推奨される方法は、 sftp 接続。データを安全に簡単に転送できます。 このガイドに示されているように、コマンドラインから sftpを使用するか、FTPクライアントを次のコマンドで使用できます。 sftp このガイドでsftpでのFileZillaの使用について示しているように機能。

これは、Web上でアクセスできるファイルに加えて、作成したファイルを転送できるため、サーバーにコンテンツを取り込むための最も柔軟な方法です。

コンソールベースのWebブラウザ

システムにコンテンツを取り込むもう1つの興味深い方法は、サーバー内から実際にWebブラウザーを使用することです。

グラフィカルディスプレイサーバー全体と従来のブラウザーをサーバーにインストールできますが、これはほとんどの場合やり過ぎであり、必要ありません。 別の方法は、テキストのみの出力で表示されるWebサイトにアクセスできるコンソールベースのWebブラウザを使用することです。

コンソールベースのWebブラウザで利用できるオプションはかなりあります。

リンクス

The lynx ブラウザは、現在も活発に開発および使用されている最も古いWebブラウザです。 使い方も簡単です。 基本的に、上矢印キーと下矢印キーを使用すると、ページ全体のリンク間を簡単にジャンプできます。 リンクをたどるには、エントリが強調表示されているときにEnterキーまたは右矢印を押します。

これはデフォルトではシステムで使用できない場合がありますが、次のように入力することで簡単にインストールできます。

sudo apt-get update
sudo apt-get install lynx

LynxはCookieの管理とブックマークを処理できます。 お使いの端末がサポートしている場合は、色付きの出力をレンダリングできます。 通常、実際の機能を提供するためにjavascriptなどに依存しないWebサイトに使用できます。

ここでは、たとえば、でレンダリングされたサンプルのDigitalOceanアカウントページを見ることができます。 lynx ブラウザ:

Droplets

   Create Droplet
   × Logged in!
   Image         Name            IP Address   Status Memory Disk Region
         irssi                xxx.241.xxx.54  Active 512MB  20GB nyc1
         try                  192.xxx.170.xx  Active 4GB    60GB nyc2
         snmp                 xxx.170.xx.123  Active 4GB    60GB nyc2
         tugboat              192.xxx.162.xxx Active 4GB    60GB nyc2

ご覧のとおり、これはかなり使いやすいです。

このブラウザは、コマンドラインからWebを閲覧するのにも優れています。 の1つの機能 links のようなもの上のブラウザ lynx これは、ESCキーを押すことでアクセスできる従来のブラウザと同様のメニューシステムが含まれていることです。

このブラウザがまだシステムにインストールされていない場合は、次のように入力して取得できます。

sudo apt-get update
sudo apt-get install links

ながら links ブラウザはデフォルト設定で色付きのテキストをレンダリングしないため、ハイパーリンクを区別するのが少し難しくなります。多くのncurses機能を利用して、レンダリングをかなり見栄えよくします。 グラフィックサイトをテキストに入れると、常にフォーマットの問題が発生しますが、 links かなりいい仕事をします:

                                 Droplets                                 
                                                                          
   Create Droplet                                                         
                                                                          
   Image Name                 IP Address      Status Memory Disk Region   
         irssi                xxx.241.xxx.54  Active 512MB  20GB nyc1     
         try                  192.xxx.170.xx  Active 4GB    60GB nyc2     
         snmp                 xxx.170.xx.123  Active 4GB    60GB nyc2     
         tugboat              192.xxx.162.xxx Active 4GB    60GB nyc2

あなたの決定に影響を与えるかもしれないもう一つの特徴はそれです links デフォルトでは、マウスのサポートが組み込まれています。つまり、通常のブラウザの場合と同じように、ターミナルウィンドウのリンクをクリックできます。

人気のフォーク links ブラウザは elinks. このフォークは2001年に開始され、拡張機能セットを組み込んでいます。 links レンダリングメカニズムと基盤となるエンジン。

取得するため elinks Ubuntuマシンでは、次のように入力できます。

sudo apt-get update
sudo apt-get install elinks

あなたが得る機能のいくつか elinks 以上 links パスワードとフォームの管理、タブ付きブラウジング、部分的なjavascriptのサポート、bittorrentとIPv6プロトコルのサポートです。 これらは速度を犠牲にしてもたらされるかもしれませんが、おそらくこれはあまり目立たないでしょう。

w3m

これは、グラフィカルブラウザを使用するのと同じ方法で使用する方が簡単な、もう1つのフル機能のテキストブラウザです。 このリストにある他のほとんどのブラウザでは、リンク間をジャンプできますが、ページ自体を閲覧するのは困難です。 The w3m ただし、ブラウザはTABを使用してリンク間を移動し、矢印キーを使用してカーソルを個別に移動してページをスクロールします。

多くのシステムには次のものが含まれますが w3m デフォルトでは、サーバーにこのブラウザがない場合は、次のように入力してブラウザを追加できます。

sudo apt-get update
sudo apt-get install w3m

一部の人々が興味を持つこのブラウザの別の利点は、それが使用できることです vi-キーコマンドのように。 たとえば、「j」、「k」、「l」、および「h」と入力してカーソルを移動することもできます。

ユーティリティのダウンロード

サーバー自体から参照できると便利な場合もありますが、多くの場合、自分のマシンのグラフィカルWebブラウザーからの参照の方が効率的であり、ページをより忠実にレンダリングできるようになります。

このため、多くの人が自分のマシンでWebを閲覧し、ダウンロードリンクをターミナルウィンドウに貼り付けて、ダウンロードユーティリティで使用します。

wget

The wget ツールは、Webサイトからページやダウンロードをすばやく取得するための優れたオプションです。

お持ちでない場合 wget Ubuntuサーバーですでに利用可能である場合は、次のように入力して取得できます。

sudo apt-get update
sudo apt-get install wget

その後、リモートソースからファイルをダウンロードするのは、次のようにコマンド名の後にURLを貼り付けるのと同じくらい簡単です。

 wget  www.example.com

これを一般的なWebサイトに向けると、インデックスまたはメインページがローカルディレクトリ内のファイルにダウンロードされます。 ファイルに向けると、代わりにファイルがダウンロードされます。

通常、プロセスは、自宅のコンピューターのブラウザーを使用して、興味のあるインターネット上のファイルを見つけ、ダウンロードへのリンクを右クリックして、「リンクの場所をコピーする」と同様のオプションを選択することです。 次に、上記のコマンドでこのURLを使用します。

ダウンロードが中断された場合、実際に使用することができます -c フラグ。現在のディレクトリに不完全なファイルが見つかった場合、部分的なダウンロードを再開します。

 wget -c  www.example.com

The wget コマンドはCookieを処理でき、スクリプトの候補として適しています。また、Webサイト全体を元の形式で再帰的にダウンロードできます。

カール

The curl このタイプの操作には、ツールも最適です。 その間 wget 通常、ファイルを作成することによって動作します。 curl デフォルトでは標準出力を使用するため、スクリプトやパイプに非常に役立ちます。 また、多数のプロトコルをサポートし、より多くのHTTP認証方式を処理できます。 wget.

多くのシステムが持っている間 curl デフォルトでインストールされますが、Ubuntuマシンにインストールされていない場合は、次のように入力できます。

sudo apt-get update
sudo apt-get install curl

その間 curl 通常はパイプを使用しますが、出力をファイルに保存することも簡単にできます。 これは、サーバー用のファイルをダウンロードする場合におそらく必要なものです。 ファイルをダウンロードして同じ名前のローカルファイルに出力するには、次のように入力します。

カール-O  www.example.com/index.html

ファイルを指定する必要があるのはそのためです curl ローカルファイルの名前を知っています。

ローカルファイルの名前を選択する場合、サイトのディレクトリインデックスを探しているときに、特定のファイルを指す必要はありません。 代わりに、オプションでそれを特定の場所にポイントすることができ、返すように構成されているインデックスファイルはすべて、選択したファイルに配置されます。

 curl -o file.html  www.example.com

これは、選択したい名前のファイルをダウンロードする場合にも同様に機能し、ディレクトリインデックスの操作に役立つだけではありません。

リダイレクトが渡された場合は、次のように伝えることができます curl また、を使用してそれに従うために -L 国旗。

結論

これまでに、インターネットからサーバーにソフトウェア、データ、および資料を取得するためのかなりの数の異なるオプションがあることがわかります。 これらはすべてWebからコンテンツをプルする機能を備えていますが、あらゆる種類のダウンロードや消費に適しているわけではありません。

オプションが何であるかを知り、それが設計された状況で各ソリューションの長所を活用できるようにすることは役に立ちます。 これにより、不要な作業を回避し、問題に取り組む方法に柔軟性を持たせることができます。

ジャスティン・エリングウッド