ページ

2019年6月8日土曜日

Raspberry Pi にデータベースを構築する【MySQL,MariaDB】

【2021.2.7 記事修正】

データベースとしては,使い慣れたMySQLを選択したかったが,Raspbian では MariaDB(MySQL互換) が推奨されているので,MariaDB で構築する.

■インストール及び起動
(1)MariaDB をインストールする.(コマンドでは,mysqlと書いているが,mariadbが導入される.)
$ sudo apt install default-mysql-client default-mysql-server

(2)MariaDB を起動する.(コマンドでは,mysqlと書いているが,mariadbが起動する)
$ sudo systemctl restart mysql

2019年6月2日日曜日

crouton を使って Chromebook で Linux を使う話

残念ながら私の愛用している C100PA は,crostini に対応していないので,crouton を使って Linux 環境を構築する.

1.まずは,https://goo.gl/fd3zc にアクセスして,crouton をダウンロードする.

2.次に,crouton を使って,現在使用可能なディストリビューションとパッケージを確認する.
(このページを読んでいる人は,すでにデベロッパーモードにしていると思われるのでその辺の手順は省略する.)

ディストリビューションの確認
$ sudo sh -e ~/Downloads/crouton -r list
Recognized debian releases:
    potato! woody! sarge! etch! lenny! squeeze! wheezy jessie stretch buster sid
Recognized kali releases:
    moto! kali! sana! kali-rolling
Recognized ubuntu releases:
    warty! hoary! breezy! dapper! edgy! feisty! gutsy! hardy! intrepid! jaunty!
    karmic! lucid! maverick! natty! oneiric! precise! quantal! raring! saucy!
    trusty utopic! vivid! wily! xenial yakkety! zesty! artful* bionic*
Releases marked with ! are upstream end-of-life, and should be avoided.
Releases marked with * are unsupported, but may work with some effort.

メッセージに表示されているように,!マークと*マークは避けたほうが良いので,今回は ubuntu の xenial を選択する.

2019年5月26日日曜日

Subversionで直前のコミットを取り消す.

間違えてコミットしてしまった!という状況の回復.

まずは,作業ディレクトリを最新の状況にして,リビジョンを確認する.
$ svn update
Updating '.':
At revision 354.

リビジョン354を取り消して,353に逆マージする.(ここでは,リビジョン354でコミットしたClassAというクラスの作成を取り消している.最後のドットを忘れないように注意)
$ svn merge -r 354:353 .
--- Reverse-merging r354 into '.':
D    ClassA.h
D    ClassA.cpp
--- Recording mergeinfo for reverse merge of r354 into '.':
 U   .
--- Eliding mergeinfo from '.':
 U   .

これをコミットすれば作業完了(念の為,コミットする前にビルド&動作確認とかしておくと良い.)
$ svn commit 


また,ファイル単位で元に戻したいときは,以下のようにすればファイル単位での修正も可能.
$ svn merge -r 354:353 ClassA.h 
--- Reverse-merging r354 into 'ClassA.h':
D    ClassA.h
--- Recording mergeinfo for reverse merge of r354 into 'ClassA.h':
 U   ClassA.h
--- Eliding mergeinfo from 'ClassA.h':
 U   ClassA.h

以上.

2019年5月24日金曜日

OpenSSLで簡易的なファイルの暗号化/復号化

ファイルの暗号化・復号化を簡単にできないかとぐぐったらOpenSSLを使えば,一発でできることがわかったので,備忘録として残す.

暗号化
$ openssl enc -e -in INFILE -out OUTFILE -salt -k PASSWORD -aes-256-cbc 

復号化
$ openssl enc -d -in INFILE -out OUTFILE -salt -k PASSWORD -aes-256-cbc

以上.

2019年2月26日火曜日

【svnadmin dump】Subversionのリポジトリを別のサーバーに移行する.

svnserveを走らせているRaspberry Piに最新版のOSを再インストールするためなので,移行というよりバックアップ/リストアの方が近いが,やることは同じなのでサーバー間の移行として備忘録に残す.今回,使用するコマンドはsvnadmin dump及びsvnadmin load.実際の手順は以下の通り.

まず,リポジトリが保存してあるサーバでリポジトリをダンプする.
$ svnadmin dump ./repos/Project > svn.dump 

これを別のサーバーにコピー.(svn.dumpの容量が大きいときは先に圧縮したほうが良いだろう.)
$ scp svn.dump <別のサーバのIP>:~/

コピー先のサーバーでも同様にディレクトリを作成.その後,リポジトリを作成する.
$ mkdir -p repos/Project
$ svnadmin create ./repos/Project

最後にコピーしたダンプファイルを取り込む.
(途中,過去のコミット履歴が表示されるので,懐かしい気持ちで取り込みが完了するのを待つ.)
$ svnadmin load ./repos/Project < svn.dump

取り込みが完了したら,問題なく完了しているか試しにチェックアウトしてみる.
$ mkdir tmp
$ svn co file://localhost/[リポジトリを作成したパス]/repos/Project ./tmp/

調べる前はもっといろいろと手順があるかと思っていたが,とても簡単だった.サーバー間の移動だけでなく,リポジトリのバックアップをcronで回してみるのも便利だと思う.

2018年11月4日日曜日

Amazon Echo と Raspberry Pi を Node-RED Alexa Home Skill Bridge で連携させて声でパソコンを起動したりシャットダウンしたりする.

ひと昔前の映画なんかで役者の「〇〇を起動して!」と言う台詞に合わせて,テレビやラジオが起動したりするシーンがよくありましたが,そういうことが現実にもできるようになってきたので構築してみました.



今回活用したサービス/デバイスは以下のラインナップです.

・Amazon Echo Dot(声帯認識)
・Raspberry Pi(Wake On LANコマンド及びSSH越しでのShut Downコマンドの実行)
・Node-RED Alexa Home Skill Bridge(Amazon Echo DotとRaspberry Piの橋渡し)

それでは構築手順を紹介します.

2018年6月29日金曜日

メタリックナノパズル スターウォーズシリーズまとめ

スターウォーズシリーズが,かなりたくさんあるので,まとめてみた.