仕事じゃLinux、Solaris、Ciscoなど。 趣味じゃProToolsLEなど。 愛車はkawasaki 250TRナリよ。


スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


vagrant のあれこれ
 Docker を勉強しようとしてたら、Ansible が出てきて、Ansible を勉強しようとしてたら、Vagrant が出てきた。
Vagrant を勉強するには、別にVagrant だけ勉強すればよいっぽかったので、まずはVagrant をひととおり触れるようになろうとした記録。

user00@TPX250 ~/vgrnt % vagrant init ubuntu/xenial64
`Vagrantfile` already exists in this directory. Remove it before
running `vagrant init`.
user00@TPX250 ~/vgrnt % rm Vagrantfile 
user00@TPX250 ~/vgrnt % vagrant init ubuntu/xenial64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
user00@TPX250 ~/vgrnt % vagrant up
No usable default provider could be found for your system.
Vagrant relies on interactions with 3rd party systems, known as
"providers", to provide Vagrant with resources to run development
environments. Examples are VirtualBox, VMware, Hyper-V.
The easiest solution to this message is to install VirtualBox, which
is available for free on all major platforms.
If you believe you already have a provider available, make sure it
is properly installed and configured. You can see more details about
why a particular provider isn't working by forcing usage with
`vagrant up --provider=PROVIDER`, which should give you a more specific
error message for that particular provider.
user00@TPX250 ~/vgrnt % >....
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
user00@TPX250 ~/vgrnt % vagrant init ubuntu/xenial64
`Vagrantfile` already exists in this directory. Remove it before
running `vagrant init`.
user00@TPX250 ~/vgrnt % rm Vagrantfile 
user00@TPX250 ~/vgrnt % vagrant init ubuntu/xenial64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
user00@TPX250 ~/vgrnt % vagrant up
No usable default provider could be found for your system.
Vagrant relies on interactions with 3rd party systems, known as
"providers", to provide Vagrant with resources to run development
environments. Examples are VirtualBox, VMware, Hyper-V.
The easiest solution to this message is to install VirtualBox, which
is available for free on all major platforms.
If you believe you already have a provider available, make sure it
is properly installed and configured. You can see more details about
why a particular provider isn't working by forcing usage with
`vagrant up --provider=PROVIDER`, which should give you a more specific
error message for that particular provider.
user00@TPX250 ~/vgrnt %

user00@TPX250 ~/vgrnt % vagrant up                  
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'ubuntu/xenial64' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'ubuntu/xenial64'
    default: URL: https://atlas.hashicorp.com/ubuntu/xenial64
==> default: Adding box 'ubuntu/xenial64' (v20170525.0.0) for provider: virtualbox
    default: Downloading: https://atlas.hashicorp.com/ubuntu/boxes/xenial64/versions/20170525.0.0/providers/virtualbox.box
==> default: Successfully added box 'ubuntu/xenial64' (v20170525.0.0) for 'virtualbox'!
==> default: Importing base box 'ubuntu/xenial64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/xenial64' is up to date...
==> default: Setting the name of the VM: vgrnt_default_1495950580421_31418
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: ubuntu
    default: SSH auth method: password
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 5.0.40
    default: VirtualBox Version: 5.1
==> default: Mounting shared folders...
ubuntu/xenial64 (virtualbox, 20170525.0.0)
user00@TPX250 ~/vgrnt % vagrant port      
The forwarded ports for the machine are listed below. Please note that
these values may differ from values configured in the Vagrantfile if the
provider supports automatic port collision detection and resolution.
    22 (guest) => 2222 (host)
user00@TPX250 ~/vgrnt % vagrant ssh-config
Host default
  HostName 127.0.0.1
  User ubuntu
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/user00/vgrnt/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
user00@TPX250 ~/vgrnt % vagrant halt
==> default: Attempting graceful shutdown of VM...
user00@TPX250 ~/vgrnt % 

user00@TPX250 ~/vgrnt % vagrant box list
ubuntu/xenial64 (virtualbox, 20170525.0.0)
user00@TPX250 ~/vgrnt % vagrant port      
The forwarded ports for the machine are listed below. Please note that
these values may differ from values configured in the Vagrantfile if the
provider supports automatic port collision detection and resolution.
    22 (guest) => 2222 (host)
user00@TPX250 ~/vgrnt % vagrant ssh-config
Host default
  HostName 127.0.0.1
  User ubuntu
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/user00/vgrnt/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
user00@TPX250 ~/vgrnt % vagrant halt
==> default: Attempting graceful shutdown of VM...
user00@TPX250 ~/vgrnt % 













スポンサーサイト

Vagrant のとっかかり
Vagrant の設定ファイルであるVagrantfile をおくディレクトリを作り、そこで
$ vagrant init
とするとVagrantfile が生成される。
どんなbox(仮想マシンの雛形イメージ) を使うのか、とか適宜設定する必要があるのだが、それをいま勉強中。

Screenshot from 2017-05-21 09-31-39

で、仮想化環境(プロバイダー)が前もってインストールされていることが必要なので、インストールしてないと当然ながらエラーになる。

Screenshot from 2017-05-21 09-40-05


デフォルトのVagrantfile はこんな感じ。

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.

# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "base"

# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port
# config.vm.network "forwarded_port", guest: 80, host: 8080

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access
# via 127.0.0.1 to disable public access
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.

# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end

# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# apt-get update
# apt-get install -y apache2
# SHELL
end


Ubuntu GNOME 17.04 (zesty)のセットアップ
Ubuntu 17.04 なわけですが。
Ubuntu 日本語Remix ではなく、Ubuntu GNOME を使ってみようと思いました。

やったことは
インストール時
 1.mozc を追加。
2.インストール後、「日本語 ja →日本語(Mozc) あ」に変更
3.updateでサーバーをjaist に変更して、update
4.Ubuntu Japanese team のリポジトリを追加して適用
5.byobuとzsh をインストール
6.chrome をダウンロードしてインストール

ぐらいか。
あとは、Docker を勉強するために、Ansible を勉強するために、Vagrant を勉強するために、Virtuabox をインストールしたり、デスクトップを録画するためにPeek をインストールしたり。
この辺は、次の記事で書こう。

Windows2003 Server なサーバーを Disk2vhd で Hyper-V の仮想マシンにしたった
物理Windowsサーバーの保守が切れて困る、ということはままあると思います。
いまさら最新のサーバーに古いWindows Server OSを入れられない、ということもあるでしょう。
しかし、いま動いてるシステムをもう少し延命したい、という場合もこれまたよくあると思います。

私もWindows Server 2003 な物理サーバーを、基本的には要らないんだけど一応いざと言う時に参照するために残したい、でも筐体は邪魔だから捨てたい、というジレンマに悩んでいたところ、「 Disk2vhd 」というものがあることを知り、さっそく試してみました。

Disk2vhd
https://technet.microsoft.com/ja-jp/sysinternals/ee656415.aspx

要は、
●1.仮想マシンに移行したい物理Windowsマシン上で「Disk2vhd」を実行し、仮想ハードディスクファイル(.vhdファイル)を生成
●2.Win8.1 Pro や Windows 2012 Server R2 などのHyper-V 上で新規仮想マシンを作成し、仮想ハードディスクは新規作成するのではなく、前項で生成したものを指定する。

というだけで、物理マシンの仮想化移植ができてしまう。
これは本当に簡単で便利ですごい。

ちょっと注意がいる点としては、
★1.Windows 2012 Server R2 から、「第2世代仮想マシン」というのが使えるようになっているが、これはホスト側も仮想マシン側もOSが Windows 2012 Server R2 でなければならないことに注意。Win8.1 Pro もいけるらしい。
したがって、ホスト側がWindows 2012 Server R2 であっても、仮想マシンのOSが2003とか2008だと、「 Boot Failed. EFI SCSI Device. 」というエラーメッセージが出て起動できなかった。
ググると、「セキュアブートを無効にすればいい」という情報が出てきたりしたが、それとはまた別の現象であった。(エラーメッセージも、「 boot failed. efi scsi device. failed secure boot verification 」ということで後ろのほうがちょっと違うので注意。)

★2.「VHD」と「VHDX」は、ホスト側がWindows 2012 Server 以降なのであれば、どちらでもいいみたい。
それ以前だと、「VHD」しか使えない。

★3.Disk2vhd は、VHDファイルの出力先に、ネットワーク上の共有フォルダも指定できる。

★4.再アクティベーションが必要になる場合もあるので注意。

というぐらいか。
ほんと便利。

Chromebook C720 にUbuntu をインストール(LTS編)
しつこくChromebook にUbuntu インストールする話題。

C720に vivid (15.04)を入れてたのですが、アップデートしてると起動しなくなったり、Chrome が認証エラーになったりして、どうしたもんかなー、と思っていたところ、LTSである trusty (14.04)にしたうえで、カーネルだけ新しいのにしたらどうか、と思いいたり実行。

Ubuntu Weekly Recipe
第278回 Ubuntuカーネルとの付き合い方
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0278

C720 にtrusty をインストールしようとすると、タッチパッドが認識されないので、USBマウスを接続して作業。
アップデートをひとしきりしたあとに、hwe-generic をインストールし、カーネルを確認。
user00@hoge:~>>sudo apt-get install linux-hwe-generic-trusty
user00@hoge:~>>sudo apt-get update
user00@hoge:~>>sudo apt-get dist-upgrade
user00@hoge:~>>uname -rv

ついでに、Libreoffice も5.0 にした。
user00@hoge:~>>sudo add-apt-repository ppa:libreoffice/ppa
user00@hoge:~>>sudo apt-get install libreoffice

Screenshot from 2015-08-17 13:39:13


いい感じなのでしばらく様子をみたい。
しかし、蓋を閉じた時のサスペンドからの復帰には難あり。
シャットダウンしてもいつまでたっても電源が切れない。






上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。