vim #を勝手に入れる迷惑な自動インデント 防止

vimでコメント付きの行をペーストすると、その行以降すべて#のコメントから始まり、さらにはインデントされてしまうという状況に陥った。

設定で防ぐ。

コマンドモードに移動して、以下のコマンド実施

:setlocal formatoptions-=r

これで無事勝手に#とインデントが入ることはなくなった!

または
:set pasteでも良い

こっちのほうが覚えやすいね。

カテゴリー: Linux | タグ: | コメントする

Ansible whenで変数がないときのエラー fatal: [localhost] => error while evaluating conditional:

Ansibleは便利なツールだが、エラーメッセージが不親切極まりない。

この場合変数が未定義なためエラーとなっているのであるが、もうちょっと踏み込んでエラーメッセージを出してもらいたいものだ。

変数を定義して、実行するには外部から動的に指定するかvarsのファイルに記載しておく。

カテゴリー: Ansible | タグ: , | コメントする

Ansible ローカルで簡単にplaybookをテストする

Ansibleは便利なのだが、トライ&エラーで方法を探ることが多く、ローカルで実施できた方が便利な時が多い。

というわけでローカルでシンプルに実験できる方法。

### SETUP ansible working
- hosts: localhost
  connection: local
  tasks:
    - name:
      shell: >-
       echo "hoge" > /var/tmp/hoge;
       echo "fuga" >> /var/tmp/hoge

上記ファイルをtest.ymlで保存して、以下のコマンド流せばOK。
あとは-name以下の組み合わせをコピーしていけば、実験用お手軽playbookの出来上がりだ。

ansible-playbook test.yml
カテゴリー: Ansible | コメントする

Ansibleで未接続のホストにパスワード認証で接続するときは相手ホストに手動接続すべし

Ansibleで自動構築練習中だが、そのマシンで接続したことがない(~/.ssh/knowns_hostにないもの)に接続したら以下のエラーが出た。

fatal: [sshhost] => Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this.  Please add this host's fingerprint to your known_hosts file to manage this host.

めんどくさいので手動で一度接続して該当ホストの公開鍵を~/.ssh/knowns_hostに追加した。

その後同じplaybook実施して無事成功。

なお公開鍵認証で接続するようにするのが望ましく、このパスワード認証はその公開鍵認証を有効にするための初期構築にのみ利用している。

カテゴリー: Ansible | 2件のコメント

iPhone テザリングでアクセスポイントが出てこない場合の対策

以前にiPhoneだと以前テザリングに成功した場合でも、アクセスポイントが出てこないというエントリーを投稿した。

その後も利用するたびにインターネット共有をOFFにしてからONにして運用回避していたのだが、本日まったくつながらずネットでさらに情報を収集した。

なんとiOSのテザリングの場合、検出可能な時間はインターネット共有の画面を開いている間か閉じてから90秒以内らしい。
道理で途中でつなごうと思ってもアクセスポイントが出てこないわけだ。

そんな異様な使用ならインターネット共有の画面を閉じるときに警告を出してほしいもんだ。

カテゴリー: Apple | タグ: , | コメントする

CopyTransManager iTunesなしでiPhone/iPod touchに曲を転送 (ただしドライバーのインストール必須)

iOS系の一番嫌いなところは曲の転送がiTunesを介して、勝手に(!)行われるところ。

もう一つは自分で管理しているフォルダ構成を無視して、MP3に付随するID3タグ情報をもとに勝手に分類すること。
(いわゆるアルバム バラバラ事件)

というわけでこれまでほとんど音楽はAndroidで利用していたのだが、ID3タグの整理をすることを前提にすれば
電池の持ちが抜群だが、時代遅れとなりつつiPod touch4thに寄せたい。

昔にCopyTransManagerを使ったことはあったが、その時はiTunesと併用だったが、今度はiTunesを全く入れない状態で試してみた。
以前誤解していたのだが、CopyTransManagerの実施には、iTunesが必須ではなく、iTunesに含まれるドライバーが必須なのである。またiOSのバージョンアップするとドライバーも更新の必要があるかもしれないので注意。

CopyTransManagerの利用方法としては、
ドラッグ&ドロップして放り込み、左上のアップデートボタンで更新を反映させるだけ!
CopyTransManagerは曲を送ることはできるが、Podcastのバックアップなどは有料のCopyTransを利用しないとだめ!

CopyTransManager V 1.0.5と以下の組み合わせで成功を確認した!
iPod touch4th(iOS 6.1.6)
iPhone6(iOS 8.1.1)

カテゴリー: Apple | タグ: , | コメントする

シェルスクリプトのループ処理 文字列の区切り文字を変更する

デフォルトでは空白、タブ、改行で区切るようになっているが、これを変更したい時がある。

一番お手軽なのは一時的にsedで区切り文字を空白に置き換えてしまうことだ。

echo "hoge,fuga" | sed -e 's/,/ /g'

シェルスクリプトの区切り文字を定義している
IFS 環境変数を変えるという手もある。

#!/bin/sh
testspace="hoge fuga"
testcomma="hoge,fuga"
for val in ${testspace}
do
        echo ${val}
done
for val in ${testcomma}
do
        echo ${val}
done
IFS=','
for val in ${testcomma}
do
        echo ${val}
done

シェルの中だけの変更にとどめておけばほかのプログラムに影響はない!

なおsedでの区切り文字も/に限らず利用可能である。
下記ではsedの区切り文字に#を利用している。URLをsedで置換するときにはエスケープ不要なので#が便利!

echo "hoge,fuga" | sed -e 's#,# #g'
カテゴリー: Linux | タグ: , | コメントする

Samba/ファイルサーバーに別ユーザーでログインしなおす [net use /delete *]

Windowsからログイン後にネットワーク接続に成功するとその情報を覚えておいてくれているのは便利だが、時折別ユーザーで入りなおす必要がある。
(sambaのユーザ別フォルダなどにテストログインしたい場合)

その場合は表題のとおり、セッションを切断するコマンドをコマンドプロンプトで打ち込む!

net use /delete * 

確立されているセッションの一覧がでるので、確認してYを押すと再度ファイルサーバーへアクセスすると、ログインダイアログが現れるはずである。

カテゴリー: Windows | コメントする

パソコンの累積稼働時間をCrystalDiskInfoで確認する

Let’s noteの法人向けモデル(CF-S10など)ではBIOSで累積稼働時間を確認することができるが、そのほかの機種の場合はどうすればよいのか?

実はHDDには累積稼働時間情報が蓄積されており、その情報を読み取ることで大まかな稼働時間を推測できる。
(もちろんHDDを交換した場合は累積稼働時間が0に戻るので、あくまで参考程度だが、自分が利用しているパソコンなら利用してもよいだろう)

というわけで早速実施してみたら
約20000円の格安で購入したCF-N9は9350時間!
約70000円で購入したCF-SX1(こちらはBIOSでも確認できる)は4450時間と出た。

両機種とも法人用途で使われていたと思われる。家庭用だとなかなかそこまで数値は伸びないぞ。

HDDの寿命は温度など外部要因も絡んでくるので単純に時間だけを目安にはできないが、上記機種は簡単に交換できるので1万時間行きそうなら交換してしまうのもありだろう。

歴代PCのなかで一番長期にわたって利用していたCF-R3(去年で引退)はどのぐらいになるのか計測してみるか!

カテゴリー: PC | タグ: , | コメントする

SSH初回接続時のホストキー照合をしないオプション

ssh接続を行うときは、初回接続先であればホストキーに関してのダイアログが出てくる。

これはセキュリティ上ホストキーが偽装されていた場合に、接続させないので重要なチェックなのだが、自動化したい場合にこのダイアログが邪魔になるときがある。

その場合は以下のオプションをつけて実施すると、ホストキーのチェックを行わない。

ssh HOSTNAME -o StrictHostKeyChecking=no 

もちろんセキュリティ上の問題があるので、使うのはprivateipなどの内部ネットワークに限るのがよいだろう。

カテゴリー: Linux, コマンド | タグ: | コメントする