入門者のLinux 4章 まとめ
奈佐原顕郎さん「入門者のLinux」より
ディレクトリ
・ファイルが保存されている場所
・データやプログラムはファイルという単位で必ずどこかのディレクトリに格納される
・入れ子になって存在する(ディレクトリの中にディレクトリさらにそのディレクトry)本の図がめっちゃわかりやすいからおすすめ
・ディレクトリの階層構造のことをディレクトリ・ツリーという
ルートディレクトリ
/
・すべてのディレクトリに最上流に位置する
カレントディレクトリ
・シェルを操作するユーザーは常にディレクトリ・ツリーの中のどこかのディレクトリにいることになっている。それのこと
pwd
・カレントディレクトリがどこなのかを表示する
ディレクトリの移動
cd (change directory)
・様々な仕事をするときその仕事に必要なデータやプログラムのあるディレクトリに行く(そこをカレントディレクトリにする)ためのコマンド
ホームディレクトリ
/home/ユーザー名
・ユーザーが自由にデータを置くことができるディレクトリ
・ユーザーの利用環境に関する設定情報も保管されている
特別なディレクトリの表現方法
.
・カレントディレクトリ
..
・一つ上のディレクトリ
/
~
・ホームディレクトリ
プロンプトの変化
・現在自分がどこのディレクトリにいるかわかりやすくしてくれる
・Linuxの標準機能ではなく、Ubuntuなどの特定のディストリビューションで初期設定にされているので非表示にすることもできるしもともとその機能がないディストリビューションもある
ディレクトリの中身を見る
ls
・調べたいディレクトリを引数で指定して実行すればそのディレクトリの内容を見ることができる
オプションによる機能拡張
lsコマンドに -l というオプション
・より詳細な情報が出る
例えば
ls -l /usr の結果
・drwxr-xr-xの先頭のdはカレントディレクトリですよというしるし。もしファイルならdは表示されない
・rwx以下はパーミッションと呼ばれるもの(次章)
2列目:リンク数
3列目:所有者名
4列目:グループ名
5列目:サイズ(バイト数)
6~8列目:最終更新日時
9列目:ファイルやディレクトリの名前
man ls
・lsコマンドのマニュアル表示
ls --help
・シンプル版のマニュアル
ディレクトリの作成
mkdir (make directory)
ディレクトリの名前変更
mv (move)
ディレクトリの削除
rmdir (remove directory)
・空っぽでないディレクトリを消すには「rm -rf」コマンド
パス
・個々のディレクトリやファイルがディレクトリ・ツリーの中のどこにあるかという情報のこと
絶対パス
/home/maruko/test
・このようにルートディレクトリからたどってパスを表現する
・カレントディレクトリから遠く離れたディレクトリやファイルを指定するときよい
・カレントディレクトリがどこであれ、常に同じディレクトリやファイルを指定できる
相対パス
./maruko/test
・カレントディレクトリを起点にどのようにディレクトリをたどればそのファイルまたはディレクトリにたどり着くかというやりかた(.は省略可)
・カレントディレクトリのすぐ近くにあるディレクトリやファイルを指定するとき簡潔に表せる
・カレントディレクトリが違えば無意味なパスになる
冗長性
・同じことをするのにいくつもやり方があること
・システムの整合性や柔軟性を確保してくれる
余談
・「bin」「sbin」はコマンドを走らせるプログラムのファイルが入っているディレクトリ(binはbinariの略。Unixでは実行可能なプログラムの実体をbinary fileと呼ぶ)
・「include」「lib」「src」はプログラムを開発するときに必要なものが入っている
・「local」はユーザーが独自に入れるソフトなどのためのディレクトリ
入門者のLinux 3章 まとめ
奈佐原顕郎さん「入門者のLinux」より
ターミナル出現
Ctrl + Alt + t
プロンプト
$
*コマンド入力待ち
今日の日付と現在の時刻
date
ハードディスクやUSBメモリの使用状況を表示
df
カレンダーを表示
cal
・半角スペースを空けて添える情報を引数と(パラメータとも)いう
・calは年や月日を引数にとることができる
・-に何かの記号を続ける(オプション)ことにより挙動が変わる
コンピュータのメモリに関する情報
free
コマンド履歴
history
コマンド再利用
↑(上矢印)
ソフトのインストール
sudo apt-get install ソフト名
処理中断
ctrl + c
x秒間、停止せよ
sleep x
大切
・エラーメッセージをよく読み、試行錯誤を繰り返して問題解決をすること
・エラーメッセージの意味がよくわからなくてもいいからスルーしないこと
・習うより慣れろ
入門者の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
を入力