復習
コンピュータとは
Linuxコマンド1
Linuxコマンド2
0. このハンズオンで扱うこと
- ターミナル
- シェル
- エディタ
- Dockerの環境構築
0.1 インストール(確認)するもの
- シェル
- zsh
- oh-my-zshell
- fish
- fisher
- Fzf: 検索ツール
- zsh
- 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
などある
・
ここでは,インストールされていることが多いvim
の使い方を紹介する.
2.3.1 Neovimのインストール
$ sudo apt install neovim
$ nvim
ソフトウェアの名前はNeovim
であるが, nvim
で起動することができる.
$ echo "alias vi=nvim" >> ~/.bashrc
$ echo "alias vim=nvim" >> ~/.bashrc
$ source ~/.bashrc
2.4 他のシェルに触れてみる
今回はZsh
とFish
を紹介する.
まずは,利用できるシェルを確認する.
$ 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 --version
>> git version *.**.*
// *には数字が入る.
$ sudo apt install git
3.2 Docker をインストール
詳しくは次の次の活動で扱います.
Dockerインストールサポートページ
を参照してください.
今回はubuntu環境にインスールします.windows環境にインストールするには別途設定が必要です.
以下は,上記サイトの内容を転記したものです.
上記サイトの内容を転記したもの(抜けがあるかも).
-
古いバージョンがインストールされていたら削除する.
sudo apt-get remove docker docker-engine docker.io containerd runc
-
必要なツールをダウンロードしていく.
sudo apt-get update
sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
-
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
-
いよいよインストール
*optionsudo apt-get install update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
-
インストールできるバージョンを確認する.
apt-chche madison docker-ce
-
バージョンを指定してインストール
を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
-
インストールできたか確認する
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の上位互換.
- なれると便利
- プラグインを入れると強力なエディタになる.
// インストール
$ 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とは
-
Rustで書かれた,クロスプラットフォームターミナルエミュレータ
-
日本語対応がいまいち(変換を確定しないと描画されない)
VirtualBoxの画面サイズをフレキシブルにする
デフォルトのままだと,画面が小さくで操作がしづらい.そこで,マウスでドラックして,画面サイズを柔軟に操作できるようにする方法を紹介する.
① "デバイス"を選択
② "Insert Guest Additions CD images..."を選択
③ CDアイコンが出てくるので,開く.
autorun.sh
を右クリックしてRun as a Program
を選択
④パスワードを求められたりするので,あとは言われたとおりにすすめる.
終了後は,CDイメージを取り出してしまって構わない.
プロキシ設定
未検証
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
などでエディタを起動し,
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
ディレクトリには,システムの設定ファイルが格納されている.