2019年1月19日土曜日

linux@Wake-on-LANで遠隔サーバ起動

linux@Wake-on-LANで遠隔サーバ起動

概要

最近、組み込みボードでL2TP/IPsecを使ったVPNサーバを立てたので、VPNサーバからWake-on-LAN(WoLを用いて 、プログラムのコンパイル等に使用している開発サーバの起動を行えるようにした時のメモです。
WoLによる起動
VPNサーバ
開発サーバ
本記事を参考にされる場合は、VPNサーバを「起動させる為に使うPC」、開発サーバを「起動したいPC」に読み替えて下さいませ。

環境

環境は下記の通りです。
VPNサーバ 開発サーバ
OS Debian 9.4 Ubuntu 16.04.4 LTS

手順

大きく下記の手順で行いました。
  1. BIOS設定
    開発サーバのBIOSでWoLを許可する設定をします。こればっかりは設定の仕方がPC毎に違ったりするので、本記事では記載しません。
  2. 開発サーバ設定
    開発サーバのOSでWoLを許可する設定を行う為のコマンドをインストールします。
  3. VPNサーバ設定
    VPNサーバから開発サーバを起動する為のコマンドをインストールします。

開発サーバ(起動したいPC)の設定

ethtoolのインストール

ethtoolが既にインストール済みの場合は本章の実施はスキップです。
私のubuntu serverには元々入っていました。
下記コマンドでethtoolをインストールします。
$ sudo apt-get install ethtool

Wake-on-LAN情報の取得

まずは、下記コマンドでWake-on-LANに使うインタフェース名を調べます。
$ ifconfig
↓がコマンド実行結果です。
eth0      Link encap:イーサネット  ハードウェアアドレス 00:1a:92:50:86:20
          inetアドレス:192.168.1.7  ブロードキャスト:192.168.1.255  マスク:255.255.255.0
          inet6アドレス: fe80::21a:92ff:fe50:8620/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:49647 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:29796 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1000
          RXバイト:66014316 (66.0 MB)  TXバイト:2293992 (2.2 MB)

lo        Link encap:ローカルループバック
          inetアドレス:127.0.0.1  マスク:255.0.0.0
          inet6アドレス: ::1/128 範囲:ホスト
          UP LOOPBACK RUNNING  MTU:65536  メトリック:1
          RXパケット:260 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:260 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1
          RXバイト:17840 (17.8 KB)  TXバイト:17840 (17.8 KB)
私の場合はeth0を使います。環境によってはeth0という名称ではないようです。
ついでに、MACアドレスも必要になるので、メモしておきます。私のPCの場合は00:1a:92:50:86:20でした。
次に下記コマンドを使って WoL が有効か確認します。
$ sudo ethtool eth0
eth0の部分はお使いの環境に合わせて下さい。
↓がコマンド実行結果です。
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes
この中で、Wake-on: gとなっている個所に注目します。
gの場合は有効となっています。dの場合は無効となっているようです。

WoL の有効化

Wake-on: gとなっている方は不要です。
下記コマンドを使って WoL の有効化を行います。
$ sudo ethtool -s eth0 wol g
※ 私の環境では↑のコマンド実行は不要だったので試せていません。ご了承下さい。
ちなみに、OS起動時に毎回上記コマンドを使って設定する必要がある為、起動時に自動実行するようにしておきましょう。

VPNサーバ(起動させる為に使うPC)の設定

wakeonlanのインストール

wakeonlanは WoL のマジックパケットを送信するコマンドです。これを使って、開発サーバを起動します。
VPNサーバで、下記コマンドによりwakeonlanをインストールします。
$ sudo apt-get install wakeonlan

開発サーバ(起動したいPC)の起動

VPNサーバで下記コマンドを実行する事で開発サーバを WoL で起動します。
$ wakeonlan 00:1a:92:50:86:20
MACアドレスは先程調べたものを使います。00:1a:92:50:86:20は私の環境の値ですので、皆さんの環境に合わせた値を使って下さい。
↓はコマンド実行結果です。
Sending magic packet to 255.255.255.255:9 with 00:1a:92:50:86:20

PlantUML@Windowsバッチファイルで起動

PlantUML@Windowsバッチファイルで起動
仕事でPlantUMLを使うようになったので、その使用方法備忘録。

PlantUMLインストール

PlantUMLのインストール?何言ってんのダウンロードしたファイルをダブルクリックで起動できるやん!
私は↓に格納インストールしました。
"C:\Program Files\PlantUML\plantuml.jar"

バッチファイル作成

好きなところにplantuml.batみたいなファイルを作成して、下記のように編集。
"C:\Program Files\PlantUML\plantuml.jar"
plantuml.batをダブルクリックして、PlantUML起動!!
できた!!
・・・
え?
コマンドプロンプトずっと出てるんですけど…

コマンドプロンプトを出させない

↓のように修正します。
start javaw -jar "C:\Program Files\PlantUML\plantuml.jar"

おまけ

画像が大きかった時に、デフォルト設定では問答無用に画像がバッサリ切られますが、下記のように設定すれば、ある程度まで画像を大きくする事ができます。
start javaw -DPLANTUML_LIMIT_SIZE=8192 -jar "C:\Program Files\PlantUML\plantuml.jar"

2018年11月24日土曜日

雑記@REALFORCE RGB AEAX02を購入

これまでキーボードにはあまりコダワリは無く、基本はPC付属のものを、酷い時は500円のキーボードとかも使ってきました。が、最近は歳をとったせいなのかは分かりませんが、キーボードの打ち込みが嫌に気になる様になってしまいました。スムーズにキーを押せなくて、例えば、ちょっとキーの端っこを押すと引っ掛かるとかが特に気になる様に。。。 

半年前に、職場に高級キーボードを持参している同僚がいて、(HHKBだったかな?)少し触らせてもらった時の感触が今になって頭から離れなくなっていました。あの、キーの重厚感、打鍵時の心地良い音、何より引っ掛かりのなさ。

最近、仕事も山場を登り始めていてかなりストレスも溜まっていて、ストレス発散の為に思い切って購入する事にしました。 2万円はかなり高いけど(500円のキーボードを使っていた私としてはかなり…)、10年も使えば1か月170円くらいだし。

そんな考え方をしていたものだから、HHKBと同じ様に良く聞くREALFORCEのフルキーボードを価格.com最安値で選ぼうと思っていたのに、つい、欲張ってREALFORCE RGB AEAX02をポチってしまいました。 


前からちょっと気になっていた「光るキーボード」と黒で統一されたデザイン性で一目惚れしました。


2018年4月3日火曜日

linux@ホスト名の変更

linux@ホスト名の変更

概要

Linuxのインストールを適当に進めてしまい、いざ使い始めた時にホスト名を変えたくなる事って多いですよね。そうですよね?
これは自分だけでは無いハズ!
というわけで、ホスト名の変更方法の記事です。というかメモです。

環境

私の環境は下記の通りです。
Debian使ってない人は御免なさい。たぶん、やり方違います。

現在のホスト名を確認する

下記コマンドで現在のホスト名を確認します。
$ hostname
↓が結果
Heimdal

ホスト名を変更する

/etc/hostsファイルと/etc/hostnameファイルを変更する必要があります。
まずは、/etc/hostsから。
127.0.0.1       localhost
127.0.1.1       Heimdall.example.com   Heimdall

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
現在のホスト名が書かれている所を変更したい名前に変えてしまいます。勿論、root権限で。
127.0.0.1       localhost
127.0.1.1       yggdrasil.example.com   yggdrasil

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
続いて、/etc/hostnameを変更します。
Heimdal
↓に変更
yggdrasil

設定を反映する

下記コマンドでOS再起動を実施して反映します。
$ sudo shutdown -r now

最後に

以上で反映されるハズです。何かあっても、責任はとりません!

2018年2月14日水曜日

Blog@stackeditを使ってみる

Blog@stackeditを使ってみる

概要

本記事の内容は次の通り。
  • Google BloggerでもMarkdown使って記事を書きたい。
  • StackEditなるスーパーサイトを発見。
  • どんな感じか使って試してみた。
  • Googleのアカウントと連携できて自動保存できる。
  • Google Bloggerに簡単に記事を公開できる。
  • ローカルにも保存できる。

はじめに

Qiitaで初めてMarkdownを使って初めて書いてからというもの、記事の編集のし易さに体が慣れてしまったせいか、GoogleのBloggerで全く記事を書く気が起きないという病気に掛かってしまい早数年。
ふと、BloggerでもMarkdown使えないかと探してみたら、StackEditなるスーパーすごいサイトを発見しました。
以下、どんな感じになるかお試しで書いてみました。

レベル1

見出しだって簡単!
# レベル1

レベル2

#の数で見出しレベルの調整も可能!
## レベル2

レベル3

### レベル3

レベル4

#### レベル4
レベル5
##### レベル5
レベル6
レベル6まで記載可能!
###### レベル6

書式

書式は下表の通り!
書式 書き方
斜体 *斜体* or _斜体_
太字 **太字** or __太字__
取り消し線 ~~取り消し線~~
上付き ^上付き^
上付き ~上付き~

上記のフォントの表も下記の様に記載!
|    フォント    |          書き方          |
|:------------:|:------------------------|
| *斜体*        | `*斜体*` or `_斜体_`     |
| **太字**      | `**太字**` or `__太字__` |
| ~~取り消し線~~ | `~~取り消し線~~`         |
| ^上付き^      | `^上付き^`               |
| ~上付き~      | `~上付き~`               |

箇条書き

  • 箇条書き
  • 簡単
- 箇条書き
-- 簡単

  • *でも
  • +でも
  • OK
* *でも
+ +でも
- OK

  1. 数字で
  2. ナンバリングも
  3. OK
  4. !!!
1. 数字で
2. ナンバリングも
3. OK
4. !!!!!

コード

インライン

インラインコードはバッククォート(`)で囲えばOK。

複数行

バッククォート(`)を3つ、コードの前後行に配置すればOK。
複
数
行

前行のバッククォート3つの後に言語を記載すれば、色付けも行ってくれる。
```c
#include <stdlib.h>

int main( void ) {
    return EXIT_SUCCESS;
}

```java
class Main {
    public void main() {
    }
}
javaってこんなんだっけ?。

リンク

リンクも付けられる。
[リンク](https://stackedit.io)も付けられる。

略語

略語 も可能。略語略語 略語 略語略語
*[略語]: 略した語。
単語の前後に半角スペースを入れないと上手くマウスオーバーはしてくれない模様。

脚注

脚注1も付けられる。
脚注[^1]も付けられる。

その他

LaTeX数式

y=x2 y = x^2
$$
y = x^2
$$

定義リスト

定義リスト
定義リスト。
これは定義リスト。説明を記載する?。
定義リスト
: 定義リスト。
: これは定義リスト。説明を記載する?。

最後に

実際にGoogle Bloggerに投稿してどうなるか。いざっ!

  1. 脚注。[^1]:脚注。 ↩︎

2017年8月18日金曜日

プライバシーポリシー

Androidアプリでプライバシーポリシーの表記が必要との事で、ブログにプライバシーポリシーを明記しておきます。
なお、今現在、私Mochiが作成したAndroidアプリは個人情報の取得を行っておりません。

2017年8月16日水曜日

BLOG@twitterに画像付きのリンクをツイートする

画像付きのリンクをツイートは、下のような感じ。


ブログを書く時に下記のHTMLコードを潜り込ませる事が出来たら、いけるようです。
潜り込ませる場所は、「続きを読む」で表示される部分に入れる事。
でないと、トップページのリンクでその記事の画像が出ちゃいます。

タグ配置はbodyタグ内でもtwitterさんは読んでくれるみていです。

Rust@naked関数

Rust@naked関数 multiboot仕様でブートローダを自作せずGRUBから自作カーネル(もどき)を起動できたので、起動情報も色々受け取りたい。multiboot準拠していれば、起動直前にブートローダがレジスタEAXにマジック値を...