xmllintをインストール
sudo apt-get install libxml2-utils
.vimrcの設定
~/.vimrc
au FileType xml exe ":silent 1,$!xmllint --format --recover - 2>/dev/null"
sudo apt-get install libxml2-utils
~/.vimrc
au FileType xml exe ":silent 1,$!xmllint --format --recover - 2>/dev/null"
大学のサーバのGCCが6.2だったのでメモ。
RMeCabのインストール
> install.packages("RMeCab", repos = "http://rmecab.jp/R")
エラーになる。
RMeCab.cpp:89:11: error: narrowing conversion of '229' from 'int' to 'char' inside { } [-Wnarrowing] 0}; //形容詞
GCC6だとエラーになるので、GCC5台にしないと駄目です。
因みにソースコードはinstall.packageのときにオプションを付けると消されないでローカルファイルに残ります。
> install.packages("RMeCab", repos = "http://rmecab.jp/R",keep_outputs=T)
Ubuntu16.04のGnomeデスクトップではデフォルトで画面のLockがOnになっています。
そのため、画面を操作しないとロックされてしまい、毎回パスワードを入力する必要があります。
この画面のlockをさせない方法は以下の通り
未だCentOS5を使っているといろいろと不都合が生じてきます。まず、最新のアプリケーションを使おうとすると、デフォルトで入っているライブラリ群が古く全くインストールできません。
今回はCentOS5.11にbzip2-1.0.6をインストールしてみます
$ cd /usr/local/src $ wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz $ tar xzvfp bzip2-1.0.6.tar.gz $ cd bzip2-1.0.6
シェアードライブラリも同時にコンパイルします
まずは本体
$ make # make install
次にシェアードライブラリ
$ make -f Makefile-libbz2_so $ make gcc -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o /usr/bin/ld: blocksort.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC blocksort.o: could not read symbols: Bad value collect2: ld はステータス 1 で終了しました make: *** [all] エラー 1
ここでエラーが
どうもfPICをつけてコンパイルしないとダメなようです
本体側も修正、Makefileを修正します
CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) -fPIC # -fPICを追加 CXXFLAGS=-fPIC # 行追加
コンパイル
$ make clean $ make # make install
次にシェアードライブラリ。Makefile-libbz2_soを修正
CXXFLAGS=-fPIC # 行追加
コンパイル
$ make -f Makefile-libbz2_so # mv libbz2.so.1.0* /usr/local/lib
たまたま余っていたCentOS5.11のサーバにpython2.7.12をインストールし、pylabをインストールしようとするとエラー。
error: ‘SOCK_CLOEXEC’ was not declared in this scope error: command 'gcc' failed with exit status 1
どうもOSが古いと色々問題があります。
そこでこちらを参考にGCCをインストールします
以下のサイトからダウンロードします。とりあえず最新版をダウンロードしました。
# mkdir /usr/local/gcc-4.8.5 # export LD_LIBRARY_PATH=/usr/local/gcc-4.8.5/lib:$LD_LIBRARY_PATH
# bunzip2 gmp-6.1.1.tar.bz2 # tar xvfp gmp-6.1.1.tar # cd gmp-6.1.1 # ./configure --prefix=/usr/local/gcc-4.8.5 # make && make install
# xz mpfr-3.1.4.tar.xz # cd mpfr-3.1.4 # ./configure --prefix=/usr/local/gcc-4.8.5 --with-gpm=/usr/local/gcc-4.8.5 # make && make install
# tar zxvfp mpc-1.0.3.tar.gz # cd mpc-1.0.3 # ./configure --prefix=/usr/local/gcc-4.8.5 --with-gmp=/usr/local/gcc-4.8.5 --with-mpfr=/usr/local/gcc-4.8.5 # make && make install
# tar zxvfp gcc-4.8.5.tar.gz # cd gcc-4.8.5 # ./configure --prefix=/usr/local/gcc-4.8.5 --enable-checking=release --with-gpm=/usr/local/gcc-4.8.5 --with-mpfr=/usr/local/gcc-4.8.5 --with-mpc=/usr/local/gcc-4.8.5 --enable-languages=c,c++ # make && make install
使う際には、環境変数に入れて使い分けます
$ export LD_LIBRARY_PATH=/usr/local/gcc/lib:/usr/local/gcc/lib64:$LD_LIBRARY_PATH $ export PATH=/usr/local/gcc/bin:$PATH $ alias gcc="gcc-4.8.5" $ alias g++="g++-4.8.5"
WebサーバとDB間の通信など、DBが他のサービスなどと共用だとそのDBへの通信量などが気になったりします。
WebサーバからDBへの通信パケットサイズをtcpdumpを使って測定してみます。
# tcpdump -e -s0 host 192.168.10.100 > db.txt # ^C # ctrl+Cで中断 # a=0 # for i in `cat db.txt |awk '{print $13}'|sed -e 's/://'`;do let a=$a+$i;done ; echo $a 102799
こんな感じでバイト数が求まります
raspberry pi B+
wifiアダプタ WNG150U
RASPBIAN JESSIE
ハードウエアの確認
$ lsusb Bus 001 Device 004: ID 04bb:094c I-O Data Device, Inc.
ESSIDの確認
$ sudo iwlist wlan0 scan | grep ESSID ESSID:"ESSID"
wpa_supplicant.conf
$ sudo su # chmod 660 root% chmod 660 /etc/wpa_suoplicant/wpa_supplicant.comf # wpa_passphrase "SSID" "KEY" >> /etc/wpa_supplicant/wpa_supplicant.conf # cat /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="SSID" #psk="KEY" psk=ハッシュ化されたキー }
wpa_supplicant.confの編集
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="SSID" proto=WPA2 key_mgmt=WPA-PSK pairwise=TKIP CCMP group=TKIP CCMP #psk="KEY" psk=ハッシュ化されたキー scan_ssid=1 } /etc/dhcpcd.conf >|| interface wlan0 static ip_address=192.168.11.21/24 static routers=192.168.11.254 static domain_name_servers=192.168.10.1
こんな感じでリブート
$ ifconfig eth0 Link encap:イーサネット ハードウェアアドレス b8:27:eb:9c:30:07 inetアドレス:192.168.11.20 ブロードキャスト:192.168.11.255 マスク:255.255.255.0 inet6アドレス: 240f:79:a8f8:1:b289:a029:fc2e:6ac/64 範囲:グローバル inet6アドレス: fe80::7474:4b62:ad78:2a00/64 範囲:リンク UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:2704 エラー:0 損失:594 オーバラン:0 フレーム:0 TXパケット:607 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:161138 (157.3 KiB) TXバイト:88612 (86.5 KiB) lo Link encap:ローカルループバック inetアドレス:127.0.0.1 マスク:255.0.0.0 inet6アドレス: ::1/128 範囲:ホスト UP LOOPBACK RUNNING MTU:65536 メトリック:1 RXパケット:140 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:140 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:11756 (11.4 KiB) TXバイト:11756 (11.4 KiB) wlan0 Link encap:イーサネット ハードウェアアドレス 34:76:c5:5d:7e:6c inetアドレス:192.168.11.21 ブロードキャスト:192.168.11.255 マスク:255.255.255.0 inet6アドレス: fe80::d437:7e2c:6380:2ccc/64 範囲:リンク inet6アドレス: 240f:79:a8f8:1:98a1:f100:4d2b:b96b/64 範囲:グローバル UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:3501 エラー:0 損失:632 オーバラン:0 フレーム:0 TXパケット:119 エラー:0 損失:3 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:582397 (568.7 KiB) TXバイト:20034 (19.5 KiB)
認識されました
よく忘れるので備忘録
#!/bin/bash my_ssh(){ /usr/bin/expect << Eof set timeout -1 spawn /usr/bin/ssh -o stricthostkeychecking=no root@hostname bash /path/to/script.sh match_max 100000 expect -exact "root@hostname's password: " send -- "password\r" expect eof Eof } my_ssh
dockerで今までうまくいっていたBuildが突然落ちるようになったりすることがあります
$ docker build . .. Err http://archive.ubuntu.com/ubuntu/ trusty-security/main libnss3-nssdb all 2:3.19.2.1-0ubuntu0.14.04.1 404 Not Found [IP: 91.189.88.149 80] Err http://archive.ubuntu.com/ubuntu/ trusty-security/main libnss3 amd64 2:3.19.2.1-0ubuntu0.14.04.1 404 Not Found [IP: 91.189.88.149 80] Fetched 108 MB in 3min 14s (555 kB/s) Unable to correct missing packages. [91mE: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/n/nss/libnss3-nssdb_3.19.2.1-0ubuntu0.14.04.1_all.deb 404 Not Found [IP: 91.189.88.149 80] E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/n/nss/libnss3_3.19.2.1-0ubuntu0.14.04.1_amd64.deb 404 Not Found [IP: 91.189.88.149 80]
こういう時には一度キャッシュをクリーンすれば治ります
$ docker --no-cache build .
RaspberryPIを買って早1月以上。そろそろディスク容量も乏しくなってきました。もともと余っていた32GのMicroSDを挿していたのですが、データが増えるにつれてちょっと残りが寂しくなってきたので、上海問屋の64GUSBメモリを購入しました。
RaspberryPIはUSB3.0対応ではないので、USB2.0の安いものをチョイス。送料込みで3400円くらい。安い。。
早速挿してみました。フォーマット自体はFAT32。プラグアンドプレイなので差し込むだけでOK。コマンドラインからマウントしてやります
pi@raspberrypi ~ $ sudo fdisk -l Disk /dev/mmcblk0: 31.7 GB, 31657558016 bytes 4 heads, 16 sectors/track, 966112 cylinders, total 61831168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000b5098 Device Boot Start End Blocks Id System /dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA) /dev/mmcblk0p2 122880 61831167 30854144 83 Linux Disk /dev/sda: 64.5 GB, 64541949952 bytes 255 heads, 63 sectors/track, 7846 cylinders, total 126058496 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xc3072e18 Device Boot Start End Blocks Id System /dev/sda1 64 126058495 63029216 c W95 FAT32 (LBA) pi@raspberrypi ~ $ sudo mount /dev/sda1 /mnt pi@raspberrypi ~ $ df ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 rootfs 30311756 13465040 15569968 47% / /dev/root 30311756 13465040 15569968 47% / devtmpfs 219832 0 219832 0% /dev tmpfs 44800 240 44560 1% /run tmpfs 5120 0 5120 0% /run/lock tmpfs 89580 0 89580 0% /run/shm /dev/mmcblk0p1 57288 9896 47392 18% /boot /dev/sda1 63012832 2752 63010080 1% /mnt
こんだけ。マウント簡単。しかしここで問題が発生。
どうやら一般ユーザでは書き込めない模様。権限も変更できず。まあ、FATなので権限もクソもないのでどうしょうもないのでしょう。ちなみにROOTユーザなら読み書きOKですがそれだと使いづらいので、EXT4にフォーマットし直してやります
pi@raspberrypi ~ $ sudo fdisk /dev/sda Command (m for help): d Selected partition 1 Command (m for help): p Disk /dev/sda: 64.5 GB, 64541949952 bytes 199 heads, 32 sectors/track, 19795 cylinders, total 126058496 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xc3072e18 Device Boot Start End Blocks Id System Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-126058495, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-126058495, default 126058495): Using default value 126058495 Command (m for help): p Disk /dev/sda: 64.5 GB, 64541949952 bytes 199 heads, 32 sectors/track, 19795 cylinders, total 126058496 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xc3072e18 Device Boot Start End Blocks Id System /dev/sda1 2048 126058495 63028224 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
mkfsでフォーマット
pi@raspberrypi ~ $ sudo mkfs.ext3 /dev/sda1 mke2fs 1.42.5 (29-Jul-2012) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 3940352 inodes, 15757056 blocks 787852 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 481 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done pi@raspberrypi ~ $ mkdir /media/usb0 pi@raspberrypi ~ $ sudo mount /dev/sda1 /media/usb0 pi@raspberrypi ~ $ df ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 rootfs 30311756 13498480 15536528 47% / /dev/root 30311756 13498480 15536528 47% / devtmpfs 219832 0 219832 0% /dev tmpfs 44800 240 44560 1% /run tmpfs 5120 0 5120 0% /run/lock tmpfs 89580 0 89580 0% /run/shm /dev/mmcblk0p1 57288 9896 47392 18% /boot /dev/sda1 61907956 53196 58703352 1% /media/usb0 pi@raspberrypi /media/usb0 $ sudo chmod 777 . pi@raspberrypi /media/usb0 $ mkdir data
ついでにマウント先も変更しました