~/.ssh以下のパーミッションの一括設定

CentOS 7だと~/.ssh以下のパーミッションを適切に設定しておかないとsshでログインできなかった。 Ubuntu 18.04はそんなことはなかったので、Ubuntuはsshdの設定が少しゆるい? そこで、以下のように設定する。 ディレクトリはオーナーのみ読み書き閲覧可能 …

Linuxのユーザをコマンドラインから作成する

はじめに Linuxのユーザをコマンドラインから作成する手順を記しておく。 useraddがあまりフレンドリーではないので。。。 一般的なユーザの追加 ユーザを追加し、同時にホームディレクトリも作成する。 オプション-mをつけないとホームディレクトリが作成さ…

プロキシサーバ利用の設定

自分がよく使う、OSインストール直後のプロキシの設定方法。 UbuntuでもCentOSでも使えるはず。 echo "Defaults env_keep+=\"http_proxy https_proxy ftp_proxy no_proxy\"" > /etc/sudoers.d/proxy echo "export http_proxy=http://server:port/ export htt…

Windowsの共有フォルダを常時マウントする

はじめに 自分の作業環境的に、ファイルサーバはWindowsの共有フォルダとして提供されていることが多い。 そのため、LinuxでWindowsの共有フォルダを常時マウントしておきたい。 当然ながら、WindowsとLinuxではユーザ管理やアクセス制御の考え方が違うので…

RPMの詳細情報の表示

RPMファイルに格納されている情報のダンプ的なものが欲しかった。 それっぽいものを取得するスクリプトを作成したので、メモしておく。 これで全部の情報が取得できているのかは不明。 #!/bin/bash rpm --querytags | while read line; do rpm -qp $1 --qf "…

Ubuntu 18.04でVMWare Workstation Player 14が動作するまで

はじめに Ubuntu 18.04でVMWare Workstation Player 14を動かすのに苦労したので、記録を残しておく。 環境 $ uname -srvm Linux 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 初回の起動に失敗 (1) インストール完了後の初回起動…

AnsibleでCentOS 7のfirewalldを無効化

firewalldを切り忘れていたために、httpアクセスが通らずに3時間ほど悩んだ。 しかもIEが「DNSエラー」と表示してくれたおかげで、名前解決を疑って遠回りしてしまった。 自分への戒めのために、Ansibleでfirewalldを無効化する方法を残しておく。 - name: f…

ディレクトリを再帰的に辿ってファイルのダイジェストを生成

ディレクトリのコピーが正常終了したかどうかを、ファイルのダイジェストを元に確認したかった。 コマンドの組み立てに、いくらかの調べものと試行錯誤をしたので、メモしておく、 結果的に、コマンドは以下に落ち着いた。 $ find -type f -print0 | sort -z…

AnsibleでのSELinuxの無効化とリブート

はじめに CentOS7でSELinuxを無効化するPlaybookを書くのが一苦労だったので、試行錯誤の結果を記録しておく。 試した環境 Playbookを実行する側 CentOS 7.4をyum updateで最新化して、ansibleをインストールした環境。 $ uname -srvm Linux 3.10.0-693.21.1…

SSHの情報源

日々の作業に役立てるために、SSHの情報源を適時まとめていく予定。 入門OpenSSH RSA鍵、証明書のファイルフォーマットについて

Windowsでのスクリーンショット

コンテキストメニューのスクリーンショットなどは[Alt]+[Print Screen]ではうまく取れないので、ツールを探してみた。 Windows 7から、標準で「Snipping Tool」というツールがある模様。 参考 Snipping Tool を使ってスクリーン ショットをキャプチャす…

PowerShellの情報源

ポータルサイト https://docs.microsoft.com/en-us/powershell/ 開発者向け情報 https://msdn.microsoft.com/en-us/library/dd835506(v=vs.85).aspx 情報の鮮度はちょっと怪しい。このブログの執筆時点(2018年3月)でトップページの更新が2013年。 .NET視点で…

PythonのYAML (PyYAML) の情報源

PythonのYAML (PyYAML) の調べものをする際の情報源を集めておく。 デファクトの割には、どの情報が正しいのか(最新なのか)が分かりにくかったので。 現在の本家? https://github.com/yaml/pyyaml 過去の本家? まだ全部はGitHubに移行しきれていない? http:/…

自分のVS Codeの設定

{ "editor.fontFamily": "'MS Gothic', 'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'", "editor.renderWhitespace": "all", "files.associations": { "*.txt": "markdown" }, "files.autoGuessEncoding": true, "workbench.colorCusto…

JavaでgRPC

はじめに JavaのgRPCで、足し算(add)と合計(sum)を計算するサービスを作ってみる。 ディレクトリ構成 . |-- pom.xml `-- src |-- main | |-- java | | `-- redj | | `-- grpc | | |-- CalcClient.java | | `-- CalcService.java | `-- proto | `-- calc.prot…

gRPCとProtocol Buffersの参考情報

はじめに 自分の勉強用のメモです。 リンク gRPC 公式サイト https://grpc.io/ GitHub https://github.com/grpc Go言語 GitHub https://github.com/grpc/grpc-go APIリファレンス https://godoc.org/google.golang.org/grpc Java GitHub https://github.com/…

JSON-Bを利用してJSONをPOJOにバインディング

はじめに JSON-Bを利用してJSONをPOJOにバインドするサンプル。 JSON-Bの実装は、参照実装のYassonを利用。 ディレクトリ構成 . |-- pom.xml `-- src |-- main | `-- java | `-- redj | `-- jsonb | `-- binding | |-- Person.java | `-- Root.java `-- test…

EclipseLink Moxyを利用してJSONをPOJOにバインド

はじめに 2017/7/7にJSON-BがFinal Releaseになったので、もはやJSON-Bでいいんだけど、過去の自分の作業記録ということで。 EclipseLink Moxyを利用してJSONをPOJOにバインドするサンプル。 JAXBを利用するので最初は違和感があったけど、慣れればそれほど…

GlassFish 4で実質的なデプロイメントデスクリプタを生成

アノテーションを利用してJava EEの開発をしていると、時々デプロイメントデスクリプタを参照して、アプリ全体の整合性を確認したくなる。 GlassFish 4では、システムプロパティwriteout.xmlをtrueに設定してアプリをデプロイすることで、ディレクトリ[DOMAI…

ディスクの空き容量を確認するときに実行するコマンド

ディスクの空き容量の確認 $ df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 799M 9.2M 790M 2% /run /dev/vda1 91G 21G 66G 24% / tmpfs 3.9G 204K 3.9G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 3.9G 0 3…

Javaのクラスローダの階層を表示する

はじめに 以下のようなクラスローダの階層を出力するクラスを作成した。 クラスパスも表示しているが、動的に変わったり、クラスローダの実装によっては取得不可能だったりするので、参考程度。 Java9には未対応。 JigsawやBuiltinClassLoaderを理解して作り…

Maven + JUnitのテンプレート

はじめに MavenのプロジェクトでJUnitを利用するときに、毎回同じようなpom.xmlとテストコードを書いている。 なので、テンプレートとしてサンプルコードを書き残しておく。 このサンプルコードでは、割り算の処理をテストしている。 ディレクトリ構成 test-…

Ubuntuで、ローカルにある.debのインストール方法

はじめに gdebiを使うと依存関係にある.debも自動でダウンロードしてくれるので便利。 dpkgは自動でダウンロードはしてくれない。 実行方法 gdebiをインストール。 $ sudo apt-get install gdebi インストールしたい.debを引数にして、gdebiを実行。 $ sudo …

Mavenの各種ディレクトリに対応するプロパティの一覧

はじめに Mavenで提供されているプロパティの名前を調べ直すことが度々あるので、調べた内容をメモしておく。 「使えるプロパティのリストはこれですよ」ときちんと書いてある公式ドキュメントは、あるような、ないような。。。 まぁ、Mavenがプロパティの塊…

viでたまに利用するコマンド

たまに必要になって毎回調べ直すので、メモしておく。 行番号の表示 カーソルモードで以下のコマンドを実行。 :set number 実行前の例は以下。 #include <stdio.h> main( ) { printf("hello, world\n"); } 実行後の例は以下。 1 #include <stdio.h> 2 3 main( ) 4 { 5 printf("</stdio.h></stdio.h>…

AspectJを利用したプロジェクトのMavenでのビルドとテスト (Load-Time Weaving)

はじめに あるOSSの解析のためにAspectJを利用した。 その際にMavenでアスペクトのビルドとテストを行ったので、その記録を残しておく。 ここでは、テストメソッドにログ出力を織り込むことにする。 ディレクトリ構成 $ tree . |-- pom.xml `-- src |-- main…

Javaのシステムプロパティの一覧表示

過去に何度か同じ使い捨てのコードを書いたので、また必要になった時のために残しておく。 public class Main { public static void main(String[] args) { System.getProperties() .entrySet() .stream() .sorted((x, y) -> x.getKey().toString().compareT…

Windows版のDocker Engineのリスト

Microsoftのドキュメント「Windows Containers on Windows Server」の手順では、OneGetを利用してDocker Engineを取得する。 OneGetを実行すると、Azure StorageからDocker Engineの実行バイナリを取得するようだ。 直接以下のAPIを実行すると、配置されてい…

JSONの整形

はじめに LinuxでのJSONの整形方法をメモ。 コマンドjqを利用 $ cat in.json | jq Ubuntuでjqをインストールする場合は以下。 $ sudo apt-get install jq CentOSでjqをインストールする場合は以下。 $ sudo yum install jq Pythonのモジュールを利用 $ cat i…

etcdでよく利用するAPI

はじめに 自分がよく利用するetcdのAPIをメモしておく。 キーの値を取得 キーがfoo/barの場合。 curl http://localhost:2379/v2/keys/foo/bar キーの値を再帰的に取得 キーがfoo/barの場合。 curl http://localhost:2379/v2/keys/foo/bar/?recursive=true