入門者のLinux 2章 まとめ
奈佐原顕郎さん「入門者のLinux」より
Linuxを自分のpcで動かす方法
ハードディスクを付け替える
・バックアップをちゃんととって!
デュアルブート
・一台のパソコンに複数のOSを同居させ起動するたびにどちらかを選択する
・リスクが大きいので自己責任で
仮想環境
・VirtualBoxやQEMUなどのオープンソースの仮想環境を実現するソフトにLinuxを入れて動かす(私はVirtualBoxでやりました)
・デュアルブートと違い同時に複数のOSを走らせることができる
ディストリビューション(Ubuntu使用)
Ubuntu Linux
・ユーザー層が厚く日本語サポートや各種アプリケーションソフトが充実している
・バージョン番号は西暦の下二桁と月二桁をドットをはさんで並べたもの
・ソフトは最新だと新たな試みが詰まっている分不具合が多い(枯れていないという)
・「革新的」と「枯れている」は両立しない
・頻繁に新バージョンを出すのと並行して特定のバージョンについて長期間サポートすることにしている(Long Term Support,LTS)
入門者のLinux 1章 まとめ
Oracleマスターブロンズ12c資格試験合格しました。
ということでこれからLinuxの勉強をしていきます。
まず奈佐原顕郎さんの「入門者のLinux」という本から。
あ。この本めっちゃよいですよ。
しばらく簡単な備忘録を。
今回は1章
世の中のコンピュータの共通点
基本ソフトを載せないと動かない
・コンピュータを動かすための縁の下の力持ち的なソフトウェア
・Linuxは基本ソフトの一種
・世の中のほとんどのコンピュータに載る
UnixとLinux
・1970年ごろ米国でUnixという素晴らしい基本ソフトが誕生
・同じ頃、オープンソースソフトウェアという思想が広まる
・オープンソース版のUnixを作る中で最終的に最も普及したのがLinuxである
・Linuxはオープンソースであり、世界中の人たちによって作られている
操作方法
GUI (graphical user interface)
・ウィンドウやアイコンをマウスやタッチパネルで操作
CUI (character user interface)
・コマンドをキーボードで打ち込んで操作
・UnixやLinuxは本来こちらを使用する
Linuxキーワード
コミュニティ
・何か特定のソフトの開発者とユーザーからなる自発的な集まり
カーネル
・Linuxの中枢部をなすソフト
ファイル
・コンピュータで扱われる情報のひとまとまりの単位
パッケージ
・一つのソフトをインストールしやすい形にまとめたもの
・カーネルもパッケージとして提供される
ディストリビューション
・カーネルにいろいろなソフトを組み合わせて使いやすくしたもの
・いろんな種類がある
ディレクトリ
・フォルダ的なファイルや別のディレクトリを入れる入物
マウント
・ハードディスクやUSBメモリはまず「デバイスファイル」というファイルとして認識される。それを一つのディレクトリとして認識させることをいう
シェル
MacにVirtualBoxをインストールし、CentOSをインストールする
VirtualBoxのインストール
・Downloads – Oracle VM VirtualBox からMac用のPackageをダウンロードしてインストール
CentOSのダウンロード
VirtualBoxに仮想マシンを作成
・インストールした VirtualBox を起動して「新規」ボタンをクリックします。「名前」を適当に入力して「タイプ」を Linux、「バージョン」を Red Hat (64bit) にする。
*名前に Cent と入力するとタイプとバージョンが自動で変更される
・メモリーサイズを指定。メモリは実際のPCのメモリを使用するため7割以内(緑色の部分)でおさめるように。メモリが少ないと重くなるのでMacのメモリは最低でも8GB、理想は16GB以上はあった方がよい
・仮想ハードドライブを作成するが選択されてることを確認して作成をクリック
・ファイルタイプも他の仮想ソフトウェアで使用する必要がなければ、VDIのままにしておく
・ストレージを可変サイズか固定サイズか選択。容量に余裕があれば固定サイズの方が高速
・最後にファイルの場所とサイズを確認される。問題なければ作成をクリック。ファイルは~/VirtualBox VMsに作成される
ホストオンリーネットワークの追加
・仮想マシンを作成した段階ではネットワークアダプターは「NAT」のみになっている。この場合、インターネットなどのネットワークとは通信ができるが、ホストマシン(自分のMac)と通信することができない。仮想マシンとは言え、別のリモートサーバーにあると考えること。そこで、仮想マシンに「ホストオンリーアダプター」を追加し、ホストマシンと通信できるようにできる。「VirturalBox -> 環境設定」を開いて「ネットワーク -> ホストオンリーネットワーク」を作成
・作成されたネットワークをダブルクリックするとIPなどが確認でき、このIPアドレスを後ほど使う
・設定をクリックして「ネットワーク -> アダプター2」でネットワークアダプターを有効化して、作成したネットワークを割り当てる
仮想マシンにCentOS7をインストール
・CentOS7を仮想マシンにインストール。公式サイト Download CentOS からISOファイルをダウンロード。
ISOは3種類あり、DVD ISOは一般的な用途でよく使われるので、どれを使えばいいのか分からない場合はとりあえずこれ。Everything ISOはCentOS7で提供される全てのパッケージが含まれている。Minimal ISOは最低限のパッケージが含まれている。今回はMinimal ISOを使用。
Minimal ISOを選択するとダウンロードページに移動する。どのリンクでもいいが Actual Country が日本のサイトからダウンロードされる。
・ダウンロードが完了したら作成した仮想マシンを起動
・まだOSがインストールされていないので、ダウンロードしたCentOS7のISOファイルを指定する
・矢印キーで Install CentOS 7 を選択して Enter を押す
・言語を選択。右下に続行ボタンがあるのでクリック
・インストール先に警告マークが付いてるのでクリックして、何も変えずに完了をクリック。警告が消えるので右下にあるインストールの開始をクリック。
・インストール中に root のパスワードを設定してユーザーを作成しておく
・このユーザーを管理者にするにチェックを入れる
ネットワーク設定
・CentOS7からはネットワークの設定は「NetworkManager」を使用することが推奨されている。nmtuiコマンドを実行。
# nmtui
・メニュー画面が表示されたら「Edit a connection」を選択し「Enter」キー
・操作は矢印キーとEnterで行なう。まずは「enp0s3」を選択し「Enter」キーを押す
・IPv6は使用しないので「Ignore」に変更して、Automatically connect(OS起動時にNICを有効化させる)にチェック(スペースキー)
・次は「enp0s8」。これは「ホストオンリーアダプター」になる。IPアドレスを固定にしたいので、Manual に変更してIPアドレスを設定。ホストオンリーネットワークのIPアドレス(192.168.56.1以外)を入力。IPv6を「Ignor」に変更して、Automatically connect にチェックを入れて完了
・Quit で終了
・Networkを再起動して設定を反映させる。
# systemctl restart NetworkManager
・これでMacのターミナルなどから SSH でログインできるようになる。要求されるパスワードはインストール時に設定したパスワード。
CentOS7に後からGUI(X Window System)を追加する
デスクトップ環境が欲しい場合
・yum groupinstall で "GNOME Desktop" をインストールする。
$ sudo yum -y groupinstall "GNOME Desktop"
あるいは "Server with GUI" でも構わない。
$ sudo yum -y groupinstall "Server with GUI"
・インストールが終わったら、起動モードを graphical.target に変更する。
$ sudo systemctl set-default graphical.target
$ systemctl get-default graphical.target
・再起動する
$ sudo shutdown -r now
引用元
MacでVirtualBoxにCentOS7をインストールしてSSH接続をするまでの方法 - TASK NOTES
CentOS7 に後から GUI (X Window System) を追加する - CUBE SUGAR CONTAINER
この記事ほぼ引用です。リンク先がいつ消えるかわからないのでメモを。
わかりやすくて助かりました。
CentOS7にOracle12cをインストールする 準備編
ただいまOracleMasterBronz12cDBAの合格目指してお勉強中。
Linuxのお勉強はそれが終わってからなんだけど
白本に載ってる環境を構築してみることになったので
VirtualBoxでCentOS7を起動してOracle12cをインストール
その経過と困ったこと
わすれるのでメモメモ
◎まず必要なパッケージをインストール
[root@testuser ~]# yum -y install binutils compat-libcap1 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++l7.i686 libstdc++-devel libstdc++-devel.i686 compat-libstdc++-33 compat-libstdc++-33.i686 libXi libXi.i686 libXtst libXtst.i686 make sysstat
なんだけどそもそもいまこれ[testuser@localhost ~]#
rootユーザーって、どうすればいいの・・・
suでユーザー切り替えすればいいっていろんなところに書いてあるからしたけど
passwordしらない・・・
調べ方が悪いのか良い記事に出会えない・・・
最終的に
「Ubuntuは初期状態ではrootが使えない(パスワード未設定)ようになっている」
という記事をみつけてUbuntuとか知らないけど試しにやってみたらいけた(´•ω•̥`)
```
$ sudo su -
Pssword:(自分のパスワード)
# passwd
[rootのパスワードを設定]
```
ここだけでめっちゃ時間かかった。
ちなみにUbuntuはLinuxの人気ディストリビューション(Linuxの人気の配布形態)らしい。初心者におすすめだって。
◎さて次にカーネルパラメータを編集
[root@testuser ~]# MEMTOTAL=$(free -b | sed -n '2p' | awk '{print $2}')
kernel.shmmax = $SHMMAX
kernel.shmall = `expr \( $SHMMAX / $PAGESIZE \) \* \( $SHMMNI / 16 \)`
kernel.shmmni = $SHMMNI
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF
◎オラクル専用のユーザー/グループを作成し、システムの環境設定
[root@testuser ~]# i=54321; for group in oinstall dba backupdba oper dgdba kmdba; do
done
[root@testuser ~]# useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba -d /home/oracle oracle
[root@testuser ~]# passwd oracle
[root@testuser ~]# chown -R oracle:oinstall /u01/app
[root@testuser ~]# chmod -R 775 /u01
[root@testuser ~]# vi /etc/pam.d/login
session required pam_namespace.so
session required pam_limits.so
session optional pam_keyinit.so force revoke
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
viはvimのことを指していて、編集できるようにするためのもの
Linuxはやく勉強しなきゃ〜
◎最後にOracle用の環境設定
作業は「Oracle」ユーザーで行うから
[root@testuser ~]# su oracle
で切り替え
[root@testuser ~]# vi ~/.bash_profile
この二つを最終行に追加
umask 022
export ORACLE_BASE=/u01/app/oracle
[oracle@localhost ~]$ mkdir tmp
これでインストール準備完了〜
参考はここ
・https://www.server-world.info/query?os=CentOS_7&p=oracle12c&f=1
・http://linux40.hateblo.jp/entry/20070903/1188797994
お世話になりました。
めっちゃ長かった〜
続きはまた今度。寝る〜。
Oracle12c ターミナルでの使い方 メモ
Oracle12c ターミナルでの使い方
docker psで現在の状況を確認
STATUSがUpになっていたら
sqlplus system/manager@localhost:1521/orcl
を実行
dockerをstopさせる
docker stop d32cce0f7605
このあと
docker ps
で確認すると何も表示されない
dockerをstartさせる
docker ps -a
で
d32cce0f7605
を見つける
docker start d32cce0f7605
でdockerをstartさせる
使い終わったら
docker stop d32cce0f7605
でdockerをストップさせる
sqlplusがないと言われた場合
source ~/.bashrc
を入力
Docker手順
docker手順
ステータスの確認
docker-machine ls
・nameがoracle-xe-11gのstateの欄を確認する
stateがrunningだった場合実行する
docker-machine stop oracle-xe-11g
olacleが動くためのdockerコンテナを動かすdockermachineを起動する
docker-machine start oracle-xe-11g
環境変数を適用する
eval "$(docker-machine env oracle-xe-11g)"
dockerコンテナを起動する
docker run -d -p 49162:22 -p 49163:1521 wnameless/oracle-xe-11g
sqlplus system/oracle@localhost:1521/xe
alter user system account unlock;
Dockerコンテナに接続して作業する場合
docker-machine内のdockerコンテナを起動するホストマシンに接続する
docker-machine ssh oracle-xe-11g
dockerコンテナに接続
ssh root@localhost -p 49162
パスワード
admin
Are you sure you want to continue connecting (yes/no)? yes
成功
root@f8a87db3745b:~#
Oracleユーザーにスイッチ
su oracle
sqlplusにログイン
sqlplus system/oracle
Oracleのしくみ1
今回から 小田圭二/著 の絵で見てわかるOracleの仕組み アーキテクチャと動作を徹底図解
という本で勉強したことをのせていきます〜
一章
IOとディスクの関係
まずOracleで重視されていることが三つあって
- 並列処理を可能にし、高スループットも実現
- レスポンスを重視
- COMMITされたデータは守る
この三つを守るためにいろんな工夫がされているみたい
OracleはDBMS(データ管理システム)でディスクからデータを読み込み処理をして、ディスクにデータを書き戻すという作業をしている
だからOracleとディスクは切っても切れない関係なんだって
そのディスクはめちゃくちゃ回転速度がはやくて
データを読み書きするために頭出しというのをしないといけないのだけど、これがシーク
で、欲しい情報が回転してくるまで待つのを回転待ち時間という
でもディスクだと時間がかかるし、メモリのほうが断然はやいらしい。ちなみにメモリはCOMMIT前のデータを保持している
データの読み書きの方法にシーケンシャルアクセスというのがあって、これは先頭から間を抜かさずにデータの読み書きをする
フルスキャンのときにメモリにデータがないとシーケンシャルアクセスが発生する
これめっちゃ時間かかるから、メモリにあるインデックスを使うと必要な箇所だけ読めばいいから便利!
でも必要な箇所がディスク上で連続していることはほとんどないからヘッドというのを動かして飛び飛びにアクセスする
これがランダムアクセス
ランダムアクセスはシークと回転待ちに時間をさくから非効率らしい
あとCOMMITされたデータは守るっていうところ
Oracleのプロセスが異常終了してもデータを失ってはいけないからデータ変更後にCOMMITを入力するとOracleはデータをディスクに書き出している
ここを高速に処理するための仕組みもあるけどそれは後々!
こんな感じかな〜
本は詳しい絵も載っててわかりやすかったし内容ももっと詳しく書いてありました〜おすすめ◎