不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

『Linux教科書 LinuCレベル1 Version 10.0対応』:第1章 Linuxのインストールと仮想マシン・コンテナの利用

2021-04-11 11:07:54 | LinuC

第1章 Linuxのインストールと仮想マシン・コンテナの利用

久々に、LinuC Level1取得の勉強をしていこう。

今回からは、以下の本、いわゆる小豆本を参考書とする。

 
たぶん、前回の学習に使用した教本もそうだったけど、
最初に難しいこと書いてあるから、なかなかすんなりと始めらんないんだよな😅 

 

メモ

今回勉強になった部分をメモしておこう。

  • 統合デスクトップ環境
    • GNOME:Red Hat Enterprise Linux, CentOS, Fedora, ubuntu
    • KDE:openSUSE, Kubuntu
  • GNOMEとKDE Plasmaを構成する主なソフトウェア
種類GNOMEKDE Plasma
テキストエディタ
gedit
KEdit
端末
GNOME端末
Konsole
ファイルマネージャ
Nautilus
Dolphin
ディスプレイマネージャ
GDM
(Gnome Display Manager)
SDDM
(Simple Desktop Display Manager)
ウィンドウマネージャ
Mutter
KWin

やっぱりGNOMEの方がなじみがあるよな。KDEってなんだか見た目がカクカクしているイメージ。

LinuC勉強中番外編:シェルで使える代表的なショートカットキー

2020-10-25 11:15:16 | LinuC
LinuCの勉強で合格教本以外に読んでいる本に、シェルで使える代表的なショートカットキーが載っていたので整理する。

 
ショートカットキー機能
Ctrl+J実行(Enterと同じ)
Ctrl+M実行(Enterと同じ)
Ctrl+A行頭へジャンプ(Homeと同じ)
Ctrl+E行末へジャンプ(Endと同じ)
Ctrl+B1文字左へ(←と同じ)
Ctrl+F1文字右へ(→と同じ)
Ctrl+Dカーソルの右1文字を削除(Deleteと同じ)
Ctrl+Hカーソルの左1文字を削除(Backspaceと同じ)
Ctrl+U行頭からカーソルまでカット(Kill)
Ctrl+Kカーソルから行末までカット(Kill)
Ctrl+Yペースト(Yank)
Ctrl+L画面をクリア(clearコマンドと同じ)
Ctrl+P1つ前の履歴を出す(↑と同じ)
Ctrl+N1つ後の履歴を出す(↓と同じ)
Ctrl+R履歴を検索
Ctrl+S画面出力をロック
Ctrl+Q画面出力を再開
Ctrl+C処理の中断
Ctrl+Iコマンド補完(Tabと同じ)

すぐ忘れちゃうのでメモ。 vimのコマンドとも混同しがちだが、実際はEmacs風のショートカットキーらしい。

Linux標準教科書(Ver.3.0.2):第3章 基本的なコマンド

2020-10-23 11:37:51 | LinuC
VirtualBoxにCentOSのインストールが完了したので、ここからはコマンドを復習がてら確認していく。

第3章 基本的なコマンド

3.1 ファイル操作

3.1.1 ファイルとディレクトリ

3.1.2 ファイルやディレクトリの参照(ls)

  • ls [オプション] [ファイル]:ファイル名やディレクトリ名を指定して情報を取得する
    • -a:.で始まる隠しファイル等もすべて(All)出力する
    • -l:長(long)形式で出力
    • -t:最終更新時間(Time)によって、ソートして出力
    • -r:逆順(Reverse)にソートして出力

3.1.3 ドットファイルの表示

  • ドットで始まるファイルは隠しファイルで、システム設定が書かれているファイルなどで主に使われる

3.1.4 オプションの同時指定と順序

  • オプションは、まとめてもまとめなくても同じ結果になる
  • また、順不同なので入れ替えても同じ結果になる
  • ただし、コマンドによっては順序と文法が細かく決まっている場合もある
  • コマンドオプションはハイフンを使って指定することが一般的だが、コマンドによってはハイフンを必要としないものもある

3.1.5 ファイルのコピー(cp)

  • cp [オプション] コピー元 コピー先
    • -i:処理を行うときに確認する。ファイルを上書きコピーするときなど。
    • -r:ディレクトリをコピー。ディレクトリの中にあるすべてのファイル・ディレクトリが対象。
    • -p:元ファイルの情報を保存。所有者・属性・更新日時など。

3.1.6 ファイルの移動(mv)

  • mv 移動元ファイル 移動先ファイル
    • -i:処理の確認。上書きなど。
    • -f:強制的に処理。

3.1.7 ファイルの削除(rm)

  • rm ファイル名
    • -i:処理の確認。
    • -f:強制的に処理。
    • -r:ディレクトリを対象とする
※ rはrecursive(再帰的)を示すオプション

3.2 ディレクトリの操作(pwd,cd,mkdir,rmdir)

3.2.1 現在のディレクトリの表示(pwd)

  • pwd:Print Working Directory

3.2.2 ディレクトリの変更(cd)

  • cd [ディレクトリ名]:Change Directory

3.2.3 ディレクトリの作成(mkdir)

  • mkdir ディレクトリ名
    • -p:指定されたディレクトリの上位ディレクトリも作成する

3.2.4 ディレクトリの削除(rmdir)

  • rmdir ディレクトリ名
    • -p:指定した改装までのディレクトリを一括で削除

3.2.5 特別なディレクトリ

  • カレントディレクトリ(.)
    現在いるディレクトリのこと
  • 親ディレクトリ(..)
    1階層上のディレクトリのこと
  • ホームディレクトリ(~)
    ユーザの作業開始位置となるディレクトリ
  • ルートディレクトリ(/)
    ディレクトリ階層の、最上位階層を示す

3.2.6 絶対(パス)指定と相対(パス)指定

  • 絶対パス:最上位のディレクトリ(/)からディレクトリ・ファイル名を指定する
  • 相対パス:カレントディレクトリからの相対的位置

3.3 ファイルの内容を表示

3.3.1 ファイルの内容を表示(cat)

  • cat ファイル名:ファイルの内容を表示
    • -n:行番号を付加して表示

3.3.2 ページャを使った表示

  • more ファイル名
    • moreコマンド
      スペース:次のページに進む
      b:前の一画面に戻る
      f:次の一画面に進む
      /単語:単語を検索。nキーで次
      q:終了
  • less ファイル名
    • lessコマンド
      スペース:次のページに進む
      b:前の一画面に戻る
      f:次の一画面に進む
      ↑:前の行に進む
      ↓:次の行に進む
      /単語:単語を検索。nキーで次
      q:終了

3.4 ファイルの検索(find)

  • find パス -name ファイル名:ファイルがどこのディレクトリ存在するか検索

3.5 コマンドのパス

3.5.1 コマンドのパスの表示(which)

  • which コマンド名:PATH環境変数に含まれるディレクトリ配下に配置されているコマンドのパスを表示する

3.6 ヘルプの使い方

  • コマンド --help

3.7 マニュアルの使い方

  • man [セクション] コマンド名
    • -k 単語:'単語'が含まれるエントリ一覧を出力

3.7.1 セクション

  • マニュアルのセクション:マニュアルの内容を分野ごとに分け、その分野を指定したもの
    • 1:ユーザコマンド
    • 2:システムコール
    • 3:システムライブラリや関数
    • 4:デバイスやデバイスドライバ
    • 5:ファイルの形式
    • 6:ゲームやデモなど
    • 7:その他
    • 8:システム管理系のコマンド
    • 9:カーネルなどの情報

3.8 章末テスト

  1. ls
  2. 3
  3. pwd
  4. mv, ls -l
  5. su
    find /etc -name 'resolve*'

Linux標準教科書(Ver.3.0.2):第2章 Linuxのインストール

2020-10-22 23:41:36 | LinuC
第2章を参考に、VirtualBoxにCentOS7をインストールしてみた。
PCが非力なせいか結構インストールに時間がかかってしまった。
あとLinux標準教科書と微妙にバージョンが異なるのか、ちょっと違う部分もあったので、自分の環境に合わせて適宜修正した。

第2章 Linuxのインストール

2.1 実習で利用するハードウェア

  • マシン本体:パソコンか「VirtualBox」のような仮想化ソフトウェア
  • 実装メモリ:少なくとも1024MBのメモリ推奨
  • DVD光学ドライブ
  • ハードディスク:約10GBの空き容量
  • その他周辺機器:キーボード、マウス、ディスプレイ
ここでは、VirtualBoxを使うことにする

2.2 利用するLinuxのディストリビューション

  • Cent OSのバージョン7.3、x86_64版
  • CentOS公式サイト
    • https://www.centos.org/
    • CentOSは、商用ディストリビューションであるRed Hat Enterprise Linuxの互換ディストリビューション

2.2.1 インストールDVDの入手方法

ここでは、「CentOS-7-x86_64-DVD-2003.iso」をダウンロードした

2.2.2 バージョン

  • より新しいバージョンのCentOSがリリースされていたら、新しいバージョンを使う
とあり、現時点ではバージョン8がリリースされているようであるが、ここでは上述の通り、7を使う

2.3 インストールの前に用意するもの

  • インストールDVD
  • マシンの設定:BIOSで「起動順序」の設定
    • 光学ドライブを優先
  • ハードディスク

2.4 インストールの開始

① インストールDVDを光学式ドライブにセットし、マシンを起動
自分の環境の場合、VirtualBoxで先程ダウンロードしたisoファイルを光学ドライブに割り当てて起動する

②起動画面が現れるので、「Test this media & install CentOS7」が選択された状態でEnterキーを押す。

③インストールメディアのチェックを行わない場合は、「Install CentOS 7」を選択
Testは要らないので、「Install CentOS 7」を選択した状態で、Enterした


④言語の選択画面が表示されるので、「日本語」を選択し、「続行」


⑤「インストールの概要」というメイン画面が表示される
ここでは、まず「インストール先(D)」を選択してハードディスクのパーティションを設定する。


⑥「インストール先」の画面を開くと既存のハードディスクが選択されているので、左上の「完了(D)」をクリック


⑦ハードディスクに十分な空き領域がない場合は「インストールオプション」が表示される
⑧「ディスク領域の獲得」という画面が表示されるので「すべて削除(A)」を選択し「領域の再利用(R)」をクリック

⑨ネットワークが利用可能な場合は「ネットワークとホスト名(N)」を選択。有効なネットワークインターフェイスが表示されるので必要に応じて「オン」にして「完了(D)」をクリック

⑩「ソフトウェアの選択(S)」を選び「開発およびクリエイティブワークステーション」を選択し、「完了(D)」をクリック

⑪メイン画面に戻り、「インストール開始(B)」を選択


⑫インストールが開始される

⑬「ROOTパスワード(R)」を選択してrootのパスワードを設定


⑭「ユーザーの作成(U)」を選択して、ユーザー作成画面を表示
ユーザ名(ここではlinuxtextとする)とパスワードを設定する


⑮インストールが終了したら、「再起動(R)」をクリック


2.5 インストール直後の初期設定

①インストールしたマシンを起動すると、ブートローダーが起動するOSの選択を求めるので、そのまま待つか、Enterキーを押す

②「初期セットアップ」画面で「LICENSE INFOMATION」をクリック


③「ライセンス情報」画面が表示されるので、ライセンス契約を確認し、問題なければ「ライセンス契約に同意します。(A)」を選択して、「完了(D)」をクリック


④「初期セットアップ」画面に戻り「設定の完了(F)」をクリック

2.6 ログインする

①ユーザ「linuxtext」をクリック
②「パスワード」を入力し、「サインイン」をクリック
③CentOSにログインできたらgnome-initial-setup画面が起動するので、言語が「日本語」になっていることを確認し「次へ(N)」をクリック
④入力メソッドが「日本語」になっていることを確認し「次へ(N)」をクリック

⑤「セキュリティ」画面で「位置情報サービス」を適宜オン・オフを切り替えて「次へ(N)」をクリック(この手順は標準教科書にはなかった)
⑥オンラインアカウント画面が表示されるので、「スキップ(S)」をクリック
※ 接続したい場合は画面に従って適宜接続
⑦「使用する準備が完了しました。」と表示されるので、「CentOS Linuxを使い始める(S)」をクリック
⑧「初めて使い方へ」の画面が表示されるので適宜参照し、「×」印をクリックして終了させる

⑨CentOSのデスクトップが表示される


2.7 コマンドの実行

  • 端末を起動するには以下の方法がある
    • 「アプリケーション」メニューから「ユーティリティ」、「端末」を選択
    • デスクトップ上を右クリックし、ポップアップメニューから「端末を開く」を選択する

Linux標準教科書(Ver.3.0.2):第1章 Linuxとは

2020-10-22 22:41:01 | LinuC
合格教本は購入し、既に1周読み終えたので、Linuxの勉強に違う教材を使うことにしよう。
ということで、今日からは、 LPI-JAPANにおいて無料で公開されている『Linux標準教科書』(Ver.3.0.2)を使って、LinuCレベル1に向けた勉強を進めていく。
『Linux標準教科書』は、Kindle版や製本版を購入することもできるが、ユーザー登録すれば、以下から無料でダウンロードすることができる。


ただ、同サイトによると

LinuCレベル1の101試験と102試験の内容の学習にも役立つ内容となっています。
本教材は試験対策教材ではありません

とのことなので、試験対策のためには市販本を購入する必要がある。
何はともあれ、第1章から読み進めることにしよう。

第1章 Linuxとは

1.1 基本ソフトウェアと応用ソフトウェア

  • ハードウェアとソフトウェア
  • 基本ソフトウェアと応用ソフトウェア
    • 基本ソフトウェア→Operating System(OS)
    • 応用ソフトウェア→アプリケーション

1.1.1 基本ソフトウェアの役割

  • 応用ソフトウェアが使う共通部品を提供する
  • ハードウェアという「資源」を管理する

1.2 UNIX

1.2.1 UNIXの誕生

  • 1960年台にUNIXは米国の通信会社AT&Tのベル研究所で誕生
  • ソースコードといったUNIXの設計に関する基本部分をそのまま配布していたので、手に入れたユーザは独自に研究・開発・変更等を行うことができた

1.2.2 さまざまな分離・統合

  • 配布されたUNIXは、メンテナーの手によって自由に改造が施されたので、UNIXとしてのまとまりがなくなった
  • その後、AT&T社が正式にライセンス契約を始め、UNIXを管理するようになた。
    • このAT&TのUNIXをSystem Vと呼び、以降、AT&Tと契約を結んだ組織のみが、自社の出したOSをUNIXと宣言できるようになった
    • それ以外をUNIX互換OSと呼ぶ

1.2.3 派生UNIX

  • バークレー版UNIX:BSD(Berkeley Software Distribution)

1.2.4 Linuxの誕生

  • フィンランドの大学生であるLinus Torvalds氏が、System Vの流れもBSDの流れも持たない独自のUNIX互換OSであるLinuxを誕生させた
  • Linuxの一番特徴的なところは、そのライセンス形式で、GPL(GNU General License:GNU 一般公衆利用許諾)が採用されている
    • GPLはGNUプロジェクトのリチャード・ストールマンにより作成されたもので、以下の特徴を含むフリーソフトウェアの一つ
      • プログラムを実行する自由
      • ソースの改変の自由
      • 利用・再配布の自由
      • 改良したプログラムをリリースする権利

1.3 Linuxの特徴

1.3.1 カーネルとユーザランド

  • 基本ソフトウェアは2つの領域に分けられる
    • カーネル:オペレーティングシステムの中核となる部分で、ハードウェアと直接やりとりするなどもっとも中心的な機能を受け持つ部分。カーネルはハードウェアの違いを吸収して、プログラムがどのようなハードウェア上でも同じように動作する役割がある。
    • ユーザランド:OSが動作するのに必要な、カーネル以外の部分。ファイルシステムやファイル操作コマンド、シェルなどの基本的なソフトウェア群。

1.3.2 Linuxを使う

  • Linuxは、基本的にコマンドで操作する。
    • コマンドはユーザランドで動作する
  • LinuxにX Window SystemとGNOME、KDE、Xfceなどのデスクトップ環境を導入することで、マウス入力によるグラフィカルな操作が行える

1.3.3 シェル

  • Linuxにはシェルという対話型のコマンド入力環境が用意されており、シェルが入力されたコマンドを理解し、実行する。
  • シェルの機能
    • コマンドの入力を受け付けること
    • シェルスクリプトの実行

1.3.4 ログイン

  • Linuxでは、利用開始時にユーザ名とパスワードを入力する
    • この組み合わせをアカウントといい、アカウントを使ってLinuxを使い始めることを「ログインする」という。

1.4 ディストリビューション

1.4.1 ディストリビューションの誕生

  • 当初のLinuxはインストール作業が非常に困難であったため、さまざまな団体がLinuxを使う上で必要なプログラムをまとめ、簡単な手順でインストールできるようにしたのが、Linuxディストリビューションの始まり
  • 代表的なLinuxディストリビューター
    • Red Hat
    • Debian Project
    • Ubuntuを開発しているCanonical

1.4.2 パッケージ

  • パッケージはLinuxに対して追加機能を提供するもの
    • 従来、応用ソフトウェアの実行をLinux上で行うにはソースをダウンロードして自らビルドする必要があった
    • 応用ソフトウェアを簡単に導入できるように、ディストリビューターの手によりビルドしたパッケージが作られるようになった

1.4.3 パッケージマネージャ

  • 応用ソフトウェアの導入には、複数の応用ソフトウェアやこの動作を補佐するライブラリが必要な場合がある
  • バグの修正や機能改善、セキュリティ脆弱性の修正の度に、新しいプログラムをインストールする際、既存の古いプログラムを削除する必要がある
  • そこで、パッケージを簡単にインストールしたり、アップデートしたりするパッケージマネージャというものが標準で用意されるようになった

1.5 章末テスト

  1. 3,4
  2. 1,2
  3. ・応用ソフトウェアの動作に必要な共通部品の提供
    ・ハードウェアという「資源」の管理
  4. 3
  5. プログラムの依存性を自動的に判別してインストールしたり、アンインストールしたりするのが容易になる

回答例とかはないのかな?
その辺りが試験対策ではないよってことか。😁