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

ルート領域がフルになりそうなのでコマンドラインで確認してみる

このサイトでは、Sientific Linux 6.xの64bitで運用しており、ハードディスク容量を見てみたところ、99%使用で、危うく100%超しそうでした。

WindowsやMacでは、GUIでグラフィカルなHDD容量チェックルーツがたくさんあります。もちろんLinuxでもないわけではありませんが、コマンドラインの方が簡単で慣れてるので、コマンドラインでチェックです。

全体の容量を見るには、df -Hでパーティション毎に、容量情報を見ることが出来ます。
調べてみたところ、ルート(/)領域が99%で、その中でも/usr以下がほぼ占めてた。

それで、/usr/以下を下記コマンドで調べてみた。

# du -s /usr/* | sort -n
1.5M ./bin
4.0K ./etc
4.0K ./games
4.0K ./lib64
4.0K ./libexec
4.0K ./sbin
4.0K ./src
36G ./vpnserver
87M ./lib
382M ./rbenv
436K ./share
688K ./include

vpnserver下が圧倒的に容量を喰っていたので、さらに調べていったら、ログが溜まっていたのが原因でした。
あっさりとログを削除したころ、HDD空き容量が99%から20%にも減りましたとさ。


cpコマンドで複数のファイルを一括でシムリンク

Linux/Macなどでシンボリックシンク(シムリンク)を張る際に、通常だと”ln -s file1 files2″みたいに行います。
しかし、複数のシムリンクを作成する際に、lnではワイルドカードが使えないので、一つ一つでの作業となり面倒です。

達人になると、findとxargもしくはforループなどのインラインコマンドやシェルスクリプト,perl,rubyで簡単なプログラムを書くのでしょうけど、もっと簡単な方法はないのだろうかと思っていました。

(CentOS6.xのLinuxの場合で説明)
たとえば、Muninのプラグインファイルをシムリンク張る際に、
大元のファイルは、/usr/share/munin/plugis/に入っており、この中から有効にしたいファイルを/etc/munin/plugins/へシムリンクを作成します。
今回は、postgress関連のシムリンクを張ってみます。

まず、postgress関連のファイルを確認すると、

$ ls /usr/share/munin/plugins/postgres_*
/usr/share/munin/plugins/postgres_autovacuum
/usr/share/munin/plugins/postgres_bgwriter
/usr/share/munin/plugins/postgres_cache_
/usr/share/munin/plugins/postgres_checkpoints
/usr/share/munin/plugins/postgres_connections_
/usr/share/munin/plugins/postgres_connections_db
/usr/share/munin/plugins/postgres_locks_
/usr/share/munin/plugins/postgres_oldest_prepared_xact_
/usr/share/munin/plugins/postgres_prepared_xacts_
/usr/share/munin/plugins/postgres_querylength_
/usr/share/munin/plugins/postgres_scans_
/usr/share/munin/plugins/postgres_size_
/usr/share/munin/plugins/postgres_streaming_
/usr/share/munin/plugins/postgres_transactions_
/usr/share/munin/plugins/postgres_tuples_
/usr/share/munin/plugins/postgres_users
/usr/share/munin/plugins/postgres_xlog

これらのファイル全部を一つ一つlnコマンドでシムリンク張るのは、かなり面倒ですよね。

そこで、Linux/Unixを触ったことがある方なら誰でもご存じのcpを使います。
そう、ファイルをコピーするコマンドのcpです。

では、早速作業してみましょう。

# cd /etc/munin/plugins/
# cp -s /usr/share/munin/plugins/postgres* .

 cpコマンドに-sの引数をつけてやるだけで、あら不思議、簡単にシムリンクが張れます。

尚、シムリンク作成出来るcpは、FreeBSDやSoralisなど違うプラットフォームまたはバージョンによっては、使えないかもしれませんので、バージョンを確認し、man cpで-sが使えるか確認しましょう。

$ cp –version
cp (GNU coreutils) 8.4

作業後に、シムリンクが張れているか確認してみると、まとめてシムリンクが張られ作成されることが確認できました↓

postgres_autovacuum -> /usr/share/munin/plugins/postgres_autovacuum
postgres_bgwriter -> /usr/share/munin/plugins/postgres_bgwriter
postgres_cache_ -> /usr/share/munin/plugins/postgres_cache_
postgres_checkpoints -> /usr/share/munin/plugins/postgres_checkpoints
postgres_connections_ -> /usr/share/munin/plugins/postgres_connections_
postgres_connections_db -> /usr/share/munin/plugins/postgres_connections_db
postgres_locks_ -> /usr/share/munin/plugins/postgres_locks_
postgres_oldest_prepared_xact_ -> /usr/share/munin/plugins/postgres_oldest_prepared_xact_
postgres_prepared_xacts_ -> /usr/share/munin/plugins/postgres_prepared_xacts_
postgres_querylength_ -> /usr/share/munin/plugins/postgres_querylength_
postgres_scans_ -> /usr/share/munin/plugins/postgres_scans_
postgres_size_ -> /usr/share/munin/plugins/postgres_size_
postgres_streaming_ -> /usr/share/munin/plugins/postgres_streaming_
postgres_transactions_ -> /usr/share/munin/plugins/postgres_transactions_
postgres_tuples_ -> /usr/share/munin/plugins/postgres_tuples_
postgres_users -> /usr/share/munin/plugins/postgres_users
postgres_xlog -> /usr/share/munin/plugins/postgres_xlog

Linux/Unixを10年以上も触っているに、cpコマンドでシムリンクが作成できるのを初めて知りました。お恥ずかしい・・


Debianでsourcelist内のhttpsが取得出来ないとき

標準以外のとあるパッケージを導入しようと、/etc/apt/sources.list内にURLを記述し、apt-get updateで更新したところ、下記のエラー

sudo apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.

調べてみたら、/usr/lib/apt/methods/内にhttpsがないので、エラーとなってますね。

解決方法は、httpsに対応したapt methodをインストールすれば良いです。

# apt-get install apt-transport-https

これで、/usr/lib/apt/methods/内にhttpsが導入されますので、もう1度apt-get updateで更新するだけです。

何で、標準でhttpsが入ってないんだろう?



expressをインストールしてもnot foundになる

node.js関連でexpressをインストールする場合があるかと思いますが、ネット上の情報では、下記みたいに書いている事が多いです。

# npm install -g express

でも、この通りにインストールして、expressを実行しようとすると、command not foundと見つからないのです。

# express
express: command not found.

パスが必要なのかと思って探してみても、expressが見つからないのです。

どうやら、express 4.xでは、下記のようにインストールするようです。

# npm install -g express-generator

これで、expressが動作した。


Linuxでユーザーパスワードが登録できない

CentOS(Linux)にて、ユーザーを作成し、パスワードを登録しようとしたら、下記のエラーで出来ない。

$ passwd
Changing password for user hoge.
Changing password for hoge
(current) UNIX password:
passwd: Authentication token manipulation error

どうやら、/etc下のpasswordとshadowファイルの整合性がとれない模様。

対応策は、pwconvのコマンドをrootで実行。 これで解決!


QNAP上でscreenのエラー回避

Mac上のターミナルからからQNAPへSSH接続し、screenを起動しようとすると下記のエラーが出た。

[~] # screen /var/run/utmp: No such file or directory
Cannot find terminfo entry for ‘xterm-256color’.

ここでは、utmpとterminfoの2つを解決しなければならない。

まずは、utmpの回避

[~] # touch /var/run/utmp

ただし、QNAP再起動後には、消えてしまうので、これも解決したい場合には、http://stackoverflow.com/questions/12345675/screen-cannot-find-terminfo-entry-for-xterm-256colorを参考にされると良いでしょう。

次に、terminfoの回避

[~] # export | grep xterm
export TERM="xterm-256color"
[~] # ls /usr/share/terminfo/x/
xterm xterm-xfree86
[~] # export TERM=xterm-xfree86

 

説明すると、現在のxtermを調べ、xterm-256colorとなっているので、terminfo内を調べてみるとxterm-256colorが存在せず、xtermとxterm-xfree86なので、それらを指定する事で解決。

Macのターミナルアプリがxterm-256colorとなっているのが原因でもあるので、QNAPへ接続するときには、ターミナルタイプをxtermにしておけばOKです。


QNAPでアンチウィルス定義更新に失敗するときの対処

QNAP内には、最初からアンチウィルスソフトのClamAVがインストールされています。

しかし、起動後には「更新」を有効にしていても、下記の警告エラーで定義更新に失敗します。

警告:[Antivirus] Failed to update virus definition.

そんな時の対処方法です。

  1. http://www.clamav.net/lang/en/にアクセス
  2. Latest Stable Release欄に表示されている4つの定義ファイルを手動でダウンロードします。
    main.cvd
    daily.cvd
    bytecode.cvd
    safebrowsing.cvd
  3. QNAPに管理者でログイン
  4. QNAP内のアプリケーションからアンチウィルスを選びます
  5. 更新の手動更新フォームから先ほどの4つのファイルを読み込んで、それぞれインポートします。
  6. オンライン更新の「今すぐ更新」をクリックし、エラーが出ず、ログに下記が表示されればOK
    [Antivurus] Service enabled.
    [antivirus] virus definition updated.



CentOSにYUMでownCloudをインストール

CentOS 6.xにYUMのリポジトリを追加して、yumにてownCloudをインストール

# cd /etc/yum.repos.d/
# wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo
# yum update 
# yum info owncloud
Name        : owncloud
Arch        : noarch
Version     : 6.0.2
Release     : 8.1
Size        : 46 M
Repo        : isv_ownCloud_community

# yum install owncloud --enablerepo=epel

ownCloudの依存パッケージで下記のようなエラーが出る場合にはepelリポジトリを読み込む事。

Error: Package: owncloud-6.0.2-8.1.noarch (isv_ownCloud_community)
Requires: php-pear-MDB2-Driver-mysqli
Error: Package: owncloud-6.0.2-8.1.noarch (isv_ownCloud_community)
Requires: php-pear-Net-Curl

ちなみに、他のLinuxディストリビューションのインストールは、こちらにて。


ページ:1234567...15