:::: MENU ::::
Browsing posts in: Linux

treeを使わずにfindでディレクトリツリーリスト表示

Linuxでは、treeコマンドを利用すると、ディレクトリ内のツリー構造を表示させることが出来ますが、標準コマンドではないので、標準コマンドのFindを使って表示させてみます。

$ find . -type d | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
.
|-dir1
|-dir2
|-dir3

 

ちなみに、treeだとこんな感じ

$ tree -d
.
├── dir1
├── dir2
└── dir3

treeの方が、深い階層の場合にインデントしてくれたり、ファイルを表示してくれたりして便利ですが、treeがない環境の時にfindによる表示方法も覚えておくと良いかもしれません。

ちなみに、treeは、yumやapt-getで簡単にインストールできますね。


openSUSE12.3でnvidiaドライバ再インストール

openSUSE 12.3にアップグレード後、Desktop版のkernelでXが通常起動しませんでした。

仕方なく、Safemodeで起動させ、startxでXの起動を確認しましたが、搭載されているnvidiaのバージョンも古くドライバがロードされないようなので、再インストールすることにした。

nvidiaドライバのダウンロード

NVIDIAドライバダウンロードのページより、自分のPCに搭載されているグラフィックボード機種を選んでダウンロードする。

(私の場合、NVIDIA-Linux-x86_64-319.32.runが該当)

Xからコマンドラインモードへ切り替え

Xが起動していたら、Xを切り、コマンドラインモードにする。

# /sbin/init 3

vncサーバも動作していたら、切っておきましょう。

# vncserver -kill :<display番号>

 NVIDIAドライバインストール

# sh  NVIDIA-Linux-x86_64-319.32.run

再起動

# /sbin/shutdown -r now

これで、nvidiaドライバーがロードされ、デュアルモニタも復活して表示する事が出来た。


openSUSE 12.3でネットワーク設定がDHCPから固定IPに変わらない症状

openSUSE 12.3にアップグレードした後に、ネットワークが接続しなくなりました。
ifconfigで調べてみたところ、プライベートアドレスが割り当ててる事から、YaSTのネットワーク設定でDHCPから固定IPに変更。

が、すぐにプライベートアドレスに戻る事が発覚。

あー、DHCPのデーモンが生きてるのね!と、psでdhcp-clientをkill。
しかし、すぐにdhcp-clientが生き返る。(–#)

どうやら、YaSTのネットワーク設定でNetworkMagerに一度切り返した後に、ifupによる固定IP設定すると上手く行くことに気づくこと数時間経過。

こんなバグっぽい設定は、マジ疲れる。orz



openSUSEを12.1から12.3へzypperでアップデート

openSUSE 12.1にて、特に不自由なく安定して使用していたのですが、多言語関連のM17Nのサポートが終了したようなので、仕方なく最新版の12.3へアップグレードする事にした。

どうやら、12.1から12.2を飛び越して12.3へアップグレードは依存関係等で危険なので、順番通りに12.1→12.2→12.3へアップグレードした。

今回は、YaSTでなくコマンドラインのzypperにて作業

詳細は、公式の「第16章 システムのアップグレードとシステム変更」に書かれてあるとおりに実行した。

アップグレード後に起動しなくなると困るので、とりあえず/etc下だけafioにてバックアップ。

# find /etc | afio -ovZ etc.afz

現状のシステムを最新にする

# zypper dup

ここで、M17N関連のパッケージをどうするか聞いてきたら、無視

リポジトリの確認

# zypper lr -u

アップグレード先のバージョンにあわせてリポジトリを追加

# server=http://download.opensuse.org
# new_ver=12.2
# zypper ar $server/distribution/$new_ver/repo/oss/ openSUSE-$new_ver-Oss
# zypper ar $server/update/$new_ver/ openSUSE-$new_ver-Update

 続いて古いリポジトリを削除

# old_ver=12.1
# zypper rr openSUSE-$old_ver-Oss
# zypper rr openSUSE-$old_ver-Update

 サードパーティ 製のリポジトリを無効にする

# zypper mr -d repo-alias

リポジトリの確認

# zypper lr -d

メタデータとリポジトリの内容を更新

# zeyyper ref

zypper 自身のアップグレード

# zypper up zypper

ディストリビューション本体のアップグレード

# zypper dup

ライセンス確認画面が出るので、Yesを押してアップグレード

基本的なシステム設定

# SuSEconfig

再起動

# shutdown -r now

これを、12.2から12.3でも行うが、12.3では、SuSEconfigを行う必要がありません。


ZabbixでLack of free swap spaceのエラーが出るときの対処

Zabbixで監視画面を見てみたら、あるサーバで下記のエラーが出てました。

Lack of free swap space on Server

今では、メモリをふんだんに搭載出来、わざわざSwapを作成する必要がないのですが、どうやらZabbixではswap領域を監視するようなのでエラーが出るようです。

仕方ないので、小さなswap領域を作成して対処します。

# dd if=/dev/zero of=/var/swapfile bs=1M count=2048
# chmod 600 /var/swapfile
# /sbin/mkswap /var/swapfile
# echo /var/swapfile none swap defaults 0 0 | tee -a /etc/fstab
# swapon -a

 


フロッピーディスクがないのにfdエラーが出るときの対処

フロッピーディスクがないPC機や仮想サーバでFDを削除しているのに、Linux上のエラーメッセージに下記のようなフロッピーディスク関連のエラーが出るときの対処です。

end_request: I/O error, dev fd0, sector 0

# /sbin/lsmod |grep -i floppy
floppy 57125 0

# vi /etc/modprobe.d/blacklist
blacklist floppy

# shutdown -r now

Linux上のmodprobeでfloppyを削除してあげるだけですね。


中国以外(日本国内)でもYoukuの動画を見れるChrome機能拡張

最近、忙しかったりして、テレビ番組を予約し忘れたり、見逃した時、Youkuで見せてもらう事がありますが、日本国内では下記のようなエラーで中国以外では見られません。

中国サイトのプロキシーを利用すると、見ることが出来るのでしょうけど、もっと簡単な方法がありました。

Google Chromeの拡張機能で、「Unblock Youku」と言う便利な拡張機能を追加することで視聴が可能になるようです。

何れ、対策されるかもしれないけど、現状はこれが一番簡単ですね。


OpenSUSE12.xにSilverSearcherをインストール

OpenSuseのパッケージには、Silver Searcherがないので、手動にてインストールする。

$ git clone https://github.com/ggreer/the_silver_searcher

$ cd the_silver_searcher
$ ./build.sh

aclocalが見つかりません

# zypper in automake pcre-devel

# ./build.sh
# make install

CentOSやFedoraでは、yumでthe-silver-searcherが用意されてます。


ハイフン(-)で始まるメールアドレスに送信できないのは?

職場では、メールサーバにPostfixを利用していますが、最近になって、ハイフン(-)付きのメールアドレスに送れないので調べて欲しいとの要求がきた。

調べてみると、ログに、下記のエラー。

bad address syntax

最初、ハイフン付きの拡張アドレスの事かと思ったら、先頭にハイフン(-)が付いてると送れないとの事。

調べてみると、Postfixでは、このようなアドレスには、コマンドに対するオプションと解析されてしまうので、デフォルトでは送れないようだ。

じゃあ、どうするか?

/etc/postfix/main.cfに下記を一行追加するだけ。

allow_min_user = yes

保存後は、Postfixを再起動で適用されます。

$ postconf |grep allow_min_user
allow_min_user = yes

ページ:123456789...15