Linuxインストール後にやっておきたい事(OS依存少なめ)
背景
Linuxをインストールして最初にやっておきたい事を順を追って書きました。
仮想マシンだったり物理マシンだったりしょっちゅうインストールする機会が多いですが
最低限やっておきたいものです。
関係ないですが、最近はLinux Mintに興味津々です。
①とりあえず環境を最新へ
とりあえずyumなりaptなりで最新へアップデート。
# RHEL系
$ sudo yum update
# Debian系
$ sudo apt update ; sudo apt upgrade
②作業ユーザの追加
自分専用だろうが一応追加します。
# sudoする為にwheelグループにする
# useradd hogefuga -G wheel
# passwd hogefuga
③sshできるようにする
ターミナルエミュレータで作業する為にsshしたいのでとりあえずやってみる
駄目だったら下記を確認
- IPアドレス/ユーザ名が合っているか
- sshのポートが空いているか
- sshd_configの設定は間違っていないか
後は基本的にrootログインは禁止してますね
root権欲しいなら都度sudoなりsuしてます。
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server
PermitRootLogin no
ここからは基本的にターミナルエミュレータで作業を進めます
④必要パッケージのインストール
vim-enhancedを入れる
特に理由は無いがvim-enhancedを入れている。
色々種類があるが下記が詳しい。
https://qiita.com/b4b4r07/items/f7a4a0461e1fc6f436a4
net-toolsを入れる
ifconfigやnetstatなどまあ使いどころはあるかもしれないので一応。。。
iproute2との比較は下記が詳しい
https://qiita.com/miyu/items/0cac69b6810dbbc56a9b
bash-completionを入れる
bash-completionは入力補完を強化(?)するソフト
systemctlなどのサブコマンドの補完が使えるようになります。
# RHEL系
$ yum install -y bash-completion
# Debian系
$ apt install -y bash-completion
# 試す
$ systemctl
add-requires force-reload list-sockets set-environment
add-wants get-default list-timers set-property
cancel halt list-unit-files show
cat help list-units show-environment
condreload hibernate mask snapshot
condrestart hybrid-sleep poweroff start
condstop is-active preset status
daemon-reexec is-enabled reboot stop
daemon-reload is-failed reenable suspend
default isolate reload switch-root
delete is-system-running reload-or-restart try-restart
disable kexec reload-or-try-restart unmask
edit kill rescue unset-environment
emergency link reset-failed
enable list-dependencies restart
exit list-jobs set-default
こんな感じでstatusなりrestart/reloadなりの補完が聞くようになります。
sshのホスト名(known_hosts準拠)だったりmanだったり色々使いどころあるので便利です。
⑤共有サーバマウント
サーバ構築してからも他マシンとのファイル共有は必要なので。
さらにいえば下記項目を自動で行うスクリプトを置いて叩くだけにしておけば
何台増えようが同じような環境が作れる。
ここで同時にfstabを設定しておけばリブート時にもマウントする手間が省けるのでベスト
/dev/hda4 / ext3 defaults 1 1
/dev/hda1 /boot ext3 defaults 1 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/hda2 /var ext3 defaults 1 3
/dev/hda3 swap swap defaults 0 0
server:/usr/local/pub /pub nfs defaults 0 0
⑥bashrcをちょろっと書く
適当なサービス上げるだけとかでもとりあえず入れとくと後々便利
エラーがあったら結果ログ見に行ったりするので必須ですね。
if [ "$(uname)" == 'Darwin' ]; then
OSNAME='Mac'
else
OSNAME='Linux'
fi
[ -z "$PS1" ] && return
## export
export OSNAME
export LESSCHARSET=UTF-8
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH
export EDITOR=vim
export HISTSIZE=10000
export HISTFILESIZE=${HISTSIZE}
## Aliases
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
alias ......='cd ../../../../..'
alias cd.='cd ..'
alias cd..='cd ..'
alias l='ls -alF'
alias ll='ls -l'
alias vi='vim'
alias vi2='vi -O2 '
alias hc="history -c"
alias which='type -p'
alias k5='kill -9 %%'
alias gv='vim +GV +"autocmd BufWipeout <buffer> qall"'
alias x='xonsh'
⑦vimrcをちょろっと書く
デフォルトで出来る限り行える設定だけ書いてます。
サーバでちょっとしたスクリプトなりを書くときにストレスが10%ぐらい減ります。
set number
set ruler
set list
set listchars=tab:>-,trail:-,nbsp:%,extends:>,precedes:<,eol:<
set incsearch
set hlsearch
set nowrap
set showmatch
set whichwrap=h,l
set nowrapscan
set ignorecase
set hidden
set history=2000
set autoindent
set expandtab
set tabstop=2
set shiftwidth=2
set helplang=en
set autoindent
set nocompatible
set expandtab
set hidden
set incsearch
set number
set showmatch
set smartcase
set smartindent
set smarttab
set whichwrap=b,s,h,l,<,>,[,]
set nowrapscan
set t_Co=256
⑧最低限のセキュリティ設定
閉じたネットワークでも念のためやってます。
下記記事が結構ためになりました。
https://qiita.com/saitoxu/items/5ea998164c6225358567
⑨SELinuxの無効化
selinuxはLinuxの監査やセキュリティを向上させる機能
SELINUX=disabled
上記のように編集し、再起動する。
スペルミスとかするとOSが起動しなくなったりするのでご注意を(何度かやった)
リカバリモードで起動して、ファイル修正すれば直ります。
⑩不要サービスの無効化
検証/運用上使うこと無いサービスを無効化します。
不要なポートだったりリソースの無駄使いを防ぐためです。
ここは用途でやるかやらないか色々検討が必要ですね。
# systemctl disable auditd.service
# systemctl disable abrt-ccpp.service
# systemctl disable abrt-oops.service
# systemctl disable abrt-xorg.service
# systemctl disable abrt-vmcore.service
# systemctl disable abrtd.service
# systemctl disable libstoragemgmt.service
# systemctl disable smartd.service
# systemctl disable libvirtd.service
# systemctl disable qemu-guest-agent.service
# systemctl disable dmraid-activation.service
# systemctl disable mdmonitor.service
# systemctl disable avahi-daemon.service
# systemctl disable kdump
感想
最低限の共通設定でした。
ここから検証用環境を構築していくためのスタートラインです。
環境構築はなぞの独特の楽しさがありますね。
GUIでインストールした場合はもっと他にもやりたいことはあります。
(隠しファイル表示なり、ディレクトリ名を英語にするなりブラウザ関連の設定なり..etc)