Monthly Archives: September 2019

MEGAのクラウドデータをシンクロする

バックアップを取っていなかったために悲惨な経験を何度もしている私は、なんとしてもMEGAのバックアップを取ろうとしたのですが、どうもLinuxのツールでもはうまく行かないようです。リポジトリにMegatoolsというのがありますが、クラウドからファイルコピー取りこぼしが多く、あまり使えません。またrcloneでは認証方法が変わったせいかログインすらできません。いろいろ調べてみると、MEGAcmdというツールがあったので試してみました。 https://github.com/meganz/MEGAcmd NASサーバでコンパイル、インストールして使ってみます。helpでコマンド一覧がでますが、サイトのチュートリアルにあるようにsyncコマンドが実用的だと思われます。コマンドを使う方法はインターラクティブモード、ノンインターラクティブモードがあります。インタラクティブモードではmegacliでシェルを起動してからメールログインします。helpでコマンドの一覧を取得できます。シンクするにはNASに空のフォルダー/path/to/local/folderを用意してログインします。 ​sync /path/to/local/folder /   これですべてをシンクできます。経過を見ているとどうもhttp接続のエラーが頻発したりPPPoE接続が途切れてアドレスが変わったりしましたが、繰り返しコマンドを実行したら無事シンクロができてたようです。

Posted in Linux | Comments Off on MEGAのクラウドデータをシンクロする

Marvel wifiモジュールの不具合

最近のSamsung ChromeBookのArchlinuxのアップデートでWifiの問題が発生したので調べてみました。 journalctl -xf すると、次のようなエラーがありました。 … WLAN FW is active CMD_RESP: cmd 0x242 error, result=0x2 … 調べてみると過去数年に渡ってこの問題が繰り返しおこっており、カーネルを正常に動作していた前バージョンに戻すよりほかはありません。 Archlinuxはローリング・リリースを採用していて、過去のパッケージは残らないようになっているので注意が必要です。/var/cache/pacman/pkgにダウンロードしたパッケージが置かれており、それを使ってダウングレードします。 linux-armv7-5.2.10-2-armv7h.pkg.tar.xz linux-armv7-chromebook-5.2.10-2-armv7h.pkg.tar.xz pacman -U <pkg name>でダウングレードします。 カーネルのinitramfsもアップデートする必要があります。 mkinitcpio -k 5.2.10-2-ARCH -g /boot/initramfs-linux.img ==> Starting build: 5.2.10-2-ARCH -> Running build hook: [base] -> … Continue reading

Posted in Linux | Comments Off on Marvel wifiモジュールの不具合

shorewallのLogging

shorewallは複雑なFirewallの設定ができるので重宝しますが、なぜかLogメッセージが/var/log/messageと/var/log/syslogの両方に書き込みsyslogが見づらくなるので修正してみました。shorewallの新旧バージョンによって設定が異なるのようなので整理しました。shorewall.confでログ先を変更しても反映されないのでrsyslog側でメッセージを振り分けます。 Shorewall version 5.0.15.6 [Debian GNU/Linux 9] /etc/shorewall/shorewall.conf LOGFILE=/var/log/messages /etc/rsyslog.d/shorewall.conf :msg, contains, “Shorewall:” /var/log/shorewall.log & stop /etc/logrotate.d/shorewall /var/log/shorewall-init.log { weekly rotate 4 compress missingok create 0640 root adm } /var/log/shorewall { weekly rotate 52 compress compressext .gz missingok create 0640 root … Continue reading

Posted in Linux | Comments Off on shorewallのLogging

systemdのユーザモードを使う

Botプログラムが通信環境が不安定になると落ちるのでcronとかshellのループを使ってプログラムを監視していたのですが、VPSサーバのロード負荷が高い場合、複数Botが立ち上がったりなどあまり連携がよくありませんでした。そんななかsystemdでユーザモードが使えることがわかったので使ってみることにしました。とくにsystemdで有効なのはデーモンの再起動機能です。ユーザモードでBotを立ち上げると、何らかの原因でプログラムが終了してもすぐに再起動してくれます。 systemdのsystemモードとuserモードの関係はArchlinux WIKIから引用ですが、わかりやすい説明があります。 systemd –user は systemd –system プロセスとは別のプロセスを起動します。ユーザーユニットからシステムユニットに依存したり参照することはできません。 つまり、systemモードとuserモードは排他的関係でお互いに独立したシステムというとになります。またuserモードで使えるディレクトリにも制約があります。ArchLinux WIKIで見てみるとつぎのようになっています。 /usr/lib/systemd/user/: インストールしたパッケージに含まれているサービス ~/.local/share/systemd/user/: ホームディレクトリにインストールしたパッケージのユニット /etc/systemd/user/: システムの管理者が配置する、全てのユーザーが使えるユーザーサービス ~/.config/systemd/user/: ユーザーが配置する、そのユーザーのサービス このことを念頭において作業に取り掛かります。まずテストにオレオレサービスを作ってみます。 ~/.config/systemd/user/oreoreservice.service [Unit] Description=test unit [Service] ExecStart=/home/user1/bin/oreoreservice ExecStopPost=/home/user/bin/systemd-email %n Restart=always StandardOutput=journal StandardError=journal Type=simple [Install] WantedBy=default.target 前回、設定したコマンドラインメールからEmailレポートします。 ~/bin/systemd-email #!/bin/bash SUBJECT=”Error report: $1″ … Continue reading

Posted in Linux | Comments Off on systemdのユーザモードを使う

Muttでコマンドラインからメールを送信

systemdにはユーザモードがありBotなどをユーザ権限でデーモン化することができます。さらにsystemdを使うことで再起動機能やログの管理等のメリットが享受できます。またBotが原因不明で止まった場合メールで知らせる機能を追加しようと考えてコマンドラインから使えるメールソフトを探してみました。そのなかでMuttがもっとも機能的に受け入れられたので採用することにしました。ところが設定が難しくなかなかメールサーバにログインできず、いろいろ検索した結果できるようになりました。そのときのテンプレート用に使えるファイルと載せておきます。 Muttのユーザ用の設定ファイルは$HOME/.muttrcです。 set realname = ‘botmail123’ set from = botmail123@mydomain.tld set use_from = yes set smtp_url = “smtp://botmail123@mydomain.tld@mx.mydomain.tld:587/” set smtp_pass = “xxxxxxxxxxxxxxx” set imap_user = “botmail123@mydomain.tld” set imap_pass = “xxxxxxxxxxxxxxx” set folder = “imaps://mx.mydomain.tld:993” set spoolfile = “+INBOX” set header_cache=~/.mutt/cache/headers … Continue reading

Posted in Mail | Comments Off on Muttでコマンドラインからメールを送信

Proxy ARPの設定

今使っているNAS(ReadyNAS 102)はカスタムカーネルを使っているためFirewallが使えません。カスタムFirmwareを検索してみたところ、だいぶ前に開発が止まっていました。カスタムカーネルを入れ替えればいいのですが、そもそもリスクが大きいことと正規ファームウエアによるチェックでダッシュボードにアクセスできないという問題があるらしいのです。そこでブリッジにFirewallいれて同等の機能をもたせようと思案しても2つ以上ポートのある機材は手元にありません。そこでProxy ARPなら手持ちに機材で対応できるので設定することにしました。ルータはBuffalo WZR-HP-AG300Hです。このルータはLAN用のアダプタとWAN用のアダプタの2つのイーサネットデバイスを持っています。ルータの中には1つのイーサアタプターをVLANでWANとLANを分けている機種もあります。ふだん中間ルータとして使う分にはWAN用のアダプタをブリッジしてLAN用ポート増やす使い方してますが、今回、このWANポートのProxy ARPのブリッジ化をしてみます。 [Layout] OpenWrt Router: NAS: +—————-+—————-+ PC: 192.168.1.100/24 ==== | 192.168.1.1/24 | 192.168.1.2/24 | ==== 192.168.1.11/24 | ZONE:lan2 | ZONE:lan1 | | IF :eth1 | IF :br-lan | +—————-+—————-+ 192.168.1.100 dev eth1 proto static scope link … Continue reading

Posted in Linux, OpenWrt | Comments Off on Proxy ARPの設定

LXC 3.0

DebianをBusterにアプグレードして、その際、LXCもバージョンが3.0となりました。ところが仕様がかなり変わったので非特権ユーザーがアクセスできないという事態になりました。教訓として特権ユーザーでコンテナを作ることとアクセスする手段を複数用意することです。lxc-attachに頼りすぎたためにアクセスできなくなってしまったのですがsshサーバは各コンテナで起動しておいたほうが良でしょう。 今まではlibvirtでLXCネットワークを作っていましたが、今はVLANとブリッジになっているようです。LXCコンテナを最新の仕様に合わせて作り直しました。ネットワークの設定はいくつかあるのですが旧来のやり方がシンプルで問題がありません。 /etc/network/interfaces source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address ${VPS IP} netmask 255.255.255.0 network ${VPS NETWORK} broadcast ${VPS BROADCAST} gateway ${VPS … Continue reading

Posted in Linux | Comments Off on LXC 3.0