この記事は限定共有記事です。投稿者本人とURLを知っているユーザーのみがアクセスできます。
記事を全体公開するには、公開設定で公開範囲を「全体に公開」にしてください。

01_Terminal 環境構築ハンズオン

最終更新日 投稿日 2022年08月11日

復習

コンピュータとは
Linuxコマンド1
Linuxコマンド2

0. このハンズオンで扱うこと

  • ターミナル
    • シェル
    • エディタ
    • Dockerの環境構築

0.1 インストール(確認)するもの

  • シェル
    • zsh
      • oh-my-zshell
    • fish
      • fisher
    • Fzf: 検索ツール
  • Git(第3回目の活動)
  • Docker(第4回目の活動)

次回以降使うツールもまとめてインストールします

1. はじめに

  • ターミナルの環境を構築するとその後の学習に役立つ(と思う).
  • 実際に手を動かすことで,理解が深まる.

Linuxコマンドを表現するために,文頭に$を記します.実際に入力する際には入力する必要はありません.他の記事でもこのようなケースが多いので覚えておいてください.
また実行結果は>>に続いて記述します.


2. 実践

2.1 基本コマンドの復習

// 自分が誰かわからなくなったとき(現在のユーザー名を確認)
$ whoami
// ログインシェルを確認する
$ echo $SHELL
// カレントディレクトリを表示
$ pwd
// ディレクトリの中身を表示
$ ls {引数でディレクトリを指定}

2.2 man コマンド ➖ マニュアルコマンド

$ man {調べたいこと}
// セクション番号を指定することもできる
$ man 1 {調べたいコマンド}
$ man 2 {調べたいシステムコール}
$ man 3 {調べたいライブラリ関数名}

2.3 環境構築の準備

aptのプロキシ設定を確認

$ sudo cat /etc/apt/apt.conf
    #以下が帰ってこればOK.
    Acquire::http::Proxy "http://proxy_server:port";
    Acquire::https::Proxy "http://proxy_server:port";

なにも帰ってこなかった場合

aptをアップデート

$ sudo apt update
$ sudo apt upgrade

apt: Advanced Package Tool の略
パッケージを操作するためのコマンドラインツール.上のコマンドは,要求のあったツールをどこからインストールすればよいかのリストを更新する.
参考: パッケージ管理コマンド aptとapt-getの違い

はしやすめ
$ apt moo
>>               (__)
                 (oo)
           /------\/
          / |    ||
         *  /\---/\
            ~~   ~~
..."Have you mooed today?"... 

(slコマンドなど,ジョークコマンドはエンタメとしては面白いのですが,だんだん鬱陶しくなるので,程々にしておくことをオススメします)
[参考] 薫のHack

2.3 エディタついて

CUI(黒い画面)上で動作するエディタを習得しておくと,ファイルのちょっとした編集に便利である.Emacs,やnano,vimなどある

image.png

ここでは,インストールされていることが多いvimの使い方を紹介する.

2.3.1 Neovimのインストール

$ sudo apt install neovim
起動
$ nvim

ソフトウェアの名前はNeovimであるが, nvimで起動することができる.

スクリーンショット 2022-10-04 22.12.45.png
*ウガンダの恵まれない子どもたちへの支援を呼びかけてくる.

エイリアスを作成する.
$ echo "alias vi=nvim" >> ~/.bashrc
$ echo "alias vim=nvim" >> ~/.bashrc
$ source ~/.bashrc

チートシート

2.4 他のシェルに触れてみる

今回はZshFishを紹介する.
まずは,利用できるシェルを確認する.

$ sudo vi /etc/shells
  >>(以下viの画面)
    /bin/sh
    /bin/bash
     ︙

/usr/bin/zshとか/usr/bin/fishがあれば良い.

ないとき
$ sudo apt install zsh
$ sudo apt install fish

今使っているシェルを確認する.

$ echo $SHELL 
>> /bin/bash

末尾がbashになっていることから,現在bashがログインシェルとして設定されていることがわかる.

2.4.1 Zsh

Zshとは

  • シェルの一種
  • Bashの上位互換(を謳っている)
    • 概ねBashと同じように扱える.

先程確認したように,デフォルトでは,ログインシェルがbashになっている.
Zshを使ってみよう.
Zshを起動してzshを触ってみよう.

$ zsh

と入力して実行すると,表示が少し変わる.

プロンプト表示比較
- [bash] | hoge@hoge:~$
+ [zsh]  | hoge%

プラグインマネージャ

oh-my-zshなどがある.低スペック(に割り当ててある)VM上でプラグインをもりもりの環境を作ると,動作が重くなることもあるので,ほどほどにしておく.

一旦抜ける.

$ exit

2.4.2 fish doc

fishとは

[F ] riendly [i ] nteractive [sh ] ell
のコンセプト.
デフォルトで補完機能が備わっている.

fishを触ってみよう.

$ fish
- [bash] | hoge@hoge:~$
- [zsh]  | hoge%
+ [fish] | you@hostname ~>

少し文字をタイプしてみよう.候補が薄く表示されたはずだ.自動補完が効くこのような仕様は有り難い.

プラグインマネージャー

Fisherなどが利用できる.

$ exit

で脱出.

2.5それでは

これまで,bash,zsh,fishを体験をしてもらった.ここで,ログインシェルを変える方法を紹介する.ログインシェルを変更するためには,以下のコマンドを用いる.[path/to/shell]には,使いたいシェルのパスを記す.

$ sudo chsh -s [/path/to/shell]
  • chsh はchange shellの略語
$ sudo chsh -s /usr/local/bin/fish

ここでターミナルエミュレータを再起動すると変更したシェルが立ち上がる.


3 環境の確認

3.1 Gitの確認

次週はGitを取り上る.ハンズオンに備えてGitがインストールされているか確認します.(通常通りインストールすれば大抵はされているが,"最小限のインストール"を選択した場合は,入っていない.)

gitの確認
$ git --version
>> git version *.**.*
    // *には数字が入る.
$ sudo apt install git

3.2 Docker をインストール

詳しくは次の次の活動で扱います.
Dockerインストールサポートページ
を参照してください.
今回はubuntu環境にインスールします.windows環境にインストールするには別途設定が必要です.

以下は,上記サイトの内容を転記したものです.

上記サイトの内容を転記したもの(抜けがあるかも).
  1. 古いバージョンがインストールされていたら削除する.

     sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. 必要なツールをダウンロードしていく.

    sudo apt-get update
    
    sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    
  3. Docker's official GPG key を追加する.

    sudo mkdir -p /etc/apt/keyrings
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  4. いよいよインストール

    *option
    sudo apt-get install update
    
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
  5. インストールできるバージョンを確認する.

    apt-chche madison docker-ce
    

こんなのが出ればok
こんなの.png

  1. バージョンを指定してインストール
    を4で確認した,バージョンに置き換えて実行.

    sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
    

    例: 確認したバージョンが 5:20.10.18~3-0~ubuntu-jammのとき

    sudo apt-get install docker-ce=5:20.10.18~3-0~ubuntu-jamm docker-ce-cli=5:20.10.18~3-0~ubuntu-jamm containerd.io docker-compose-plugin
    
  2. インストールできたか確認する

    sudo service docker start
    
    sudo docker run hello-world
    

hello-worldはHello, World用に用意されているコンテナイメージ

☆ 「sudoを付けないと実行出来ない」を解消する

sudo usermod -aG docker $USER

を実行した後,ログアウトして,再度ログイン.(VMの場合,再起動が必要らしいので,うまく行かない場合は試してみてください)

docker container ps -a

vim (時間があったら)

  • vimはCIL上で動作するエディタ.大抵のUNIX系OSで使える.もちろんwindowsでも.
  • 今回使うのはNeovim.vimの上位互換.
  • なれると便利
  • プラグインを入れると強力なエディタになる.
zsh
// インストール
$ sudo apt install neovim
// 起動
$ nvim 
// エイリアスを作成する.
$ echo "alias vi=nvim" >> ~/.bashrc
$ echo "alias vim=nvim" >> ~/.bashrc
$ source ~/.bashrc
//*fishの場合
$ echo alias vi=nvim" >> ~/.config/fish/config.fish
$ echo alias vim=nvim" >> ~/.config/fish/config.fish
$ source ~/.config/fish/config.fish

*エイリアスを作っておくと,「xxというコマンドを叩いたときにyyを呼び出す」ことができる.

ハンズオンは以上です.

おまけ? Alarcritty を使ってみる

Aracrittyとは

  • Github

  • Rustで書かれた,クロスプラットフォームターミナルエミュレータ

  • 日本語対応がいまいち(変換を確定しないと描画されない)

VirtualBoxの画面サイズをフレキシブルにする

デフォルトのままだと,画面が小さくで操作がしづらい.そこで,マウスでドラックして,画面サイズを柔軟に操作できるようにする方法を紹介する.
① "デバイス"を選択
スクリーンショット 2022-09-20 18.54.20.png
② "Insert Guest Additions CD images..."を選択
スクリーンショット 2022-09-20 18.55.58.png
③ CDアイコンが出てくるので,開く.
autorun.shを右クリックしてRun as a Programを選択
スクリーンショット 2022-09-20 19.00.42.png
④パスワードを求められたりするので,あとは言われたとおりにすすめる.
終了後は,CDイメージを取り出してしまって構わない.

プロキシ設定

未検証

bash
export http_proxy="http://wwwproxy.kanazawa-it.ac.jp:8080/"
export https_proxy="http://wwwproxy.kanazawa-it.ac.jp:8080/"

aptのプロキシ設定

$ sudo nano /etc/apt/apt.confなどでエディタを起動し,

/etc/apt/apt.conf
Acquire::http::Proxy "http://wwwproxy.kanazawa-it.ac.jp:8080";
Acquire::https::Proxy "http://wwwproxy.kanazawa-it.ac.jp:8080";

を記述する.[戻る]
学外から接続する場合, #でコメントアウトする.
(https://qiita.com/ryo8/private/43c5e17e890e0138deed#22-%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%81%AE%E6%BA%96%E5%82%99)

/etcディレクトリには,システムの設定ファイルが格納されている.

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
ログインすると使える機能について

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
新規登録
すでにアカウントを持っている方はログイン