ビッグデータ学習チュートリアル: Linux 基本チュートリアル (パート 1)

1 オペレーティングシステムの概要

1.1 コンピュータの原理

現代のコンピューターのほとんどはノイマン構造に基づいており、この構造の中心的な考え方は、プログラムとデータをコンピューターに保存し、メモリーに保存されたプログラムの最初のアドレスに従ってプログラムの最初の命令を実行することです。そしてデータを処理して計算します。

コンピュータには、演算ユニット、コントローラ、ストレージ、入出力デバイスという 5 つの基本コンポーネントが含まれている必要があります。

コンピュータは命令やデータをバイナリで表現し、書かれたプログラムをメモリに入れてコンピュータを動作させると、オペレータの介入なしに自動的に命令を一つ一つ取り出して実行することができます。

写真

コンピュータはソフトウェアとハ​​ードウェアで構成されています。ハードウェアは主にCPU、記憶装置、入出力装置などから構成されます。ソフトウェアには、オペレーティング システム、システム ソフトウェア、アプリケーション ソフトウェアが含まれます。

写真

1.2 オペレーティングシステムとは何ですか

オペレーティングシステム、英語ではオペレーティングシステム(OSといいます)です。ウィキペディアでは次のように定義されています。

オペレーティング システムは、コンピュータのハードウェアとソフトウェア リソースを管理するコンピュータ プログラムであり、コンピュータ システムの中核および基礎でもあります。

簡単に言うと、オペレーティング システムは、コンピューターのハードウェアとソフトウェアの調整、管理、制御に役立つ、私たちが通常使用するものとは少し異なるプログラムです。

オペレーティング システムを搭載していないコンピューターは「ベア メタル」と呼ばれます。オペレーティング システムはベア メタル上で実行され、その他のソフトウェアはオペレーティング システムのサポートがなければ実行できません。

オペレーティング システムはプログラミングを容易にするために存在します。オペレーティング システムがない場合、アプリケーション プログラムを作成するプログラマは、まずコンピュータ ハードウェアを制御できるプログラムを作成し、次にそのプログラムに基づいてアプリケーション プログラムを作成する必要があります。コンピュータ ハードウェアを制御するプログラムを作成するには、次のことを理解する必要があります。コンピュータのハードウェアの動作原理に基づいて、対応する命令セットを呼び出して制御します。

写真

1.3 オペレーティング システムの分類

現在までにオペレーティング システムが開発され、さまざまな種類があり、アプリケーション分野に応じて分類できます。

デスクトップ オペレーティング システム、サーバー オペレーティング システム、組み込みオペレーティング システム、モバイル デバイス オペレーティング システム

1.3.1 デスクトップ オペレーティング システム

通常、いわゆるデスクトップとは、グラフィカルな操作ページを指します。デスクトップ オペレーティング システムが誕生する前、最も有名なオペレーティング システムは DOS でしたが、DOS の操作インターフェイスは非常に不親切で、単なるコードであったため、マイクロソフトは最初のグラフィカル インターフェイス オペレーティング システムである Windows 1.0 を発売しました。色数はわずか 256 色ですが、当時としては十分魅力的でしたが、現在では Mac OS、Windows、Linux の三脚が続いています。

写真

1.3.2 組み込みオペレーティング システム

組み込みシステムは、μClinux (組み込み Linux)、WinCE (Microsoft 組み込み、モバイル コンピューティング プラットフォーム)、RTOS (組み込みリアルタイム オペレーティング システム、軍用航空)またはその他のオペレーティング システム。産業、軍事、航空などの分野で広く使用されています。

写真

1.3.3 サーバーのオペレーティング システム

サーバー オペレーティング システムとは、一般に、企業 IT システムのインフラストラクチャ プラットフォームである Web サーバー、アプリケーション サーバー、データベース サーバーなどの大型コンピュータにインストールされるオペレーティング システムを指します。

サーバーオペレーティングシステムは主にUnix、Linux、Windows Server、Netwareの4つのジャンルに分類されます。

1.3.4 モバイルデバイスのオペレーティングシステム

モバイル デバイスは携帯電話とも呼ばれます。オペレーティングシステムは主にスマートフォンで使用されています。

現在携帯電話で使用されているオペレーティング システムには、主に Android (Google)、iOS (Apple)、Symbian (Nokia)、BlackBerry OS (Blackberry)、Windows mobile (Microsoft)、Harmony (Huawei Honmeng) などが含まれます。

写真

2 Linux の基本についての紹介

2.1 Linux開発の歴史

2.1.1 Unix の起源と発展

Unix は、広く使用されている最も初期のコンピュータ オペレーティング システムの 1 つです。

1969 年に、Unix システムの最初のバージョンは、AT&T ベル研究所の Ken Thompson によって実装されました。1970 年代後半: AT&T は Unix システム研究所を設立しました。

1970 年代後半: CSRG (カリフォルニア大学バークレー校コンピュータ システム研究グループ) はオペレーティング システムの研究に Unix を使用し、その後有名な BSD Unix (Berkeley Software Distributions) バージョンを拡張しました。

2.1.2 オープンソースコードの開発

ソース コードとは、特定のプログラミング言語仕様に従って書かれたコンパイルされていないテキスト ファイルを指します。オープン ソース コードとは、プログラム開発者が学習、使用、または修正のために自分で書いたコード ファイルを他人に公開することを意味します。

当初、Unix は AT&T 研究所のオープン ソース プロジェクトであったため、Unix のソース コードは簡単に入手できましたが、Unix が広く応用されるにつれ、AT&T は Unix の価値を認識し始め、1979 年に特別な Unix 研究所を設立しました ( USL ) と AT&T は同時に Unix の所有権と商用化を発表しました。

これは、CSRG による BSD Unix のリリースにもつながりました。1983 年、ソフトウェア所有権の民営化の流れに反対するために、リチャード ストールマンはオープン ソース コードの開発を促進する GNU プロジェクトを立ち上げ、多くのソフトウェアを開発しました。この目的を達成し、Free Software Foundation Council (FSF) を創設し、GNU General Public License を開発し、「反著作権」の概念を提唱しました。

2.1.3 Linuxの誕生

写真

inux の詳細な開発履歴: https://www.linuxprobe.com/linux-historyal-chronology.html

簡単に説明すると、Linux カーネル プロジェクトはフィンランドの Linux Torvalds によって作成され、その後のアップグレードとメンテナンスを担当しており、ロゴはフィンランドのマスコットから取られています。最も重要なのは、オープンソースです!

写真

 

写真

 

2.2 Linuxカーネル(カーネル)

カーネルはオペレーティング システムの中心であり、プログラムを実行し、ディスクやプリンターなどのハードウェア デバイスを管理するコア プログラムです。Linux の用語では、カーネルはオペレーティング システムのコアを指します。Linux カーネルのバージョン:

  • 安定版

工業用の強度を備えているため、広く使用および展開できます。

  • ベータ版

さまざまなソリューションを試しているため、すぐに変化します

カーネルソース URL: http:www.kernet.ort

世界中からの Linux ソース コードへのすべての変更は最終的にこの Web サイトに収集され、Linus 率いるオープン ソース コミュニティがそれらを選別して変更し、最終的に Linux メインライン カーネル ソース コードを入力するかどうかを決定します。

したがって、いわゆる Linux オペレーティング システムは次の部分で構成されます。

Linux オペレーティング システム = Linux カーネル + GNU ソフトウェアおよびシステム ソフトウェア + 必要なアプリケーション

写真

 

2.3 Linux ディストリビューション

Linux ディストリビューションは、Linux カーネルと一般的に使用されるさまざまなソフトウェアで構成される製品の集合であり、現在、世界中に何百もの Linux ディストリビューションが存在します。

写真

 

大きな観点から見ると、Linux ディストリビューションは個人用デスクトップ エディションとエンタープライズ サーバー エディションに大別できます。

2.3.1 個人デスクトップ版

個人ユーザー向け。イメージインターフェイスが搭載されているため、インターフェイスが美しく操作が簡単で初心者に適していますが、サーバー版よりも多くのリソースを消費します。一般的なデスクトップ バージョンには、Ubuntu、Debian、Fedora、CentOS、openSUSE などが含まれます。

2.3.2 エンタープライズサーバーエディション

企業ユーザー向け。このシステムは安定性が高く、リソース消費が少なく、企業のニーズを満たしていますが、基本的にはコマンドライン インターフェイスであるため、使用を開始するには一定の基盤が必要です。一般的なサーバーのバージョンには、RedHat Enterprise Edition、CentOS、Debian、Ubuntu、openSUSE などが含まれます。

3 VMware仮想マシン

3.1 VMware仮想ネットワーク

3.1.1 仮想ネットワークカード、仮想スイッチ

ネットワーク カードは、ネットワーク アダプタとも呼ばれ、コンピュータがコンピュータ ネットワーク上で通信できるように設計されたコンピュータ ハードウェアの一部です。これにより、ユーザーはケーブルまたはワイヤレスで相互に接続できます。ネットワーク上のすべてのコンピュータ ネットワーク カードには、一意の MAC アドレスが必要です。

VMware Workstation を使用して仮想マシンをインストールすると、仮想有線ネットワーク カードが自動的にインストールされますが、複数の仮想ネットワーク カードを手動で仮想マシンに追加することもできます。

スイッチは電気(光)信号の転送に使用されます。スイッチに接続された任意の 2 つのネットワーク ノードに専用の電気信号パスを提供できます。簡単に理解すれば、いくつかのコンピュータを接続してローカル エリア ネットワークを形成できます。

VMware Workstation 12 のインストール時に、20 個の仮想スイッチが自動的にインストールされました。

写真

 

一般的に使用されるスイッチは VMnet0、VMnet1、および VMnet8 で、VMware の 3 つのネットワーク モードに対応します。

3.1.2 仮想ブリッジ

ブリッジは、ローカル エリア ネットワークと別のローカル エリア ネットワーク間の接続を確立するブリッジです。これは、ネットワークと通信を拡張し、さまざまな伝送メディアでデータ信号を転送し、ネットワークの距離を延長する手段です。

VMware では、作成された仮想マシンが使用する仮想ネットワーク カードが VMnet0 仮想スイッチに接続されている場合にのみ、仮想ネットワーク ブリッジが適用されます。

3.1.3 仮想DHCPサーバー

仮想ネットワーク カードが VMnet1 または VMnet8 仮想スイッチに接続されると、仮想 DHCP サーバーが自動的にインストールおよび実行され、この仮想スイッチに接続されます。

DHCP サーバー: (動的ホスト構成プロトコル、動的ホスト構成プロトコル)、主な目的は 2 つあります。

1. 内部ネットワークに IP アドレスを自動的に割り当てます。

2. すべてのコンピュータを集中管理する手段として。

写真

 

3.1.4 仮想NATサーバー

仮想ネットワーク カードが VMnet8 (NAT) 仮想スイッチに接続されている場合にのみ、仮想 NAT サーバーが自動的にインストールおよび実行され、この仮想スイッチに接続されます。

NAT サーバー: (ネットワーク アドレス変換、ネットワーク アドレス変換) NAT 機能を提供するサーバー: 内部ネットワークで使用される IP アドレスを外部ネットワークで使用される IP アドレスに変換し、ルーティング不可能な IP アドレスをルーティング可能な IP に変換します。アドレスを使用して、内部ネットワークを外部ネットワークから隠します。

写真

3.1.5 ホスト仮想ネットワークカード

VMware Workstation 12 をインストールすると、ホスト仮想ネットワーク カードが物理 PC マシンにインストールされます。

写真

3.2 VMwareネットワークモード

3.2.1 ブリッジ型

ブリッジ モードは、仮想ブリッジを使用してホスト ネットワーク カードと仮想マシンの仮想ネットワーク カードの間で通信します。ブリッジングの機能では、物理ホストをスイッチとして仮想化するのと似ています。ブリッジングによって設定されたすべての仮想マシンはこのスイッチのインターフェイスに接続され、物理ホストもこのスイッチに接続されるため、すべてのネットワークがブリッジ下のカードとネットワークカードが接続されており、エクスチェンジモードで相互に干渉することなくアクセスできます。ブリッジ モードでは、仮想マシンの IP アドレスはホストと同じネットワーク セグメント上にある必要があり、ネットワークが必要な場合は、ゲートウェイと DNS がホスト ネットワーク カードと一致している必要があります。

写真

ホストの無線ネットワーク カードにブリッジするか有線ネットワーク カードにブリッジするかについては、ホストのインターネット アクセス モードによって異なります。

ブリッジモードの最大の特徴は、仮想マシンのネットワーク特性がIPを除いてホストのネットワーク特性とほぼ同じであることです。

3.2.2 NAT (ネットワークアドレス変換)

NAT ネットワークでは、VMnet8 仮想スイッチが使用され、ホスト上の VMware ネットワーク アダプタ VMnet8 仮想ネットワーク カードは、仮想マシンと通信するために VMnet8 スイッチに接続されますが、VMware ネットワーク アダプタ VMnet8 仮想ネットワーク カードは、仮想マシンと通信するためにのみ使用されます。 VMnet8 仮想ネットワーク カードと通信します。これは、スイッチのネットワーク セグメントの通信に使用されます。VMnet8 ネットワーク セグメントのルーティング機能は提供しません。仮想 NAT ネットワーク下の仮想マシンは、仮想NATサーバー。

写真

このとき、仮想マシンとホストマシンは相互にアクセスすることができ、このときホストマシンがインターネットに接続されていれば、仮想マシンもインターネットに接続することができる。ここでの VMware ネットワーク アダプタ VMnet8 仮想ネットワーク カードは、NAT 仮想ネットワーク下のホストと仮想マシン間の通信用のインターフェイスのみを提供します。したがって、仮想ネットワーク カードがアンインストールされても、仮想マシンは引き続きインターネットにアクセスできますが、ホストは VMnet8 ネットワーク セグメントにアクセスできなくなります。

NAT モードでは、ホストは VMware NAT サービスと VMware DHCP サービスを有効にする必要があります。

NAT モードを使用する最大の利点は、仮想システムがインターネットにアクセスするのが非常に簡単であることです。他の構成を実行する必要はなく、ホスト マシンのみがインターネットにアクセスできるようになります。VMware を使用して新しい仮想システムをインストールする場合は、仮想システムで手動構成を行わなくてもインターネットに直接アクセスできます。NAT モードを使用することをお勧めします。

3.2.3 ホストオンリー(ホスト)

ホストオンリー モードは、実際には、仮想 NAT デバイスを削除し、VMware ネットワーク アダプター VMnet1 仮想ネットワーク カードを使用して VMnet1 仮想スイッチに接続し、仮想マシンと通信する NAT モードです。外部ネットワークからマシンを接続し、仮想マシンをホスト コンピュータとのみ通信する独立したシステムにします。

写真

3.3 SSH (セキュアシェルプロトコル)

SSH は Secure Shell の略称で、リモート ログイン セッションやその他のネットワーク サービスにセキュリティを提供するために設計されたネットワーク セキュリティ プロトコルです。SSHを利用することで、送信データを暗号化することができ、遠隔管理時の情報漏洩を効果的に防止できます。

クライアントの観点から見ると、パスワードベースとキーベースの 2 つの認証方法があります。

3.3.1 ユーザー名とパスワードの検証方法

写真

例証します:

(1) クライアントが ssh リクエストを開始すると、サーバーは独自の公開キーをユーザーに送信します。

(2) ユーザーはサーバーから送信された公開鍵に従ってパスワードを暗号化します。

(3) 暗号化された情報がサーバーに返送され、サーバーは独自の秘密鍵で復号し、パスワードが正しければ、ユーザーはログインに成功します。

3.3.2 キーベースのログイン方法

写真

例証します:

(1) まずクライアント上で鍵のペア (公開鍵、秘密鍵) を生成します。

(2) クライアントは、生成された公開キーをアクセスする必要のあるサーバー マシンにコピーします。

(3) クライアントが IP とユーザー名を含む接続要求を再度送信したとき。

(4) サーバーはクライアントからのリクエストを受信した後、authorized_keys を検索し、対応する IP とユーザーがあれば、ランダムに文字列を生成します。

(5) サーバーは、クライアントからコピーした公開キーを使用してランダムな文字列 qwer を暗号化し、それをクライアントに送信します。

(6) サーバーからメッセージを受信した後、クライアントは秘密キーを使用して復号化し、復号化された文字列をサーバーに送信します。

(7) サーバーはクライアントから送信された文字列を受信すると、前の文字列と比較し、一致していればパスワードなしでログインできるようにします。

3.3.3 OpenSSHの使用

OpenSSH は、SSH プロトコルの無料のオープンソース実装です。

OpenSSH はクライアント ソフトウェアとサーバー ソフトウェアで構成されます。サーバーはバックグラウンドで実行され、クライアントからの接続要求に応答するデーモンです。通常、サーバーは sshd プロセスであり、リモート接続の処理を提供します。クライアントには、ssh プログラムと、scp (リモート コピー)、slogin (リモート ログイン)、sftp (安全なファイル転送) などの他のアプリケーションが含まれます。デフォルトでは、CentOS システムには OpenSSH サービスがインストールされています。

写真

    例: ノード 1 からノード 2 までのマシンにパスワードなしのログインを構成します。

  1. ノード1マシン上

ssh-keygen -t rsa [dsa] Enter を 4 回押して、キー ファイルと秘密キー ファイル id_rsa、id_rsa.pub を生成します。

  1. 公開キーをノード 2 マシンにコピーします。

ssh-copy-id node2 最初の接続では、ユーザーのパスワードを入力する必要があります。検証が成功すると、パスワードなしでログインできます。

3.4 ファイルのアップロードとダウンロード

Linux 関連の開発では、Linux と Windows の間でファイルやインストール パッケージをアップロードおよびダウンロードする必要があることがよくあります。sftp と lrzsz の 2 つは広く使用されている方法です。

3.4.1 SFTP

sftp は Secure File Transfer Protocol の略で、安全なファイル転送プロトコルです。ファイル転送のための安全なネットワーク暗号化方法を提供できます。sftp は SSH の一部であり、別個のデーモン プロセスを持たず、sshd デーモン プロセス (デフォルトではポート番号 22) を使用して、対応する接続​​および応答操作を完了します。

SecureCRT が CentOS にリモート接続した後、alt+p を押して sftp セッション ウィンドウを開きます。

一般的に使用される sftp コマンドは次のとおりです。

パスワードとLPWD

pwd は、sftp サービスが配置されているマシン (CentOS など) のデフォルトの現在のディレクトリです。

lpwd は、Windows ローカルのデフォルト ディレクトリを参照します。

写真

lsとlls

ls SFTP サーバーのデフォルトの現在のディレクトリの内容を表示します。

lls は、Windows のデフォルトのカレントディレクトリの内容を表示します。

d:/sparksql_textdata.csv を配置します

Windows 上のファイルを SFTP サーバーのデフォルトのカレントディレクトリにアップロードします。

写真

install.log.syslog を取得する

SFTPサーバーのカレントディレクトリにあるファイルをWindowsのカレントディレクトリにダウンロードします。

写真

 

ヘルプ

ヘルプコマンド。sftp の使用法をリストします。

セクション 3.4.2

lrzsz は、Linux での sftp アップロードおよびダウンロードを置き換えることができるプログラムです。

Centos システムでは、yum -y install lrzsz を直接実行するとプログラムが自動的にインストールされますが、インストール パッケージをダウンロードしてオフラインでインストールすることもできます (詳細は添付資料を参照してください)。

ファイルをアップロードする: コマンド ラインに「rz」と入力して、ファイル アップロード セッション ウィンドウを開きます。

写真

 

ダウンロードファイル: sz ダウンロードファイルパス

写真

3.5 システムバックアップ(スナップショット)

3.5.1 バックアップシステム

a. ターゲットの CentOS システムを右クリック -> スナップショット -> スナップショット マネージャー

b. スナップショットを取得します

写真

3.5.2 システムリカバリ(スナップショット状態への復元)

ターゲットのcentosシステムを右クリック -> スナップショット -> 指定したスナップショットに復元

おすすめ

転載: blog.csdn.net/Blue92120/article/details/131953357