概要 owncloudとLet’s encryptでDropbox代替サービスを構築した。しかし、LAN内部ではドメインでの名前解決が出来ない。hostsファイルの編集では、外部ネットワーク(大学など)への接続時再編集が必要で面倒だ。そこで、内向きのdnsサーバーを立てることにした。bindは面倒なので、簡易的にdnsmasqを用いた。結果、dnsサーバーの/etc/hostsを編集するだけで名前解決が出来るようになった。**設定が悪いのか、名前解決したいサーバーとは別にセットアップする必要があった。**サーバーxに対して名前解決したいときは別のサーバーyにdnsサーバーを導入する必要があった。これは今の時代、仮想環境でどうとでもなるがちょっとめんどくさかった。
dnsmasqについて dnsmaskは簡易的なdnsサービスを提供する。名前解決のテーブルに自身の/etc/hostsを用いることが特徴的である。bindのように正引き・逆引きのファイルを作る手間もいらない。自身で解決できなかったドメインに関しては、上位のdnsサーバーで名前解決を試みる。従って、CentOSのネットワークカードに適切な上位dnsを設定しておくことが必要である。
サーバー環境 VirtualBox仮想環境に構築した。OSはCentOS7を用いた。IPアドレスは手動で設定され固定されている。また、上位DNSとして用いるDNSサーバーアドレスが適切に設定されている(ルーターやISP等のアドレスが指定されている)。
dnsmasqのインストール 最小インストール時にすでに導入されている
firewalldの設定 ゾーンはpublicで、ポート53を開放
#firewall-cmd --permanent --zone=public --add-port=53/tcp
#firewall-cmd --permanent --zone=public --add-port=53/udp
/etc/dnsmasq.confの編集 #nano /etc/dnsmasq.conf
変更箇所
port=53(#port=5353になっているのを変更)
domain-needed(コメント外し)
bogus-priv(コメント外し)
/etc/hostsの編集 #nano /etc/hosts
192.168.1.10 xxx.yyy.com の形式で編集する。最初から記載されている2行は変更しない
起動 OS起動時自動的に立ち上がるように設定する。
#systemctl enable dnsmasq
#systemctl start dnsmasq
ルータの設定変更 配布するDNSサーバーのIPアドレスを設定したDNSサーバーへ変更する。これは、各端末のネットワークカードの設定を個別編集してもよいが、外出時など環境が変わる可能性があるマシンがある場合は、一括してルータの設定を変えたほうが便利だ。
完成 nslookupなどを用いて正常に名前解決できているか確かめる。
概要 以前はまだパブリックベータで安定していなかったLet’s encryptだが、とうとう正式版が公開されたらしい。ちょうどOwncloudサーバーを作り直したかったし、どんなもんじゃいと導入してみた。既存の無料SSL発行サービスではかなり良い使い勝手であった。証明書の導入はクライアントの実行だけでよかった。15分も有れば導入可能だった。その際apacheを一時停止する必要がある。証明書の期限が比較的短く(60〜90日で切れる)、継続的な更新が必要である。cronで定期的にスクリプトを実行すれば良さそうだ。
0.サーバー環境 CentOS7+apacheを想定している。必要に応じて、phpやmariadbなどが導入されている。
1.Firewalldの設定 設定済みの場合、飛ばす。
#firewall-cmd --add-service=http --zone=public
#firewall-cmd --add-service=https --zone=public
#firewadd-cmd --reload
2.apacheの停止 Let’s encryptクライアントが80番ポートで通信するため、予め停止しておく
#systemctl stop httpd
3.Let’s encryptクライアントの導入 gitからクローンしてくる。
$git clone https://github.com/letsencrypt/letsencrypt
cd ./letsencrypt
./letsencrypt-auto --help
4. Let’s encryptクライアントの実行 yourdomainに自身のドメイン名を入力する。
メールアドレスの入力画面が出てくるので、入力する。規約に同意する。
./letsencrypt-auto certonly -a standalone -d yourdomain
5.確認 下記ディレクトリに証明書がインストールされたか確認する。以下のパスに最新の証明書のシンボリックリンクが作成されている。
/etc/letsencrypt/live/yourdomain/
6.SSL.confの変更 SSL.confを開く
$sudo nano /etc/httpd/conf.d/ssl.conf
SSLCertificateFile、SSLCertificateKeyFile、SSLCertificateChainFileの項目を適切に変更する。_yourdomain_部分を自身のドメイン名に変更して入力。
SSLCertificateFile /etc/letsencrypt/live/yourdomain/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/yourdomain/chain.pem
7.apacheの起動 #systemctl start hpptd
8.完了 これで全ての手順は完了。非常に簡単にSSLの導入が出来た。Let’sencryptで導入できるSSLは、一般ユーザーにもSSLを広めようと言うありがたい活動のお陰で使用できるようになっている。審査方法で言えばドメイン認証型で、証明書には組織情報などは記載されない。従って、簡易なサービスやプライベートサービス、一般リリース前のテストなどに適している。また、定期的(60日程度)に一回、証明書の更新が必要になってくる。apacheを停止し、クライアントを再度実行すれば自動的に更新される。
9.リンク とてもわかり易かった。本記事は、下記参照先に加え。sslの設定を加筆したもの。
Let’s Encrypt の使い方 10.Appendix SSLの脆弱性に対応するため、sslv3などの脆弱性を抱えたプロトコルでの通信を制限する。
世の中には、自分のやりたいとそのままやってくれる人がいるんだなあ…。
Linux CentOS5】ディレクトリ階層に分けて置かれた複数のファイルを条件指定で抽出し、別のディレクトリにまとめてコピーする【xargsと、cpコマンドの組み合わせ】
find ./ -type f -print0 -name "*.拡張子" | xargs -0 cp -v -b -t /コピー先
exiftoolのインストール 写真をexif情報見て仕分けてディレクトリまで作れたら楽なのにな−と思っていた。まあ、Lightroom使えば一発だけど、凄く古いバージョンしか持ってないし、今はどうか知らないけれど、その頃のLightroomはファイル数が多くなるとカタログがどんどん重くなるし、キャッシュファイルはガンガン作るしであんまりいい印象ない。仕分けだけ淡々としてくれるツールを探していたら有った。exiftoolと言うらしい。どうやらPerlで書かれているような感じだ。
Exiftools で写真データのリネーム&整理をスマートにより、
brew install exiftool
お気に入りの設定 リネーム
exiftool ‘-FileName < CreateDate’ -d %Y-%m-%d_%H-%M-%S%%-c.%%e *
ディレクトリ仕分け
exiftool ‘-Directory < CreateDate’ -d %Y-%m-%d *
NASが手狭になってきたしそろそろ新しい物を。ということでNASを新調することにした。ちょうどいいところに、友人が購入後数百時間で乗り換えた104が余っているというので、格安で譲っていただいた。(感謝しています。ありがとう)
セットアップ 物理的なセットアップは非常に簡単。HDDスロットに4本、HDDを差し込むだけで終了する。104はNAND Flash領域にOSを持っているため、某Bッファローや、Iまるデータみたいに、専用のHDDを用意する必要は全く無い。今回は予算の都合で、WD Blue を4台購入した。1件目の店で4台揃わなかったため、構成としては
WDEZRZRT3台 WDEZRZ-RT一台 の合計4台、8TBの構成となった。raid構成は、raid6とした。raid6は、パリティビットの領域としてディスク2台分を消費するため、HDDの故障2台までは対応が可能。
HDDの故障 導入後約一週間でHDDが故障した。初期不良と思われる。故障したのはWDEZRZ-RT、これだけ別店舗で購入したものであった。相性が悪かったのか。とりあえず、HDD自体は30日間初期不良対応で交換済みなので、ここでは、HDD故障に気が付きまで〜交換までをまとめる。
NASからの不穏なメール
ReadNASでは、管理用のメールを送信することが出来る。(SMTPサーバーの設定が必要)メールが送られてくるタイミングは色々変えられるが、電源のON,OFF時や、HDDのエラー発見時などに送られてくる。はじめ、NASから下記のようなメッセージが送信されてきた。 「Volume raid6 is Degraded.」
raid6というのは構築しているボリューム名。直訳だと、Volume raid6が劣化しているという感じになる。そして、間髪入れずにNASがからメールが届く。
「Detected increasing ATA error count: [221] on disk 3 (Internal) [WDC WD20EZRZ-00Z5HB0, WD-WCC4M1EUJPJP] 3 times in the past 30 days. This condition often indicates an impending failure. Be prepared to replace this disk to maintain data redundancy.」
disk3で、過去30日に3回エラーが出ているので、交換を推奨。という内容のメール。このエラー報告は何通も届き、届くたびにエラー数が増えていっていた為、HDD初期不良と判断。恐らく不良セクタだと思われる。
液晶画面の表示
液晶画面にも、「Degraded」と表示される。液晶のバックライトが点滅し、わかりやすいようになっている。
HDD交換
HDD自体は、ホットスワップに対応しているため、電源を入れたまま抜き取ることが可能である。弟に依頼し購入店まで車を走らせ、代替品をゲット。セットアップ時と同様に装着する。
リビルト
リビルトは自動的に始まる。この時、NASのステータスはこのような感じになる
予定リビルト所要時間が表示されていたので、参考に掲載する。
44時間、ほぼ丸2日かかる計算になる。
raid5だと、一つのraidアレイの故障から、芋づる式にraidが崩壊することが多いという。raid6のほうが、まだマシという某店員さんの言葉は本当だったのだなあと妙に納得。
エラーログ
NAS管理画面からエラーログが取得できたので掲載
感想
SquashFSとは ファイルのバックアップ用ファイルシステム 特定のディレクトリを、イメージファイルへ圧縮 圧縮したファイルをマウント可能(リードオンリー) たとえば、このような用途が想定される。
比較的容量が大きく、そしてファイル数も多量にあるディレクトリがある
しかし、そのディレクトリはあまり使われていない。
よって、普段はイメージファイルに圧縮してバックアップを取り、必要に応じて参照したい。
ついでに、重要なファイルも多いためリードオンリーでマウントしたい。
私の場合は、鳥人間現役時代のファイル(700GB程度)をアーカイブ化するために用いた。もちろん、そのままNASにrsyncしてもいいのだと思う。しかし、ファイル数が多く、セクタサイズより小さいファイルも結構有ったため、馬鹿正直にバックアップを取るには正直面倒。かといってtarにしてしまうと、ファイルを参照する際いちいち展開しなければならずそれもまた面倒…。ということで、第三の道を探ったらここにたどり着いた。
インストール方法 yum install squashfs-tools
等。aptでも同様のパッケージ名だと思われる。
Macでのインストール方法 brew install squashfs
簡単な使用方法 mksquashfs /圧縮元 /圧縮先 -comp gzip
この場合圧縮先へgzipで圧縮される。圧縮方式はxz,gzip,lzoなどから選択可能。
###圧縮方式の比較
圧縮率での比較: xz<gzip<lzo 展開速度での比較:lzo<gzip<xz 全体のバランスを考えるとgzip辺りにしておくのが無難らしい。
圧縮してみた 実際に圧縮してみたところ、元フォルダの75%程度の容量となった。822GBが619GBまで圧縮できたのでかなり優秀と言えるのでは。バックアップも取りやすくなった。
マウント方法 mount -o loop /バックアップファイル /MountPoint/
ファイルをあたかもデバイスのように見せかけることをループバックマウントと言うらしい。
MacOSXでのマウント これがちょっとめんどくさい。MacOSでは標準でSquashFSをサポートしていないらしい。そこで、MacFuzeを経由したマウント方法になる。もしかしたら、カーネルにsquashFSが入っていないLinuxとかでも応用できるかもしれない。要するにNETGEARのReadyNASとか。
前提条件
導入のために、automake libtool autoconfの導入が必要。Homebrewから導入可能。
MacFuze(OSXFuze)のインストール ココからインストーラーを落としてきてインストール。
squashfuseのコンパイル&インストール なお、コンパイル時に導入するコマンド群のインストールのため、予めhomebrewが必要になってくる。インストール方法は
git clone http://github.com/vasi/squashfuse
./autogen.sh configure``
make
makeまで終わったら、パスが通っている位置に、squashfsをコピーする。
導入のために、automake libtool autoconfの導入が必要。
ここまで済んだら、やっとマウントできる。
バックアップの生成 mksquashfs DIRECTORY ARCHIVE
マウント squashfuse /アーカイブファイル /マウントポイント
アンマウント umount MOUNTPOINT(Mac,BSD)
fusermount -u MOUNTPOINT(Linux)
重要な注意点
先日愛用のiPod Classic 4thが故障してしまった。発売日は2004年位だったはずなのでよく持ったものだ。まあハードオフに転がっていたものをそのまま使っていただけだが。ストレージを変えればまだ使えるとは思うが、この辺でお役御免にしたい。そこで、あらたなプレーヤーを比較検討したがグッと来る製品はない。AppleはiPodClassicの生産をとうに終了していて最終モデルの新品はわけが分からんくらいプレミアが付いているし、walkmanは容量の割に割高で、外部ストレージと内部ストレージは別々に管理する仕様だという。そのへんなんとかならなかったのかよと思いつつ、発想変更。クラウド化で行こう。
サーバー上にmp3等の音楽データを貯めこみストリーミングするサービスは色々ある。WindowsやMac等のクライアントにサクッと導入できるものも昔はあった。Audiogalaxyだったような…。しかし、そういう便利系サービスは今無いみたいなので、Linux環境に導入できるものを探した。ホスティングマシンのスペックを下記に示す。
機種名 CF-R5 HDD 160GB メモリ 1.5GB CPU Intel CoreSolo U1300 OS CentOS6.7 楽曲ファイル容量 約45GB SubSonic http://www.subsonic.org/pages/index.jsp
本家サイトはコレ。JAVAで実装してあるらしい。APIを持っており、クライアントアプリの開発が可能らしい。WEB上のUIはダサい。そして、リモートアクセスAPIを使うには課金が必要。月1$程度らしく、別に払ってもいいがいつサービスが消えるか分からんので却下。
Ampache http://ampache.org/
本家サイトはコレだと思う。機能的にはSubSonicと同じ。ただ、php+Mysql+Apache環境まあ要するにLAMPを整えなくてはならなくてめんどくさそう。以前トライした時は、大量のファイルを突っ込むと動作が不安定になった気が…
なお、両者のサービスを比較しているサイトが有り、参考にした。
http://bokuma.seesaa.net/article/353572052.html
SuperSonic Subsonicのパクリクローンらしい。ライセンス的には問題ないらしい。ホントかよ。GitHubにコードが公開されているのでビルドして使えってことなんかな。理由はともあれ、絶対アレだろ、SubSonicに課金したくない勢か、SubSonicの組織力(いつ潰れるかわかんね)に疑問持った勢が運営してるだろコレ。まあ、突っ込むのはこの辺にして、今回導入するのはこいつにする。APIも本家SubSonicと完全互換っぽいぞ。
https://github.com/Mach5/supersonic
導入 導入に関しても色々書こうかと思ったが、秀逸な記事を発見した
http://lab.aratana.jp/entry/2015/01/14/181229最後のコンパイルでエラーが出る.
http://geek.3101.me/server/supersonic-on-centos7/ここを参照して、最初からrpm-build入れておけばよかったようだ。
使用感 意外にさくさく動いている。所有している楽曲はおおよそ30GB位だが特に問題なく転送完了(この辺はryncをうまく使う)
楽曲コピー時、うまくいかない場合がある。どうやらSuperSonic(SubSonic)はファイルの更新日時を見ているらしい。タイムスタンプをいじらずコピーしなければならない。http://ryogan.org/blog/2012/11/01/%E3%81%95%E3%81%8F%E3%82%89-vps-%E3%81%AE-debian-squeeze-%E3%81%AB-subsonic-%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/を参照すると、
でうまくいきそうだということがわかる…のだが、あまりうまく行っていない…。
Ampache入れようかな?
これは何をするものか 自宅外に設置し、接続されたデバイス全てが、論理的に自宅のネットワークに、Layer2で接続されているように見せかけるデバイス →自宅のHUBに接続したように見せかけるツール どういった要求に答えられるか VPNのつなぎ忘れ回避 繋いだ瞬間からVPN接続されているため、回線提供側の事情を把握する必要なし。 無線APも使える。もちろん自宅に(ry 監視されたネットワークでも自由に使える(学内FW回避) 仮想L2接続なので、論理的には自宅にいるのと全く同じ。 従って、iTunes ホームシェアリング・DLNA・Magic Packet等、通信プロトコルに制限が無い 多分中国行った時相当便利 TF時のネットワーク拠点などにも使える(上流にWiMaxを使う) なぜ作ったか 鳥人間時代のTFで不便だったから(ファイルのコピー忘れ、普段と違うネットワーク、DropBoxの容量不足…おちおち帰省も出来ない) 学内ネットワークに晒すと自機が他人に丸見え 大学のセキュリティ意識が低すぎてウイルス蔓延 VPNをセットアップできない端末への対応(Androidなど、切れると再接続しない機器に、どう対処するか?) 実家に送りつけて一発で下宿へ繋がるデバイスが欲しい VPN接続忘れが多発 大学はグローバルIP付与のため速攻で個人が特定可能。やましいことはしていないが…極稀にFWにかかることがある。気まずい 大学にマシンを置いて自宅で使いたい 電気代節約,L2TP接続ではiTunesやDLNAのパケットが通らない このデバイスを使えば理論上大学にサーバーが置ける(スループットは無視) 素材 GS908GT…アライドテレシスのGBE-HUB。内部的にはギガビットで通信できる仕様にしたかった。コレは、旅先で複数台のマシンを使うことが想定されている。ハードオフで500円。中身スカスカで使いやすい Raspberry Pi 2…SoftEtherのスループット重視で選び、2世代目をチョイス LAN-TXU2C(有線側)…USB2.0-100baseアダプタ。ラズパイのスペック的に100Mbpsは出ないのでコレで十分。その辺にあった GW-USMicroN(無線側)…6年くらい前からアキバで大量放出されいる。未だに売れ残っているショップが有る。机の中から発掘 シリアルコンソール:秋月電子 TTL-RS232-3V3 その他…LANケーブル延長コネクタ(100均),スマートフォン充電アダプタ(100均),LANケーブル(きしめんタイプ) 機材構成 ソフト環境 OS:Debian-Weezy VPNソリューション:SoftEther(フリー版)、自宅へ接続し、仮想VPN HUBへカスケード 無線LANアクセスポイント:hostapd ファイアウォール:ufw 今後の改良点 コンソールを有機EL-LCDに表示したい 電源ブチギリ対応化(Read-onlyマウント) DC電源対応 5V電源をCOSELのレギュレータ(5V2.4A)へ変更 まともなヒートシンクの制作&オーバークロック マウントしたUSBディスクを一括で指定場所にコピーする機能の実装 USB充電端子の装備(USBレセプタクル…既成品などを使う) まともなフロントパネルの制作 WAN側回線にAndroidを使用可能にする Raspberry Pi Zeroを用いて、LTE回線専用モデルの試作 シリアルコンソールにまともなコネクタを装着(3.5ステレオミニジャック予定)
このエントリを書くきっかけ 大昔頂いたPC(工人舎SC)にWindowsログオンパスワードがかかっていた。DtoDリカバリの起動方法もわからない。というより、WindowsVistaモデルだったのになぜかWindows8が入ってる!。元の持ち主に聞いたところ、きちんとパスワードを設定したつもりが、ある日突然ログオンできなくなったとのこと。理由は不明。原因として、例えばNumLockが入りっぱなしでパスワードを変更してしまったなどというものも考えられるが、本人曰くそういうわけでもないという。結局いただき物だし、ドライバは公式WEBから入手可能だしということで、再インストールになった。
もう少し記憶を巻き戻すと、3年位前にも似たような質問を受けたことがある。その前は中学生の頃、WinNTサーバーにかけられたパスワードが分からないという相談だったと思う。おおよそ2年周期くらいで同様の問題が発生しているので、ここでエントリを書いておこうと思う。
重要な事項 下記に紹介してあるツールを、自分が管理しているマシン以外で実行してはいけません。
不正アクセス行為の禁止等に関する法律 下記の紹介していあるツールを利用すると、PCに重大なダメージを及ぼす可能性があります。
バックアップなど適切な処理を行ってからの実行をお勧めします。 データが救いたいだけの場合、たいていの場合、HDDを引っこ抜くなり、LinuxのLiveCDを用いれば救えます。わざわざこのようなツールを用いることもないです。ただ、場合によっては、新規の環境構築が大変手間な場合もあるので、そういう場合は有用かと。 Ophack Ophackは10年位前からある解析ツール。Windowsログオンパスワードのハッシュ値と持っているレインボーテーブルを参照して解析をおこなう辞書型攻撃と、総当り式で解析するブルートフォースアタックの二種が適用可能。ちなみにブルートフォースアタックは4文字以上実行できないようになっているので注意が必要。Vista以降はハッシュの形式が変わっており、解析対象によってバージョンを使い分けなければならない。また、Vista以降(7も可能だと思われる)のパスワードをリセットするためには別途レインボーテーブルが必要なのでこれも注意が必要である。テーブルのサイズは結構でかいので覚悟が必要。500GBくらいのディスクを用意すれば大体の辞書はカバー可能だと思われる。というか落とすまでに何日かかるんだっていう。ちなみに、WindowsXPまでに使用されているLMハッシュは即効で解析されてしまうが、Vista以降のNTLMハッシュはレインボーテーブルを読み込まなければならないの点に注意しよう。あと、解析対象のHDDをreadonlyでマウントせねばならない点も注意。その辺はライブCDにツールが付属している。
Trinity Rescue Kit こちらがGigazineへのリンクである。
http://gigazine.net/news/20120112-reset-windows-password/
使用方法はGigazineを参照するとして、こちらは解析ではなくリセットを行うツールらしい。
使いみち 前任の人が分けわかんないパスワード設定して居なくなってしまった 設定したパスワードのはずなのに、ログオンできない などなど
konaLinuxを使ってみる 鳥人間時代に愛用していたCF-R5が転がっていたので、サーバーとして復活していた。VPNサーバーとして重宝していたが、CPUがCoreSoloU1300というロースペックであり、64bitカーネルが動作しない。このままだと64bit版のphpが使えない。
phpは基本的に64bit版を用いないと2GB以上のファイルが扱えない。再コンパイルすることで32bit版でも動作できるらしいがやり方がわからない。悩んでいると更に押入れから、大学で拾ってきた液晶潰れのHP Pavilion dv6 を発見しサーバーは交代した。
サーバー機としてすら見捨てられたCF-R5だが、捨てるのはもったいないので軽いLinuxディストリビューションを検討した。
CentOS6 まず検討したのはCentOS6の最小インストールだった。そこそこ軽かったがUIが微妙。ことあるごとに足りないパッケージを補わなければならないのもマイナスポイント
LinuxBean Ubuntu系では最強に軽いLinuxBeanも検討した。(普段はよく採用するディストリだ)大学の先生でも難なく導入できる導入難易度の低さ、ウィザードに従っていればWineもChromeもFirefoxも、PDFリーダーも入ってしまうのはとてもお手軽。ただこいつもUIが微妙なので今回は別を検討する。
KonaLinux 国産の、珈琲好きが開発していると思われる。Debianベースで超軽い。現在の最新バージョンはdebian8ベースだが7ベースのKonaLinux2.3系が輪をかけて軽い。その中でもBlack版が最も軽い。起動直後の消費メモリは100MBを切っており、GoogleChromeを立ち上げた現在でも使用メモリは500MBを切っている。バケモノかと思うくらい軽い。おそらくPentiumIIIくらいのマシンでも快適に動作できると思われる。そしてUIが非常にオサレ。今回はKonaLinux2.3Blackを採用することにする。
インストール後に行ったこと KoneLinux2.3は、標準では非PAE環境であるので、PAE環境であるので対応機(大体CoreSolo以降〜PentiumMはアウト)では、導入後PAEカーネルを導入することが必要だった。探せばdebian公式のガイダンスがあるのでそちらを参照。その他、LibreOfficeやGoogleChrome,定番のmozcやLibreOfficeなどを導入し、好き好きに仕立てれば完成か?特にChromeは、Chromeアプリの形でLineがインストール可能なので導入しておくと色々便利かも。
所管 一番重たいのはネットサーフィンだというのが皮肉だ。結局今の時代、オフラインマシンというのはほとんど意味がないので。ただし、KonaLinuxの軽量さは抜群なので、ちょっと前のスマフォ並の速度は出る。出先でちょっとメール返すくらいなら耐えられそう。自分の小さいカバンにすっぽり入るサイズがちょうどR5なので、サブ機として大事に使って行きたい。スクエア液晶も意外と使いやすい。