京橋のバイオインフォマティシャンの日常

まずは、データ分析、コマンドラインのメモとして

【CentOS/LINUXの基本コマンド②】ユーザーー覧の確認、ユーザーの追加・権限付与をする

CentOSでの、ユーザー追加や変更、権限付与についてまとめた。

今回は、基本、sudo権限でコマンド実行する。

「root」ユーザーで実行する場合には、sudoは不要。

まずは、デフォルト情報の確認

ターミナルを起動して、以下のコマンドで見える。

#作成されるユーザーのデフォルト設定値を確認する
#これだけでは、ユーザーは作成されない

useradd -D
#GROUP=100
#HOME=/home
#INACTIVE=-1
#EXPIRE=
#SHELL=/bin/bash
#SKEL=/etc/skel
#CREATE_MAIL_SPOOL=yes

#OR
#cat /etc/default/useradd

また、デフォルト値の変更もできる。

useradd -D [Option]

あるいは、vim /etc/default/useraddとかで、ファイルを直接編集しても良い。

ユーザー作成の実行例

実行例(1): デフォルトユーザーの作成

#ユーザー作成
useradd [User name]
#パスワード設定
passwd [User name]
# => PWを2回入力
#ユーザー [User name] のパスワードを変更。
#新しいパスワード:
#新しいパスワードを再入力してください:
#passwd: すべての認証トークンが正しく更新できました。

実行例(2): ユーザー作成 + ホームディレクトリのみ作成

#ユーザー作成
sudo useradd -m [User name]
#パスワード設定
sudo passwd [User name]
#PWを2回入力

#ユーザーフォルダの確認
ls ../

ここで、ターミナルから、作成されたユーザーにログインしても、Homeディレクトリに、perl5しかフォルダ作成されていない・・・

$ ls
perl5
$ ls -a
.   .bash_logout   .bashrc  .config  .local    .ssh
..  .bash_profile  .cache   .emacs   .mozilla  perl5

これの解決法については、一度、GUI画面からログインすれば、 ホームディレクトリ配下に、デスクトップなどの各ディレクトリが作成される。

実行例(2'): ユーザー作成 + ホームディレクトリ作成をしない

#ユーザー作成 + -M オプション
sudo useradd -M [User name]

実行例(3): ユーザー作成 + sudo 権限付与

#ユーザー作成
useradd -m [User name]
#パスワード設定
passwd [User name]
#PWを2回入力

ここまでは、上記と同じ。

次に、wheelグループに全てのコマンド実行権を与えて、 ユーザーをそのグループに追加する。

#設定ファイルの表示
sudo cat /etc/sudoers
#or
#sudo visudo

#wheelが含まれる行のみ出力
sudo cat /etc/sudoers | grep "wheel"
## Allows people in group wheel to run all commands
#%wheel    ALL=(ALL)   ALL

#編集
sudo vim /etc/sudoers

ここで、#%wheel ALL=(ALL) ALLのコメントアウトを外す。

続いて、wheelグループに追加する。

#追加
usermod -G wheel [User name]

#所属グループの確認
groups [User name]

その他の関連コマンド

「root」になる

#ユーザー変更
su root

whoami
#root

ユーザーの切り替え

#(1) ユーザー切替後の設定環境を使用する。
su - [User name]

#(2) ユーザー切替前の設定環境を使用する。
su [User name]

ユーザー削除 + ホームディレクトリの削除

userdel -r [Your user name]

ユーザー一覧の確認(デフォルトHOMEなら)

cat /etc/passwd | grep "/home/" | sed -e 's/:.*//g'

後日、アカウントにコメントをつける

#コメント付与
usermod -c " ## test ## "  [User name]

#コメント確認
cat /etc/passwd | grep "[User name]"

passwdのユーザー名のところに、コメントが記載されている。

また、GUIでのログイン時に、ログイン画面にコメントが表示される。

所属グループなどの確認

#idコマンドでの確認
id -a [User name]
#uid=1002([User name]) gid=1002([User name]) groups=1002([User name]),10(wheel)

#groupsコマンドでの確認
#現在のユーザー
groups
#OR ユーザー指定
groups [User name]

補足

「useradd」と「adduser」

CentOSでは、adduserコマンドは、useraddコマンドのリンクコマンドとなっているようだ。なので、同じコマンド。

ログイン時のメッセージ表示(/etc/motd)

/etc/motd に書き込むと、すべてのユーザーで表示される。

#編集
sudo vim /etc/motd

#テキトーに文字列を書き込み

#作成後に表示
cat /etc/motd

(sshで)再ログインしてみると、書き込んだ文字列が表示される。

また、ユーザー個別に表示させたい場合には、各ユーザーの.bash_profileに、echoやcatなどの表示コマンドで書き込むと良い。

ユーザー個別にドット絵を表示させる場合

#GitHubからドット絵をダウンロードする
wget https://gist.githubusercontent.com/makocchi-git/9775443/raw/6747aa4a65e4293201289899931fe04472c5cfcf/metal-slime.txt

#ピクチャに移動
mv metal-slime.txt Pictures

#表示
cat ./Pictures/metal-slime.txt

f:id:skume:20210426014712p:plain:w350

やることとしては、.bash_profileに、 cat ./Pictures/metal-slime.txtを1行書き込むだけ。

#書き込み
echo 'cat ./Pictures/metal-slime.txt' >> ~/.bash_profile

#確認
cat .bash_profile

#ログアウト
exit

再ログインした際に、スライムが表示される。

参考資料

www.server-memo.net

kazmax.zpp.jp

qiita.com

papix.hatenablog.com

github.com

「Devel版R の Dockerイメージ for Bioconductor」を使ってみた件

Devel版R(あるいは、R-devel)は、 パッケージ開発者用に配布されていて、 最新(安定版)の次のRバージョンである。

Bioconductorのページを参考にして、 Devel版RのDockerイメージを使ってみたので、その方法をメモしておく。

bioconductor.org

Mac版 Dockerのインストールや設定は、過去の記事を参考のこと。

skume.net

Bioconductorのサイトに載っている、Quick start の手順は以下のとおりである。

Quick start

1. Docker インストール & 起動

2. ターミナルを起動する

3. Biocイメージのダウンロード・起動

docker run \
     -e PASSWORD=bioc \
     -p 8787:8787 \
     bioconductor/bioconductor_docker:devel

4. Webブラウザで、「http://localhost:8787」にアクセス。

5. 終了時は、ターミナルをアクティブにして「コントロール + c」で停止する。

これでも、悪いことはないけど、好みの問題かも。

個人的には、 -d とか-vとかのオプションを入れて、openでアクセスするのがリコメンド

Devel版なので、Root権限、フォルダの共有もしておきたいということで、以下の手順となった。

1. Docker インストール & 起動

2. ターミナルを起動する & 作業ディレクトリに移動する

3. Biocイメージのダウンロード・起動 + 「 -d & -v 」オプション etc

#Dockerコンテナの作成 & 起動
docker run \
     -d \
     --name bioc \
     -v $(pwd)/Bioc:/home/rstudio/Bioc \
     -e ROOT=TRUE \
     -e PASSWORD=bioc \
     -p 8787:8787 \
     bioconductor/bioconductor_docker:devel

-vオプション(Docker側へのフォルダ参照の指定)は、適時、Biocを書き換えて使用する。

また、R上から実行する場合には、バックスラッシュ x 2 \\ となる。

#Dockerコンテナの作成 & 起動
system("docker run \\
        -d \\
        --name bioc \\
        -v $(pwd)/Bioc:/home/rstudio/Bioc \\
        -e ROOT=TRUE \\
        -e PASSWORD=bioc \\
        -p 8787:8787 \\
        bioconductor/bioconductor_docker:devel")

4. openコマンドで、Webブラウザ起動

open http://localhost:8787

#R上から
system("open http://localhost:8787")

5. 終了時にやること

#コンテナ起動の確認
docker ps

#Dockerコンテナの停止
docker stop [CONTAINER ID]

最後に一言

Devel版Rは、普段使いにはあれなので、Dcokerにしよう。

CentOS7に、R-4.0シリーズをインストールするTips

現在(2021年4月)、CentOS7のepelリポジトリからインストールできるRバージョンは、「R-3.6.0-1.el7.x86_64」である。

「R-4.x」シリーズをインストールするために、、、いろいろと試して、結局、、、 springdaleのリポジトリではなくて、 CRANにあるソースファイルからコンパイルするのが一番良さそうである。

また、CentOS版 Rstudio-server のRバージョンも「R-3.6.0」から「R-4.x」に変更した。

今回、実行した手順をメモしておく。

まずは、ターミナルを起動して、epel版Rとかを消しておく。

Rの削除

#epel版R の削除
sudo yum remove --enablerepo=epel -y R 

#/usr/binにある関連ファイルを探して削除する
ls /usr/bin | grep "R"

#削除
sudo rm -rf /usr/bin/R
sudo rm -rf /usr/bin/Rscript

#ホームディレクトリにRフォルダがあれば、削除しておく
#cd
#rm -rf R

Rのパスを確認すると、no R が表示される。

$ which R
/usr/bin/which: no R in (...)

R-4のダウンロード & コンパイル

最新版である、R-4.0.5をダウンロードする。

#CRANからのダウンロード
wget https://cran.r-project.org/src/base/R-4/R-4.0.5.tar.gz

#解凍
tar -zxvf R-4.0.5.tar.gz

#不要なファイルを削除
#rm -rf R-4.0.5.tar.gz

#Rディレクトリ内に移動
cd R-4.0.5

#コンパイル実行
sudo ./configure
#OR
#sudo ./configure --enable-R-shlib
#--enable-R-shlibを設定すると、結構時間がかかる
#--prefix: インストール先を指定できる。ex. --prefix=~/R

#make 実行(以下を順番に実行する、5-10分くらいかかる)
sudo make
sudo make check
sudo make install

上記の実行が完了すれば、Rのパスとバージョンを確認しておく。

which R
#/usr/local/bin/R

R --version
#WARNING: ignoring environment value of R_HOME
#R version 4.0.5 (2021-03-31) -- "Shake and Throw"
#Copyright (C) 2021 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)
#
#R is free software and comes with ABSOLUTELY NO WARRANTY.
#You are welcome to redistribute it under the terms of the
#GNU General Public License versions 2 or 3.
#For more information about these matters see
#https://www.gnu.org/licenses/.

#いちおう、不要なフォルダの削除
#cd ../
#sudo rm - rf R-4.0.5

Rstudio-server で、Rパスを確認する方法

R-4.0のインストール後に、一度、再起動することをお勧めする。

そうすると、Rstudio-server での設定が勝手に変わっているはず。

sudo rstudio-server restartだけでは、うまく設定が反映されなかった。。

Rstudio-serverにアクセスして、コンソールに以下が表示されて、 Rパスやライブラリパスが変更されていたら、OKである。

#ログイン時
#R version 4.0.5 (2021-03-31) -- "Shake and Throw"
#Copyright (C) 2021 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)

system("which R")
#/usr/local/bin/R

system("R --version")
#R version 4.0.5 (2021-03-31) -- "Shake and Throw"
#Copyright (C) 2021 The R Foundation for Statistical Computing
#Platform: x86_64-pc-linux-gnu (64-bit)
#
#R is free software and comes with ABSOLUTELY NO WARRANTY.
#You are welcome to redistribute it under the terms of the
#GNU General Public License versions 2 or 3.
#For more information about these matters see
#https://www.gnu.org/licenses/. 
 
.libPaths()
#[1] "/home/[Host name]/R/x86_64-pc-linux-gnu-library/4.0"
#[2] "/usr/local/lib64/R/library" 

補足

今回、r-libs-userrsession-which-rとかの設定は、特に不要だった。。

参考資料

https://web.chaperone.jp/w/index.php?RStudio/R4

stats.biopapyrus.jp