読者です 読者をやめる 読者になる 読者になる

日々精進

新しく学んだことを書き留めていきます

bash on Ubuntu on Winodwsのrelease note

IT

意外と見付からなかったのでメモ。 bash on Ubuntu on Winodwsのrelease noteは以下にある。 msdn.microsoft.com まだまだbash on Ubuntu on Winodwsは発展途上で色々機能追加されてるっぽいので チェックすると面白いかも。 自分は早くWindows interoperabi…

bash on ubuntu on windowsでwindowsのexeファイルを実行すると「cannot execute binary file exec format」エラー

IT

まだbash on ubuntu on windowsがwindowsのバイナリの実行に対応していないことが原因。 下記によると、build #14951でwindowsバイナリ実行機能が追加される。 msdn.microsoft.com まだこのビルドは配信されてないのでこの機能は使えない(2017/1/1時点では…

ubuntuでサービスの状態を確認する

IT

service --status-all でサービスの状態を確認出来る。 例えば、sshdが起動中かどうかを確認したい場合、 service --status-all | grep ssh を実行する。

sshログイン時に「Resource temporarily unavailable ssh」エラー

IT

原因はホストのIPアドレスが間違っていることだった。 具体的には ssh 192.168.0.103 とするところを ssh 192.168.10.103 としてしまっていた。 このエラーメッセージで検索してもなかなかこの原因について書いている記事がなくて結構ハマってしまった。。

ssh接続時の「Are you sure you want to continue connecting (yes/no)? 」を省略する

IT

手順を自動化したいなどの理由で「Are you sure you want to continue connecting (yes/no)? 」をすっ飛ばしたい場合、 以下のようにStrictHostKeyChecking noオプションを実行時に追加する。 ssh -o 'StrictHostKeyChecking no' remote_host_name または~/.…

sshでログインしようとすると「we did not send a packet, disable method」エラー

IT

ssh <ip address> -vvvT でログインしようとすると、ログの下の方に「we did not send a packet, disable method」 というエラーメッセージが出てログインできない。 原因は.sshフォルダのパーミッションだった。 .sshのパーミッションが744になっていたのでログインでき</ip>…

Servletを実行すると「servlet class was found, but a resource injection failure has occurred」エラー

Servletクラスのフィールドで@Injectアノテーションを使ってオブジェクトを詰めているところで エラーが発生した。 原因はCDIのバージョンがビルド時と実行環境で異なることが原因(たぶん) JavaEE7環境では動かなかったけど、JavaEE6環境で動かすと動いた…

MacにDockerをインストールしてWASをその上で動かす

Get started with Docker for Mac - DockerからDockerをダウンロードしてインストールする 以下コマンドを実行する docker run --name test -h test -p 9043:9043 -p 9443:9443 -d \ ibmcom/websphere-traditional:install これだけでWASが動くとは。。Docke…

WASのWebコンソールのURL、WAS Profileについて

IT

ローカルでWASを起動している場合、以下をブラウザから参照すればWebコンソールを表示出来る。 https://localhost:9043/ibm/console/logon.jsp WASのProfileが何のことかよく分からなかったけど、 どうも環境別に作るものっぽい。テスト環境用、本番環境用と…

Dockerコンテナ内のWAS Libertyにwarをデプロイする(ホストからファイルをコピーする)

docker ps でDockerのコンテナ一覧が表示される。 psだからdockerコンテナ内のプロセス一覧かなと思ったけど違った。。 以下のコマンドでwarをコピーするとデプロイできる。 sudo docker cp my.war <コンテナID>:~/wlp/usr/servers/defaultServer/dropins/` …

mac,linuxなどでOSのユーザ一覧を表示する

IT

以下コマンドで表示出来る。 ls -l /home 参考: www.miuxmiu.com

wsimportから生成したJARを取り込むと、すべてのクラスがdefault packageに入っていて参照出来ない

以下のコマンドで生成したJARの中のクラスがdefault packageに入ってしまっていた。 wsimport -clientjar api.jar IF.wsdl macでJDK1.8に入っているwsimportを使った場合は大丈夫だったが、windowsでJDK1.7に入っているwsimportを使った場合、同じコマンドを…

psshにファイルからコマンドを読み込ませて実行する

IT

-Iオプションを使うと標準入力から受け取ったコマンドを実行してくれる。 例えば、以下のようにする。 parallel-ssh -h ./hosts.txt -i -I < ./script.sh hosts.txtには.ssh/configに定義されているHost名を書けばいい。 なので以下のようになると思う。 web…

psshを実行すると「Parallel ssh (parallel-ssh, upstream calls it pssh), executes commands on...」エラー

IT

原因は名前の衝突を避けるために、パッケージ名が変更されたこと。 psshの代わりにparallel-sshと打つと実行できる。 参考: askubuntu.com

Ubuntuで言語を英語にする

IT

sudo nano /etc/default/locale を実行して、以下を追記すると言語が英語になった。 LANG="en_US.UTF-8" LANGUAGE="en_US:en" サーバでちょっとファイルをいじるときはnanoが使いやすくていいなぁ。 なんでviとかよりマイナーなんだろう。 参考: ochaochaoc…

bash on Ubuntu on Windowsのコマンド一覧

以下にあった。以外と見つけるのに苦労した。 msdn.microsoft.com lxrunはUbuntu環境を起動するコマンド。

windows起動時にsshd on Ubuntu on Windowsを起動する

普通のUbuntuでは sudo update-rc.d ssh defaults を実行すると自動起動するようになるけど、これやってもだめだった。 Ubuntu on WindowsはWindows起動時に勝手に起動してくれないみたい。 因みにsshサービスの状態は以下コマンドで調べられる。 service --…

git pullすると「warning: CRLF will be replaced by LF」が出る

IT

原因はgitが改行コードを自動変換していること。 bash on Ubuntu on Windowsからpullした場合とコマンドプロンプトからpullした時で改行コードが違うため差分が出ていた。 git config --global core.autocrlf false を実行して改行コードをLFに統一すると直…

sudo apt-get install gitを実行すると「パッケージ git が見つかりません」

原因はパッケージリストが更新されていないこと。 sudo apt-get update を実行するとインストールできるようになった。 参考: ubuntu等で「パッケージが見つかりません」 – IT Memo

sshで接続すると「Resource temporarily unavailable ssh」エラー

IT

原因は以下二点だった。 ・sshdが起動していない ・Firewallでport22がブロックされている それぞれ対応すると接続出来た。 参考: superuser.com

Windows10でSSHサーバを立てる

Windows10の開発者モードをONにするとSSHサービスが起動するようになる(下記参照) yasuhide.blog.jp 最初はこのサービスを使おうと思ったが、sshd_configがどこにあるのか、authorized_keysはどこに置けばいいのかなどがわからず断念した。 なのでBash on …

windowsのIPアドレスを固定する

手順は下記参照。一部のPCだけIP固定した場合、DHCPから振られたIPアドレスと被ってしまって通信できなくなることは無いのかな? まあDHCPに固定IPアドレスを通知してくれるのかな。。 参考: www.akakagemaru.info

windowsのユーザフォルダのフォルダ名を変更する

c:\Users\XXX のXXXの部分のフォルダ名を変更する手順。 ユーザを新しく作ってそっちに環境を移行すればいい。 詳細な手順は下記参照。アプリのインストールし直しとか面倒だったけど、その辺も自動で移行はできないのかな。。 参考: pc-karuma.net

windows10起動時に自動ログインする

netplwiz コマンドでパスワードを設定しておけば自動ログインできる。 今までwindows updateで勝手に再起動されて困ることがあったけど、 これとスタートアップにいくつかプログラムを登録しておけば多少楽になりそう。 セキュリティ的にはアレですが。。 wi…

batファイルからアプリを起動し、その後コマンドプロンプトを閉じる

普通に notepad.exe と書くだけだとコマンドプロンプトウィンドウが残ってしまう。 コマンドプロンプトウィンドウを消したい場合は START "" notepad.exe のように書くと アプリ起動後にコマンドプロンプトウィンドウが閉じる。 参考: piyopiyocs.blog115.f…

gitコマンドを実行すると「bad config file line 1 in .git/config」エラー

IT

メッセージの通りconfigファイルが壊れていることが原因。 メッセージで指定されている行を削除したら直った。 参考: stackoverflow.com

GoogleAPIにリクエストを送信すると「Error:"invalid_grant", Description:"Invalid JWT: Token must be a short-lived token and in a reasonable timeframe", Uri:""」エラー

IT

原因はクライアントの時刻がずれていること。 自分の場合、クライアントはWindows10で「時刻を自動的に設定する」がONになっていたがずれていた。 「時刻を自動的に設定する」をOFFにして再度ONにすると時刻合わせが実行された。 これは自力では解決できんわ…

VMWare上のWindowsでISOファイルをダブルクリックすると「ファイルのマウント中に問題が発生しました」エラー

IT

原因はホストOSとの共有フォルダ上にISOファイルがあることだった。 ISOファイルをVM内のフォルダに移してダブルクリックするとちゃんとマウントできた。

VMWareで共有フォルダ設定をしても共有フォルダがマウントされない

IT

VMWareToolsをインストールしてないことが原因だった。 メニューの仮想マシン > VMWare Toolsのインストール からインストールしたら直った。 参考: xiaoxia.exblog.jp

Googleスプレッドシートで「この操作を行うと、ワークブック内のセル数が 2000000 の制限を超えてしまいます。」エラー

IT

Googleスプレッドシートには以下の制限があるらしい。知らなかった。。 スプレッドシートは最大で256列、または200,000セル、または100シート、のいずれかの制限以内とされ、保存できる最大数は1,000ドキュメント。アップロードできるファイルサイズの最大サ…

GoogleApiにService Acocunt Keyを使ってアクセスすると「The OAuth client was invalid」エラー

IT

原因はmailaddressの指定が間違っていたことだった。 例えば、Google APIの.Net SDKでは以下のように秘密鍵のp12ファイルとメールアドレスを使って認証オブジェクトを作成する。 var certificate = new X509Certificate2(@"key.p12", "notasecret", X509KeyS…

dosコマンドでワイルドカードを使ってフォルダを一括削除する

IT

以下のコマンドの<検索文字列>のところにワイルドカードを含む文字列を入れると、そのパターンに一致するフォルダをすべて削除する。 for /f %i in ('dir /a:d /s /b <検索文字列>') do rd /s /q %i 以下は削除対象のフォルダを列挙するので確認するのに便利…

ファイル・フォルダをロックしているアプリを特定する方法

IT

ファイル・フォルダを削除しようとすると、「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。」というエラーメッセージが出る場合。以下の手順でファイル・フォルダをロックしているアプリを特定できる。 Process Ex…

Gmailを送信すると「指定された文字列は、件名に必要な形式ではありません。」エラー

IT

原因は件名に改行コードが入っているため。 subject = subject.Replace('\r', ' ').Replace('\n', ' '); のようにして改行コードを削除すると直った。 参考: stackoverflow.com

Google二段階認証の端末を複数登録する

IT

後から追加は出来ないので、今使っている端末の登録を解除し、再度登録する時に複数端末を同時に登録する。 2 段階認証プロセスのページで認証システムアプリを削除 登録したい端末すべてにGoogle認証システムをインストールし、設定用のバーコード読み取り…

Elipseでビルドする際のJVMのターゲットバージョンを変更する

Eclipse全体の設定は以下のように行う。 Eclipse メニューから「ウィンドウ」>「設定」を選択し、「設定」ダイアログを開きます。 「Java」>「コンパイラー」を選択し、表示された画面で「コンパイラー準拠レベル」を選択します。 但し、既に作成済みのプロ…

MacにインストールされたJDKを削除する

以下のコマンドで削除出来る。 sudo rm -rf /Library/Java/JavaVirtualMachines/jdk<version>.jdk sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -rf /Library/LaunchAg</version>…

.classファイルがターゲットとしているJVMのバージョンを調べる

以下のようにjavapコマンドでバージョンを出力できるので、grepで絞って出すと確認出来る。 javap -v HelloWorld | grep major 参考: d.hatena.ne.jp

TomcatにWarファイルをデプロイし、ブラウザからアクセスすると「Unsupported major.minor version 51.0」エラーが出る

原因はTomcatが使っているJVMのバージョンで実行出来るJavaのバージョンとコンパイル時に使ったJavaのバージョンが異なるため。 具体的にはコンパイル時はJDK1.8を使っていたがTomcatはJDK.7を使っていたためエラーが出た。 Unsupported major.minor version…

tomcatが使用するJavaバージョンを変更する

元々JDK1.7を使っていたが、1.8に変更したくなった。 JDK1.8をインストールしただけでは変更されなかった。 JAVA_HOME環境変数をJDK1.8のパスに変更するとJavaバージョンが変わった。 例えば、以下のように設定する。 JAVA_HOME=%ProgramFiles%\Java\jdk1.8.…

メモリ不足の時の挙動を再現する方法

IT

Testlimit.exeを使えば、メモリを任意の容量確保してくれるので 使用出来るメモリ量が少ないときの挙動を再現できる。 Testlimit.exeは以下からダウンロードできる。 Tools To Simulate CPU / Memory / Disk Load – The Way I See It 4GBのメモリを確保する…

promiseのthenの中からリクエストを送信し、レスポンスを後続のthenに渡す

promises/A+の仕様の中に、「thenの中でPromiseオブジェクトをreturnすると、そのPromiseオブジェクトのthenを実行し、その後元のpromiseの流れに戻る」という仕様があるので、 thenの中で以下のようにリクエストを送信してpromiseを返してやれば良い。 this…

promiseを使ってsleepを実装する

以下のようにするとsleepを実装出来る。 var deferred = Q.defer(); setTimeout(deferred.resolve, 10000); deferred.promise.then(function() { // 10秒後に実行される}); 参考:

エクセルでセルを貼り付けると20秒ぐらい固まる。動き出してからも貼り付けは実行されていない問題

IT

原因はよくわからないけど再起動したら直った。なんだったんだ。。 参考:

WIndows7はまだ無償でWindows10にアップグレードできるっぽい

IT

(この記事は2016/09/25に書いてます) Windows7のPCにWindows10のインストールDVDを入れてOSをアップグレードしたところ、 プロダクトキーを入力することなく、問題無く完了した。アップグレード後にコントロールパネルのシステムからライセンス情報を確認…

VBAでCreateObject("InternetExplorer.Application")を実行すると「オートメーションエラーです。 システムのシャットダウンは既にスケジュールされています。」エラー

IT

原因はIEを操作するたびにCreateObjectで生成したIEオブジェクトを生成・破棄していたこと。 IEオブジェクトを破棄してもすぐに消えて無くなるわけではなく、 「システム(つまりIEのこと)のシャットダウンがスケジュールされた」状態になるっぽい。 解決案…

ログインフォルダがc:\Users\TEMPになってしまう問題

IT

Windows7をWindows10にアップグレードするとなぜかログインフォルダがc:\Users\TEMPになってしまった。 原因はユーザプロファイルが壊れていることらしい。 再起動すると直った。 参考:

ChromeでWebを見ようとすると「このウェブページの表示中に問題が発生しました」と表示される問題

IT

メモリ不足が原因かも?PCを再起動すると直った。 参考:

AngularJSでの$(document).readyの書き方

web

以下のようにすればいい。 angular.module('MyApp', []) .controller('MyCtrl', [function() { angular.element(document).ready(function () { document.getElementById('msg').innerHTML = 'Hello'; }); }]); 参考:

ATOKでショートカットキーでかな入力に変更したら、かな入力にならずカナロックされてしまう

IT

自分は「ひらがな」キー押下で日本語入力ON、「英数」キー押下で日本語入力OFFにしているが、 ひらがなキーを押しても日本語入力ONにならずカナロックされてしまうことがある。 この現象たまに発生するんだけど原因不明だ。。 対症療法だけど解決策は以下。…