BLOGTIMES
«Prev || 1 · 2 · 3 · 4 · 5 · 6 · 7 ·... | | Next»
2018/07/08

Ubuntu 18.04 で autofs を設定してみる

ubuntu1804 

Ubuntu から Windows のファイルサーバにアクセスしたかったので autofs を使って自動マウントされるようにしてみました。
最近の autofs には auto.master.d なんていうディレクトリが用意されていて驚きましたが、あとは普通の autofs の設定です。

# 必要なパッケージのインストール apt-get install -y cifs-utils smbclient autofs # 設定ファイルの作成 mkdir /etc/auto.master.d echo '/smb /etc/auto.smb --timeout 0' > /etc/auto.master.d/smb.autofs # ログイン用のID/PW格納ディレクトリの作成 mkdir /etc/creds chmod 700 /etc/creds # ログイン用のID/PWファイルの作成(サーバ名,username,passwordは要変更) cat <<EOF | sudo tee /etc/creds/server.example.jp > /dev/null username=hoge password=foobar EOF # ログイン用のID/PWファイルのパーミッション変更 chmod 400 /etc/creds/* # デーモンの有効化・再起動 sudo systemctl enable autofs.service sudo systemctl restart autofs.service # アクセスしてファイルの一覧が表示されることを確認 ls -l /smb/server.example.jp/share

    at 16:02 |
    2018/07/08

    cron-apt で Ubuntu を自動アップデートする

    ubuntu1804  systemmanagemant 

    最近、Ubuntu のサーバをセットアップする機会が多くなってきました。
    さすがにイチイチアップデートするわけにもいかないので、CentOS の yum-cron にあたる cron-apt をセットアップしてみました。

    単にインストールしただけでは、更新をダウンロードするのみで自動アップデートはされないことに注意が必要です。
    セットアップ手順は以下のような感じでしょうか。

    # 必要なパッケージのインストール apt-get install -y cron-apt # 設定ファイルの変更(自動更新されるように) sed -i 's/-d //' /etc/cron-apt/action.d/3-download echo 'autoremove -y' >> /etc/cron-apt/action.d/3-download # テスト実行 /usr/sbin/cron-apt # ログを見てエラーがないことを確認しておく less /var/log/cron-apt/log

      at 15:58 |
      2018/07/07

      Qrio Lock Q-SL2

      smartlock 
      Qrio Lock (キュリオロック) スマホで自宅カギを解施錠できるスマートロック Q-SL2

      国内のスマートロックの先駆けとなった Qrio Smart Lock Q-SL1 の新バージョン Qrio Lock Q-SL2 が 7 月 19 日に発売になるようなのでメモ。

      以下の記事にあるように、レスポンスがかなり強化されているのが特徴のようです。

      スマートロック「Qrio Lock」に高速レスポンスの新モデル--ハンズフリー解錠も実現 - CNET Japan

      Qrioは7月5日、スマートフォンを用いて自宅の鍵を開け締めできるスマートロックの新モデル「Qrio Smart Lock(キュリオスマートロック)Q-SL2」を発表した。現行機に比べ反応速度が8分の1になったほか、10%の低背化を実現している。

      確かに初代はかなりレスポンスが悪く、ポケットから鍵を出した方が早いという有様でした。僕は結局それに結局しびれが切れてしまい、Raspberry Pi 3B とマイクロサーボモーターを使った自作のシステムに移行してしまいました。新しいバージョンは現行版が遅くてストレスが溜まっている人にはいいかもしれないですね。


        at 18:44 |
        2018/07/07

        マネーフォワードで現在取得がうまくできないサイトの一覧

        accounting 

        しばらく前から支出の管理に使っているマネーフォワードですが、たまに連携先からの自動取得がうまくできないことがあって困っていたのですが、FAQ のわかり辛い部分に自動取得がうまくできていないサイトの一覧があることが分かったのでメモ。

        ウェブ画面では「一時的に利用できない状態」のような感じで表示されるのですが、これがマネーフォワードの問題に起因するのか、それとも連携先がメンテナンスなどで一時的に使えないだけなのか見分けがつかないので困るんですよね。ちゃんと分かっているならば、この一覧の情報をアプリにフィードバックしてくれるといいんですけど。


          at 14:24 |
          2018/07/06

          Ubuntu で静的 IP アドレスを使うには

          ubuntu1804  networking 

          Ubuntu 18.04 で DHCP -> 静的 IP への設定変更をしてみたので忘れないうちにやり方をメモ。

          最近の Ubuntu はネットワーク設定に Netplan を使っているので、静的 IP アドレスを設定するためには /etc/network/interfaces などではなく、/etc/netplan/*.yaml を変更してやる必要があります。

          この yaml が曲者なので、なるべく間違いなくコマンド一発で書き換えできる方法を考えてみました。

          yq のインストール

          yq は JSON を操作する jq コマンドをそのまま yaml 用にしたようなコマンドです。

          今回はエディタ等を使わないで yaml を変更したいので、以下の手順でこのコマンドを導入しておきます。

          add-apt-repository ppa:rmescandon/yq apt update apt install -y yq

          yq を使って /etc/netplan/50-cloud-init.yaml を書き換え

          Ubuntu 18.04 をインストールすると、/etc/netplan/50-cloud-init.yaml というファイルに設定が書込まれるようです。
          インターフェース名は場合によって変化するはずなので、今回はインターフェースが1つしかないということを想定して以下のようなスクリプトを組んでみました。

          cp -a /etc/netplan/50-cloud-init.yaml{,.org} cat << EOF | sed "s/#IF#/`yq r /etc/netplan/50-cloud-init.yaml network.ethernets | head -n1 | sed 's/://'`/" | yq w -i -s - /etc/netplan/50-cloud-init.yaml # DHCPを使わないように network.ethernets.#IF#.dhcp4: false # IPアドレス network.ethernets.#IF#.addresses[0]: 192.168.0.1/24 # デフォルトゲートウェイ network.ethernets.#IF#.gateway4: 192.168.0.254 # DNSサーバとドメイン network.ethernets.#IF#.nameservers.addresses[0]: 8.8.8.8 network.ethernets.#IF#.nameservers.addresses[1]: 9.9.9.9 network.ethernets.#IF#.nameservers.search[0]: example.jp # 静的ルート(あれば) #network.ethernets.#IF#.routes[0].to: 10.0.0.1/8 #network.ethernets.#IF#.routes[0].via: 192.168.0.253 EOF netplan apply

          コマンドを実行するとファイルの内容は以下のような感じで書き換わります。

          Before:

          network: ethernets: ens192: addresses: [] dhcp4: true optional: true version: 2

          After:

          network: ethernets: ens192: addresses: - 192.168.0.1/24 dhcp4: false optional: true gateway4: 192.168.0.254 nameservers: addresses: - 8.8.8.8 - 9.9.9.9 search: - example.jp version: 2

            at 20:00 |

            Ubuntu で sar を使う

            ubuntu1804 

            Ubuntu 18.04 に sysstat をインストールしてみたのですが、sar と打っても一向にステータスが表示されません
            RHEL系の OS と違って設定を変えないとシステムの情報を収集しないようになっているんですね。

            インストールから、情報収集の有効化までは以下のような感じで実行できます。

            apt-get -y install sysstat cp -a /etc/default/sysstat{,.org} sed -i -e 's/^ENABLED="false"/ENABLED="true"/' /etc/default/sysstat systemctl restart sysstat

              at 19:08 |
              2018/07/05

              Switch Bot をラズパイから制御してみた

              raspberrypi  python  smartdevice 

              さっそく Switch Bot を Raspberry Pi 経由で動作させてみます。
              今回は MQTT を使って連携をさせるので、Beebotteを使ってみました。

              準備

              実行に必要となる以下のライブラリをインストールしておきます。

              apt-get install python3-pip libglib2.0-dev pip3 install bluepy paho-mqtt

              サンプルコード

              書いたコードはこんな感じ。
              起動するとメッセージを待ち続けるようになっていて、メッセージが飛んでくると Switch Bot を動作させます。

              import paho.mqtt.client as mqtt import json import binascii from bluepy.btle import Peripheral TOKEN = "###ここにBeebotteのトークンを書く###" HOSTNAME = "mqtt.beebotte.com" PORT = 8883 TOPIC = "###channel名###/###resource名###" CACERT = "mqtt.beebotte.com.pem SWBOT_ID = "###Switch Bot の ID###" def on_connect(client, userdata, flags, respons_code): print('status {0}'.format(respons_code)) client.subscribe(TOPIC) def on_message(client, userdata, msg): print(msg.topic + " " + str(msg.payload)) data = json.loads(msg.payload.decode("utf-8"))["data"][0] p = Peripheral(SWBOT_ID, "random") hand_service = p.getServiceByUUID("cba20d00-224d-11e6-9fb8-0002a5d5c51b") hand = hand_service.getCharacteristics("cba20002-224d-11e6-9fb8-0002a5d5c51b")[0] hand.write(binascii.a2b_hex("570100")) p.disconnect() client = mqtt.Client() client.username_pw_set("token:%s"%TOKEN) client.on_connect = on_connect client.on_message = on_message client.tls_set(CACERT) client.connect(HOSTNAME, port=PORT, keepalive=60) client.loop_forever()

              参考

              ほぼほぼ以下の2つで紹介されているコードを単純に合体させただけのコードです。


                at 22:13 |

                ボタンを押してくれるロボット SwitchBot

                smartdevice 
                Switch Bot ボタンを押してくれる超小型指ロボット (ワイヤレス / スイッチボット)

                以前、物理的なボタンを押すためのスマートデバイスとして韓国 Naran 製のマイクロボット プッシュの紹介をしましたが、今回の SwitchBot もほぼ同様の機能を持ったデバイスになります。

                完成度やカスタマイズ性は圧倒的にこちらの方が上

                外観はマイクロボット プッシュの方がスマートな感じがしますが、製品としての完成度は SwitchBot に軍配が上がります。

                デザインと、ボタンを押す際にアーム部がせり出してくる動作こそちょっとダサいものの、背が低いため製品の安定感が高く、マイクロボット プッシュよりも固定するために必要な面積が小さくて済みます。また、Raspberry Pi などの一般的な機器から Bluetooth 経由で操作でき、プログラミング能力さえあれば、専用の Hub を購入せずに済みます。

                一方、マイクロボット プッシュはネットから操作を行うためには専用の Hub を用いる必要がありますが、この Hub の出来があまり良くなく、機器のペアリングがスムーズにできないなど、とにかくストレスが溜まります。また、スイッチの背が高いため両面テーブだけだと、安定性が悪く、ボタンがうまく押せないということもしばしばで、これもストレスの元になります。


                  at 12:18 |
                  2018/07/04

                  Zapier を使ってメールの一部を Pushbullet でプッシュ通知する

                  zapier  python  pushbullet 

                  メールの一部を抜き出して Pushbullet 経由でスマホにプッシュ通知する機能を Zapier で実現してみました。

                  始めは IFTTTMicrosoft Flow とかでもいけるかなと考えていたのですが、実際に作成しようとしてみると、別途メールアカウントが必要だったり、加工がめんどくさかったりしたので、結局 Zapier になってしまいました。

                  Zapier でメールと Pushbullet を連携させるには、そのものズバリの Email by Zapier + Pushbullet Integrations*1 がありますが、本文の加工が自由にできないのがもどかしいので、今回は Email by Zapier + Code by Zapier Integrations*2 を使って、Pushbullet への投げ込みは Code by Zapier の中で Python を使って Pushbullet API を叩くことで実現します。具体的には create-push にある curl での POST 処理をそのまま Python で書くことになります。

                  以下、構築メモ

                  [Zapier を使ってメールの一部を Pushbullet でプッシュ通知する の続きを読む]

                  at 23:43 |

                  Firefox のアドオン Stylish が公開停止に

                  firefoxquantum  privacy 
                  Stylish has been blocked for your protection. - Firefox のアドオン Stylish が公開停止に

                  ユーザー CSS を適用・管理するためのアドオンとしてポピュラーだった、Stylish がポリシー違反ということで公開停止になっています。

                  どうやら、ユーザーのアクセス履歴を無差別に収集していたようで、かなりプライバシーに問題がある状態で運用されていたようです。このアドオンは 2017 年に、現在の SimilarWeb に買収されていた*1ようですが、この手のアドオンが買収されてから踏み台に使われるパターンはなんとかならないものですかね。

                  人気のFirefox拡張機能「Stylish」がポリシー違反でブロック、すべての閲覧履歴を収集か - 窓の杜

                  SimilarWeb社は「Stylish」の利用規約を改定し、ユーザーを特定できない“非個人情報(Non-Personal Information)”をサービス向上のため収集するとしていたが、セキュリティエンジニアのRobert Heaton氏が調査したところによると、実際には閲覧履歴のすべてを収集していたようだ。パスワードのリセットなどで用いられる認証トークンを含んだURLや、コンテンツの共有に使われるワンタイムURLも含まれるため、個人の特定はおろか、機密情報の入手も不可能ではない。

                  at 22:14 |
                  «Prev || 1 · 2 · 3 · 4 · 5 · 6 · 7 ·... | | Next»