Ubuntu 15.04のpptpdに接続できない現象の解決方法

Ubuntu 15.04にアップデートした後、pptpdでVPN接続できなくなった。syslogを調べると以下の行を発見。
 pppd[8104]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.5, this is 2.4.6
/etc/pptpd.confのlogwtmp行を以下のようにコメントアウトして、pptpdを再起動すると、接続できるようになった。
#logwtmp

Adobe Lightroom CC 2015が起動しない問題の解決方法

Adobe Lightroom CC 2015をインストールし、アイコンをクリックしたのに、一瞬バナーが表示された終了する現象に遭遇しました。 以下のページに解決方法がありましたが、簡単に書くと次のとおりです。

  • Adobe Creative Cloudアプリを起動
  • 右上の歯車のアイコンをクリック
  • 環境設定を開き、一度サインアウトする。
  • 再度、サインインしてLightroom CC 2015を起動する

 http://finder-world.com/2015/04/22-lrcc2015/

branch is currently checked outと表示されてgit pushが失敗した時の対応

git pushで以下のようなエラーになる場合があります。
 ! [remote rejected] master -> master (branch is currently checked out)
リモートで、次のように設定することで解決できます。
$ git config --bool core.bare true

Linuxでプロセスの環境変数を表示する

$ cat /proc/20043/environ  | tr "\000" "\n"
sedを使ってもOK
$cat /proc/20043/environ | sed "s/\x0/\n/g"

sshでgit repositoryをcloneする例

remote.hostでsshが8080ポートで待ち受け。MyProjectというレポジトリをfooというuserでログインしてクローンする。
$ git clone ssh://foo@remote.host:8080/home/foo/repos/MyProject

iptablesでルール番号を表示

--line-numberを指定する。
# iptables -L -nv --line-number

Ubuntu 15.10でサービスのデフォルト起動を抑止する。

例: rpcbindの起動を抑止する。
# update-rc.d -f rpcbind remove  
青字部に指定できるサービスは、/etc/init.dの中のスクリプト。

lsofで特定のポートを使っているプロセスを調べる

例:22番ポートを使用しているプロセスを調べる
# lsof -i:22

MySQLで文字コードを指定してテーブルを作成する

character setオプションを指定。

mysql> create table t1 (c1 varchar(4)) character set utf8;

コマンドラインでのUbuntuのメジャーバージョンアップ

# apt-get install update-manager-core
# do-release-upgrade
ちなみに、LTSのみにするか、定期バージョンアップも含めるかは、/etc/update-manager/release-upgradesのPromt行を値で設定する。ltsまたはnormalを指定する。
Prompt=lts

CentOS7でUbuntuのLXCコンテナを作成する

debootstrapをインストール
# yum install debootstrap
qemu-debootstrapというコマンドが必要だが、以下のようにして作成。
# cp /usr/sbin/debootstrap /usr/local/sbin/qemu-debootstrap
qemu-debootstrapのDEF_HTTPS_MIRROR行を次のように変更
DEF_HTTPS_MIRROR="https://mirrors.kernel.org/ubuntu"
あとは、lxc-createコマンドを実行すればOK
# lxc-create -t ubuntu -n name

MacOSで.DS_Storeをリモートディスク上に作成させない方法

下記のコマンド実行後、ログアウト・ログインまたは再起動。
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
参考 https://support.apple.com/ja-jp/HT1629

LXCのCentOS7でhttpdがインストールできない問題の対処

httpdをyumでインストールしようとしたところ、以下のエラーが表示され、失敗した。
error: unpacking of archive failed on file /usr/sbin/suexec: cpio: cap_set_file
ホストマシンの/usr/share/lxc/config/centos.common.confでsetfcapをドロップから除外したところ、解決された。
#lxc.cap.drop = mac_admin mac_override setfcap
lxc.cap.drop = mac_admin mac_override
参考 CentOS 7.0のlxcでゲストにCentOSを使う時の問題を改善する。

rpmbuild実行時に展開されるマクロのデフォルトの定義ファイル

/usr/lib/rpm/macros
/etc/rpm/macros.*

LXCでrootfsの作成場所を指定する。

--dirオプションを使う。

# lxc-create -n foo -t ubuntu --dir /work/lxc/foo

TunnelBlickの設定ファイルのパス

/Library/Application Support/Tunnelblick/Users/[UserName]/[ServerName]/

Ansibleでのリモート側のシェルのエスケープシーケンスにるエラー

ansibleを使っていて、ハマった。リモート側の.bashrcには、screenのために次のような設定がある。
function printdir() {
  echo -en "\033k[$SCREEN_HOST$(pwd | awk '{ print $(NF) }' FS='/')]\033\\"
}

if [ x$TERM = xscreen ]; then
  PROMPT_COMMAND='printdir'
fi
そのため、ansibleで次のような一見不可解なエラーが発生した。
GATHERING FACTS *************************************************************** 
failed: [remote] => {"failed": true, "parsed": false}
invalid output was: SUDO-SUCCESS-dxwtmneadzzelqvobbmnbtbhweqmixhr
/usr/bin/python: can't open file '
単純な回避方法は、次のように実行時にTERMを適当なもの(xterm)に変更すること。
$ TERM=xterm ansible-playbook -i hosts playbook.yaml