Linux系(CentOS、Debian)

lsコマンドの結果をmvコマンドに渡す
2014-06-29

【テーマ】
send output of ls to mv
lsコマンドでの検索結果ファイルをmvで移動する方法

【方法】
mv `ls *.foge` 移動先ディレクトリ名

【例】
下記ファイルの中「h」つきのファイルを「h」ディレクトリに移動する場合

----------+ 1 USER なし  1072 11月  8  2012 20121108c002140000.html
----------+ 1 USER なし  5735 11月  9  2012 20121109h059240000.html
----------+ 1 USER なし  2727 11月  9  2012 20121109g002440000.html
----------+ 1 USER なし  1402 11月  9  2012 20121109c002150000.html

USER@CF-SX2 /cygdrive/d/kanpou/html
$ mv `ls *h*.html` ./h
 

postfix構築メモ
2014-07-27

 何回メールサーバーを構築したことはありますが、忘れがちのため、メモしておくます。

【【postfixとは】
メールは送信受信する機能は必要ですので、当然送信サーバーと受信サーバが必須です。

今回は送信サーバーとして使用するのはpostfix
受信サーバーとして使用するのはDovecot

【手順】
1、postfixインストール
コマンド:
# yum -y install postfix


2、設定
# vi /etc/postfix/main.cf

3、メールボックスの設定
新規ユーザを作成した場合、メールボックス(Maildir)を作成する様にする
# mkdir /etc/skel/Maildir
# chmod 700 /etc/skel/Maildir
 
 
既存ユーザのメールボックス(Maildir)を作成する(例:testuserユーザの場合)
一度設定すれば構いません。
# mkdir /home/testuser/Maildir
 
既存ユーザ(testuser)のメールボックス(Maildir)のパーミッション・オーナ・グループ変更パーミッション変更
# chmod 700 /home/testuser/Maildir
オーナ・グループ変更
# chown testuser:testuser /home/testuser/Maildir

 

 

MAKEDEVコマンドでdeviceファイルの作成
2015-01-31

【対象OS】:debian

/usr/local/sekitoba/devにディバイスファイルを作成する。MAKEDEVコマンドは事前に/sbin/に用意する必要があります。

【コマンド】

cd /usr/local/sekitoba/dev

/sbin/MAKEDEV -v generic

【実行してみる】

root@sekitoba:/sbin# cd /usr/local/sekitoba/dev/
root@sekitoba:/usr/local/sekitoba/dev# /sbin/MAKEDEV -v generic
create mem      c 1 1 root:kmem 0640
create kmem     c 1 2 root:kmem 0640
create null     c 1 3 root:root 0666
create port     c 1 4 root:kmem 0640
create zero     c 1 5 root:root 0666
。。。
create i2o/hdd10        b 80 58 root:disk 0660
create i2o/hdd11        b 80 59 root:disk 0660
create i2o/hdd12        b 80 60 root:disk 0660
create i2o/hdd13        b 80 61 root:disk 0660
create i2o/hdd14        b 80 62 root:disk 0660
create i2o/hdd15        b 80 63 root:disk 0660

 

Debianカーネルソースパッケージの取得
2015-01-31

公式Debian カーネルパッケージを取得するには 次のコマンドを使用します。

apt-get source linux

ただし、事前に下記コマンドの実行が必要(DVDにある)、この二つのカーネルのビルド時に要求されるビルド依存をインストールしてくれそうです。

apt-get install build-essential fakeroot
apt-get build-dep linux
【実行して見る】

root@sekitoba:/usr/local/src# apt-get build-dep linux
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  build-essential cpp-4.6 debhelper diffstat docbook-xsl dpkg-dev g++ g++-4.7 gcc-4.6 gcc-4.6-base gettext html2text
  intltool-debian kernel-wedge libdpkg-perl libgettextpo0 libstdc++6-4.7-dev libxml2-utils patchutils po-debconf quilt
  xmlto xsltproc
アップグレード: 0 個、新規インストール: 23 個、削除: 0 個、保留: 5 個。
29.5 MB 中 459 kB のアーカイブを取得する必要があります。
この操作後に追加で 78.8 MB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://ftp.jp.debian.org/debian/ wheezy/main kernel-wedge all 2.85 [44.6 kB]
取得:2 http://ftp.jp.debian.org/debian/ wheezy/main quilt all 0.60-2 [377 kB]
取得:3 http://ftp.jp.debian.org/debian/ wheezy/main xmlto i386 0.0.25-2 [36.9 kB]
459 kB を 13秒 で取得しました (33.4 kB/s)
以前に未選択のパッケージ libgettextpo0:i386 を選択しています。
(データベースを読み込んでいます ... 現在 117515 個のファイルとディレクトリがインストールされています。)
(.../libgettextpo0_0.18.1.1-9_i386.deb から) libgettextpo0:i386 を展開しています...
以前に未選択のパッケージ libstdc++6-4.7-dev を選択しています。
。。。
update-alternatives: /usr/bin/c++ (c++) を提供するために 自動モード で /usr/bin/g++ を使います
build-essential (11.5) を設定しています ...
libstdc++6-4.7-dev (4.7.2-5) を設定しています ...

root@sekitoba:/usr/local/src# apt-get install build-essential fakeroot
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
build-essential はすでに最新バージョンです。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  accountsservice ant ant-optional apache2.2-bin apg argyll at-spi2-core baobab browser-plugin-gnash
。。。
続行しますか [Y/n]? y
以前に未選択のパッケージ fakeroot を選択しています。
(データベースを読み込んでいます ... 現在 120393 個のファイルとディレクトリがインストールされています。)
(.../fakeroot_1.18.4-2_i386.deb から) fakeroot を展開しています...
man-db のトリガを処理しています ...
fakeroot (1.18.4-2) を設定しています ...
update-alternatives: /usr/bin/fakeroot (fakeroot) を提供するために 自動モード で /usr/bin/fakeroot-sysv を使います

root@sekitoba:/usr/local/src# apt-get source linux
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
注意: 'linux' パッケージは以下の場所の 'Svn' バージョン制御システムで保守されています:
svn://svn.debian.org/svn/kernel/dists/trunk/linux/
すでにダウンロードされたファイル 'linux_3.2.65-1+deb7u1.dsc' をスキップします
すでにダウンロードされたファイル 'linux_3.2.65.orig.tar.xz' をスキップします
すでにダウンロードされたファイル 'linux_3.2.65-1+deb7u1.debian.tar.xz' をスキップします
0 B のソースアーカイブを取得する必要があります。
gpgv: keyblock resource `/root/.gnupg/trustedkeys.gpg': ファイルのオープン・エラー
gpgv: 2015年01月13日 03時58分17秒 JSTにRSA鍵ID 95861109で施された署名
gpgv: 署名を検査できません: 公開鍵が見つかりません
dpkg-source: warning: failed to verify signature on ./linux_3.2.65-1+deb7u1.dsc
dpkg-source: info: extracting linux in linux-3.2.65
dpkg-source: info: unpacking linux_3.2.65.orig.tar.xz
dpkg-source: info: unpacking linux_3.2.65-1+deb7u1.debian.tar.xz
dpkg-source: info: applying debian/version.patch
。。。
dpkg-source: info: applying bugfix/all/isofs-fix-unchecked-printing-of-er-records.patch

root@sekitoba:/usr/local/src# ls -ltr
-rw-r--r--  1 root staff   115759  1月 13 04:09 linux_3.2.65-1+deb7u1.dsc
-rw-r--r--  1 root staff 65927500  1月 13 04:09 linux_3.2.65.orig.tar.xz
-rw-r--r--  1 root staff  3657972  1月 13 04:09 linux_3.2.65-1+deb7u1.debian.tar.xz
drwxr-xr-x 24 root root      4096  1月 31 09:28 linux-3.2.65

 

 

 

 

 

CentOS6.6でカーネルを再構築
2015-02-01

①、まず、再構築に必要なパッケージ(rpmdevtoolsとyum-utils)をインストールする必要があります。
rootでログインして、次のコマンドを実行

[root@sekitoba src]# yum install rpmdevtools yum-utils

②、パッケージ再構築の準備を行う。

rpmdev-setuptreeコマンドを実行して、

rpmbuildディレクトリおよびその下にBUILD、RPMS、SOURCES、SPECS、SRPMSの各サブディレクトリの作成。

[root@sekitoba src]# rpmdev-setuptree

[root@sekitoba ~]# ls -ltr /root/rpmbuild/
合計 20
drwxr-xr-x. 2 root root 4096  2月  1 14:19 2015 SOURCES
drwxr-xr-x. 2 root root 4096  2月  1 14:19 2015 SPECS
drwxr-xr-x. 2 root root 4096  2月  1 14:46 2015 RPMS
drwxr-xr-x. 2 root root 4096  2月  1 14:46 2015 SRPMS
drwxr-xr-x. 2 root root 4096  2月  1 14:46 2015 BUILD

③、カーネルソースをダウンロード

[root@sekitoba src]# wget http://vault.centos.org/6.6/os/Source/SPackages/kernel-2.6.32-504.el6.src.rpm

④、ダウンロードしたカーネルソースの再構築に必要となるパッケージのインストール。

実行コマンド:yum-builddep

[root@sekitoba src]# yum-builddep kernel-2.6.32-504.el6.src.rpm
読み込んだプラグイン:fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
。。。

完了しました!

⑤、カーネルソースのインストール

[root@sekitoba src]# rpm -Uhv ./kernel-2.6.32-504.el6.src.rpm
   1:kernel                 警告: ユーザ mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
警告: ユーザ mockbuild は存在しません - root を使用します
。。。
########################################### [100%]

【確認】

[root@sekitoba SPECS]# ls -ltr /root/rpmbuild/SPECS/
合計 2764
-rw-r--r--. 1 root root   25840  6月 19 06:22 2010 MAKEDEV.spec
-rw-r--r--. 1 root root 2798988 10月 15 11:08 2014 kernel.spec
[root@sekitoba SPECS]#

⑥、カーネルソースのツリーを準備

[root@sekitoba SPECS]# pwd
/root/rpmbuild/SPECS
[root@sekitoba SPECS]# ls -ltr
合計 2764
-rw-r--r--. 1 root root   25840  6月 19 06:22 2010 MAKEDEV.spec
-rw-r--r--. 1 root root 2798988 10月 15 11:08 2014 kernel.spec
[root@sekitoba SPECS]# rpmbuild -bp --target=`uname -m` kernel.spec
ビルド対象プラットフォーム: i686
ターゲット i686 用にビルド中
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.fO7pPo
。。。
+ exit 0

 

 

CentOS6.6でncursesのコンパイルと導入
2015-02-01

①、ncursesのソースパッケージを取得

[root@sekitoba src]# wget http://vault.centos.org/6.6/os/Source/SPackages/ncurses-5.7-3.20090208.el6.src.rpm

②、ncursesのインストールに必要なパッケージを導入

[root@sekitoba src]# yum-builddep ncurses-5.7-3.20090208.el6.src.rpm
読み込んだプラグイン:fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
Getting requirements for ncurses-5.7-3.20090208.el6.src
 --> gpm-devel-1.20.6-12.el6.i686
 --> Already installed : 1:pkgconfig-0.23-9.1.el6.i686
--> トランザクションの確認を実行しています。
---> Package gpm-devel.i686 0:1.20.6-12.el6 will be インストール
--> 依存性解決を終了しました。

依存性を解決しました

========================================================================================================================
 パッケージ                   アーキテクチャ          バージョン                          リポジトリー             容量
========================================================================================================================
インストールしています:
 gpm-devel                    i686                    1.20.6-12.el6                       base                     23 k

トランザクションの要約
========================================================================================================================
インストール         1 パッケージ

総ダウンロード容量: 23 k
インストール済み容量: 9.6 k
これでいいですか? [y/N]y
パッケージをダウンロードしています:
gpm-devel-1.20.6-12.el6.i686.rpm                                                                 |  23 kB     00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  インストールしています  : gpm-devel-1.20.6-12.el6.i686                                                            1/1
  Verifying               : gpm-devel-1.20.6-12.el6.i686                                                            1/1

インストール:
  gpm-devel.i686 0:1.20.6-12.el6

完了しました!

③、rpmコマンドでncursesソースをインストールする

[root@sekitoba src]# rpm -Uhv ncurses-5.7-3.20090208.el6.src.rpm
   1:ncurses                警告: ユーザ mockbuild は存在しません - root を使用します
。。。
########################################### [100%]

④、インストール先確認

[root@sekitoba SPECS]# ls -ltr /root/rpmbuild/SPECS/
合計 2792
-rw-r--r--. 1 root root   27813 12月  4 01:48 2009 ncurses.spec
-rw-r--r--. 1 root root   25840  6月 19 06:22 2010 MAKEDEV.spec
-rw-r--r--. 1 root root 2798988 10月 15 11:08 2014 kernel.spec

⑤、ncurses.specをbulid

[root@sekitoba SPECS]# rpmbuild -bp --target=`uname -m` ./ncurses.spec
ビルド対象プラットフォーム: i686
ターゲット i686 用にビルド中
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.cMUlqS
。。。
+ exit 0

⑥、bulid

root@sekitoba BUILD]# ls -ltr /root/rpmbuild/BUILD/ncurses-5.7/
合計 1536
-rwxr-xr-x. 1 8037 users   3038 10月 25 23:40 2003 tar-copy.sh
-rwxr-xr-x. 1 8037 users   7123 11月 30 06:30 2003 install-sh
-rw-r--r--. 1 8037 users   5285  1月 23 01:30 2005 mk-2nd.awk
-rw-r--r--. 1 8037 users   4189  1月 23 01:31 2005 mk-0th.awk
-rw-r--r--. 1 8037 users   3901  1月 30 04:30 2005 Makefile.in
-rw-r--r--. 1 8037 users   8749  4月 23 06:46 2006 Makefile.os2
-rw-r--r--. 1 8037 users   3985  4月 23 07:19 2006 README.emx
-rw-r--r--. 1 8037 users   9870  4月 23 07:19 2006 README
-rw-r--r--. 1 8037 users   4881  4月 23 08:04 2006 convert_configure.pl
-rw-r--r--. 1 8037 users   2529 10月 29 06:44 2006 AUTHORS
-rwxr-xr-x. 1 8037 users   1320  3月 26 07:29 2007 mkdirs.sh
-rw-r--r--. 1 8037 users   4019  4月  1 00:48 2007 mk-hdr.awk
-rw-r--r--. 1 8037 users  23685 11月  2 10:03 2008 announce.html.in
-rw-r--r--. 1 root root   22627 11月  2 10:05 2008 ANNOUNCE
drwxr-xr-x. 3 8037 users   4096 11月  3 09:43 2008 doc
drwxr-xr-x. 5 8037 users   4096 11月  3 09:43 2008 Ada95
drwxr-xr-x. 2 8037 users   4096  2月  1 16:09 2015 progs
-rw-r--r--. 1 root users  10366  2月  1 16:09 2015 TO-DO
drwxr-xr-x. 2 8037 users   4096  2月  1 16:09 2015 include
-rw-r--r--. 1 root users  71392  2月  1 16:09 2015 INSTALL
-rw-r--r--. 1 root users  31533  2月  1 16:09 2015 MANIFEST
-rwxr-xr-x. 1 root users  45930  2月  1 16:09 2015 config.guess
drwxr-xr-x. 2 8037 users   4096  2月  1 16:09 2015 c++
-rwxr-xr-x. 1 root users  33834  2月  1 16:09 2015 config.sub
-rw-r--r--. 1 root users  15824  2月  1 16:09 2015 mk-1st.awk
drwxr-xr-x. 2 8037 users   4096  2月  1 16:09 2015 man
drwxr-xr-x. 7 8037 users   4096  2月  1 16:09 2015 ncurses
-rw-r--r--. 1 root users 422626  2月  1 16:09 2015 NEWS
-rw-r--r--. 1 root users 167368  2月  1 16:09 2015 aclocal.m4
-rwxr-xr-x. 1 root users 511870  2月  1 16:09 2015 configure
-rw-r--r--. 1 root users  57025  2月  1 16:09 2015 configure.in
-rw-r--r--. 1 root users   7195  2月  1 16:09 2015 dist.mk
drwxr-xr-x. 2 8037 users   4096  2月  1 16:09 2015 menu
drwxr-xr-x. 2 8037 users   4096  2月  1 16:09 2015 panel
drwxr-xr-x. 2 8037 users   4096  2月  1 16:09 2015 form
drwxr-xr-x. 3 8037 users   4096  2月  1 16:09 2015 misc
drwxr-xr-x. 2 8037 users   4096  2月  1 16:09 2015 test

[root@sekitoba ncurses-5.7]# ./configure --prefix=/usr --with-install-prefix=/usr/local/sekitoba --with-shared --disable-termcap --with-termlib --disable-big-core --disable-FEATURE --without-ada
checking for egrep... grep -E
。。。
** Configuration summary for NCURSES 5.7 20090207:

     extended funcs: yes
     xterm terminfo: xterm-new

      bin directory: /usr/bin
      lib directory: /usr/lib
  include directory: /usr/include
      man directory: /usr/man
 terminfo directory: /usr/share/terminfo

make

make LD_LIBRARY_PATH=/usr/local/sekitoba/usr/lib install

CentOS6.6でソースコンパイルの各ディレクトリについて
2015-02-01

ディレクトリ名 格納ファイル
BUILD パッケージに必要なアプリケーションのビルドに必要な各ファイル
RPMS 作成したRPMを保存するディレクトリ
SPECS RPMを作成するためのSPECファイル
SOURCES RPMを作成するためのtarballやパッチ等のファイル
SRPMS RPMと対になるSRPM

CentOS6.6でMAKEDEVコマンドでdevicefile作成
2015-02-01

①、ソースパッケージの取得

wget http://vault.centos.org/6.6/os/Source/SPackages/MAKEDEV-3.24-6.el6.src.rpm

②、必要となるパッケージをインストールする。

yum-builddep MAKEDEV-3.24-6.el6.src.rpm

③、rpmコマンドでソースをインストールする。

rpm -Uhv ./MAKEDEV-3.24-6.el6.src.rpm

④、specファイルをbuild

rpmbuild -bp --target=`uname -m` MAKEDEV.spec

⑤、build実施、targetディレクトリはDESTDIRで指定

これでtargetディレクトリにMAKEDEVファイルが作成される。

[root@sekitoba MAKEDEV-3.24]# make DESTDIR=/usr/local/sekitoba

[root@sekitoba MAKEDEV-3.24]# make install DESTDIR=/usr/local/sekitoba

 

⑥、MAKEDEVでディバイスファイルを生成

-d オプションでdevicefileの生成先を指定

[root@sekitoba MAKEDEV-3.24]# cd /usr/local/sekitoba/
[root@sekitoba sekitoba]# cd dev/
[root@sekitoba dev]# ls -ltr
合計 40
-rwxr-xr-x. 1 root root 37352  2月  1 17:53 2015 MAKEDEV

 

[root@sekitoba dev]# ./MAKEDEV -d ./ generic
[root@sekitoba dev]# ls
MAKEDEV      hdc31       ttyE124    ttyEQ22   ttyEQ571  ttyEQ922  ttyI34     ttyS160    ttySR286  ttyU161   ttyY220

。。。

 

【centOS6.6】initrdファイル作成
2015-02-08

1、ひな形のinitrdファイル作成

[root@sekitoba lib]# cd /usr/local/sekitoba/boot
[root@sekitoba boot]# ls -ltr
合計 5884
-rw-rw-r-- 1 open open 2000222  2月  8 00:13 2015 System.map
-rw-rw-r-- 1 open open 4020704  2月  8 00:13 2015 sekitoba-2.6.32-504
[root@sekitoba boot]# mkinitrd --with-usb initrd-sekitoba.img `uname -r`
[root@sekitoba boot]# ls -ltr
合計 23772
-rw-rw-r-- 1 open open  2000222  2月  8 00:13 2015 System.map
-rw-rw-r-- 1 open open  4020704  2月  8 00:13 2015 sekitoba-2.6.32-504
-rw------- 1 root root 18314368  2月  8 09:48 2015 initrd-sekitoba.img

2、initrdファイルを展開する

gzipコマンドで圧縮されていたinitrdファイルを展開

gzip -cd /usr/local/sekitoba/boot/initrd-sekitoba.img >/tmp/initrid

[root@sekitoba tmp]# mkdir initrdtmp
[root@sekitoba tmp]# cd initrdtmp/
[root@sekitoba initrdtmp]# cpio -i --file=../initrid
85217 blocks
[root@sekitoba initrdtmp]# ls -ltr
合計 108
drwxr-xr-x 2 root root 4096  2月  8 10:04 2015 pre-udev
drwxr-xr-x 4 root root 4096  2月  8 10:04 2015 var
drwxrwxrwt 2 root root 4096  2月  8 10:04 2015 tmp
drwxr-xr-x 2 root root 4096  2月  8 10:04 2015 sysroot
drwxr-xr-x 2 root root 4096  2月  8 10:04 2015 pre-mount
drwxr-xr-x 2 root root 4096  2月  8 10:04 2015 initqueue-timeout
drwxr-xr-x 2 root root 4096  2月  8 10:04 2015 initqueue-finished
drwxr-xr-x 2 root root 4096  2月  8 10:04 2015 initqueue
drwxr-xr-x 3 root root 4096  2月  8 10:04 2015 dev
drwxr-xr-x 2 root root 4096  2月  8 10:04 2015 pre-trigger
drwxr-xr-x 2 root root 4096  2月  8 10:04 2015 mount
-rwxr-xr-x 1 root root 9028  2月  8 10:04 2015 init
drwxr-xr-x 9 root root 4096  2月  8 10:05 2015 lib
drwxr-xr-x 6 root root 4096  2月  8 10:05 2015 usr
drwxr-xr-x 2 root root 4096  2月  8 10:05 2015 sys
drwxr-xr-x 2 root root 4096  2月  8 10:05 2015 pre-pivot
drwxr-xr-x 2 root root 4096  2月  8 10:05 2015 sbin
drwxr-xr-x 2 root root 4096  2月  8 10:05 2015 proc
drwxr-xr-x 2 root root 4096  2月  8 10:05 2015 netroot
drwxr-xr-x 7 root root 4096  2月  8 10:05 2015 etc
-rw-r--r-- 1 root root   19  2月  8 10:05 2015 dracut-004-356.el6
drwxr-xr-x 2 root root 4096  2月  8 10:05 2015 cmdline
drwxr-xr-x 2 root root 4096  2月  8 10:05 2015 bin
drwxr-xr-x 2 root root 4096  2月  8 10:05 2015 initqueue-settled
drwxr-xr-x 2 root root 4096  2月  8 10:05 2015 emergency

3、initの書き換え

 

 

【debian】mlabelをインストール
2015-02-28

root@sekitoba:~# sudo apt-get install mtools
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
提案パッケージ:
  floppyd
以下のパッケージが新たにインストールされます:
  mtools
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
196 kB のアーカイブを取得する必要があります。
この操作後に追加で 347 kB のディスク容量が消費されます。
取得:1 http://ftp.jp.debian.org/debian/ wheezy/main mtools i386 4.0.17-1 [196 kB]
196 kB を 0秒 で取得しました (703 kB/s)
以前に未選択のパッケージ mtools を選択しています。
(データベースを読み込んでいます ... 現在 117025 個のファイルとディレクトリがインストールされています。)
(.../mtools_4.0.17-1_i386.deb から) mtools を展開しています...
install-info のトリガを処理しています ...
man-db のトリガを処理しています ...
mtools (4.0.17-1) を設定しています ...