20200924のLinuxに関する記事は3件です。

[RHEL/CentOS 8] ネットワーク設定 memo

nmcli の使い方

ネットワーク設定のテキストユーザーインターフェース nmtui は直感的に分かりますので、ここではコマンドラインインターフェースの nmcli についてメモしておきます。

computer_wireless.png

コネクション一覧

認識しているネットワークインターフェースの一覧を表示します。
nmcli c

# nmcli c[onnection]
NAME    UUID                                  TYPE      DEVICE 
ens160  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ethernet  ens160

確認

概要

現在の状態を確認します。
nmcli

# nmcli

詳細

指定したネットワーク(コネクションID)の詳細な設定を確認します。
nmcli c s [コネクションID]

# nmcli c[onnection] s[how] ens160

設定

指定したネットワーク(コネクションID)の設定を変更します。
nmcli c[onnection] m[odifty] [コネクションID] [+|-]<setting>.<property> <value>

固定IP (DHCP のときは manual のとこを auto にする) 
# nmcli c m ens160 ipv4.method manual

DNS
# nmcli c m ens160 ipv4.dns 8.8.8.8,8.8.4.4

IP アドレス
# nmcli c m ens160 ipv4.addresses 192.168.45.10/24

デフォルトゲートウェイ
# nmcli c m ens160 ipv4.gateway 192.168.45.254

IPv6無効
# nmcli c m ens160 ipv6.method ignore

自動接続
# nmcli c m ens160 connection.autoconnect yes

スタティックルート
# nmcli c m ens160 ipv4.routes "192.168.100.0/24 192.168.45.253"

コネクション系の設定反映 (downは不要)
# nmcli c up ens160

ホスト名
# nmcli g[eneral] hostname centkun8.fukuchan-senpai.local

Tips

IPアドレスやDNS、スタティックルートなど複数設定できるもののやり方。
また削除方法など。

カンマで区切って複数設定する
# nmcli c m ens160 ipv4.dns "8.8.8.8,8.8.4.4"

「+」を頭に付けて既存設定に追加する
# nmcli c m ens160 +ipv4.dns "1.1.1.1"

「-」を頭に付けてマッチする該当パラメーターのみを消去する
# nmcli c m ens160 -ipv4.dns "8.8.4.4"""」でパラメーターを消去する
# nmcli c m ens160 ipv4.dns ""
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Raspberry PiのUbuntuにスワップ領域を設定する

使用環境

  • Raspberry Pi 3 Model B+
  • Ubuntu 18.04.5 LTS Server

スワップが設定されているかどうか確認する

$ sudo swapon --show

設定されてないので何も出ない
設定されていればこんな感じで表示される

$ sudo swapon --show
NAME      TYPE  SIZE USED PRIO
/swapfile file 1024M   0B   -2

手順

スワップファイル作成

とりあえず1GB作ってみる。まぁ、そんなに必要に迫られてもないし、物理メモリも1GBなので同じくらいで。

$ sudo fallocate -l 1G /swapfile

rootユーザーしか読み書きできないようにパーミッションを変更する

$ sudo chmod 600 /swapfile

mkswapを使ってファイルにスワップ領域を作成する

$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=44dd3594-5812-473e-839d-d9c7a1af3d6a

スワップを有効にする

$ sudo swapon /swapfile

確認してみる

$ sudo swapon --show
NAME      TYPE  SIZE USED PRIO
/swapfile file 1024M   0B   -2

htopでも見てみる

htop.png

起動時に自動マウントされるようにfstabに追加する

$ echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
/swapfile swap swap defaults 0 0

再起動して確認してみる

$ sudo reboot
$ sudo swapon --show
NAME      TYPE  SIZE USED PRIO
/swapfile file 1024M   0B   -2

参考にしたサイト

https://linuxize.com/post/how-to-add-swap-space-on-ubuntu-18-04/
https://kazmax.zpp.jp/linux_beginner/mkswap.html

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

条件式のグループ化

こんにちは。キータに初めて投稿します。よろしくお願いします。

新しいlinuxの教科書(SBクリエイティブ) の学習のメモ書きです。
行き詰まったところや、問題解決のために調べた内容を共有します。

P295 「条件式のグループ化」 を学習しました。

[ミス]
条件式を記述し、変数を参照しようとする際、ダラーサインを抜いてしまうミスをしました。
変数を参照する際はダラーサインを抜いてしまいがちなので
気をつけたいと思います。

これは誤り -d "datadir" の箇所が。

if [ -d "datadir" -a \( "$datadir" = "/home/pc/myapp/295_data_group" -o "$datadir" = "/home/pc/295_data_group" \)  ]; then

正しくはこれ -d "$datadir"

if [ -d "$datadir" -a \( "$datadir" = "/home/pc/myapp/295_data_group" -o "$datadir" = "/home/pc/295_data_group" \)  ]; then

[英語]
条件式は、英語で 「conditional expression」です。
本ページで学んだ条件式のグループ化をシェルスクリプトで実行してみたのですが
ファイル名は、 「295_conditional_expression_group.sh」にしました。
ファイル名にページ数の「295」を入れておくと復習しやすいです。

技術キーワードを英語で調べると、英語のリーディング能力向上につながり良いなと思いました。
本書では、ファイルを作成して実行してみる場面が多いので、テーマとなっている技術キーワードを英語で調べ、ファイル名や変数名、パス名で積極的に使用すると
英語力向上も図れます。

[条件式のグループ化]
条件式のグループ化とはそもそも何か。
簡単なもので例えるとこうです。

条件式と、真であった時の処理はこれとします。

if お財布に10000円以上ある。かつ お腹がすいた。
これが真ならば
echo おにぎりを買おう。を実行。

なので
お財布に900円しかないとき。 おにぎりは買いません。
お腹がすいていないとき。 おにぎりは買いません。

ここで条件式のグループ化とは

if お財布に1000円以上ある。 かつ ( お腹がすいた。または 冷蔵庫に何もない。) 
echo おにぎりを買おう。を実行。

これです。

グループ化するのに丸括弧を使います。

お財布に800円しかないとき。おにぎりは買いません。
お財布に1100円あり、お腹がすいている時 おにぎりを買います。
お財布に1100円あり、冷蔵庫に何もない時 おにぎりを買います。
お財布に1100円あり、冷蔵庫に何かある時 おにぎりは買いません。

[コード]
私が作ったシェルスクリプトはこれです。

内容は以下です。
ディレクトリを変数に紐つけます。
ディレクトリがあり、かつそのディレクトリが指定した2つのパスのどちらかと一致すれば
ディレクトリがあるよという文字列を出し、なければないよと出します。

295_conditional_expression_group.sh
#!/bin/bash

datadir=/home/pc/myapp/295_data_group

if [ -d "$datadir" -a \( "$datadir" = "/home/pc/myapp/295_data_group" -o "$datadir" = "/home/pc/295_data_group" \)  ]; then
    echo "$datadir directory exist"
else
        echo "$datadir directory does not exist"
fi  
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む