Linux

Last-modified: 2015-04-09 (木) 02:38:13

FrontPage

Linux ディストリビューション

Linux コマンド

  • scp
    scp <ファイル> <ユーザー>@<ホスト名>:<ディレクトリ>
    scp ./abc.tar.gz root@hogehoge:/home/hogehoge/.
    • パスワードを一緒に指定する
scpの自動化をスクリプトで実現しようとする時にパスワードを聞かれてしまうと意味が無い。
  • スクリプトでルートチェック
    if [ ${EUID:-${UID}} != 0 ]; then
      $ECHO 'You are not root.';
      exit 1
    fi

SE Linux

  • SE Linuxとは

    SE Linuxの最大の特徴は、従来のLinuxやUNIXでは絶対的な権限を持っていたroot アカウントの特権を無くしてしまったことです。リソースへの権限をユーザーやプロセスごとに細かく設定して、例外なくセキュリティ・ポリシーで制御します。必要最低限の権限しか与えないことで、クラッカに侵入されてもシステムへの影響を最小限に抑えることを目指しています。
    • 故に開発では使えません。
    1. Linuxのインストールの際には、SE Linuxを無効にします
    2. インストール時に有効にしてしまった場合の対応(こちらを参照?)
      /etc/selinux/config を編集 し、
      SELINUX=disabledとする。

LVM

  • LVMとは
    論理ボリュームマネージャの略

Linux の エディタ

VIM

vi / vim を使用する上で、使い方、操作方法がわからず検索したものを記録する。
  • 置換方法
    • :s コマンド
      :%s/置換前文字列/置換後文字列/gc
      - g 全体
      - c 置換確認あり

Run Level (ランレベル)

ランレベルとは、Linuxの動作モードのこと。
ランレベルには0~6の7種類があり、その数値によって動作の内容が異なる。各ランレベルの意味は以下の通り。

ランレベル意味
0シャットダウン(システムの停止)
1シングルユーザーモード(rootのみ)
2ネットワークなしのマルチユーザーモード
3通常のマルチユーザーモード(テキストログイン)
4未使用
5グラフィカルログインによるマルチユーザーモード
6システムの再起動

動作モードが異なるということは、起動されるプログラムが違うという事になる。
Linuxでは、ランレベル別のディレクトリ(/etc/rc.d/rc?.d)にあるファイル(実際には各プログラムの起動スクリプトへのリンク)の名前により、各ランレベルで実行するプログラムを指定している。

例えば、ランレベル3 の場合は /etc/rc.d/rc3.d にあるスクリプトが実行される。

/etc/rc.d/rc3.d には、「Kと2けたの数字」で始まるファイルと、「Sと2けたの数字」で始まるファイルがある。

「K」はKill、つまり実行されないスクリプトを表し、「S」はStart、つまり実行されるスクリプトを表す。KやSに続く数字は、実行されるスクリプトの優先順位だ。数字の小さいスクリプトから順に実行される。

設定ファイル /etc/inittab

どのランレベルで起動するかは、/etc/inittab に記述する。

この記述を変更すると、次回起動時のランレベルが変更される。

一時的にランレベルを変更する

telinit 5
参考
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/156whatrunlv.html
テキストログインとグラフィカルログインを切り替えるには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/009textngraphlogin.html
RunLevelその他
http://linux.kororo.jp/cont/intro/init.php

コア数調査

cat /proc/cpuinfo | grep processor
cat /proc/cpuinfo | grep processor | wc -l

失敗(CentOS 5.x)

  • ホスト名にアンダースコア(_)は利用不可
  • SELinuxを有効にしてしまった場合…
  • ネットワークの再起動
    service network restart

CentOS 6.x

  • ???

ここから下は重複していると思われるが、不足よりましと考えて記述

ホスト名変更

/etc/hosts を編集する

vi /etc/hosts
  • 127.0.0.1 NEW-HOST-NAME localhost.localdomain....

SSHの有効化

/etc/ssh/sshd_config を編集する
下記のように変更する。
(最近はデフォルト設定が変わっている様子)

  • PasswordAuthertication yes
  • PermitRootLogin yes

sudo ifconfig eth0 これは、どのような意味があるか?

DHCP設定

/etc/sysconfig/network-scripts/ifcfg-eth0 を編集する

  • 下記を追記する。
    • TYPE=Ethernet
    • HDCP_HOSTNAME=XXXX
  • 再起動
    • chkconfig network on
    • service network restart

カーネルのアップデート抑制

/etc/sysconfig/kernel を編集する

  • UPDATEDEFAULT=no

ページリンク

リンク