もう一度rbenvを使ってRubyをインストールする(システムワイド)→成功

先日、システムワイドにインストールしようとした時には失敗したけど、ググっていたらヒントになりそうな記事を見つけた。

cf. Centos7にNginx + UnicornでRedmine3.3構築方法 – Qiita

つまり、/usr/local/rbenv のパーミッションの問題を解決してやればいいんではないか。

前提

/usr/local/rbenv 以下には、先日インストール(というか git clone)したファイルが残っている。

新しいユーザーとグループの作成

takatoh にはユーザーローカルに rbenv がインストールされてしまっていて、ここで作業するとややこしい事になりそうなので、別のユーザーを作ることにする。

[takatoh@aybesea ~]$ sudo useradd bill
[sudo] takatoh のパスワード:
[takatoh@aybesea ~]$ sudo passwd bill
ユーザー bill のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードは 8 未満の文字列です。
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

新しいグループ staff を作って、いま作ったユーザー bill を所属させる。

[takatoh@aybesea ~]$ sudo groupadd staff
[sudo] takatoh のパスワード:
[takatoh@aybesea ~]$ sudo usermod -G staff bill

ついでに wheel グループにも所属させておこう。

[takatoh@aybesea ~]$ sudo usermod -G wheel bill

さて、ここからはユーザー bill での作業。

rbenvの設定とインストール

/etc/profile.d/rbenv.sh をつぎのとおりに作成。

export RBENV_ROOT="/usr/local/rbenv"
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init --no-rehash -)"

/usr/local/rbenv のグループと権限を変更。

[bill@aybesea ~]$ sudo chgrp -R staff /usr/local/rbenv
[bill@aybesea ~]$ sudo chmod -R 755 /usr/local/rbenv

/etc/profile.d/rbenv.sh を読み込んだあと、ruby-build をインストール。

[bill@aybesea ~]$ source /etc/profile.d/rbenv.sh
[bill@aybesea ~]$ cd /usr/local/rbenv/plugins/ruby-build
[bill@aybesea ruby-build]$ sudo ./install.sh

さあ、これでどうだ。rbenv がインストールされているか、確認。

[bill@aybesea ruby-build]$ rbenv -v
rbenv 1.1.1-28-gb943955
[bill@aybesea ruby-build]$ which rbenv
/usr/local/rbenv/bin/rbenv

Rubyのインストール

いよいよ Ruby のインストール。先日の 2.5.0 と間違わないように 2.4.3 をインストールしてみる。

[bill@aybesea ~]$ rbenv install 2.4.3
Downloading ruby-2.4.3.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.3.tar.bz2
Installing ruby-2.4.3...
mkdir: ディレクトリ `/usr/local/rbenv/versions/2.4.3' を作成できません: 許可がありません

BUILD FAILED (CentOS Linux 7 using ruby-build 20171226)

Inspect or clean up the working tree at /tmp/ruby-build.20180102092705.32107
Results logged to /tmp/ruby-build.20180102092705.32107.log

Last 10 log lines:
/tmp/ruby-build.20180102092705.32107 /usr/local/rbenv/plugins/ruby-build
/tmp/ruby-build.20180102092705.32107/ruby-2.4.3 /tmp/ruby-build.20180102092705.32107 /usr/local/rbenv/plugins/ruby-build

ああ、ダメだ。なんでだ?
もう一度、/usr/local/rbenv のパーミッションを確認してみる。

[bill@aybesea ~]$ ls -l /usr/local | grep rbenv
drwxr-xr-x. 12 root staff 263 12月 31 05:58 rbenv

あ、ディレクトリのパーミッションが 755 になってる。多分このせいだ。さっき間違えたようだ。

[bill@aybesea ~]$ sudo chmod -R 775 /usr/local/rbenv
[sudo] bill のパスワード:

これでもう一度インストールにチャレンジ。

[bill@aybesea ~]$ rbenv install 2.4.3
Downloading ruby-2.4.3.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.3.tar.bz2
Installing ruby-2.4.3...
mkdir: ディレクトリ `/usr/local/rbenv/versions/2.4.3' を作成できません: 許可がありません

BUILD FAILED (CentOS Linux 7 using ruby-build 20171226)

Inspect or clean up the working tree at /tmp/ruby-build.20180102094304.32661
Results logged to /tmp/ruby-build.20180102094304.32661.log

Last 10 log lines:
/tmp/ruby-build.20180102094304.32661 ~
/tmp/ruby-build.20180102094304.32661/ruby-2.4.3 /tmp/ruby-build.20180102094304.32661 ~

ああ、これでもダメか。
bill のグループを確認してみる。

[bill@aybesea ~]$ groups
bill wheel

あれ?staff グループに所属してない。
調べたところ usermod -G コマンドでは2次グループに所属させることはできるが、複数回実行すると2次グループが置き換えられるようだ。所属するグループを3つ以上にするには usermod -aG コマンドを使うようだ。
なので、次のようにする。

[bill@aybesea ~]$ sudo usermod -aG staff bill
[sudo] bill のパスワード:
[bill@aybesea ~]$ groups
bill wheel

あれ、追加されてない?id コマンドで見てみよう。

[bill@aybesea ~]$ id bill
uid=1002(bill) gid=1002(bill) groups=1002(bill),10(wheel),1003(staff)

こっちには追加されている。

それじゃ、もう一度インストールにチャレンジ。

[bill@aybesea ~]$ rbenv install 2.4.3
Downloading ruby-2.4.3.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.3.tar.bz2
Installing ruby-2.4.3...
mkdir: ディレクトリ `/usr/local/rbenv/versions/2.4.3' を作成できません: 許可がありません

BUILD FAILED (CentOS Linux 7 using ruby-build 20171226)

Inspect or clean up the working tree at /tmp/ruby-build.20180102095649.535
Results logged to /tmp/ruby-build.20180102095649.535.log

Last 10 log lines:
/tmp/ruby-build.20180102095649.535 ~
/tmp/ruby-build.20180102095649.535/ruby-2.4.3 /tmp/ruby-build.20180102095649.535 ~

まだダメか。
いったん、ログアウトしてからログインし直してみよう。それからまたチャレンジ。

[bill@aybesea ~]$ rbenv install 2.4.3
Downloading ruby-2.4.3.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.3.tar.bz2
Installing ruby-2.4.3...
Installed ruby-2.4.3 to /usr/local/rbenv/versions/2.4.3

[bill@aybesea ~]$ rbenv versions
  2.4.3
[bill@aybesea ~]$ rbenv global 2.4.3
[bill@aybesea ~]$ ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]

今度はうまくいった!

これで完了。

[追記]

ユーザー takatoh での設定も変更しておく。.bash_profile から rbenv 関係の記述を削除してログインし直したところ、次のようになった。

[takatoh@aybesea ~]$ rbenv -v
rbenv 1.1.1-28-gb943955
[takatoh@aybesea ~]$ which rbenv
/usr/local/rbenv/bin/rbenv
[takatoh@aybesea ~]$ rbenv versions
* 2.4.3 (set by /usr/local/rbenv/version)
[takatoh@aybesea ~]$ rbenv version
2.4.3 (set by /usr/local/rbenv/version)

ユーザーローカルでインストールした 2.5.0 は現れず、さっきシステムワイドにインストールした 2.4.3 を使うようになっている。
~/.rbenv 以下はもう要らないので削除。

[takatoh@aybesea ~]$ rm -rf .rbenv

Ruby を使うだけならこれでいいけど、他のバージョンのインストールができないので、staff グループに所属させておく。

[takatoh@aybesea ~]$ sudo usermod -aG staff takatoh

もう一度ログインし直せば完了。

CentOS 7にSambaサーバをたてる

Windows とのファイル共有のために、Samba サーバをインストールし、その後 firewalld と SELinux の設定を行う。

インストール

[takatoh@aybesea ~]$ sudo yum install samba samba-client samba-winbind samba-winbind-clients

firewalldの設定

firewalld の詳しい説明はまた別の機会に。ここでは、samba サーバにアクセスできるようにだけする。

[takatoh@aybesea ~]$ sudo firewall-cmd --add-service samba --zone public --permanent
success
[takatoh@aybesea ~]$ sudo firewall-cmd --add-service samba-client --zone public --permanent
success

smb.confの編集

誰でもアクセスできる共有フォルダを作る。/etc/samba/smb.conf ファイルを次のように編集。globa セクション。

[global]
workgroup = PANICBLANKET
security = user

passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw

dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
map to guest = Bad User

共有フォルダのセクション。ここでは share という共有フォルダを作った。

[share]
path = /mnt/wiwaxia/share
writable = yes
force create mode = 0666
force directory mode = 0777
guest ok = yes
guest only = yes

共有用ディレクトリの作成

[takatoh@aybesea ~]$ cd /mnt/wiwaxia
[takatoh@aybesea wiwaxia]$ sudo mkdir share

自動定と起動

[takatoh@aybesea wiwaxia]$ sudo systemctl enable smb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[takatoh@aybesea wiwaxia]$ sudo systemctl enable nmb
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.
[takatoh@aybesea wiwaxia]$ sudo systemctl enable winbind
Created symlink from /etc/systemd/system/multi-user.target.wants/winbind.service to /usr/lib/systemd/system/winbind.service.
[takatoh@aybesea ~]$ sudo systemctl start smb
[takatoh@aybesea ~]$ sudo systemctl start nmb
[takatoh@aybesea ~]$ sudo systemctl start winbind

Windowsから確認

ここでいったん、Windows 側からアクセスできるかどうか確認してみたところ、ダメだった。たぶん SELinux のせいだ。

SELinuxの設定

SELinux についても詳しいことは別の機会にして、ここでは必要そうな設定だけをする。

[takatoh@aybesea ~]$ sudo setsebool -P allow_smbd_anon_write=on
[takatoh@aybesea ~]$ sudo setsebool -P samba_share_nfs=on
[takatoh@aybesea ~]$ sudo setsebool -P samba_export_all_rw=on
[takatoh@aybesea ~]$ sudo sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

さて、これでもう一回試してみたけどダメだった。

何がいけない?

firewalld をもう一度確認してみる。

[takatoh@aybesea ~]$ sudo firewall-cmd --list-service
ssh dhcpv6-client

あれ?samba が追加されてない。

[takatoh@aybesea ~]$ sudo cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="samba"/>
  <service name="samba-client"/>
</zone>

ゾーンの設定ファイルには反映されている。何故だ?
firewalld をリスタートさせてみる。

[takatoh@aybesea ~]$ sudo systemctl restart firewalld
[takatoh@aybesea ~]$ sudo firewall-cmd --list-service
ssh dhcpv6-client samba samba-client

今度は反映された。
もう一度 Windows からアクセスしてみると、共有フォルダは見つかったものの書き込みができない。
共有用ディレクトリのパーミッションを確認してみると、root 以外は書き込みができないようになっていたので、これを変更してみる。

[takatoh@aybesea ~]$ cd /mnt/wiwaxia
[takatoh@aybesea wiwaxia]$ ls -l
合計 20
drwx------. 2 root root 16384 12月 30 21:21 lost+found
drwxr-xr-x. 2 root root  4096  1月  1 17:52 share
[takatoh@aybesea wiwaxia]$ sudo chmod 777 share
[takatoh@aybesea wiwaxia]$ ls -l
合計 20
drwx------. 2 root root 16384 12月 30 21:21 lost+found
drwxrwxrwx. 2 root root  4096  1月  1 18:31 share

これでめでたく、共有フォルダに読み書きできるようになった。

CentOS 7のsshd

CentOS 7 では標準で sshd が動いているようだ。Ubuntu マシンからアクセスした様子を示す。

takatoh@envelopes $ ssh takatoh@aybesea
takatoh@aybesea's password: 
Last login: Sun Dec 31 08:28:12 2017
[takatoh@aybesea ~]$ ls
Desktop    Downloads              Music     Public     Videos  w
Documents  Firefox_wallpaper.png  Pictures  Templates  bin

envelopes が Ubuntu マシンで、aybesea が CentOS マシンね。なんにもしてなくても、ちゃんとアクセスできる。これは楽でいい。

CentOS 7にpyenvでPythonをインストール

CentOS 7 には標準で Python がインストールされている。ただちょっと古い。それに pip もない。

[takatoh@aybesea ~]$ python -V
Python 2.7.5
[takatoh@aybesea ~]$ pip list
bash: pip: コマンドが見つかりませんでした...

なので、pyenv を使って Python をインストールすることにした。これはひと月程前にも Ubuntu でやってるから大丈夫だろう。

環境

  • CentOS 7.4.1708 (Core)
  • システムの Python: 2.7.5

参考ページ

依存ライブラリのインストール

これ、なにが必要なんだかいつもよく分からないんだけど、とりあえず参考ページの通りにしてみる。

[takatoh@aybesea ~]$ sudo yum -y install zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel

pyenvとpyenv-virtualenvのインストール

[takatoh@aybesea ~]$ git clone https://github.com/yyuu/pyenv.git .pyenv
[takatoh@aybesea ~]$ git clone https://github.com/yyuu/pyenv-virtualenv.git .pyenv/plugins/pyenv-virtualenv

.bash_profile に追記。

export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

.bash_profile を読み直し。

[takatoh@aybesea ~]$ source .bash_profile

Pythonのインストール

2.7.14 と 3.6.4 をインストール。

[takatoh@aybesea ~]$ pyenv install 2.7.14
Downloading Python-2.7.14.tar.xz...
-> https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tar.xz
Installing Python-2.7.14...
Installed Python-2.7.14 to /home/takatoh/.pyenv/versions/2.7.14

[takatoh@aybesea ~]$ pyenv install 3.6.4
Downloading Python-3.6.4.tar.xz...
-> https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
Installing Python-3.6.4...
Installed Python-3.6.4 to /home/takatoh/.pyenv/versions/3.6.4

バージョンの切り替え

[takatoh@aybesea ~]$ pyenv versions
* system (set by /home/takatoh/.pyenv/version)
  2.7.14
  3.6.4

とりあえず、常用には 2.7.14。

[takatoh@aybesea ~]$ pyenv global 2.7.14
[takatoh@aybesea ~]$ pyenv versions
  system
* 2.7.14 (set by /home/takatoh/.pyenv/version)
  3.6.4

OK。当面これで運用してみる。

rbenvを使ってRubyをインストールする(ユーザーローカル)→成功

ユーザーローカルにインストールする。まずは rbenv のインストール。

[takatoh@aybesea ~]$ git clone https://github.com/sstephenson/rbenv.git .rbenv

.bash_profile につぎの行を追記。

export RBENV_ROOT=$HOME/.rbenv
export PATH=$RBENV_ROOT/bin:$PATH
eval "$(rbenv init -)"

設定を読み直す。

[takatoh@aybesea ~]$ source .bash_profile

ruby-build をインストール。

[takatoh@aybesea ~]$ git clone git://github.com/sstephenson/ruby-build.git .rbenv/plugins/ruby-build
[takatoh@aybesea ~]$ cd .rbenv/plugins/ruby-build
[takatoh@aybesea ruby-build]$ sudo ./install.sh

これでインストールはOKのはず。

[takatoh@aybesea ~]$ rbenv -v
rbenv 1.1.1-28-gb943955

さあ、Ruby 2.5.0 をインストールしよう。

[takatoh@aybesea ~]$ rbenv install 2.5.0
Downloading ruby-2.5.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.bz2
Installing ruby-2.5.0...
Installed ruby-2.5.0 to /home/takatoh/.rbenv/versions/2.5.0

rbenv rehash を実行。

[takatoh@aybesea ~]$ rbenv rehash

グローバルに使用する Ruby を指定。

[takatoh@aybesea ~]$ rbenv global 2.5.0

インストールできているか確認。

[takatoh@aybesea ~]$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]
[takatoh@aybesea ~]$ which ruby
~/.rbenv/shims/ruby
[takatoh@aybesea ~]$ which gem
~/.rbenv/shims/gem

参考ページ

cf. ruby 2.3.1をCentOS7に導入する。 – Qiita

rbenvを使ってRubyをインストールする(システムワイド)→失敗

CentOS 7 には、標準では Ruby がインストールされてない。なのでインストールするんだけど、今回はせっかくなので rbenv を使ってみることにした。それもユーザー単位ではなくシステムワイドにインストールする。

環境

[takatoh@aybesea ~]$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)

準備

予め依存するパッケージをインストールしておく。git はインストール済み。

[takatoh@aybesea ~]$ sudo yum install gcc gcc-c++ openssl-devel readline-devel

rbenvのインストールと設定

インストール先を /usr/local/rbenv にする。

[takatoh@aybesea ~]$ sudo git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv

環境変数等の設定。/etc/profile.d の下に rbenv.sh を作って、つぎのようにする。

export RBENV_ROOT="/usr/local/rbenv"
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init --no-rehash -)"

rbenv.sh を反映する。

[takatoh@aybesea ~]$ source /etc/profile.d/rbenv.sh
mkdir: ディレクトリ `/usr/local/rbenv/shims' を作成できません: 許可がありません
mkdir: ディレクトリ `/usr/local/rbenv/versions' を作成できません: 許可がありません
[takatoh@aybesea ~]$ sudo source /etc/profile.d/rbenv.sh
sudo: source: コマンドが見つかりません

あれ、困った。ログインし直してみよう。
ログインし直した結果、端末に次のように表示された。

mkdir: ディレクトリ `/usr/local/rbenv/shims' を作成できません: 許可がありません
mkdir: ディレクトリ `/usr/local/rbenv/versions' を作成できません: 許可がありません

先にディレクトリを作ってやったらどうだろう。

[takatoh@aybesea ~]$ sudo mkdir /usr/local/rbenv/shims
[sudo] takatoh のパスワード:
[takatoh@aybesea ~]$ sudo mkdir /usr/local/rbenv/versions
[takatoh@aybesea ~]$ source /etc/profile.d/rbenv.sh

ruby-buildのインストール

[takatoh@aybesea ~]$ sudo mkdir /usr/local/rbenv/plugins
[takatoh@aybesea ~]$ cd /usr/local/rbenv/plugins
[takatoh@aybesea plugins]$ sudo git clone https://github.com/sstephenson/ruby-build.git ruby-build

install.sh を実行。

[takatoh@aybesea plugins]$ cd ruby-build
[takatoh@aybesea ruby-build]$ sudo ./install.sh

Rubyのインストール

さて、これで準備は整ったはずだ。Ruby をインストールしよう。インストールできる Ruby のバージョンは rbenv install --list コマンドで見ることができる。

[takatoh@aybesea ~]$ rbenv install --list

せっかくなので、リリースされたばかりの 2.5.0 をインストールしよう。

[takatoh@aybesea ~]$ rbenv install 2.5.0
Downloading ruby-2.5.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.bz2
Installing ruby-2.5.0...
mkdir: ディレクトリ `/usr/local/rbenv/versions/2.5.0' を作成できません: 許可がありません

BUILD FAILED (CentOS Linux 7 using ruby-build 20171226)

Inspect or clean up the working tree at /tmp/ruby-build.20171231060736.25143
Results logged to /tmp/ruby-build.20171231060736.25143.log

Last 10 log lines:
/tmp/ruby-build.20171231060736.25143 ~
/tmp/ruby-build.20171231060736.25143/ruby-2.5.0 /tmp/ruby-build.20171231060736.25143 ~
[takatoh@aybesea ~]$ sudo rbenv install 2.5.0
[sudo] takatoh のパスワード:
sudo: rbenv: コマンドが見つかりません

あれ、ダメか。さっきの設定が root ユーザーには読み込まれてない様だ。かと言って sudo しないと書き込めないし。フルパスで指定してみるか。

[takatoh@aybesea ~]$ sudo /usr/local/rbenv/bin/rbenv install 2.5.0
rbenv: no such command `install'

ダメかーー!
設定がうまくいってないのかな。参考ページの通りにやってるんだけど。
あきらめてユーザーローカルに変更するか。

参考ページ

cf. CentOS7へのrbenvを用いたrubyの導入(システムワイド版) – Typo

CentOS7: 日本語のディレクトリ名を英語に変更

インストールを日本語で行うと、ホームディレクトリの中にデフォルトで用意されるディレクトリの名前が日本語になっている。

[takatoh@aybesea ~]$ ls
ダウンロード  デスクトップ  ビデオ  画像
テンプレート  ドキュメント  音楽    公開

これは使いにくいので、英語に直す。

[takatoh@aybesea ~]$ LC_ALL=C xdg-user-dirs-update --force
Moving DESKTOP directory from デスクトップ to Desktop
Moving DOWNLOAD directory from ダウンロード to Downloads
Moving TEMPLATES directory from テンプレート to Templates
Moving PUBLICSHARE directory from 公開 to Public
Moving DOCUMENTS directory from ドキュメント to Documents
Moving MUSIC directory from 音楽 to Music
Moving PICTURES directory from 画像 to Pictures
Moving VIDEOS directory from ビデオ to Videos

これでログインしなおすと、「標準フォルダーの名前を現在の言語に合わせて更新しますか?」というダイアログが出るので、「次回から表示しない」にチェックを入れて「古いままにする」をクリックすればOK。
……と思ったら、日本語のディレクトリも残っているので手で消した。

USBの外付けHDDを使ってみる

Windows で使っていた外付け HDD を接続してみる。

[takatoh@aybesea ~]$ sudo blkid
[sudo] takatoh のパスワード:
/dev/mapper/centos_aybesea-root: UUID="0fab0eeb-8886-4fe2-8fa7-3b7c57971adc" TYPE="xfs" 
/dev/sda2: UUID="jpvmX9-58tj-JSee-YCMQ-51fQ-bjl5-RUf6Qi" TYPE="LVM2_member" 
/dev/sda1: UUID="328590dd-13d1-4cf1-a5f3-cefc0a3a6a4d" TYPE="xfs" 
/dev/mapper/centos_aybesea-swap: UUID="63cc2cc0-f798-4afe-a36e-49d28d08ac86" TYPE="swap" 
/dev/mapper/centos_aybesea-home: UUID="4600514f-3f95-4d32-aa0f-4a0b47a5ab9a" TYPE="xfs" 
/dev/sdb1: LABEL="WIWAXIA" UUID="D0EA679CEA677D9A" TYPE="ntfs"

LABEL=”WIWAXIA” となってる /dev/sdb1 が外付け HDD だ。ファイルシステムは当然 NTFS。これをマウントしてみる。

[takatoh@aybesea ~]$ sudo mkdir /mnt/wiwaxia
[takatoh@aybesea ~]$ sudo mount --types ntfs /dev/sdb1 /mnt/wiwaxia
mount: unknown filesystem type 'ntfs'

おや、NTFS はダメみたいだ。ググってみると、CentOS では標準では NTFS に対応していないらしい。Ubuntu ではいけたのに、残念。

気をとり直して。NTFS がダメならフォーマットしてしまおう。CentOS の標準のファイルシステムは xfs だけど、今回はのちのち Ubuntu でも使えるように ext4 にする。
まずはパーティションのきりなおし。

[takatoh@aybesea ~]$ sudo fdisk /dev/sdb1
[sudo] takatoh のパスワード:
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


コマンド (m でヘルプ): p

Disk /dev/sdb1: 1000.0 GB, 1000008056832 bytes, 1953140736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x73736572

パーティションテーブルに見えません
おそらく間違ったデバイスを選択しています。

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1p1      1920221984  3736432267   908105142   72  不明
/dev/sdb1p2   ?  1936028192  3889681299   976826554   6c  不明
/dev/sdb1p3   ?           0           0           0    0  Empty
/dev/sdb1p4        27722122    27722568         223+   0  Empty

コマンド (m でヘルプ): d
パーティション番号 (1-4, default 4): 1
Partition 1 is deleted

コマンド (m でヘルプ): d
パーティション番号 (2-4, default 4): 2
Partition 2 is deleted

コマンド (m でヘルプ): d
パーティション番号 (3,4, default 4): 3
Partition 3 is deleted

コマンド (m でヘルプ): d
Selected partition 4
Partition 4 is deleted

コマンド (m でヘルプ): p

Disk /dev/sdb1: 1000.0 GB, 1000008056832 bytes, 1953140736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x73736572

デバイス ブート      始点        終点     ブロック   Id  システム

コマンド (m でヘルプ): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
パーティション番号 (1-4, default 1): 1
最初 sector (2048-1953140735, 初期値 2048): 
初期値 2048 を使います
Last sector, +sectors or +size{K,M,G} (2048-1953140735, 初期値 1953140735): 
初期値 1953140735 を使います
Partition 1 of type Linux and of size 931.3 GiB is set

コマンド (m でヘルプ): p

Disk /dev/sdb1: 1000.0 GB, 1000008056832 bytes, 1953140736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x73736572

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1p1            2048  1953140735   976569344   83  Linux

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。

WARNING: Re-reading the partition table failed with error 22: 無効な引数です.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
ディスクを同期しています。

fdisk コマンドは、パーティション管理のコマンドだ。対話形式で操作し、p でパーティションテーブルの表示、d で削除、n で新規作成、w で書き込み。今回は既存のパーティションすべてを削除して新しく1つだけ作成(全部デフォルト設定)した。
つづいて ext4 ファイルシステムの作成。

[takatoh@aybesea ~]$ sudo mkfs -t ext4 /dev/sdb1
[sudo] takatoh のパスワード:
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
61038592 inodes, 244142592 blocks
12207129 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2392850432
7451 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

なんかあっさり終わったけど、これでいいのかな?
試してみよう。

[takatoh@aybesea ~]$ sudo blkid
/dev/mapper/centos_aybesea-root: UUID="0fab0eeb-8886-4fe2-8fa7-3b7c57971adc" TYPE="xfs" 
/dev/sda2: UUID="jpvmX9-58tj-JSee-YCMQ-51fQ-bjl5-RUf6Qi" TYPE="LVM2_member" 
/dev/sda1: UUID="328590dd-13d1-4cf1-a5f3-cefc0a3a6a4d" TYPE="xfs" 
/dev/mapper/centos_aybesea-swap: UUID="63cc2cc0-f798-4afe-a36e-49d28d08ac86" TYPE="swap" 
/dev/mapper/centos_aybesea-home: UUID="4600514f-3f95-4d32-aa0f-4a0b47a5ab9a" TYPE="xfs" 
/dev/sdb1: UUID="74c0d342-f2a6-49d3-8aca-62d23f3603e1" TYPE="ext4"
[takatoh@aybesea ~]$ sudo mount --types ext4 /dev/sdb1 /mnt/wiwaxia
[takatoh@aybesea ~]$ touch /mnt/wiwaxia/test
touch: `/mnt/wiwaxia/test' に touch できません: 許可がありません
[takatoh@aybesea ~]$ sudo touch /mnt/wiwaxia/test
[takatoh@aybesea ~]$ ls /mnt/wiwaxia
lost+found  test

うまくいったみたい。

[追記]

HDD を一時的にではなく恒久的にマウントするには /etc/fstab ファイルに次のように追記して再起動する。

# USB HDD WIWAXIA
UUID="74c0d342-f2a6-49d3-8aca-62d23f3603e1" /mnt/wiwaxia ext4 defaults 0 0

一般ユーザーでsudoできるようにする

CentOS では wheel グループが sudo できるグループとして意図されているみたい。これを有効にするには次のようにする。

まず、visudo コマンドで編集。

[root@aybesea ~]# visudo

終わりのほうの次の行を変更して保存。

# %wheel ALL=(ALL) NOPASSWD: ALL
%wheel ALL=(ALL) ALL

それから usermod コマンドでユーザーを wheel グループに追加。

[root@aybesea ~]# usermod -G wheel takatoh

これで再起動すればOK。

CentOS 7で日本語入力できるようにする

アプリケーション → システムツール → 設定 から Region & Language を選択。入力ソースの下の + 印をクリックしてさらに日本語をクリック、リストの中から「日本語(かな漢字)」を選んで追加ボタンをクリック。これで入力ソースに「日本語(かな漢字)」が追加される。
設定を終えると、画面右上のところに ja と表示されるようになる。あとは半角/全角キーで日本語に切り替えられる。