カーネルとは
カーネル(英: Kernel)は、階層型に設計されたオペレーティングシステム (OS) の中核となる部分である。システムのリソースを管理し、ハードウェアとソフトウェアコンポーネントのやりとりを管理する。
オペレーティングシステムの基本コンポーネントとして、カーネルはメモリ、CPU、入出力を中心としたハードウェアを抽象化し、ハードウェアとソフトウェアがやり取りできるようにする。また、ユーザープログラムのための機能として、プロセスの抽象化、プロセス間通信、システムコールなどを提供する。
これらのタスクはカーネルによって方式が異なり、設計も実装も異なる。モノリシックカーネルは全てを一つの仮想アドレス空間に格納されたコードで実行して性能を向上させようとする。マイクロカーネルはサービスの大部分をユーザー空間で実行し、コードの保守性とモジュール性を向上させようとする[1]。多くのカーネルはこの二つのカテゴリのいずれか、あるいは中間である。
WindowsとLinuxどっちで
サーバー立てればいいの?
Windowsについて
サーバーとしての歴史は浅く、あまり高機能でないため、インターネットサーバーとしては利用されない。そのかわりGUIでの操作と、クライアントとの連携が強いためメリットがさまざまにある。
- GUIでの操作がやりやすい
- 上記によりミスが抑えられる
- オペレーターの育成が容易
- 管理者が常駐できないケースに対応しやすい
- AD等の高度な管理が簡単にできる
Linuxについて
Linuxが実際に使われるのはwebサーバーなど、インターネットサーバーとして利用される。ISPなどはほぼUNIX/Linuxを利用していることになる。
今日使ったコマンド
- shutdown -h 19:00 "メンテナンスのため停止します。" 時間指定ができる/全ユーザにmsgを送信することができる。
- date 日時【システムクロック】の表示設定が可能
- date 05251032 月日時分で、システムクロックの設定ができる
- ls /etc | wc -l
- dmesg 起動時にカーネルが出力したmsgを表示する
- dmesg | grep -i .*usb.* dmesgで出力された結果をパイプで渡し、grepで検索をかけて出力する。
date(時刻の表示)/ date '+%M'(現在の分を表示)/
|(パイプ)を使うことで、出力結果を別のコマンドやプログラムの入力に渡すことができる。
”-i”は大文字小文字の区別をつけずに出力するためのオプション
リダイレクト
標準出力などをファイルに送ることである。
date >> /root/date.txt
- > 出力を上書きリダイレクト ファイル内容は消して、上書き
- >> 出力を追記リダイレクト 前のファイル内容は消さない
ls /route/ > /root/list.txt
routeは存在しないファイルls: /route/: そのようなファイルやディレクトリはありません
エラーメッセージはリダイレクトされない。エラーと標準出力は別の扱いになる。エラー出力をリダイレクトをしたい場合は以下のとおりである。
ls /route/ 2> /root/list.txt> fileName 2>&1
これを使用することで、エラーが出ても標準出力でも上書きリダイレクトが可能になる。末尾に2>&1システム変数
変数の値によってシステムの動作が変わる
#echo $LANG
LANG=en
変数に値を設定:変数名=値echo $LANG
LANG=ja_JP.UTF-8
ただし、この方法だと設定ファイルを書き換えているわけではないので、起動すると元に戻るクォーテーション
- '(シングルクォーテーション)⇒強い抑止⇒すべてを文字列として扱う
- "(ダブルクォーテーション)⇒抑止⇒変数は展開する
- `(バッククォーテーション)⇒コマンドの展開⇒例.実行権限調べるときに使える
- ls -l /sbin/shutdown
- ls -l `which shutdown`
エイリアスalias [-p] [name[=value] ... ]
コマンドの規定の動作を変更
- alias⇒エイリアスの確認・設定
- \(バックスラッシュ)コマンド名⇒エイリアスを無効にして実行 ※ただし設定ファイルを書き換えているわけではないので、再起動したら機能しない。そのため、”.bashrc”の設定ファイルを書き換える必要がある。前回のエントリを参照してください。
viの操作
これは何度か説明させていただいたので省かせていただきます。viの設定ファイルvircの編集
viを設定することができるので、少し紹介します。- find / -name 'virc' これでvirc(viの設定ファイル)ファイルを探す
- vi /etc/virc これでvircをの設定を書き加えます。ファイルの一番下に追記していきましょう。
- set number vi編集中に行番号が表示されます
- set ruler
- set smartindent
- set wrap
- set wildmenu
- set nocompatible
- set ignorecase
rootでのsshログインを禁止するように設定
- vi /etc/ssh/sshd_config sshdファイルを開く
- PermitRootLogin no ルートでのsshログインを禁止するために、上記のようにコメントをはずし、書き換える
- :wq で編集を終える
- /etc/init.d/sshd restart シェルで上記を入力してsshdファイルを再起動させる
※"/PermitRootLogin"で検索するとすぐ見つかる
一般ユーザからrootユーザへ
まずは cd /root ってやってみてください。許可がないので入れません。じゃあどうやって権限をもったrootユーザに戻ろうか。以下のとおりです。- su root
- passwd
こんどは cd /root で/rootディレクトリに移動することができます。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。