Text-to-Speech API

GCP の Text-to-Speech API を使って
テキストから音声を生成する

入力したテキストを
音声を男性か女性か選択して
生成する

音声の文字起こしなら
Speech toText
のほうになる

GCP へログインし
認証情報 > API とサービスの有効化

Cloud Text-toSpeech API
をクリック

これには無料枠があるようでhttps://cloud.google.com/text-to-speech/pricing/?hl=JA
に記載されている

1ヶ月あたり
0〜100 万文字

音声合成マークアップ言語(SSML)タグも文字数カウントに含まれる

有効化のときに課金設定があるので注意

有効化できたら
認証情報で
認証情報を作成

サービスアカウントを作成する

続行
で完了
をクリック

これでサービスアカウントが作成される

このアドレスをクリックし
キーをクリック

鍵を追加

新しい鍵を追加
でタイプをJSONにする

これでJSONファイルをダウンロードしたら
環境変数を設定する

GOOGLE_APPLICATION_CREDENTIALS
を設定する

これにパスを設定する
ダウンロードしたJSONファイルを
secret.json に名前を変えておく

ダウンロードしたファイルを新しい順にするなら

lsコマンドでファイルを新しい順番、古い順番にソートする方法

を参考に

ls -lt

で表示されるので

cp raspberryPi-b787a5abd4d5.json secret.json

でコピーし

mv secret.json ~/notebook/


jupyter notebook で扱えるようにしておく

次に
notebook でos ライブラリをインポートすることで使っていく

import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'secret.json'

でOK

次にライブラリのインストール

Text-to-Speech クライアント ライブラリ

を参考に

pip install --upgrade google-cloud-texttospeech

をいれる

notebook でやるなら

!pip install --upgrade google-cloud-texttospeech

とする

これで準備できたので
音声の再生

from google.cloud import texttospeech

client = texttospeech.TextToSpeechClient()

synthesis_input = texttospeech.SynthesisInput(text="Hello, World!")

voice = texttospeech.VoiceSelectionParams(
    language_code="en-US", ssml_gender=texttospeech.SsmlVoiceGender.NEUTRAL
)

audio_config = texttospeech.AudioConfig(
    audio_encoding=texttospeech.AudioEncoding.MP3
)

response = client.synthesize_speech(
    input=synthesis_input, voice=voice, audio_config=audio_config
)

with open("output.mp3", "wb") as out:
    out.write(response.audio_content)
    print('Audio content written to file "output.mp3"')

クライアント ライブラリの使用

からコピペして
コメント部分を削除

client = texttospeech.TextToSpeechClient()

の部分で認証をしている

synthesis_input = texttospeech.SynthesisInput(text="Hello, World!")


出力する音声をセット
今回なら
Hello, World
となる

voice = texttospeech.VoiceSelectionParams(
    language_code="en-US", ssml_gender=texttospeech.SsmlVoiceGender.NEUTRAL
)

で声の設定
language_code で言語の指定
en-US なら英語

ssml_gender は性別の設定
NEUTRAL だとどっちでもないような音声になる

audio_config = texttospeech.AudioConfig(
    audio_encoding=texttospeech.AudioEncoding.MP3
)

で音声形式の指定
今回は MP3 にしている

これらのパラメータを

response = client.synthesize_speech(
    input=synthesis_input, voice=voice, audio_config=audio_config
)

でセットして音声を作成する

filename ="output.mp3"
with open(filename, "wb") as out:
    out.write(response.audio_content)
    print(f'Audio content written to file {filename}')

と最後を変えることで音声ファイル名を簡単に変更できる

wb なので
バイナリ形式で書き込み

しかし Cloud SDK がないと実行できないみたいなので
Google Cloud SDK のインストール

を参考に

echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list


Cloud SDK の配布 URI をパッケージ ソースとして追加

sudo apt-get install apt-transport-https ca-certificates gnupg


apt-transport-https がインストールされているのを確認

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -


公開鍵のインポート

sudo apt-get update
sudo apt-get install google-cloud-sdk


リポジトリ更新と
google-cloud-sdk のインストール

しかしマニュアルを読んでみたら
全機能は使えないので
Linux 用インストールでないとダメと気づいた
Ubuntu 18.04 (WSL) に、Google Cloud SDK をインストールする

も参考に

一度

sudo apt-get remove google-cloud-sdk
sudo apt remove python3-crcmod 

で削除

curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-337.0.0-linux-x86_64.tar.gz

でファイルを取得

tar zxvf google-cloud-sdk-337.0.0-linux-x86_64.tar.gz 


圧縮ファイルを展開

/google-cloud-sdk/install.sh

を実行し
Google Cloud SDK のパスを通すことでコマンド補完ができるようになる

source .bashrc

を実行して設定反映を忘れずに

./google-cloud-sdk/bin/gcloud init


SDK初期化と認証開始

You must log in to continue. Would you like to log in (Y/n)?  

となるので
Y
とすると
ブラウザが立ち上がり
認証画面になる

認証成功なら
https://cloud.google.com/sdk/auth_success
の画面がでる

次にどのプロジェクトをデフォルトにするか聞かれる

Please enter numeric choice or text value (must exactly match list 
item):  
Please enter a value between 1 and 12, or a value present in the list: 

となるので
任意のプロジェクト No を入力すると終了

gcloud components update

でコンポーネントを更新

しかしこれでもダメ

GCPの Text-to-Speech で 文字読み上げ を作る

を参考に

pip install pydub


MP3再生に必要なパッケージをいれる

pip install google-cloud-storage

をしたけどダメ

もう一回APIの確認をしたら
Cloud Speech Text API が無効になっていたので
再度有効化してから
もう一度鍵ファイルを作成することで有効化された

これで再度実行したら無事に音声が作成された

ubuntu 16 へ streamlit インストール

ubuntu 16 へ streamlit インストール

【Streamlit】インストールしてみた

を参考に

pip install streamlit

でインストール

streamlit hello

でデモのサンプルを起動できる

  If you're one of our development partners or you're interested in getting
  personal technical support or Streamlit updates, please enter your email
  address below. Otherwise, you may leave the field blank.

とでるけど気にせずに
Enter

これでブラウザで webアプリが起動する

ubuntu VLC が落ちるときの対処

ubuntu VLC が落ちるときの対処

ubuntu16.04 で動画から静止画切り出し
で以前静止画の取り出しをしたので
今回も行おうとしたが
VLC を起動し動画を再生しようとしても
落ちてしまう

VLC で動画再生に問題

を参考に

ツール > 設定

ビデオの出力を自動から
X11ビデオ出力(XCB)
にすることで解決

Mac へ FlashPrint のインストール

Mac へ FlashPrint のインストール

Fusion 360 は ubuntu が対応していないため
MacBook Air でデータを作ることに

まずは FlashPrint をその前にインストール

これがないと STL データを作成しても
Adventurer3 でプリントできない

https://flashforge.co.jp/support/
へアクセスして
MacOS をクリック

これでダウンロードされるので
ファイルをダブルクリック

解凍されるので
FlashPrint.pkg をダブルクリック
しても開発元が未確認のため開けられないので

画面左上のApple のアイコンをクリックし
システム環境設定


セキュリティーとプライバシーを開き
鍵アイコンをクリックし
管理者パスワードを入力

これでそのまま開くをクリックすると
インストール画面になる

ラズパイzero で Google Drive のマウント

ラズパイzero で Google Drive のマウント

ラズパイzero の残り容量が少なく
撮影した動画を転送後に削除していかないと容量がいっぱいになる

しかし処理に時間がかかりそうなので
Google Drive をラズパイzero にマウントする

まず Google Drive でアップロード用のディレクトリ作成

新規 > フォルダ
で任意のフォルダを作成

今回は
raspizero
とした

次に
SSH接続のRaspberry PiにGoogle Driveをマウントする

を参考に
google-drive-ocamlfuseのインストール

sudo apt-get install opam mccs
opam init --solver=mccs

まで実行したところフリーズしたので

google-drive-ocamlfuseでGoogleドライブをマウント

を参考に
ubuntu で先に認証をしておく

sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt-get update
sudo apt-get install google-drive-ocamlfuse

でインストール

google-drive-ocamlfuse

で認証

mkdir google-drive

で同期ディレクトリの作成

次にマウントフォルダの指定

google-drive-ocamlfuse 複数のGoogleDriveアカウントをubuntuで使う

を参考に

vim .gdfuse/default/config

で設定ファイルを開き

56行目の

root_folder=

で作成した Google Drive のフォルダIDを書き込む

あとは

google-drive-ocamlfuse google-drive/

でマウント

これで
cp コマンドなどでここへファイルをコピーすると
Google Drive にファイルがコピーされる

次に
Raspberry Pi 3 Model BにGoogleドライブをマウントする

を参考に
ラズパイzero にインストール

sudo apt-get upgrade
sudo apt-get install opam
opam init
opam update
opam install depext
opam depext google-drive-ocamlfuse
opam install google-drive-ocamlfuse

を実行

かなり時間がかかり
私の環境の場合1時間以上かかった

次に
SSH接続のRaspberry PiにGoogle Driveをマウントする

を参考に
偽のfirefox を作成し認証に介入

次に

nano firefox

でファイルを作成

#! /bin/sh
echo $* > /dev/stderr

として保存し

chmod 777 firefox 

で権限付与

PATH=`pwd`:$PATH ~/.opam/system/bin/google-drive-ocamlfuse


URLが端末に表示されるので
これを
ubuntu の firefox で開く

すると認証画面になるので
これを認証ししばらくすると

Access token retrieved correctly.

と表示されれば成功

これで次に Google Drive で書き込むフォルダの指定をするので

nano .gdfuse/default/config

で設定ファイルを開き

56行目の

root_folder=


ubuntuのときと同じように
作成した Google Drive のフォルダIDを書き込む

次にマウントするディレクトリの作成

mkdir googleDrive

そしてマウント

~/.opam/system/bin/google-drive-ocamlfuse ~/googleDrive/

これでマウントができたので
試しに

cp test2.wav googleDrive/

というようにファイルを
コピーしてみるとアップロードされているのがわかる

なお、マウントしてるか確認するには
df コマンドを使う

df -h

今回の場合

ファイルシス               サイズ  使用  残り 使用% マウント位置
/dev/root                    5.7G  4.4G  1.1G   81% /
devtmpfs                     152M     0  152M    0% /dev
tmpfs                        185M     0  185M    0% /dev/shm
tmpfs                        185M  5.2M  180M    3% /run
tmpfs                        5.0M  4.0K  5.0M    1% /run/lock
tmpfs                        185M     0  185M    0% /sys/fs/cgroup
/dev/mmcblk0p6                68M   24M   45M   35% /boot
//192.168.1.6/pizero_photo   916G   48G  869G    6% /mnt/nas
tmpfs                         37M  4.0K   37M    1% /run/user/1000
/dev/mmcblk0p5                30M  398K   28M    2% /media/pi/SETTINGS1
google-drive-ocamlfuse       100G   20G   81G   20% /home/pi/googleDrive

となり
マウントできているのが確認できる

とりあえず自宅での場合は定期的にバックアップをし
外出先で撮影するなら
容量をもっと大きなmicroSD にして
帰宅したら Google Drive に転送するようにすれば
ネットワーク遅延などは気にせずバックアップができそう

シェルスクリプトでJSON の処理

シェルスクリプトでJSON の処理

sRemo-R3 で
温湿度や時刻を取得すると
JSONで返ってくるので
これをファイルに保存

なお、これだけでもAmazon Echo で操作することができるけど
自動処理させるのをやりたいので
センサーの代わりに使うことに

curl -H "Authorization: Bearer jgw5E82Ic6BISXjssK4xoKf36XeJIfjHgL53KD69" https://uapi1.sremo.net/user_api/av63hsbsyxq/get_thl > sremo.json


curl の結果を
sremo.json に保存

中身は

{"t":28,"h":45,"l":17}

となっている

シェルスクリプトで json を使うには
jq が必要なので

sudo apt-get install jq

でインストール

bashやshなどのsh系スクリプトでJSON形式のデータを読み込む【サンプルプログラムあり】

を参考に
まずはJSONデータの読み込み

## 1. JSONデータを取得
jsonData=`cat sremo.json`

#echo $jsonData | jq '.t'
temp=$(echo $jsonData | jq '.t')
echo $temp

とすればJSONデータから温度の取り出しと表示ができる

ただし、この結果は文字列扱いのため
数値変換しないと if で操作ができない

jq の tonumberで数値変換が可能とのことだが

expr コマンドを使えば
bash で文字列を数値変換して実行可能

bashで文字列を数値に変換して数値計算する方法

では数値変換による計算の例が載っている

【 expr 】コマンド――計算式や論理式を評価する

では論理式での例が載っている

これを元に

## 1. JSONデータを取得
jsonData=`cat sremo.json`

#echo $jsonData | jq '.t'
temp=$(echo $jsonData | jq '.t')

if [ 'expr $temp >= 25' ]; then
curl -H "Authorization: Bearer APIアクセストークン" https://APIサーバ/user_api/sRemo識別子/send_sig?sig=画面番号-a-n-2-1-4-22
fi

とすれば気温が25度以上になれば
22度設定でエアコンが起動するという処理になる

同じように照度25以上なら消灯するようにするのなら

## 1. JSONデータを取得
jsonData=`cat sremo.json`

illumi=$(echo $jsonData | jq '.l')

if [ 'expr $illumi >= 25' ]; then
curl -H "Authorization: Bearer APIアクセストークン" https://APIサーバ/user_api/sRemo識別子/send_sig?sig=画面番号-l-2
fi

というようにすれば消灯させることができる

こちらは後々人感センサーと合わせて処理すれば
退席したら照明を消すようなものを作成できる

ラズパイ3に外付けHDDでNAS 構築

ラズパイ3に外付けHDDでNAS 構築

ラズパイZeroW で動画撮影できるようになったけど
容量が足りないため
NAS へ保存することに

ただ、NASは高いため
ラズパイ3と外付けHDDで構築

今回使用したのは昔購入した外付けHDDがあったので
これを活用

今回は
Raspberry Pi 3 に Samba 4.2 をインストール

を参考に実践

すでに過去にインストールなどは済ませてあるので
ssh で接続

ssh pi@192.168.1.208

というように
pi@ラズパイのIPアドレスで接続

なお、パスワードは変更済みだけど
デフォルトのパスワードは
raspberry

ここからは root ユーザで実行するので

sudo su

で root ユーザに切り替え

apt-get update

でリポジトリ更新

apt-get -y upgrade

でソフトのアップデート

次にSamba のインストール

apt-get -y install samba

次に外付けHDDの設定

とはいっても
デバイスがどのパスになっているのかは
それぞれの環境により異なるので
ラズパイ3 外付けhdd
で検索し
Raspberry Pi 3 ModelB で外付けHDDをファイルサーバー化する

を参考に

 fdisk -l

Device     Boot Start        End    Sectors   Size Id Type
/dev/sda1          63 1953520064 1953520002 931.5G 83 Linux

と表示されるので
/dev/sda1 にあることを確認

次に再起動時に自動マウントさせるために
UUIDを調べたいので

blkid /dev/sda1

でUUIDを確認

今回の結果は

/dev/sda1: LABEL="outhdd" UUID="3c00b165-8ba1-481d-8f0d-372b8bbbcb66" TYPE="ext4" PARTUUID="c675b7b1-01"

なお blkid コマンドについては
【 blkid 】コマンド――ブロックデバイスの属性を表示する

を参考に

次にext4 形式でフォーマットするので
もともと書き込まれていたファイルシステムの情報を削除

使用するコマンドは wipefs コマンド

ファイルシステム関連コマンドについては
ファイルシステムの痕跡(メタデータ)をクリアする方法あれこれ(wipefsほか)

を参考に

wipefs -a /dev/sda1

を実行したものの

wipefs: error: /dev/sda: probing initialization failed: デバイスもしくはリソースがビジー状態です

となってしまう

このため

df

でマウント位置の確認

ファイルシス   1K-ブロック      使用   使用可 使用% マウント位置
/dev/root         26651708  11079260 14195580   44% /
devtmpfs            468084         0   468084    0% /dev
tmpfs               472692         4   472688    1% /dev/shm
tmpfs               472692     12472   460220    3% /run
tmpfs                 5120         4     5116    1% /run/lock
tmpfs               472692         0   472692    0% /sys/fs/cgroup
/dev/mmcblk0p6       66528     22541    43988   34% /boot
tmpfs                94536         0    94536    0% /run/user/1000
/dev/sda1        961301000 820207676 92238940   90% /media/pi/outhdd
/dev/mmcblk0p5       30701       398    28010    2% /media/pi/SETTINGS

/media/pi/outhdd
にマウントされているようなので

デバイスもしくはリソースがビジー状態です

を参考に
umount コマンドでアンマウント

umount -f /media/pi/outhdd/

そして再度

wipefs -a /dev/sda1

とすると成功

次にパーティションの新規作成

fdisk に関しては
fdisk でパーティションのサイズを変更する

を参考に

fdisk /dev/sda1

を実行すると

Changes will remain in memory only, until you decide to write them. Be careful before using the write command.  Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0xe590c949.

となるので
n を入力し Enter

Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 

となるので、そのままEnter

Partition number (1-4, default 1): 

となるので、これも Enter

First sector (2048-1953520001, default 2048): 

も Enter

Last sector, +sectors or +size{K,M,G,T,P} (2048-1953520001, default 1953520001):

もEnter

これで

Created a new partition 1 of type 'Linux' and of size 931.5 GiB.

Command (m for help): 

とでたら
p を入力するとパーティーション情報が表示される

今回は

Disk /dev/sda1: 931.5 GiB, 1000202241024 bytes, 1953520002 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
Disklabel type: dos
Disk identifier: 0xe590c949

Device      Boot Start        End    Sectors   Size Id Type
/dev/sda1p1       2048 1953520001 1953517954 931.5G 83 Linux

Command (m for help): 

これで設定反映のため
w とすると

The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: 無効な引数です

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

となってしまう

エラーメッセージから検索したところ
37.3. パーティションの作成と削除
https://www.turbolinux.co.jp/products/server/11s/user_guide/partition.html
によれば再起動が必要とのこと

再起動前にフォーマットやマウントをしておきたいので

mkfs.ext4 /dev/sda1

を実行

Found a dos partition table in /dev/sda1
Proceed anyway? (y,N)

となるので y を入力

次に外付けHDDのマウント先を作成し
マウント

mkdir /mnt/hdd
mount /dev/sda1 /mnt/hdd/

外付けHDDを ext4 でフォーマットしているので

blkid /dev/sda1

で確認

結果

/dev/sda1: UUID="96cc41c9-808c-4851-83f5-53bdfa487787" TYPE="ext4" PARTUUID="c675b7b1-01"

となっているので

nano /etc/fstab 

で設定ファイルを開き

最終行に

UUID="96cc41c9-808c-4851-83f5-53bdfa487787"     /mnt/usb1       ext4    defaults 0 0

を追記

あとは設定反映のため再起動するので

reboot

を実行

これで

 df 

を実行し
マウントされていればOK

今回だと

ファイルシス   1K-ブロック     使用    使用可 使用% マウント位置
/dev/root         26651708 11079248  14195592   44% /
devtmpfs            468084        0    468084    0% /dev
tmpfs               472692        4    472688    1% /dev/shm
tmpfs               472692    12452    460240    3% /run
tmpfs                 5120        4      5116    1% /run/lock
tmpfs               472692        0    472692    0% /sys/fs/cgroup
/dev/mmcblk0p6       66528    22541     43988   34% /boot
/dev/sda1        960379088    77852 911446852    1% /mnt/hdd
tmpfs                94536        0     94536    0% /run/user/1000

というかんじ

次に samba 用フォルダ作成

mkdir /mnt/hdd/share
mkdir /mnt/hdd/share/family
chmod -R 777 /mnt/hdd/share/

次に設定ファイルの編集
ここからは使い慣れた vim で編集していきます

vim /etc/samba/smb.conf 

で設定ファイルを開き
/global で検索し
25行目あたりに

dos charset = CP932
unix charset = UTF-8
guest account = pi

を追加

なお、vim の場合 ctrl + shift + v で貼り付けが可能

そして
shift + g で最終行に移動し

[ファミリー]
        path = /mnt/hdd/share/family
        writable = yes
        guest ok = yes
        guest only = yes
        create mode = 0777
        directory mode = 0777

として保存

これで

service smbd restart

でSamba の再起動をすることでファイル共有が可能に

Ubuntu 16.04 の場合
エクスプローラで
ネットワークをクリックすると
RASPBERRYPI
と表示されるので

これを
クリックして今回設定したフォルダをクリックすると
ユーザ認証になるので
ユーザ名 pi
パスワード ラズパイ3のパスワード
とすることでログインしてファイル共有することが可能になります

wordpress の Mysql DB バックアップと Maria DB へのインポート

wordpress の Mysql DB バックアップと Maria DB へのインポート

GMOクラウドで構築した wordpress から
ConoHa VPS へ移行するため
mysql のバックアップを行う

WordPressサイトの移行手順まとめ(mysqldumpから別環境移行まで)

を参考にやってみる

DBの内容が多かったのが原因なのかは不明だけど
プラグインで実行しようとしたらできなかったので
mysqldump コマンドでバックアップすることに

データ容量が大きい場合,bzipでは圧縮は比較的早いが解凍に時間がかかるため
gzip を使ったほうがいいらしい

MySQLでバックアップ&圧縮をまとめて行うコマンド

でも バックアップと圧縮をパイプでまとめて行っている

バックアップのためのディレクトリを作成したいので

mkdir -p /var/www/backup/db_bak
chmod 777 /var/www/backup/db_bak

で作成して

個別のDBバックアップ圧縮なら

mysqldump -u username -h localhost -p databasename | gzip > mysqldump.sql.gz

すべてなら

mysqldump -u username -h localhost -p -A | gzip > mysqldump.sql.gz

でできるようだ

なお、復元に関しては
解凍&復元を同時に行う(zcat+mysql)

zcat mysqldump.sql.gz | mysql -u username -p databasename

とあるのでこれを行うには
zcat が必要になりそう

–all-databases  は
mysqldump のオプションで
全DBバックアップという意味

とりあえずバックアップしたファイルを sftp でダウンロード

今回は
mysql_backup_20181011.dump.gz
というファイルにしてダウンロード

mysql を MariaDB にインポートするので
後々問題になったときのため
バージョンを調べておくことに

/usr/local/mysql/bin/mysql --version

で調べたら

/usr/local/mysql/bin/mysql  Ver 14.14 Distrib 5.5.27, for Linux (x86_64) using  EditLine wrapper

なので
ver 5.5.27 みたい

次に

scp -p mysql_backup_20181011.dump.gz snowpool@サーバIP:/home/snowpool/

で公開鍵認証 scp で圧縮ファイルを転送

念の為
MariaDB のバージョンを

mysql --version

で確認したら

mysql  Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1

またmysql のホスト名の違いについては

show variables like 'hostname';

で確認

DB全部バックアップしたものを復旧するなら

 mysql -u root < /vagrant/dump.sql

でよさげなので
MariaDB のデータを mysqldump でバックアップ・リストアする

を参考に実践

単純に

 zcat mysql_backup_20181011.dump.gz | mysql -u root -p

でできた

これで mysql のデータを maria DB にインポートできたので
次は virtualhost の設定をして
wordpress のインストールを行います

Ubuntu 16.04 LTS の準備

https://www.ubuntulinux.jp/News/ubuntu1604-ja-remix
へアクセスし
ISOイメージをダウンロード

今回は
北陸先端科学技術大学院大学

経由でダウンロード

次にISOイメージをDVDへ書き込み

書き込みには Ubuntu にインストールした k3b を使用

k3b を起動し More actions… をクリック

k3b

Burn Image をクリックし
空DVDをいれて

start をクリック

k3b2

あとは終了をまって close をクリック

k3b3

これで インストールDVDは準備OK

次にバックアップのための外付けHDDの準備

もし、重要データがあっても、バックアップがあれば復元可能

Linuxで外付けドライブをマウントがどうのこうの
http://nu-pan.hatenablog.com/entry/20140508/1399534550

を参考に実行し、ディスク情報の確認

sudo parted -l 

を実行

fdisk だと 2TB 以上のものは使えないようなので

モデル: ATA WDC WD10EARX-00N (scsi)
ディスク /dev/sda: 1000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  992GB   992GB   primary   ext4              boot
 2    992GB   1000GB  8570MB  extended
 5    992GB   1000GB  8570MB  logical   linux-swap(v1)


モデル: I-O DATA HDCZ-UT (scsi)
ディスク /dev/sdf: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前                          フラグ
 1    17.4kB  134MB   134MB                     Microsoft reserved partition  msftres
 2    135MB   3001GB  3000GB  ntfs              Basic data partition          msftdata

mkfsコマンドでUbuntuのハードディスクのフォーマットを端末から実行する

http://ubuntuapps.info/blog-entry-691.html

を参考に

次に

df -h 

を実行し、残りの容量と、使用可能な容量を確認

使用可能な容量は Avail
使用している容量については Used に表示される

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           797M  1.4M  796M   1% /run
/dev/sda1       909G  421G  443G  49% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            3.9G  352K  3.9G   1% /run/shm
none            100M   56K  100M   1% /run/user
/dev/sdf2       2.8T  174M  2.8T   1% /media/snowpool/HDCZ-UT

今回の結果はこのとおり
とりあえず現状では半分使用していてまだ余裕がありそう

次にフォーマットしたいデバイス、今回は外付けHDDで
パスが /dev/sdf2 をアンマウント

 sudo umount /dev/sdf2 

次にファイルシステムの種類を
mkfs.ext4 でext4 でフォーマットし
-L オプションを使ってラベルを設定

sudo mkfs.ext4 /dev/sdf2 -L "UbuntuBackup"

これでフォーマットはできたけど
このままだと root のみしか使えない

hdd

なので

sudo chown snowpool /media/snowpool/UbuntuBaup/

を実行し
権限を変更することで、読み書き可能となりました

webサービス開発の準備

webサービスの開発と Android クライアントアプリを作成するため
環境を用意したいけど、ノートPCのHDDがすでにいっぱいのため
一度バックアップとってから初期化することに

なお、デスクトップもバックアップしようとしたけど
両方合わせると容量は2GB必要なため
USB 3.0対応の外付けHDD を購入することにしました

今回購入したのは

なお、電源をとろうとしても
すでにコンセントがいっぱいのため
コンセント差し込みの部分が稼働するものを購入

これで到着後に外付けHDD にデータをバックップ後
ノートパソコンを現状の Ubuntu 14.04 から
Ubuntu 16.04 LTS に変えようと思います

バックップ完了後、vagrant + virtualbox のインストール
を行い、centos 3台のサーバ構成を実験予定です

なお、開発する言語は php rails android python の予定になります

今後の予定では Ansible を使って
再度 環境構築するときに面倒にならないようにする予定です