Linux

LinuxとはLinuxカーネルを利用したUnix系OSです。

ash

Almquist shell (ash) とは、Bourne shell (sh) の上位互換シェルである。BSDや組込みLinuxで使用されている。

dash

Debian Almquist shell (dash) とは、Almquist shell (ash) の上位互換シェルである。Debian系のLinuxディストリビューションで使用されている。

ksh

KornShell (ksh) とは、Bourne shell (sh) の上位互換シェルである。

zsh

Z shell (zh) とは、Bourne shell (sh) の上位互換シェルである。

/etc/sysctl.conf

Linux カーネル・パラメータを変更するには、/etc/sysctl.conf ファイルを編集する。

Linux カーネルパラメータ一覧
Parameter Desctiption
kernel.sem セマフォに関するパラメータ
kernel.shmmax 共有メモリセグメントの最大サイズ
net.ipv4.tcp_rmem TCPソケット受信バッファのサイズ
net.ipv4.tcp_wmem TCPソケット送信バッファのサイズ
net.ipv4.tcp_windows_scaling TCPウィンドウスケーリングの有効/無効
net.core.rmem_default TCPソケット受信バッファのデフォルトサイズ
net.core.wmem_default TCPソケット送信バッファのデフォルトサイズ
net.core.rmem_max TCPソケット受信バッファの最大サイズ
net.core.wmem_max TCPソケット送信バッファの最大サイズ

/etc/sysctl.conf ファイルを編集した後、再起動するか、次のコマンドを実行する。

# /sbin/sysctl -p

kernel.sem

セマフォに関する4つのパラメータを以下の形式で指定する。

kernel.sem = SEMMSL SEMMNS SEMOPS SEMMNI
kernel.sem のパラメータ
Parameter Description
SEMMSL セマフォ集合ごとのセマフォ数の最大値
SEMMNS システム全体でのすべてのセマフォ集合におけるセマフォ数の制限
SEMOPS semop(2)コールに指定されるオペレーション数の最大値
SEMMNI システム全体でのセマフォ識別子の最大値

net.ipv4.tcp_rmem

TCPソケット受信バッファのサイズを以下の形式で指定する。

net.ipv4.tcp_rmem = min default max
min

TCPソケット受信バッファの最小サイズを指定する。

default

TCPソケット受信バッファのデフォルトサイズを指定する。net.core.rmem_defaultが設定されている場合でも、こちらの方が優先される。

max

TCPソケット受信バッファの最大サイズを指定する。net.core.rmem_maxが設定されている場合、net.core.rmem_maxの方が優先される。

net.ipv4.tcp_wmem

TCPソケット送信バッファのサイズを以下の形式で指定する。

net.ipv4.tcp_wmem = min default max
min

TCPソケット送信バッファの最小サイズを指定する。

default

TCPソケット送信バッファのデフォルトサイズを指定する。net.core.wmem_defaultが設定されている場合でも、こちらの方が優先される。

max

TCPソケット送信バッファの最大サイズを指定する。net.core.wmem_maxが設定されている場合、net.core.wmem_maxの方が優先される。

chmod

chmod (change mode) コマンドを使って、ファイルやディレクトリのパーミッションを変更できる。

アカウント user group other
モード r w x r w x r w x
2進数 1 1 1 1 0 1 1 0 1
8進数 7 5 5
$ chmod 0755 bin

/etc/hostname

/etc/hostname はホスト名を設定するファイルである。

$ cat /etc/hostname
sakura

/etc/hosts

/etc/hosts は各ホスト名のIPアドレスを設定するファイルである。

$ cat /etc/hosts
127.0.0.1	localhost
127.0.1.1	sakura

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

/etc/issue

/etc/issue はLinuxディストリビューションに関する情報が格納されているファイルである。

$ cat /etc/issue
Linux Mint 20 Ulyana \n \l

/etc/os-release

/etc/os-release はLinuxディストリビューションに関する詳細な情報が格納されているファイルである。

$ cat /etc/os-release
NAME="Linux Mint"
VERSION="20 (Ulyana)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 20"
VERSION_ID="20"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=ulyana
UBUNTU_CODENAME=focal

/etc/profile

/etc/profile とは、どのログインユーザでも共通の処理を記述したスクリプトシェルである。ログインシェルがshまたはbashの場合、ユーザがログインしたとき自動的に実行される。

/dev/null

特殊なデバイスとして、ヌルデバイス(/dev/null)を指定することもできます。出力先とした場合、何も出力しないのと同義になります。入力元とした場合、常に EOF が入力されます。

$ echo hello > /dev/null

標準出力をヌルデバイスにリダイレクトした場合、/dev/nullというファイルに出力するのではなく、どこにも出力しないことになります。

rsyslog

システムログとは、システムの動作状態の記録である。ログの多くは /var/log ディレクトリに保存される。システムログにはfacilityとpriorityの2つの分類がある。

facility
facility 説明
auth、security セキュリティ、認証
authpriv セキュリティ、認証(プライベート)
cron cron
daemon デーモン
kern カーネル
lpr プリンタ
mail メール
news NetNews
syslog syslog自身のメッセージ
user ユーザアプリケーション
uucp UUCP
local0 独自に利用できるfacility
local1
local2
local3
local4
local5
local6
local7
priority
priority 説明
debug デバッグ
info 情報
notice 重要
warning 警告
err、error エラー
crit 重大なエラー
alert すぐに対処が必要
emerg、panic システムが不安定な状態