カテゴリー別アーカイブ: Darwin/Unix関連

Darwin/UNIXに関するTipsです。

複数のファイルのエンコーディングを変更する

iconv

複数のファイルのエンコーディングを変更する

# cd 変更したいフォルダのルート
# find . -type f | \
 (while read file; do
  iconv -f UTF8 -t EUCJP "$file" > tempfile; ... 元のエンコーディング・変更したいエンコーディング
  mv tempfile "$file"
  done);
備考
  • この例ではUTF-8のファイル群をEUC-JPに変更する。
  • 処理したいファイル名を特定する際は find の引数に -name \*.xxx などとつけることでファイルの絞り込みが可能。(もちろんこの例では .xxx で終わるファイルを指定)
情報元 http://stackoverflow.com/questions/1182037/osx-change-file-encoding-iconv-recursive

rootユーザーを有効にする

OS X

root ユーザーを有効にする

Mac OS X 10.5 (Leopard) 以降

  1. Finder の 移動 メニューより ユーティリティ を選択する。
  2. ディレクトリユーティリティを開く。
  3. 画面左下にあるカギアイコンをクリックする。
  4. 管理者の名前とパスワードを入力して、OK を押す。
  5. メニュー内の 編集 を選択し、中の ルートユーザを有効にする を選ぶ。
  6. root のパスワードを入力して OK を押す。


Mac OS X 10.4 (Tiger) またはそれ以前

  1. Dock から Finder アイコンをクリック。
  2. 移動 メニューから アプリケーション を選択。
  3. 中の ユーティリティ フォルダを開く。
  4. 中にある NetInfo マネージャ を開く。
  5. カギアイコンをクリック。
  6. 管理者の名前とパスワードを入力して、OK を押す。
  7. Mac OS X 10.2 (Jaguar) 以降の場合は セキュリティ メニューから ルートユーザを有効にする を選択する。
  8. Mac OS X 10.0 (Cheetah) もしくは 10.1 (Puma) の場合、ドメイン メニュー内の セキュリティ より ルートユーザを有効にする を選択する。
  9. 初めて root パスワードをセットする場合、パスワードがセットされていない旨のNetInfo エラーが表示されるが気にせず OK を押すこと。
  10. root ユーザのパスワードを入力して セット をクリックする。
  11. 再度 root ユーザのパスワードを聞かれるので入力して 確認 を押す。

  12. カギアイコンを再度クリックしてロックしておく。
使用OS Mac OS X 全般
参考文献 Enabling and using the “root” user in Mac OS X (Apple Web Site) (2007/10/27現在日本語訳がまだ公開されてなかったので作っちゃいました)




MacPortsを利用する

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger, PPC/Intel Mac 両機種での対応を確認)
Mac OS X 10.5 (Leopard)

はじめに

Mac OS のコア部分には Darwin が使われている。これはいわずと知れた UNIX をベースにしたシステム。そのため UNIX の豊富なソフトウェア資産が使えるが、一口に UNIX といってもそれぞれのプラットフォームごとに細かな違いがある。そのため、ほとんどの場合、それら UNIX ソフトウェアを Mac にて使用するには修正が必要になる。(別にこれは Mac に限ったことではないけれども。)このように個々のプラットフォームにソフトウェアを修正することを「ポーティング」と言う。Mac にもいくつかのポーティングプロジェクトが存在する。ここでは、Mac の代表的なポーティングプロジェクトである MacPorts (従来名: Darwinports) のインストール・利用方法を紹介する。

インストール

Xcode のインストール

まず Xcode をインストールしておく。インストール方法は下記のリンクを参照のこと。

port のインストール

port のダウンロード

※”port” とは、MacPorts を利用する際に使用するコマンドのこと。

downloadをクリック

  1. 下記リンクをクリックして、MacPorts のサイトに行く。
  2. すると左のサイトが表示されるので、赤枠で囲った Download をクリックする。


tar.bz2をクリック

  1. 赤で囲んだ部分をクリックして MacPorts のソースをダウンロードする。
  2. ダウンロードの後、自動的に解凍される。(ブラウザの設定によっては自動解凍されない。その場合はダブルクリックで解凍しておく)





port のコンパイル

先ほどダウンロードしたアーカイブファイルを使って、下記の手順でコンパイルを行う。

# cd ~/Downloads/MacPorts-1.6.0
	... ファイルの場所やファイル名は適宜自分の環境に合わせて
# ./configure
# make
# make install

port への path 設定

# vi /etc/bashrc

-- 下記の内容を bashrc 内に記述する
PATH=${PATH}:/opt/local/bin ... すでに PATH が定義されている場合、この行はその定義よりも下に書く

man path 設定

これは OS X 10.4 以前では必要ないのでその場合はここをクリックしてスキップ。

# vi /etc/manpaths

-- 下記の内容をファイルの一番下などに記述する
/opt/local/man ... すでに記述してある場合は不要

使い方


ポートリストのアップデート

MacPorts にて利用できるアプリケーションリストを最新にするには下記のコマンドを入れる。

# port -d selfupdate

パッケージのサーチ

あるアプリケーションパッケージが MacPorts に用意されているかを調べるには下記のようにする。

$ port search [パッケージ名]

パッケージをインストールする

アプリケーションパッケージをインストールするには、下記のようにする。

# port install [パッケージ名]

Darwinにて正しくマシン名を登録する

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)

はじめに

Panther と Tiger ではそれぞれ設定方法が異なる。これとあわせて、Windows 共有でのワークグループを設定するも設定しておこう。

Panther での設定方法

# vi /etc/hostconfig

-- 8 行目あたりを黄色のように変更
HOSTNAME=mypc ... 設定したい名前 (日本語はだめ)

上記にて次回起動時からマシン名が設定されたとおりになる。正しく設定されているかを確認するには、ターミナルから

$ hostname

とすることで表示される。(表示は mypc.local のようにドメイン (local) 付きで表示される。

あわせて、Tiger での設定方法通りに設定して Darwin と Mas OS X での名前を合わせておこう。

Tiger での設定方法

名前設定

  1. [システム環境設定] – [共有] をクリックする。
  2. すると左のウィンドウが表示されるので、設定したいマシン名を入力する。
  3. [システム環境設定] を閉じる。

ターミナルにてログインパスワードを再入力する

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)

はじめに

Darwin にて各種設定をする際に、su コマンドで root ユーザーになる機会は多い。その際、root ユーザーのパスワードを入力する必要があるけど、タイプミスすることもある。

そんな時、[Back Space] キーで消すことができない。[Back Space] もキー入力として認識されるんだよね。Mac OS X や Windows へのログオンでは、通常の文字入力同様に [Back Space] が使えるから、この違いにはイライラすることもあると思う。

ターミナルでのパスワード入力には [Back Space] は使えないけど、パスワード入力しなおしは下記のようにできる。

入力した文字列を一括消去する

control + U  (コントロールキーを押しながら u キーを押す)

これはパスワード入力以外でもターミナル内で有効。

操作例

$ su - ... root ユーザーになる ('-' を付けると
	環境変数も root 環境になる)
Password: ***** ... キータイプを間違えたら control+U を入力
 ↓
Password: ... control+U にて入力文字列が一括消去される
 ↓
Password: ***** ... 改めてパスワードを入力し直せる