参考文献は、まだ、18.04に対応してないので、別の手段を取る。
$ sudo apt-add-repository ppa:openrtc-w/openhri $ sudo apt-add-repository ppa:openrtm/stable $ sudo apt-add-repository ppa:openrtm/unstable
$ sudo apt-get update
$ sudo apt-get install openhriaudio2.10 openhrivoice2.10 seatsat2.10 omniorb-nameserver libomniorb4-dev
参考文献に従って、インストール。
$ wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
$ bash Anaconda3-5.2.0-Linux-x86_64.sh
$ tail -1 ~/.bashrc export PATH="/home/kurino/anaconda3/bin:$PATH" $ export PATH="/home/kurino/anaconda3/bin:$PATH" $ conda -V conda 4.5.4
$ conda create -n tfbook $ python --version Python 3.6.5 :: Anaconda, Inc.
$ pip install msgpack $ pip install msgpack-python
$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.9.0-cp36-cp36m-linux_x86_64.whl
1.9は動かないらしい...:
$ python Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) [GCC 7.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow Illegal instruction (core dumped)
どうもCPUが古いようだ...
Illegal instruction (core dumped) after running import tensorflowにしたがって、Vesionを下げて(2)みる。
$ pip uninstall tensorflow $ pip uninstall tensorflow=1.5 $ python Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) [GCC 7.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow /home/kurino/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters >>> exit() $
とりあえず、動くらしい。
$ pip install tflearn ... Successfully installed tflearn-0.3.2
$ python Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) [GCC 7.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tflearn /home/kurino/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters >>> exit() $
$ sudo apt install firefox
$ jupyter notebook --generate-config
Jupyterの設定ファイルを変更:
$ vi ~/.jupyter/jupyter_notebook_config.py
次の行を追加:外からアクセスできるようにし、ブラウザを起動しないようにする。
c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.open_browser = False
パスワードを設定したい場合は、Jupyter事始めを参考の事。
$ jupyter notebook list Currently running servers: http://0.0.0.0:8888/?token=425a9b214e9d9db3930bbaa2ac9f0fde0c429456e8974a7b :: /home/kurino $
参考文献に従って、インストール。
# apt -y install qemu-kvm libvirt-bin virtinst bridge-utils libosinfo-bin libguestfs-tools virt-top
# modprobe vhost_net # lsmod | grep vhost vhost_net 24576 0 vhost 45056 1 vhost_net tap 24576 1 vhost_net # mv /etc/modules /etc/modules.orig # cp -p !$ !^ # echo vhost_net >> /etc/modules
[Desktopの場合は、/etc/network/interfacesで変更](6)
Ubuntu 18.04: bridgeインターフェースの設定:1 bridge-utils + DHCPに従って設定。
# INTERFACE=enp0s25 # mv /etc/network/interfaces /etc/network/interfaces.orig # cp !$ !^ # cat << EOF | sudo tee /etc/network/interfaces auto lo iface lo inet loopback auto br0 iface br0 inet dhcp bridge_ports ${INTERFACE} bridge_stp off bridge_maxwait 0 EOF # reboot
[Serverの場合は、netplanで変更する必要がある](7)
Ubuntu 18.04 Server + LXDでブリッジ接続するを参考に設定。
# mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.orig # cp !$ !^ # ed /etc/netplan/50-cloud-init.yaml <<END /true s/true/false/ a bridges: br0: interfaces: - enp0s25 dhcp4: true parameters: forward-delay: 0 stp: false optional: true . w q END 384 dhcp4: true 596
上記の変更後の内容:/etc/netplan/50-cloud-init.yaml
# curl http://edu-gw2.math.cst.nihon-u.ac.jp/~kurino/2018/ubuntu/download/50-cloud-init.yaml --output /etc/netplan/50-cloud-init.yaml
以下のコマンドで、設定内容を変更(8)する。
# netplan apply
sshでリモート接続している場合は、netplan applyした時点で、IP Address等が変更されて、接続が切れるので、もう一度、sshでLogin仕直す必要がある。なお、この時ip addressも変更されている事が多いので、注意。
ついでに、ここで、ip addressもstaticに設定しちゃえば、とまどうこともない。
# mkdir -p /var/kvm/images
vmイメージの作成:なぜ、「--os-variant ubuntu17.10」なのかな?「--os-variant ubuntu18.04」でもよさそうだが。
# virt-install \ --name ubuntu1804 \ --ram 4096 \ --disk path=/var/kvm/images/ubuntu1804.img,size=30 \ --vcpus 2 \ --os-type linux \ --os-variant ubuntu17.10 \ --network bridge=br0 \ --graphics none \ --console pty,target_type=serial \ --location 'http://jp.archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/' \ --extra-args 'console=ttyS0,115200n8 serial'
上記の内容:kvm-mk-vm.sh
[2019/05/03追記]
[CentOS 7][KVM] virt-installの典型的(?)な使用例によると、ISOファイルを利用する場合は、「--location isoファイル名」だけで良いようだ。
インスートール直後、仮想機械が開始するが、次のgettyの設定を追加するために、一旦停止。
これは、別のターミナルから実行する必要がある。
# virsh shutdown ubuntu1804
# guestmount -d ubuntu1804 -i /mnt # ln -s /mnt/lib/systemd/system/getty@.service /mnt/etc/systemd/system/getty.target.wants/getty@ttyS0.service # umount /mnt
# virsh start ubuntu1804 --console
アクティブな仮想マシンのリスト:
$ virsh list Id Name State ---------------------------------------------------- 5 tensorflow running
管理対象の仮想マシンのリスト:(9)
$ virsh list --all Id Name State ---------------------------------------------------- 5 tensorflow running - ubuntu1804 shut off
$ virsh list Id Name State ---------------------------------------------------- 5 tensorflow running $ virsh shutdown tensorflow $ virsh list Id Name State ---------------------------------------------------- $
$ virsh start tensorflow Domain tensorflow started $ virsh list Id Name State ---------------------------------------------------- 6 tensorflow running
仮想マシンのClone:(10)
$ sudo virt-clone --original [コピー元仮想マシン名] --name [コピー先仮想マシン名] --file /var/kvm/images/[イメージファイル名]
バックアップが目的でない(オリジナルとクローンが同時に、同じLAN動く)場合(11)は、
kvm(qemu)はデフォルトの設定で、 同一LAN内で複数起動するとネットワークが不調になります。 これはデフォルトだとすべてMACアドレスが 52:54:00:12:34:56 となっているせいで、 同一LAN内に同一MACアドレスが複数存在することになるわけです。KVMのNICのMACアドレスの変更について
$ ls /var/kvm/images/ tensorflow.img ubuntu1804.img $
$ ls /etc/libvirt/qemu networks tensorflow.xml ubuntu1804.xml $
# mkdir /var/kvm/backup # mkdir /var/kvm/backup/ubuntu1804 # cp -p /var/kvm/images/ubuntu1804.img /var/kvm/backup/ubuntu1804 # virsh dumpxml ubuntu1804 > /var/kvm/backup/ubuntu1804/ubuntu1804.xml # ls /var/kvm/backup/ubuntu1804 ubuntu1804.img ubuntu1804.xml
# cp -p /var/kvm/backup/ubuntu1804/ubuntu1804.img /var/kvm/images # cp /var/kvm/backup/ubuntu1804/ubuntu1804.xml /etc/libvirt/qemu/ # virsh define /etc/libvirt/qemu/ubuntu1804.xml # virsh start ubuntu1804
$ qemu-img snapshot -c test test.qcow2 # スナップショットの作成
$ qemu-img create -b test.qcow2 -f qcow2 test.diff.qcow2
$ virsh start test.diff
$ rm test.diff.qcow2
$ virsh console [ドメイン名]
ゲストマシンのコンソールの切断:
$ ^]
「^]」(CTRL-])で抜ける。
<graphics type='vnc' port='5900' autoport='no' listen='0.0.0.0' keymap='ja'/>
$ qemu-img convert [vmdkファイル] -O raw [kvmイメージファイル]
$ uuidgen
$ virsh dominfo [ドメイン名]
$ virsh setmaxmem [ドメイン名] [メモリサイズ]
$ virsh setmem [ドメイン名] [メモリサイズ]
$ virsh setvcpus [ドメイン名] [CPU数] --config --maximum
「--config」を付ける事により、設定ファイルに反映させる。
確認:
$ virsh virsh dumpxml [ドメイン名] | grep vcpu
KVM のホストからゲスト環境のファイルシステムにアクセスするために、KVMホストにlibguestfsパッケージを導入
$ sudo apt-get install libguestfs libguestfs-tools
guest2の特定のファイル(例/etc/hosts)を表示するには、KVMホストから以下のコマンドを実行します(-dでゲスト環境のドメインを指定します)。
$ sudo virt-cat -d guest2 /etc/hosts
$ sudo virt-edit -d guest2 /etc/hosts
参考文献に従って、インストール。
# apt -y install nis
# vi /etc/default/nis
NISSERVER=master
# vi /etc/ypserv.securenets
#0.0.0.0 0.0.0.0 255.255.255.0 10.11.222.0 255.255.255.0 192.168.3.0 255.255.255.0 10.100.0.0
# vi /var/yp/Makefile
MERGE_PASSWD=true MERGE_GROUP=true
# /usr/lib/yp/ypinit -m ubuntu-1804-server 10.11.222.87 192.168.3.6 10.100.0.10
参考文献に従って、インストール。
# apt -y install nis
# vi /etc/yp.conf
domain yk-lab server 10.11.222.87
# vi /etc/nsswitch.conf
passwd: compat systemd nis group: compat systemd nis shadow: compat nis
# vi /etc/pam.d/common-session
session optional pam_mkhomedir.so skel=/etc/skel umask=077
# systemctl restart rpcbind nis
# yppasswd
Java 3D で地球を回してみるテストを、ubuntu 14.04で動かす試み。
$ sudo apt-get install libjava3d-*
$ export export LD_LIBRARY_PATH=/usr/lib/jni
$ export export LD_LIBRARY_PATH=\ /usr/share/java/vecmath.jar:\ /usr/share/java/j3dutils.jar:\ /usr/share/java/j3dcore.jar:.
画像データの入手:
Java 3D で地球を回してみるテストから、地球の画像データを入手(png形式だった)し、jpg形式に変換(gimpを使った)して、earth.jpの名前で保存。
ソースコードの入手:
Java 3D で地球を回してみるテストから、souruce code (copy pastした)を入手し、Earth.javaの名前で保存。
$ javac Earth.java
$ java Earth