Mac OS X で VirtualBox で Ubuntu を動かすまで。

環境

VirtualBox のインストール

VirtualBox サイトから Mac OS X 用の dmg ファイルをダウンロードしてインストールする。

https://www.virtualbox.org/wiki/Downloads

仮想ディスクを作成

  • タイプ:Linux
  • バージョン:Ubuntu (64-bit)
  • モリーサイズ:1024 MB
  • ハードディスク:仮想ハードディスクを作成する
  • ファイルサイズ:8.00 GB (Ubuntu が 7 GB 以上必要とする)
  • ハードディスクのファイルタイプ:VDI
  • 物理ハードディスクにあるストレージ:可変サイズ

Ubuntu のインストール

Ubuntu インストーラISOイメージのダウンロード

Ubuntu サイトから日本語対応でLTSのイメージをダウンロードする。

特別な理由がない限りLTSを選択しておく。

https://www.ubuntulinux.jp/download/ja-remix

ubuntu-ja-16.04-desktop-amd64.iso(ISOイメージ)

Ubuntu のインストール

VirtualBox を起動して、先ほど作成した仮想ディスクを選択する。

ストレージ欄のIDEセカンダリマスターの光学ドライブをクリックして先ほどダウンロードした UbuntuインストーラISOイメージをマウントする。

起動すると Ubuntuインストーラが表示される。

そのままインストール。

Guest Additions のインストール

ゲストOSの画面解像度を動的に変更したり、シームレスなマウスの移動を実現するために Guest Additions をインストールする。

バイスメニューから「Guest Additions CD イメージの挿入...」を選択して CD イメージをマウントすると、インストーラの起動メッセージが表示されるので「実行する」を選択してインストールする。

管理者パスワードを求められるので Ubuntu のインストールの際に作成したユーザのパスワードを入力する。

ブリッジアダプターにしてIPアドレスを割り振る

VirtualBox のネットワークの設定で割当を「NAT」から「ブリッジアダプター」に変更する。

ブリッジされることでゲストOSがホストOSと同じサブネットに参加することになる。

デフォルトがDHCPなのでサブネット側でDHCPサービスがあれば自動的にIPアドレスが割り振られている。

ゲストOSでip addressコマンドで確認しておく。

$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:9e:1a:d8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.9/24 brd 192.168.11.255 scope global dynamic enp0s3
       valid_lft 85885sec preferred_lft 85885sec
    inet6 fe80::1d8b:f50b:e15b:5518/64 scope link 
       valid_lft forever preferred_lft forever

ホストOSからゲストOSへpingコマンドで確認する。

$ ping 192.168.11.9 -c 5
PING 192.168.11.9 (192.168.11.9): 56 data bytes
64 bytes from 192.168.11.9: icmp_seq=0 ttl=64 time=0.695 ms
64 bytes from 192.168.11.9: icmp_seq=1 ttl=64 time=0.339 ms
64 bytes from 192.168.11.9: icmp_seq=2 ttl=64 time=0.584 ms
64 bytes from 192.168.11.9: icmp_seq=3 ttl=64 time=0.348 ms
64 bytes from 192.168.11.9: icmp_seq=4 ttl=64 time=0.378 ms

--- 192.168.11.9 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.339/0.469/0.695/0.144 ms

openssh-server のインストール

apt-get install openssh-serverコマンドで openssh-server をインストールする。

$ apt-get install openssh-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  ncurses-term openssh-client openssh-sftp-server ssh-import-id
提案パッケージ:
  ssh-askpass libpam-ssh keychain monkeysphere rssh molly-guard
以下のパッケージが新たにインストールされます:
  ncurses-term openssh-server openssh-sftp-server ssh-import-id
以下のパッケージはアップグレードされます:
  openssh-client
アップグレード: 1 個、新規インストール: 4 個、削除: 0 個、保留: 331 個。
1,223 kB 中 636 kB のアーカイブを取得する必要があります。
この操作後に追加で 5,146 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 ncurses-term all 6.0+20160213-1ubuntu1 [249 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssh-sftp-server amd64 1:7.2p2-4ubuntu2.1 [38.8 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssh-server amd64 1:7.2p2-4ubuntu2.1 [338 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 ssh-import-id all 5.5-0ubuntu1 [10.2 kB]
636 kB を 0秒 で取得しました (2,809 kB/s)
パッケージを事前設定しています ...
(データベースを読み込んでいます ... 現在 174394 個のファイルとディレクトリがインストールされています。)
.../openssh-client_1%3a7.2p2-4ubuntu2.1_amd64.deb を展開する準備をしています ...
openssh-client (1:7.2p2-4ubuntu2.1) で (1:7.2p2-4 に) 上書き展開しています ...
以前に未選択のパッケージ ncurses-term を選択しています。
.../ncurses-term_6.0+20160213-1ubuntu1_all.deb を展開する準備をしています ...
ncurses-term (6.0+20160213-1ubuntu1) を展開しています...
以前に未選択のパッケージ openssh-sftp-server を選択しています。
.../openssh-sftp-server_1%3a7.2p2-4ubuntu2.1_amd64.deb を展開する準備をしています ...
openssh-sftp-server (1:7.2p2-4ubuntu2.1) を展開しています...
以前に未選択のパッケージ openssh-server を選択しています。
.../openssh-server_1%3a7.2p2-4ubuntu2.1_amd64.deb を展開する準備をしています ...
openssh-server (1:7.2p2-4ubuntu2.1) を展開しています...
以前に未選択のパッケージ ssh-import-id を選択しています。
.../ssh-import-id_5.5-0ubuntu1_all.deb を展開する準備をしています ...
ssh-import-id (5.5-0ubuntu1) を展開しています...
man-db (2.7.5-1) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
systemd (229-4ubuntu4) のトリガを処理しています ...
ufw (0.35-0ubuntu2) のトリガを処理しています ...
openssh-client (1:7.2p2-4ubuntu2.1) を設定しています ...
ncurses-term (6.0+20160213-1ubuntu1) を設定しています ...
openssh-sftp-server (1:7.2p2-4ubuntu2.1) を設定しています ...
openssh-server (1:7.2p2-4ubuntu2.1) を設定しています ...
Creating SSH2 RSA key; this may take some time ...
2048 SHA256:isFEIIQ0gJIZD07+ACR5kuopENXyKocuYdaVWSCd4sE root@u1604 (RSA)
Creating SSH2 DSA key; this may take some time ...
1024 SHA256:OxZ6W4oFkRv6YW1+lESBUSDjmigAZUGozdPpo0hgkdQ root@u1604 (DSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:7cvmIsU9zyUVAA21UErWq2ONVxwnEYYpimeyix7MYAY root@u1604 (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:QNMT11dhDSMwjOLdQlnkGqFgc4kB1HR6yF6b/AiTR+I root@u1604 (ED25519)
ssh-import-id (5.5-0ubuntu1) を設定しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
systemd (229-4ubuntu4) のトリガを処理しています ...
ufw (0.35-0ubuntu2) のトリガを処理しています ...

service sshd statusコマンドで sshd が起動していることを確認する。

$ service sshd status
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab
   Active: active (running) since 月 2016-08-22 18:35:44 JST; 3s ago
  Process: 4250 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCES
 Main PID: 4381 (sshd)
    Tasks: 1 (limit: 512)
   CGroup: /system.slice/ssh.service
           └─4381 /usr/sbin/sshd -D

 8月 22 18:35:44 u1604 systemd[1]: Starting OpenBSD Secure Shell server...
 8月 22 18:35:44 u1604 sshd[4381]: Server listening on 0.0.0.0 port 22.
 8月 22 18:35:44 u1604 sshd[4381]: Server listening on :: port 22.
 8月 22 18:35:44 u1604 systemd[1]: Started OpenBSD Secure Shell server.

ホストOSからsshで接続確認してみる。

$ ssh user@192.168.11.9
user@192.168.11.9's password: 
Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-21-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

239 個のパッケージがアップデート可能です。
0 個のアップデートはセキュリティアップデートです。

*** システムの再起動が必要です ***

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

インストール直後なのでアップデートが溜まっているのはゴメンなさいw

関連書籍

VirtualBox/Ubuntuスタートアップガイド (OIAX BOOKS)

VirtualBox/Ubuntuスタートアップガイド (OIAX BOOKS)

正規表現を試したい

作成した正規表現をグラフィカルに検証してくれるサイトがあるのでよく使用しています。

https://regexper.com/

例えばMACアドレス正規表現を試すとするとこのように見せてくれるので分かりやすいですね。

f:id:tonnylog:20160810140145p:plain

参考

関連書籍

詳説 正規表現 第3版

詳説 正規表現 第3版

反復学習ソフト付き 正規表現書き方ドリル (WEB+DB PRESS plus)

反復学習ソフト付き 正規表現書き方ドリル (WEB+DB PRESS plus)

Markdownファイルの表示はMarkdown Preview Plusが便利

どうしてもギコチナイ動きのATOMは好きになれなくて、Sublime text+OmniMarkup Previewerを使用しています。

しかしMarkdownファイルを参照するだけということが少なくないこともあってViewerが欲しいと思っていたところいいのを見つけました。

ChromeプラグインMarkdown Preview Plusが自分にはピッタでした。

インストールと設定

  1. インストール

Chromeウェブストアhttps://chrome.google.com/webstore/category/apps?hl=jaMarkdown Preview Plusを検索してインストール。

  1. 設定

Chromechrome://extensions/(機能拡張)からMarkdown Preview Plus有効になっていることを確認し、ファイルのURLへのアクセスを許可するにチェックを入れる。

f:id:tonnylog:20160729111159p:plain

オプションの設定は、

とした。

文字化け

基本的にUTF-8を前提としているので、それ以外の文字コードは化ける。Shift_JISに変換しても、オプションEnable auto-reloadをONにしていると毎度UTF-8に戻されて化けるので注意が必要。

参考

関連書籍

Web制作者のためのSublime Textの教科書

Web制作者のためのSublime Textの教科書

テキストエディタAtom入門 (OIAX BOOKS)

テキストエディタAtom入門 (OIAX BOOKS)

Windows コマンドプロンプトで環境変数の表示と変更

環境変数の一覧を表示

C:\>set

環境変数PATHの表示

C:\>echo %path%

環境変数PATHに追加(一時的、即反映)

C:\>set PATH="%PATH%;パス名"

環境変数を永久的に変更する場合は、システムのプロパティからたどるか、setxコマンドを使用する。

参考

Oracleのバージョンを調べる

SQL

select * from v$version;

実行結果

BANNER
1 Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
2 PL/SQL Release 10.2.0.3.0 - Production
3 CORE 10.2.0.3.0 Production
4 TNS for Linux: Version 10.2.0.3.0 - Production
5 NLSRTL Version 10.2.0.3.0 - Production

ファイルのパスを簡単にコピーする

忘れがちな作業ってことと、MacOSXでも簡単になったとの話しを聞いたのでメモしておきます。

Windows の場合

ファイルを選択して [SHIFT] + 右クリック で表示されるメニューの「パスをコピー」を選択。

Mac OS X の場合

  1. ファイルを選択して 右クリック でコンテクストメニューを表示。
  2. [Option] を押すと「"選択したファイル名"のパス名をコピー」がメニューに表示される。

※「OS X El Capitan」以降からの機能。

どちらのOSも裏技的な扱いだがもう少しメジャーにしてあげてほしいな。
共有ストレージにあるようなファイルのパスを教える際によく使いますよね。

Ubuntu をusb メモリからインストールした時のメモ

手順

  1. UNetbootinWindowsLinuxMacOS どのバージョンも存在するのでお好きに。
  2. 適当な ISO ファイルを使って Live USB を作成。
  3. ideapad S10-3s の起動時に F12([Fn] + [F11]) で作成した Live USB から起動。
  4. あとはお好きに Ubuntu をインストール。

便利になったもんだと感心するばかり。。。