mdadmでRAID5
何はともあれmknod
sudo mknod /dev/md0 b 9 0
ディスクの情報を見てmdadm
cat /proc/diskstats sudo mdadm -C /dev/md0 -ayes -l raid5 -n 3 /dev/sda5 /dev/sda6 /dev/sda7 cat /proc/mdstat
ext4でフォーマット
sudo mkfs.ext4 /dev/md0
マウント、chownして書き込めるように(ラズパイなのでpi)
mkdir mountdir sudo mount /dev/md0 mountdir sudo chown -R pi mountdir
アルゴリズム構築 トップダウン方式
オライリーの[初めてのコンピュータサイエンス]より、メモとして
1行に1命令を書き出す
#リストLに含まれるもっとも小さな2つの値の添字をタプルで返す def find_two_smallest(L): #Lの最小値の添字を探す #リストからその要素を削除 #リストの新しい最小値の添字を探す #2個の添字を返す
コードを書く
def find_two_smallest(L): #Lの最小値の添字を探す smallest_index = min(L) min1 = L.index(smallest_index) #リストからその要素を削除 L.remove(smallest_index) #リストの新しい最小値の添字を探す next_smallest_index = min(L) min2 = L.index(next_smallest_index) #2個の添字を返す return(min1,min2)
不足要件があれば追加する
def find_two_smallest(L): #Lの最小値の添字を探す smallest_index = min(L) min1 = L.index(smallest_index) #リストからその要素を削除 L.remove(smallest_index) #リストの新しい最小値の添字を探す next_smallest_index = min(L) min2 = L.index(next_smallest_index) #最初に削除したものを戻す(追加) L.insert(min1,smallest_index) #戻した最初のIndexが2番目より前であれば+1して正しいIndexをセット(追加) if min1 <= min2: min2 += 1 #2個の添字を返す return(min1,min2)
全体はこんな感じ
# -*- coding: utf-8 -*- #リストLに含まれるもっとも小さな2つの値の添字をタプルで返す def find_two_smallest(L): #Lの最小値の添字を探す smallest_index = min(L) min1 = L.index(smallest_index) #リストからその要素を削除 L.remove(smallest_index) #リストの新しい最小値の添字を探す next_smallest_index = min(L) min2 = L.index(next_smallest_index) #最初に削除したものを戻す(追加) L.insert(min1,smallest_index) #戻した最初のIndexが2番目より前であれば+1して正しいIndexをセット(追加) if min1 <= min2: min2 += 1 #2個の添字を返す return(min1,min2) arr = [1,6,2,3] print (find_two_smallest(arr))
公開鍵認証の設定
Ubuntuサーバー側
sudo apt-get install openssh-server
ローカル(Mac)で鍵を作成して転送 名称入力時にvps2を入力
ssh-keygen scp -P $PORT vps2.pub $USER@$IP:/
Ubuntuサーバー側で鍵設定
chmod 700 .ssh/ cat vps2.pub >> .ssh/authorized_keys chmod 600 .ssh/authorized_key vi /etc/ssh/sshd_config
以下のように変更
PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes
Ubuntu側で再起動
service ssh restart
ローカル(Mac)からログイン
openssl rsa -in vps2 -outform pem > vps2.pem chmod 600 vps2.pem ssh -p $PORT -i vps2.pem $USER@$IP
curlでDropboxにファイルをアップロード
トークンを取得した状態で実行
curl -X PUT -H "Authorization: Bearer $TOKEN" -T file.png https://content.dropboxapi.com/1/files_put/auto/file.png
Ubuntu 14.04でvnc環境構築
インストール
# sudo apt-get install xorg gnome-core gnome-system-tools gnome-app-install # sudo apt-get install tightvncserver
パスワードの設定
# vncpasswd
xstartupの設定 vi ~/.vnc/xstartup
#!/bin/sh unset DBUS_SESSION_BUS_ADDRESS export GTK_IM_MODULE=ibus export XMODIFIERS="@im=ibus" export QT_IM_MODULE=ibus /usr/bin/ibus-daemon -dxr [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey exec gnome-session & gnome-panel & gnome-settings-daemon & metacity & nautilus -n & gnome-terminal &
起動と確認
# vncserver :1 # netstat -an | grep 5901
クライアント側から接続
vnc://x.x.x.x:5901
終了する場合
# vncserver -kill :1
日本語設定
# sudo apt-get install language-pack-ja-base language-pack-ja ibus-mozc # sudo update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" # sudo dpkg-reconfigure locales # sudo apt-get install unifont # reboot
bashrcには以下を設定
export LC_MESSAGES=ja_JP.UTF-8 export LC_IDENTIFICATION=ja_JP.UTF-8 export LC_COLLATE=ja_JP.UTF-8 export LANG=ja_JP.UTF-8 export LC_MEASUREMENT=ja_JP.UTF-8 export LC_CTYPE=ja_JP.UTF-8 export LC_TIME=ja_JP.UTF-8 export LC_NAME=ja_JP.UTF-8