【概要把握】Part1 : Ubuntuを初めて触る人が抑えておくべき基本の概念や触り方を広くカバー(学生、エンジニア/技術者、研究者用)【初学者向け】



【概要把握】Part1 : Ubuntuを初めて触る人が抑えておくべき基本の概念や触り方を広くカバー(学生、エンジニア/技術者、研究者用)【初学者向け】

【概要把握】Part1 : Ubuntuを初めて触る人が抑えておくべき基本の概念や触り方を広くカバー(学生、エンジニア/技術者、研究者用)【初学者向け】

本日は、初心者のためのUbuntuについてのチュートリアルです.
大学生、高専生、エンジニア、研究者がまず初めに単語や概念を知っておくことで、調べやすい、理解しやすくなることを目指した動画です.
基本的にターミナルでの操作や、知るべき概念を中心として解説しています.
Linuxの起動から、プロセス、ターミナル、環境変数、bashrc、仮想コンソールやシバン、rootや管理者権限、makeコマンドやsshまで、幅広く抑えて解説. 実践の上で必要な知識を揃えてみました.

この動画で、ターミナルの使い方、apt get installとビルドの違いや、GRUBなどのブートローダの役割、Ctrl Zによる停止やfg, bgコマンドの関係、ファイルシステムの概要などを把握できるはずです.

25分で全て簡単に抑えられるようにわかりやすく解説します.

【リンク】

ThothChildren – エンジニアをサポートするサイト
http://www.thothchildren.com/top

【概要速修】ロボットの作り方、仕組みをさっと知りたい【初心者向け】
https://youtu.be/8GcUUJh_ZgI

【概要速修】C言語やC++がコンパイルされて実行される仕組みをさっと知りたい. なぜ異なるOSで実行できないかなど【初心者向け】
https://youtu.be/kxcP2RT04KM

【概要速修】JavaScriptはどう動く?仕組みをさっと知りたい【初心者向け】
https://youtu.be/a948hCqo324

【概要速修】Webサービスの全体の仕組みをさっと知りたい【初心者向け】
https://youtu.be/ji2UeknRwGM

【概要速修】JPEGファイルとは何か、画像の圧縮される仕組みをさっと知りたい. 画像のフーリエ変換のイメージやハフマン符号など【JPEG圧縮】
https://youtu.be/oPpFKUJ3z5o

【即実践】Webブラウザでできる最新DeepLearning物体検出(ml5.js)【Web / DeepLearning / TensorFlow / Javascript /HTML】
https://youtu.be/PBdnt0h1-60

【実践】Webブラウザでできるエッジ抽出画像処理(OpenCV.js)【Web / OpenCV.js / Javascript /HTML】
https://youtu.be/VwE5II9qo3I

【Ubuntu解説一部抜粋】
BIOSはマザーボードではじめに起動するプログラムです.
まず接続されているデバイスを確認します.
次に、指定された優先順に従って、マスターブートレコード領域と呼ばれるメモリに置かれるOSを起動するブートローダを探し回り、見つけたら呼び出して、あとは任せます.

GRUBでは、設定のmenu ドット listに従って複数のOSのカーネルの一覧表示します.
このような画面です.
特に数秒間操作がなければ、デフォルトのカーネルを選択します.
複数のUbuntuがインストールされているなら選択できますし、
WindowsやMac OSもインストールされているなら、それらも選択肢に出てきます.
二つのOSが選べるならデュアルブート、3つならトリプルブートと呼びます.

Windowsと同じように、フォルダは全て階層的になっており、常にフォルダの中はファイルまたはフォルダとなっています. 一番上のディレクトリをルートディレクトリと呼び、スラッシュで表現されます. 各ユーザが最初にいるディレクトリはホームディレクトリと呼び、チルダで表現されます. 隠しファイル/フォルダは ドットを先頭につけていて、簡単に表示できますが、通常は表示されません.

ターミナルでは環境変数を持つことができます.
環境変数は、あるターミナルで有効な設定で、さまざまな情報を持ちます.この情報はこのターミナルの上で動くプログラムが取り出して使うことができ、自由に追加、削除、変更が可能です. このターミナルを閉じると情報はリセットされます.
この環境変数はターミナル毎に固有で、新しく立ち上げた環境変数には反映されません. ただbashの中でbashを立ち上げたときは、引き継がれます.

複数の方法があります. まずひとつは先程のパッケージ管理システムを使う方法です. aptでインストールできます. 次はバイナリファイルが配られている場合は、ダウンロードするだけです. 最後の方法は、ソースコードから自分でビルドする方法です.

apt以外の方法は、依存関係の解決などが自分で必要だったりしますし、それがaptで管理されているプログラムなどとぶつかると、同じプログラムの別のバージョンが混ざったりして大変になることは注意してください.

プロセスの状態は明確に定められています.
開始されたプロセスはCPUが割り当てられるまで待機状態です. 割り当てられると実行状態になり、プログラムが終わると終了状態になります. 終わる以外にも、コントロールCによるシグイント送信やkillコマンドによるシグターム、シグキル信号を受信することでも終了します.

プロセスの概念の他にバッシュのジョブの概念も大事なので確認します.
ジョブはひとつ以上のプロセスの塊です.
プロセスにはなかった、フォアグラウンド、バックグラウンドの概念を持ち、
ターミナルで全面にある状態をフォアグラウンドと呼び、一つのジョブのみがなれます.
ジョブは以下のように、フォアグラウンドで実行、停止、バックグラウンドで実行の状態を持ちます. コントロールZで停止しますが、fgコマンドでフォアグラウンドになったり、bgコマンドでバックグラウンドになったりします.

makeコマンドは、このMakefileを読み込んでコマンドを実行していきます.

別のネットワーク越しのUbuntuにログインするのにSSHが活用されます.
公開鍵認証という方法によって実現されており、自分しか解読できない鍵を、誰にも知られないように持っておき、公開してもよい鍵を、サーバ側に登録しておくことでできる仕組みです.

ターミナルで実行するとこのようになります.
初めは自身の手元のUbuntuですが、ここでsshを実行します.
すると接続先のサーバのターミナルの操作に切り替わっています.ここでコマンドを実行されると、接続先のサーバ、OSでコマンドが実行されます.
exitを実行するとそのサーバから抜け出してもとのターミナルの操作に戻ります.

公開鍵はこのような文字列です.
これを、接続サーバのホームディレクトリの.sshフォルダ以下のauthorized_keysに鍵を貼り付けることで接続可能になります.

公開鍵は、ssh キージェンを使用することで簡単に作成できます.

Ubuntuはトラブルにハマることが多く、調べることが多々あります.
英語で検索する方がよいドキュメントが多いので、おすすめです.

Comments are closed.