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

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

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

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

bad address syntax

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

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

じゃあ、どうするか?

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

allow_min_user = yes

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

$ postconf |grep allow_min_user
allow_min_user = yes

rbenvのアップグレード

rbenvをアップグレードする時のメモ

自分のホームディレクトリにインストールした場合

$ cd ~/.rbenv
$ git pull

rootでシステムにインストールした場合

# cd /usr/local/rbenv
# git pull

sudoでPATHの環境変数を引き継ぐ

sudoした後に、「パスが見つかりません」とパスの設定が変わる場合には、sudoの設定でPATH環境設定を引き継ぐ事が出来ます。

/etc/sudoersに下記一行を追記します。

Defaults env_keep += “PATH”

# visudo
….
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults env_keep += "PATH"

保存後、再ログインして、sudoで確認してみる。


Scientific Linux 6.3から6.4へアップデート

CentOSみたいにyum updateしちゃったら、いつの間にかアップグレードされてたよ!って事を、SL6では致しませんので、手動でアップグレードする必要があります。

自分のマシンやテストマシンだったら、勝手にアップグレードされても構わないのですが、安定重視の共有サーバだと下手にアップグレードさせたくないので、その点はSL6が使いやすいです。

そんな訳で、手動でSL6 6.3を6.4へアップグレード

  1. 6.3上で最新版にしておく(必要ないかも)
    # yum update
  2. # yum clean all
  3. yum –releasever=6.4 update
  4. 再起動
  5. 確認
    $ cat /etc/redhat-release
    Scientific Linux release 6.4 (Carbon)

以上


gitのpushでGtk-WARNING **: cannot open display:と出た場合

環境によって、git pushした場合に、下記のエラーが出る場合がある。

(gnome-ssh-askpass:28497): Gtk-WARNING **: cannot open display:

コマンドラインで操作している場合に、GUIで起動しようとして失敗するよう。

なので、

$ unset SSH_ASKPASS

を実行して、git pushすると良い。


OpenSuse 12.xでMongoDB

openSUSE 12.1を使ってますが、zypperパッケージにはないので、下記のリポジトリを追加してインストール出来ますね。

# zypper ar http://download.opensuse.org/repositories/server:/database/openSUSE_12.2/server:database.repo
# zypper in mongodb

12.2でも同じです。


Vimでctagがないよって時

Vimを立ち上げた際に、下記のようなエラーが出た。

Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not
loaded.

こんな時には、ctagsをインストールしてあげるだけでOKですね。

CentOS/RedHat系

# yum install ctags

Ubuntu/Debian系

# apt-get install ctags

CentOS 5.xのvimが古いので手動でインストール

CentOS 5.x上のyumパッケージでは、vimが7.0と古いので、手動で7.3をインストールした。 7.0のvimで、Bundle導入していると、下記のような沢山のエラーが表示されてしまいます。

……

121: 未定義の変数です: g:unite_source_directory_mru_file
E116: Invalid arguments for function filereadable(g:unite_source_directory_mru_f
ile) && s:mru_file_mtime != getftime(g:unite_source_directory_mru_file)
E15: 無効な式です: filereadable(g:unite_source_directory_mru_file) && s:mru_fil
e_mtime != getftime(g:unite_source_directory_mru_file)
function unite#sources#directory_mru#_append..<SNR>49_save の処理中にエラーが検>
出されました:

….

epelやrpmforgeでもパッケージがないようなので、手動にてインストールです。

  1. まずは、yumでインストールしたvimをアンインストール
    $ sudo yum remove vim vim-enhanced 
  2. ソースのダウンロード
    $ wget ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
    $ wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
    $ wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz 
  3. 解凍
    $ tar jxvf vim-7.3.tar.bz2
    $ tar zxvf vim-7.2-extra.tar.gz
    $ tar zxvf vim-7.2-lang.tar.gz 
  4. コンパイル
    $ mv vim72 vim73/
    $ cd vim73 $ cd src
    $ ./configure --enable-multibyte --with-features=huge --disable-selinux --prefix='/usr/local/vim-7.3' 
  5. インストール
    $ sudo make install 
  6. リンク付け
    $ sudo ln -s /usr/local/vim-7.3/bin/vim /usr/local/bin/ 

Sublime Text 2をVim互換にする設定

Sublime Text 2のキーバインディング等、Vim仕様にする。

Sublime Text 2を起動し、PreferencesのSettings – Userを選んで、下記を追記するだけ。

“ignored_packages”: [“”]

ちなみに、この記述はSettings – Defaultの最下部に記載されているので、そこからコピー。

Defaultは、”ignored_packages”: [“Vintage”]となってます。

また、設定項目を複数記述していれば、,(カンマ)に注意。
途中に記述する場合は、カンマを付け、最終項目はカンマを外すこと。


CentOSにAVGインストール

CentOS 6.3にアンチウィルスソフト「AVG」をインストールした。

ダウンロード

$ wget http://download.avgfree.com/filedir/inst/avg2013flx-r3110-a6015.i386.rpm 

インストール

$ sudo rpm -ivh avg2013flx-r3110-a6015.i386.rpm

OS起動・再起動時に自動起動するように

$ sudo chkconfig avgd on

手動で起動

$ sudo service avgd start Starting avgd [失敗]

手動で定義ファイルアップデート

$ sudo avgupdate /usr/bin/avgupdate: /opt/avg/av/bin/avgupdate: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません /usr/bin/avgupdate: line 17: /opt/avg/av/bin/avgupdate: 成功です

何だかエラーで起動しませんねー ld-linux.so.2がないらしいので、インストール

sudo yum install ld-linux.so.2

再度、手動起動

$ sudo service avgd start Starting avgd [ OK ] 

上手く起動したので、ウィルス定義も再度更新

$ sudo avgupdate
AVG command line update Copyright (c) 2013 AVG Technologies CZ

Running update. Initializing... Downloading file: avg13infolx.ctf Analyzing... Downloading file: u13iavi6100u5196nw.bin 1 / 2 16.46 M Downloading file: lx13core2639b2637pe.bin 1 / 2 16.46 M Analyzing... Preparing installation... Updating... 100% [===================================]

Update was successfully completed.

ウィルス定義更新を毎日更新

$ sudo crontab -e 0 0 * * * /usr/bin/avgupdate > /root/avgupdate.log 2>&1

これで準備は整いました。

ウィルススキャン

まずは、homeディレクトリでもスキャンしてみる。

$ /usr/bin/avgscan /home

Virus database release date: Tue, 12 Feb 2013 21:21:00 +0900

Files scanned : 4671(4502)
Infections found : 0(0)
PUPs found : 0
Files healed : 0
Warnings reported : 0
Errors reported : 0

tail avgscan.log
Virus database release date: Tue, 12 Feb 2013 21:21:00 +0900

ウィルスチェックを定期的に実行

スキャンするディレクトリを複数指定しますが、/devや/mntは指定しない方がよいでしょう。

$ sudo crontab -e
0 1 * * * /usr/bin/avgscan /home /sbin /bin /usr --report=/root/avg_report.txt > /root/avgscan.log 2>&1

これで、完了です。

ウィルス定義更新とウィルスチェックをcronに登録しましたが、/etc/cron.dailyや/etc/cron.weeklyに自作スクリプト入れても構いません。

私は、/etc/cron.daily下にavg.shのファイルを作りましたけど・・・

こんな感じなので、ご参考まで。


cat /etc/cron.daily/avg.sh

#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
DATE=`date +%Y%m%d`
TARGET="/home /var/www"
REPORT=/var/log/avg.$DATE.txt
LOG=/var/log/avg.$DATE.log

/usr/bin/avgupdate
/usr/bin/avgscan $TARGET --report=$REPORT > $LOG 2>&1


ページ:12345678910...15