3
1

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.

【めもめも】CentOS7環境のセットアップ

Posted at

これは何?

ちょっとした実験環境(使い捨て環境)として、VM(Oracle VM VirtualBox)でCentOS7環境をセットアップする時の自分用メモ。
イメージを使いまわせば簡単なんだけど、最低限手を動かさないと忘れちゃうので、定期的にやっている儀式の補助記憶装置として、残しておく(最近忘れっぽくなってきたので...)

前提条件など

  • システムリソースについては、CPUの数、メモリ割り当ては用途次第で決める
  • ネットワークはアダプター1(NAT)、アダプター2(ホストオンリーアダプター)を準備する
    • インターネット接続用と、内部ネットワーク接続用の2つの口

以下の公式サイトから Minimal ISO のイメージをダウンロードしてOSインストールする。

共通でやっておくこと(ネットワークまわり)

自身が気持ちよく使える環境のために、設定しておきたい環境設定。

NICの起動設定

デフォルトでNICは起動時に有効化されていないので、ONBOOTを有効化し、IPV6設定はおもちゃ環境では事態をややこしくするので落としておく。

NAT側 の設定。

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=dcf41d2a-9b40-4982-a83e-ac7b67f6eee0
DEVICE=enp0s3
ONBOOT=yes

仮想LAN側 の設定。
プライベートIPは192.168.56.0/24の範囲内で十分だと思うので、その範囲で用途に応じて割り振る。

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=no
IPADDR=192.168.56.123
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=cc2f5178-0bea-44df-b1ad-16d79ecb9b6e
DEVICE=enp0s8
ONBOOT=yes

ちなみに下記のサイトによると、RHEL 7, CentOS 7では、NetworkManager の利用が推奨されていて、nmtui コマンドを実行すると、対話的にネットワークの設定を行うことが可能とのこと。
実験環境なので、ちょろちょろっと編集しちゃうけど。

なおNICの種類を見るには以下のコマンドを実行すると確認できる。

# nmcli c

ホスト名の変更

目的に応じて、なんとなく区別ができるような(気持ちが高揚する感じの)ホスト名をつける。

以下のコマンドを実行し、ホスト名を設定する。

# hostnamectl set-hostname ホスト名

SELinuxの無効化

デフォルトだと有効。おもちゃの環境では事態をややこしくするので、SELinuxは無効化しておく。
無効にする場合は /etc/sysconfig/selinux のSELINUXを編集

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

ちなみにgetenforceコマンドを実行すると、SELinuxの状態確認ができる。

FWの無効化

デフォルトだと有効。おもちゃの環境では(…のくだりは以下省略)。
ステータスを確認し、起動していたら停止。ついでにOS起動時に動かないようにしておく。

# systemctl status firewalld
# systemctl stop firewalld
# systemctl disabled firewalld

ちょっと脱線

おっさん世代(CentOS6以前の旧人類)だと、iptables(さすがにipchainsとは言わない)のほうが耳慣れているので、「時代だなぁ~」といってみたくなる。

おっさんネタついでに、最近だとサービス起動については/etc/init.d/ はすっからかん。
service コマンドから systemctl コマンドへ。いや大体がそっち系へ。いろいろな新出イディオムに対応しないと、ニュータイプと会話できなくなってしまうので、備忘のためにめもめもしておく。

# service named start/stop/status → # systemctl start/stop/status named

# chkconfig named on/off → # systemctl enable/disable named

# chkconfig --list → # systemctl list-unit-files --type=service

あとはレガシーな net-tools が標準インストールからなくなったので、**ip ~** を覚える。さよなら、net-tools…

# ifconfig → # ip addr show

# ifconfig eth0 192.168.0.100 netmask 255.255.255.0 → # ip addr add 192.168.0.100/255.255.255.0 dev eth0

# route → # ip route

# netstat -ntpa → # ss -ntpa

# arp → # ip neighbor

共通でやっておくこと(パッケージまわり)

自身が気持ちよく使える環境のために、やっておくこと。
CentOS7のパッケージ管理はまだDNFではないので、yumで必要なものを入れておけばよい。
(yumを使っているイコールpythonのデフォルトは2系を意味するという、うれしくない感じでもある)

yum リポジトリの追加

EPELリポジトリはよく使うので忘れずに入れる。

# yum install epel-release

よく使うパッケージの追加

エディタなどのツールから開発ツール、python環境構築のために必要なパッケージは後でイライラしないように、入れておくのが一番。

# yum install vim wget unzip gcc gcc-c++ cmake git zlib-devel bzip2-devel readline-devel openssl-devel sqlite-devel

作業・実行ユーザーの環境

python3実行環境の構築

大体の場合、python3系は自由に使える必要があるので、事前に用意しておく。

参考

3
1
0

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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?