167
221

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Linuxインストール後にやっておきたい事(OS依存少なめ)

Last updated at Posted at 2018-12-28

20131125225811.jpg

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してます。

/etc/ssh/sshd_config
# 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の監査やセキュリティを向上させる機能

/etc/selinux/config
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)

167
221
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
167
221

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?