tkuchikiの日記

Linux やプログラミングについて書きます。

Mac

ログインユーザ名を取得する

su コマンドで root になった場合などで、 ログインしたときのユーザ名を取得する方法です。 結論から書くと、logname(1) を使えば良いです。 $ ssh ec2-user@ec2-host $ whoami ec2-user $ sudo su - $ whoami root $ logname ec2-user Amazon Linux, CentO…

perl, php, python の標準モジュールで /etc/shadow の hash を生成する方法

※追記 /etc/shadow の hash を生成するコマンドを作りました - tkuchikiの日記 で環境依存しない方法を紹介しています。 useradd や chef の user resource で password を設定するときに必要になる、 /etc/shadow の hash を生成する方法です。/etc/shadow …

現在の shell を shellscript の中から確認する(Linux, BSD 両対応)

現在の shell(以下、current shell) を確認する方法として真っ先に思い浮かぶのは以下だと思います。 $ echo $SHELL /bin/bash ただ、これは不正解で、$SHELL はあくまでも login shell ですので、 login shell と current shell が違う場合は正しい値を返し…

find でディレクトリに symlink が含まれるときはパスの末尾に / をつけるか、-L をつける

$ tree -p /tmp/ /tmp/ ├── [lrwxrwxrwx] foobar -> /tmp/hoge └── [drwxr-xr-x] hoge ├── [-rw-r--r--] hogege └── [-rw-r--r--] hogehoge 2 directories, 2 filesというディレクトリ構成の時に、 $ find /tmp/hoge /tmp/hoge /tmp/hoge/hogege /tmp/hoge/h…

Mac に Haskell の環境を構築する手順

homebrew を最新版にする $ brew update 元々入っていたので upgrade したが、通常は install $ brew upgrade haskell-platform ==> Upgrading 1 outdated package, with result: haskell-platform 2013.2.0.0 ==> Upgrading haskell-platform ==> Installin…

Mac で hosts ファイルへの変更が巻き戻ってしまう問題の解決方法

Mac OS X Lion ? で VPN接続中に /etc/hosts を変更する際の注意点 - tkuchikiの日記 の解決方法。ぐぐってみたら以下の様なページがヒットした。osx - /etc/hosts getting reset in Lion - Super User 10.7: Adding entries to the Cisco AnyConnect hosts…

OSX Lion で kernel_task が CPU 使いすぎな場合の対処法

Mac

MacBookProのkernel_taskがCPUを専有してしまう問題 - よんちゅBlogの画像のように、200% なんて生易しい状態ではなく、 550%近く使っていて作業にならなくなった。 対処法は上記ページの、ファイルを退避する方法で直った。

Mac に mytop をインストール

Mac に mytop コマンドをインストールしようとしたらちょっとハマったのでメモ。 $ brew install mytop Unsatisfied dependency: DBD::mysql Homebrew does not provide Perl dependencies; install with: cpan -i DBD::mysql Error: An unsatisfied require…

Mac で cp を使うときの注意

MacでFinderからドラッグ&ドロップしてディレクトリを上書きしようとすると置き換えられてしまう。 そこで、 cp -rf src dest のように実行したところ、 まったく上書きされていない。。。 Macのマニュアルを見てみると、 COMPATIBILITY Historic versions …

BSD(Mac) で find xargs sed を使う際の注意点

ファイルを一括置換するときに、 find /path/to/dir -type f | xargs sed -i "s/hoge/foobar/g" みたいにコマンドを打つことがあると思いますが、 Macでは、 sed: 1: "/path/to/dir": invalid command code . や、 sed: 1: "path/to/dir/file": extra charac…

Mac OS X Lion ? で VPN接続中に /etc/hosts を変更する際の注意点

Mac OS X Lion だけで発生する現象かはわからないが、 VPN接続中に /etc/hosts を編集しても、 VPNの接続を切ると変更した内容が元に戻ってしまうという現象が起きた。 というメモ。