Linux

内容はUbuntuの場合が多い。


Vi関連


シェルスクリプト

Windowsで作成した数値データのテキストファイルを,Linuxでシェルスクリプトを使って
処理しようとしてたら,exprで数値として認識してくれず演算できなかった。
散々調べたり考えた結果,改行コードが原因っぽい。
WindowsはCR+LF,UNIX/LinuxはLF,MacはCRなので,exprではCRを数値ではないと認識してたみたい。
lessやらviで見ても違いが分からないんで厄介だった。
バイナリエディタで見るとよくわかった。
それで変換は,
$tr -d '\r' <input_file> output_file
ちなみに,改行コードの確認は
$od -c text_file
あと,その時初めて使ったバイナリエディタのbviがviライクでいい感じだった。

便利そうなコマンドやコマンドの組み合わせの覚書

ある文字列を含むコマンドがあるかどうか調べたい

find `echo $PATH | sed s/:/" "/g` -name "*set*"
これはsetを含むコマンドを探したい場合。
パスが通っているディレクトリの中から探すので,一般ユーザだと/sbinとかの中は探してくれない。

yum searchの結果からパッケージ名にキーワードが含まれている項目のみ抜き出す

yum search bind | cut -d' ' -f1 | grep bind
上記の例はbindをパッケージ名に含む項目を抜き出す場合

キーボードのキーコードを調べたい

xev

lessで現在開いているファイルを最新の情報にしたい

R

teeコマンドで標準エラー出力もファイルに書き込みたい

ただしbashの場合の話,tcshは無理だったと思う(要調査)
例えばmakeの場合
make 2>&1 | tee make_log.txt
ちなみに画面には標準出力と標準エラー出力,ファイルには標準エラー出力のみを出力したい場合は
make 3>&1 1>&2 2>&3 |tee make_error_log.txt 

ログアウトした後もコマンドを実行し続ける

あんまり使わないから,いざ使いたいときに大抵忘れてるんでメモしておく
nohup command [arg] &
argはcommandの引数。

MACアドレス

通信相手のMACアドレスを調べる

あらかじめ相手とpingなどで通信を行ったあと,
arp 相手のIP
で調べられる。

MACアドレスからネットワーク機器の製造元ベンダを調べる

MACアドレスの上位24bitはハードウェアベンダを示しており,以下のサイトで検索するとどのベンダの製品化が分かる。
IEEE OUI and Company_id Assignments

NICのチップセットを調べる

lspci
dmesgから探すという手もある。

拡張子だけが違う同一名のファイルを拡張子はそのままに一度にファイル名を変更したい

for i in `ls inuputfile.*`;do mv ${i} outputfile.`echo ${i} | cut -d '.' -f 2`; done

lsの結果を各ファイルごとにフルパスで欲しい

どうやらlsコマンドのオプションでは提供されていないようで,findコマンドを用いて以下のようにやる。
find /home/user/ -maxdepth 1 -mindepth 1
上記はuserのホームディレクトリ内のファイル・ディレクトリのみをフルパスで表示する。

gnuplot関連

線種のサンプルを表示

gnuplot> test

tgif関連

jpegとかをimportできないとき

ubuntu8.04の場合だが、
netpbm
libjpeg-progs
のパッケージをインストールするとできるようになった。
libなんとかをインストールすれば,他の画像もimportできるかも(未検証)

設定ファイル

/etc/X11/app-defaults/Tgif
に設定が書いてある。あと,上記ファイルのTgif.IconPixmap:でアイコンが指定されており,デフォルトでは
/usr/share/tgif/
にxpmファイルが置いてある。

scim+anthyで漢字変換ができなくなるバグ

日本語入力システムとしてscim+anthyを使用しているときに、漢字変換ができなくなるバグについて。

バグが発生した状況

  • バグの状況
日本語を入力するために漢字変換を行おうとすると発生。半角スペースが入力され、右側に変換しようとしていたひらがなが残ったまままscimが死亡。ターミナル他sylpheedやfirefoxでも起こった。変換前のひらがなの状態で入力を確定すればバグは発生しない。Xの再起動、マシンの再起動を行ってもバグは発生した。
  • 日時
2008年4月22日夕方くらい
  • バグが発生したマシンの環境
OS VineLinux4.2(VMware上)
インプットメソッド(IM) scim
日本語入力システム anthy
  • 原因
不明。前触れなく突然起こった。

対処方法

ホームディレクトリの
./anthy
を削除して、anthyを立ち上げなおしたら直った。ただ、原因はまだ不明。

その他

scim+anthyで「るいヴぃとん」と入力し変換しようとすると、上記のバグが発生する。ただし、こちらは「るいヴぃとん」と入力したプロセスのみでしか起こらない。他のプロセスでは通常通り変換できる。

64bit版Ubuntu9.04をインストールしてから使える状態にするまでの記録

ネットワーク

最初に

どういうわけかインストール時に作成したユーザは,ネットワークを使用できないように設定されていた。(インストール時の設定が悪かっただけかもしれないが)
以下の操作で解除する。
上パネルのシステム→システム管理→ユーザとグループ→(作成したユーザの)プロパティ→ユーザの権限→有線及び無線ネットワークに接続できるのチェックボックスにチェックを入れる
※ユーザのプロパティに変更を加えるにはロックを解除する必要がある。

IPの設定

/etc/network/interfaces
に設定を書く。以下サンプル。
auto lo
iface lo inet loopback

iface eth0 inet static
address 123.45.67.89
netmask 255.255.255.0
gateway 123.45.67.1

auto eth0
あとは
/etc/init.d/networking restart
で多分大丈夫。

NFSの設定

デフォルトではnfsのクライアントは入っていないので,
apt-get install nfs-common
で導入後,
/etc/fstab
に必要な情報を追記しておく。
nfsserver:/commondir       /nfsdir  nfs     rw,hard,intr     0 0
例えばこんな感じ。マシン名,ディレクトリ名は適当に。optionにnoautoを加えると自動でマウントをしないようになる。

NISの設定

NISもNFS同様デフォルトでは入っていないので,まずインストールする。
apt-get install nis
インストール中にNISのドメイン名を設定しなければならない。ネットワーク管理者に聞くか,すでにNISが導入されているマシンで
nisdomainname
または
ypdomainname
とコマンドを打つか,Ubuntu 9.04の場合
/etc/defaultdomain
を,CentOS 5の場合
/etc/sysconfig/network
を見れば記述されている。
次に
/etc/nsswitch.conf
を編集する。passwd:,group:,shadow:,services:の各項目の最後にnisを追加していく。例えば以下のようにする。
passwd:         compat nis

64bit版UbuntuのfirefoxでFlash Playerを動作させる

32bit版を導入してラッパーをかませる方法

下記のページのコメント欄参照
http://ubuntu.livedoor.biz/archives/64539867.html
手順の部分を引用すると
http://janvitus.interfree.it/ubuntu/index.html
ここのリポジトリを追加して
sudo apt-get install ia32-libs ia32-libs-gtk linux32 lib32asound2 nspluginwrapper gsfonts-x11
http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash
ここからinstall_flash_player_9_linux.tar.gzをダウンロードして解凍。
libflashplayer.soとflashplayer.xptを/usr/lib/firefox/pluginsにコピー,
となる。

64bit版(非公式?)を使用する方法

libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz
をダウンロードしてきて展開する。
libflashplayer.so
というファイルができるので
/usr/lib/mozilla/plugins
に置く

64bit版UbuntuにOperaを導入する

http://jp.opera.com/
からダウンロードしようとすると,x86_64を選択しても何故かi386用のファイルがダウンロードされるので(2008年6月23日時点)
http://www.opera.com/
からダウンロードする。

Athena Widget関連ライブラリ

libxaw-headers
libxaw7
libxaw7-dev
このあたりを入れておけば大丈夫だろう。

CentOS5でyum updateをしたときのトラブル対策

なんかパッケージのダウンロードが異常に遅い

デフォルトで接続されるupdate serverだと膨大な時間がかかってしまうので
yum install yum-fastestmirror
を最初にやっておいて速いサーバから落としてくるようにする。

yum updateしたらpackageがconflictsしてるとか言われてerrorで止まる

2009/6/17にyum updateしたら
Error: python-devel conflicts with python < 2.4.3-24.el5
と言われて失敗。
ググってみたところ
http://d.hatena.ne.jp/yokkuns/20090421/1240319175
で同じ現象が起きている人を発見。
上記のページによると,
# rpm -qa python
python-2.4.3-21.el5
python-2.4.3-24.el5
でわかるように新旧パッケージが混在していることが原因らしい。
そこで,
# yum remove python-2.4.3-21.el5
で古い方を削除してやる。
その上でyum updateを実行すると,今度は
Transaction Check Error:
 file /sbin/mkinitrd from install of mkinitrd-5.1.19.6-44 conflicts with file from package mkinitrd-5.1.19.6-28
 file /sbin/new-kernel-pkg from install of mkinitrd-5.1.19.6-44 conflicts with file from package mkinitrd-5.1.19.6-28
 file /usr/share/man/man8/mkinitrd.8.gz from install of mkinitrd-5.1.19.6-44 conflicts with file from package mkinitrd-5.1.19.6-28
というerrorが発生したので,前と同じ要領でmkinitrdの古いversionをremoveする。
これでyum updateも無事完了した。

yumのデータベースが壊れた?とき

yum clean all
でデータベースを初期化できる。

マザーボードの温度・電圧・ファン回転数を計測する

# apt-get install lm-sensors
で関連パッケージとともにインストールする。
# sensors-detect
でセットアップを行う。
基本的にEnter連打でOK。
マザーボードによってはセンサーが見つからないこともある。
$ sensors
で温度などの情報を見ることができる。

Ubuntu9.04から9.10にアップグレードしたときの記録

不具合が多いと話題の9.10だが,報告されているようなHDDが認識されないとか画面出力が全くされないとか,
そういった致命的な不具合は幸い自分の環境では発生していない。
しかし細かな不具合(と言うよりは仕様変更?)があったので記録しておく。

VMwarePlayerのマウスポインタの不具合

VMwarePlayerのバージョンは2.53で,ゲストOSはWindowsXPpro。
症状は,マウスポインタが(VM中の)画面左上640*480くらいの領域でしか正常に動作しないというもの。
VMwarePlyaer3.0にアップグレードしたら治った。
原因は調べていないし,VMも2.53を再インストールするだけでも良かったかもしれない。
記録しておくほどの情報でもない気もするが一応。

/etc/fstabのマウントオプションautoについて

nfsのファイルシステムを起動時にマウントするように記述していたのだが,
9.04までではマウントオプションにautoを記述していなくても起動時に自動でマウントしていた。
それが9.10(というよりはmountの仕様が変わったのかも...)からは記述が無い場合の動作がnoautoになったようである。
2009/11/11追記
マウントオプションにautoと明記していても自動でマウントしなかった。
要調査
2009/11/25追記
本日アップデートを行ったところ,問題は解消されていた。
2010/1/7追記
書くのが遅くなったが,12月の頭にはまた自動でマウントされなくなっていた。
2010/1/8追記
とりあえず対症療法的な対策。上のメニューバーから,
システム->設定->自動起動するアプリ
で「自動起動するプログラム」タブで「追加」ボタンを押す。
そして,コマンドの欄に
mount デバイス or マウントポイント
を書く。ここを見ているということは,fstabにNFSマウントの設定が書いてあるはずなので,それを前提に上記は書いている。
それと,fstabのNFSマウントの部分にuserオプションを追加しておいた。
これは未検証だが,恐らく必要なんじゃないかなぁと思っている。

Alt+Shift+Tabの挙動について

Ubuntu 9.10に限った話ではないのだが,デフォルトのUbuntuでは,Alt+Tabでwindowの切り替えはできるが,Alt+Shift+Tabで逆順に切り替えができなかった。
その設定の変更方法を調べて分かったので記録しておく。
Ubuntu 9.10の場合,
システム->設定->キーボード->「レイアウト」タブ->「レイアウトのオプション」ボタン
と進んでいき,
Key(s) to change layout
グループを開く。デフォルトではこの中の「Alt+Shift」のチェックボックスにチェックが入っていたのでチェックを外す。この方法でいけた。
Ubuntu 7.10の場合,レイアウトオプションの中のグループがGroup Shift/Lock behaviorで,
Alt-Shift chages groupのチェックを外すらしい。ここのページ参照->http://astro3.sci.hokudai.ac.jp/wiki/index.php?kat%2FComputer%2FLinux%2FUbuntu
ちなみに,Key(s) to change layout (Group Shift/Lock behavior)は日本語キーボートと英語キーボードのレイアウトを行き来する場合などに使うっぽい。
ここのページ参照->https://forums.ubuntulinux.jp/viewtopic.php?id=1139


  • 私もVineLinux4.2を使っていて同じように日本語変換が出来なくなりました。
    原因不明ですが、頻発するのが気持ち悪いので別のLinuxを試そうか悩んでいます。 -- とおりすがり。 (2008-08-03 21:51:42)
  • 「NICのチップセットを調べる」は「lspci | grep Ethe」とかの方がいいと思います。 -- 名無しさん (2010-12-25 01:46:09)
  • http://xn--pckuae6an0k0e9b.biz/ -- テレホンセックス (2011-01-05 13:27:27)
  • 騎乗位だけで月100万(人・ω・)♂ http://ylm.me/index.html -- ぷぅにゃん (2011-11-29 18:35:39)
名前:
コメント:

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年11月29日 18:35
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。