Fedora22がシャットダウンできない
昨日(2015-09-29)から
- CentOS7のKVM上のfedora22(mate)
- Windows10のVirtualBox上のFedora22(mate)
がシャットダウンできない現象が起こっている
(GUIからシャットダウンするとログアウトするだけでシャットダウンされない)
コマンドから実行すると
$ sudo shutdown -h now Failed to start poweroff.target: Access denied Broadcast message from USER@HOST on pts/0 (...): The system is going down for power-off NOW!
と表示されるだけで何も起こらない
ここを見るとselinuxが原因っぽいので,以下のコマンドでselinuxを無効にするとシャットダウンできる用になった
$ sudo /usr/sbin/setenforce 0
selinuxを永続的に無効にするには
以下の用にSELINUX=disabled
に書き換えれば良い
$ sudo vi /etc/selinux/config SELINUX=disabled
TigerVNCに接続できなくなった場合の対処法
クライアント: Ubuntu15.04のRemmina
サーバー : CentOS7のTigerVNC
RemminaからConnectした時にUnable to connect to VNC server
が出た
$ sudo rm -rf /tmp/.X11-unix/ $ sudo systemctl restart vncserver@:1.service
yum updateしたらkernel panicで起動しなくなった
環境
CentOS7.2上のKVM上のCentOS7.2で
状況
yum update
でカーネルが
3.10.0-327.22.2.el7.x86_64
から
3.10.0-327.28.2.el7.x86_64
アップデートされ,久しぶりに再起動するとKernel Panicで以下のメッセージが表示され,起動できていなかった
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) CPU: 0 PID 1 Comm: swapper/0 Not tainted 3.10.0-327.28.2.el7.x86_64 Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 ...
解決法
新しいカーネル(3.10.0-327.28.2.el7.x86_64
)のinitramfsが生成されていないのが原因らしい
とりあえず,古いカーネル(3.10.0-327.22.2.el7.x86_64
)で起動し
$ ls -l /boot | grep initramfs -rw-r--r--. 1 root root 57613265 5月 31 10:42 initramfs-0-rescue-1016740bf95247ae941d721fac81bcaa.img -rw-------. 1 root root 29887789 8月 8 10:14 initramfs-3.10.0-327.18.2.el7.x86_64.img -rw-------. 1 root root 29886600 8月 8 10:14 initramfs-3.10.0-327.22.2.el7.x86_64.img -rw-------. 1 root root 19841024 8月 8 10:14 initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.28.2.el7.x86_64.img
がないので,以下のコマンドで生成
$ sudo depmod 3.10.0-327.28.2.el7.x86_64 $ sudo mkinitrd initramfs-3.10.0-327.28.2.el7.x86_64.img 3.10.0-327.28.2.el7.x86_64 $ ls -l /boot | grep initramfs -rw-r--r--. 1 root root 57613265 5月 31 10:42 initramfs-0-rescue-1016740bf95247ae941d721fac81bcaa.img -rw-------. 1 root root 29887789 8月 8 10:14 initramfs-3.10.0-327.18.2.el7.x86_64.img -rw-------. 1 root root 29886600 8月 8 10:14 initramfs-3.10.0-327.22.2.el7.x86_64.img -rw-------. 1 root root 29885799 8月 19 23:07 initramfs-3.10.0-327.28.2.el7.x86_64.img -rw-------. 1 root root 19841024 8月 8 10:14 initramfs-3.10.0-327.el7.x86_64.img
grub.cfg
の新しいカーネルのセクションを確認
セクション最終行の
initrd16 /initramfs-3.10.0-327.28.2.el7.x86_64.img
が抜けていたため,追記した
$ sudo vi /boot/grub2/grub.cfg menuentry 'CentOS Linux (3.10.0-327.28.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-fdca8898-0b12-4e30-a4c6-abb66c8f1ddc' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' d03afdf1-35b8-4289-93fb-6363859211c4 else search --no-floppy --fs-uuid --set=root d03afdf1-35b8-4289-93fb-6363859211c4 fi linux16 /vmlinuz-3.10.0-327.28.2.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=ja_JP.UTF-8 initrd16 /initramfs-3.10.0-327.28.2.el7.x86_64.img
これで,無事起動できるようになった
Reference
UbuntuにDropboxをインストールする
Ubuntu16.04で実行
パッケージマネージャからインストール
$ sudo apt -y install caja-dropbox $ caja-dropbox start -i
すると
(dropbox:24401): GLib-GObject-WARNING **: cannot register existing type 'GdkDisplayManager' (dropbox:24401): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed (dropbox:24401): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
と表示されアカウント認証画面に移動しなかった.
手動インストール
dropbox failing to start on Ubuntu 14 – Dropbox Community によるとDropboxのバージョンが古いと同様の症状が出るらしいので 手動でインストールする
インストール
Linux マシンに Dropbox をインストールを参考に行う
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - $ ~/.dropbox-dist/dropboxd
すればログイン画面が開くのでログインする
管理用スクリプトのインストール
$ wget https://www.dropbox.com/download?dl=packages/dropbox.py
でダウンロードしたdropbox.py
を適当な場所に保存.
設定
- デーモン起動
$ ./dropbox.py start
./dropbox.py autostart y
CentOS7にDNSサーバを立てる
dnsmasqのインストール
$ sudo yum -y install dnsmasq
設定
DNSの設定
サーバのIPの固定
$ sudo nmcli connection modify eth0 ipv4.address "192.168.1.2/24" $ sudo nmcli connection modify eth0 ipv4.gateway "192.168.1.1" $ sudo nmcli connection modify eth0 ipv4.dns "192.168.1.1" $ sudo nmcli connection modify eth0 ipv4.method manual $ sudo nmcli connection modify eth0 connection.autoconnect yes
に加え,上位DNS(192.168.1.1)の前にlocalhost(127.0.0.1)をDNSとして追加する
$ sudo nmcli connection modify eth0 ipv4.dns "127.0.0.1 192.168.1.1"
ネットワークの再起動
$ sudo nmcli connection down eth0 && sudo nmcli connection up eth0
ファイアウォールの設定
$ sudo firewall-cmd --permanent --add-port 53/tcp $ sudo firewall-cmd --permanent --add-port 53/udp $ sudo systemctl restart firewalld
サーバ起動
$ sudo systemctl start dnsmasq $ sudo systemctl enable dnsmasq
使い方
サーバの/etc/hosts
にIPとホスト名を追加していくだけ
$ sudo vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.10 SERVER1 192.168.1.11 SERVER2
/etc/hosts
変更後はdnsmasqを再起動する
$ sudo systemctl restart dnsmasq
CentOS7でDockerを動かす
ホスト情報
$ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) $ uname -r 3.10.0-229.20.1.el7.x86_64
Dockerのインストール
$ sudo yum -y install docker
Docker実行ユーザの設定
Dockerのサービスを起動せずにdocker images
とかを実行すると
$ docker images Get http:///var/run/docker.sock/v1.20/images/json: dial unix /var/run/docker.sock: no such file or directory. * Are you trying to connect to a TLS-enabled daemon without TLS? * Is your docker daemon up and running?
エラーが発生したので,サービスを起動
$ sudo systemctl start docker $ sudo systemctl enable docker
再びDockerを起動すると
$ docker images Get http:///var/run/docker.sock/v1.20/images/json: dial unix /var/run/docker.sock: permission denied. * Are you trying to connect to a TLS-enabled daemon without TLS? * Is your docker daemon up and running?
権限がないらしいのでsudo
で実行するか実行ユーザをdocker
グループに追加する
今回は,実行ユーザをdocker
グループに追加する (docker
グループが存在しなかったので作成した)
$ sudo groupadd docker $ sudo gpasswd -a 実行ユーザ名 docker
サービスを再起動すると一般ユーザからアクセスできるようになった
$ sudo systemctl restart docker $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
後は使うだけ
Jupyter Notebook (IPython Notebook)をインストールして試す
使用環境
$ cat /etc/redhat-release Fedora release 23 (Twenty Three)
インストール
仮想環境作成
$ mkvirtualenv --no-site-packages --python /opt/python3.5.1/bin/python3.5 notebook (notebook)$ pip install -U pip
IPythonNotebookのインストール
(notebook)$ pip install ipython jupyter
IPython4.0以上では,jupyterを別にインストールしないとipython notebook
すると以下のエラーが発生する(ImportError: No module named notebook.notebookapp)
(notebook)$ ipython notebook ... ImportError: No module named notebook.notebookapp
その他ライブラリのインストール
(notebook)$ pip install matplotlib (notebook)$ pip install Cython pandas
この時点で自動でインストールされたものも含めると以下のパッケージ構成になる
(notebook)$ pip freeze cycler==0.10.0 Cython==0.23.4 decorator==4.0.9 ipykernel==4.2.2 ipython==4.1.1 ipython-genutils==0.1.0 ipywidgets==4.1.1 Jinja2==2.8 jsonschema==2.5.1 jupyter==1.0.0 jupyter-client==4.1.1 jupyter-console==4.1.1 jupyter-core==4.0.6 MarkupSafe==0.23 matplotlib==1.5.1 mistune==0.7.1 nbconvert==4.1.0 nbformat==4.0.1 notebook==4.1.0 numpy==1.10.4 pandas==0.17.1 path.py==8.1.2 pexpect==4.0.1 pickleshare==0.6 ptyprocess==0.5.1 Pygments==2.1.1 pyparsing==2.1.0 python-dateutil==2.4.2 pytz==2015.7 pyzmq==15.2.0 qtconsole==4.2.0 simplegeneric==0.8.1 six==1.10.0 terminado==0.6 tornado==4.3 traitlets==4.1.0 wheel==0.24.0
IPython(Jupyter) Notebookを試す
ipython notebook
で以下のような警告が出た.
jupyter notebook
に変わったらしい.
(notebook)$ ipython notebook [TerminalIPythonApp] WARNING | Subcommand `ipython notebook` is deprecated and will be removed in future versions. [TerminalIPythonApp] WARNING | You likely want to use `jupyter notebook`... continue in 5 sec. Press Ctrl-C to quit now.
改めて
(notebook)$ jupyter notebook
とすると、以下のページが開く
右上のNewからPython3を選択すると以下のようにNotebookが開く
pandas,matplotlibの利用
numpy
を使用してデータを作成
import numpy as np X = [i*np.pi/180. for i in range(0, 180)] Y = [np.cos(x) for x in X]
作成したデータをpandas
のデータフレームに変換し,csvに書き出す
import pandas as pd data1 = {"x": X, "y": Y} data1_pd = pd.DataFrame.from_records(data1) data1_pd.to_csv("data.csv")
csvからデータを読み込む
import pandas as pd data = pd.read_csv("data.csv")
matplotlibを使用して読み込んだデータをプロットする
%matplotlib inline import matplotlib.pyplot as plt plt.plot(data["x"], data["y"])
以上をJupyter Notebook
で実行した結果が以下のスクリーンショット