2007年9月のアーカイブ

Search




TOPページへ

このブログのフィードを取得
[フィードとは]

Powered by
Movable Type 4.23-ja

template by tokyobuddha

 ■■■■■免 責■■■■■
このサイトを参考にしたために発生した一切の損害に「てきとー管理者」は一切関知しませんし、補償もしません。 また、本サイトの記述が正しいことも保証しません。
自己責任にてお願いします。
 -------------------------

Galler Chocolate
ベルギー王室御用達として認定されたチョコレートブランド、ガレー。

岩塩ならクリスタルキンガ
野菜、肉、魚など素材本来の味を引き出します。上質でクセがなく西洋料理はもちろん中華、日本料理にも幅広くお使い頂けます。

玄箱HG Fedora6でiTunesServer

23日(土)の朝に、頼んでいたい Pod touch が届いた。
早速WinPCにつないで見るが、ロックが掛かってしまい使えない。
発表と同時に予約してたのに・・・
自宅にはG4CubeのMacもあるが、OS10.2なので iPod touch に対応したいTunesが入らない。
仕方がないので、会社のMacG5でロックを解除した^^;

解除できたiPod touchは非常に快適。
無線LANにも繋がるし、YouTubeも楽しめる。

現在我が家にはiPodが2台。
1台は今回購入した iPod touch
もう1台は娘の iPod nano (初期のnano2GB)

娘はMacG4CubeでiTunesを使っている。
しかし、HDDはつるしのままなので、20GBのHDD
相当貯まった楽曲。
HDDの空き容量がない・・・。

そこで、玄箱HG FedoraにSAMBAを構築して、その領域にiTunesも作成してみた。

先ずは、SAMBAのインストール

# yum -y install samba
※設定は省略

iTunesのサーバに仕立てるには、幾つかの方法があるが、今回は「mt-daapd」を利用して
作成してみた。

■用意したもの
mt-daapd-0.2.4-2.hk.src.rpm
avahi-compat-howl
libid3tag
gdbm

# wget http://blog.hide-k.net/src/mt-daapd-0.2.4-2.hk.src.rpm
# yum -y install avahi-compat-howl libid3tag gdbm
# rpm -ivv mt-daapd-0.2.4-2.hk.src.rpm
# cd /usr/src/redhat/SPECS
# rpmbuild -bb mt-daapd.spec
# cd ../RPMS/ppc
# ls -l
mt-daapd-0.2.4-2.hk.ppc.rpm

# rpm -ivh mt-daapd-0.2.4-2.hk.ppc.rpm
# vi /etc/mt-daapd.conf

mp3_dir /mnt/share/iTunes ← 共有するディレクトリを指定
servername iTunes Server ← iTunesに表示させる名称

# /etc/rc.d/init.d/avahi-daemon start
# /etc/rc.d/init.d/mt-daapd start

これで準備OK

楽曲のUPは SAMBA経由で・・・
これで楽曲の共有が快適に使えるようになりました。

投稿時間: 20:36

perlモジュールの簡単インストール

色々なサービスをインストールしていくと、個別にperlモジュールをインストールする機会が増えてくる。
mpanコマンドを使ったり、tar玉をGetして「解凍」→「perl ./Makefile.PL」→「make」→「make install」等の作業があったり・・・
Webminの「Perl モジュール」でインストールしたりと、色々な方法があるが、直接組み込む方法には違いない。
必要なときにインストールして、使わなくなったモジュールは削除したい! 等々、管理を「楽」にしたい場合、rpm等のパッケージ管理が出来れば最高ですね。
※Fedoraは以外にrpm化されている場合が多い。

そこで、色々調査してみました。
あるものですね~
自動でrpmパッケージを作成して、インストールまでしてくれる。
もちろん削除も可能!

必要なものは「cpan2rpm」
今回、インストールするサーバはCentOS5。
rpmの有無を確認するが、該当するパッケージは存在しない。
そこで、Fedora6(Fedora7用でも可能かも?)用のcpan2rpmを入手してインストールしてみた。

# wget http://ftp.iij.ad.jp/pub/linux/fedora/extras/6/i386/cpan2rpm-2.028-2.f
c6.noarch.rpm

早速インストール
# rpm -ivh cpan2rpm-2.028-2.fc6.noarch.rpm
rpm -ivh cpan2rpm-2.028-2.fc6.noarch.rpm
警告: cpan2rpm-2.028-2.fc6.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 1ac70ce6
準備中... ########################################### [100%]
1:cpan2rpm ########################################### [100%]

コレで、準備OK。
早速何か試してみよう。

# cpan2rpm --install Compress::Raw::Zlib  ← MT4で必要だったので、試してみた。

-- cpan2rpm - Ver: 2.028 --
Signatures not set up
Upgrade check
Fetch: HTTP

-- module: Compress::Raw::Zlib --
Found: Compress-Raw-Zlib-2.006.tar.gz
At: http://search.cpan.org//CPAN/authors/id/P/PM/PMQS
Retrieving URL
Metadata retrieval
Tarball extraction: [/usr/src/redhat/SOURCES/Compress-Raw-Zlib-2.006.tar.gz]
Generating spec file
SPEC: /usr/src/redhat/SPECS/Compress-Raw-Zlib.spec
Generating package
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.61124
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /usr/src/redhat/BUILD
+ rm -rf Compress-Raw-Zlib-2.006
+ /bin/gzip -dc /usr/src/redhat/SOURCES/Compress-Raw-Zlib-2.006.tar.gz
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd Compress-Raw-Zlib-2.006
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ chmod -R u+w /usr/src/redhat/BUILD/Compress-Raw-Zlib-2.006
+ exit 0
実行中(%build): /bin/sh -e /var/tmp/rpm-tmp.61124
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd Compress-Raw-Zlib-2.006
+ LANG=C
+ export LANG
+ unset DISPLAY
+ grep -rsl '^#!.*perl' .
+ grep -v '.bak$'
+ xargs --no-run-if-empty /usr/bin/perl -MExtUtils::MakeMaker -e 'MY->fixin(@ARGV)'
+ CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables'
++ /usr/bin/perl -MExtUtils::MakeMaker -e ' print qq|PREFIX=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr| if $ExtUtils::MakeMaker::VERSION =~ /5\.9[1-6]|6\.0[0-5]/ '
+ /usr/bin/perl Makefile.PL
Parsing config.in...
Building Zlib enabled
Auto Detect Gzip OS Code..
Setting Gzip OS Code to 3 [Unix/Default]
Looks Good.
Up/Downgrade not needed.
Checking if your kit is complete...
Looks good
Writing Makefile for Compress::Raw::Zlib
+ /usr/bin/make
cp lib/Compress/Raw/Zlib.pm blib/lib/Compress/Raw/Zlib.pm
AutoSplitting blib/lib/Compress/Raw/Zlib.pm (blib/lib/auto/Compress/Raw/Zlib)
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap Zlib.xs > Zlib.xsc && mv Zlib.xsc Zlib.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H Zlib.c
Zlib.xs: In function 'deRef_l':
Zlib.xs:576: warning: value computed is not used
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H adler32.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H crc32.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H infback.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H inflate.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H uncompr.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H compress.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H deflate.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H inffast.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H inftrees.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H trees.c
gcc -c -I./zlib-src -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DVERSION=\"2.006\" -DXS_VERSION=\"2.006\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -DGZIP_OS_CODE=3 -DUSE_PPPORT_H zutil.c
Running Mkbootstrap for Compress::Raw::Zlib ()
chmod 644 Zlib.bs
rm -f blib/arch/auto/Compress/Raw/Zlib/Zlib.so
gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -L/usr/local/lib Zlib.o adler32.o crc32.o infback.o inflate.o uncompr.o compress.o deflate.o inffast.o inftrees.o trees.o zutil.o -o blib/arch/auto/Compress/Raw/Zlib/Zlib.so \
\

chmod 755 blib/arch/auto/Compress/Raw/Zlib/Zlib.so
cp Zlib.bs blib/arch/auto/Compress/Raw/Zlib/Zlib.bs
chmod 644 blib/arch/auto/Compress/Raw/Zlib/Zlib.bs
Manifying blib/man3/Compress::Raw::Zlib.3pm
+ /usr/bin/make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/000prereq....ok
t/01version....ok
t/02zlib.......ok
t/07bufsize....ok
t/18lvalue.....ok
t/99pod........skipped
all skipped: Test::Pod 1.00 required for testing POD
All tests successful, 1 test skipped.
Files=6, Tests=544, 4 wallclock secs ( 4.36 cusr + 0.10 csys = 4.46 CPU)
+ exit 0
実行中(%install): /bin/sh -e /var/tmp/rpm-tmp.98635
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd Compress-Raw-Zlib-2.006
+ LANG=C
+ export LANG
+ unset DISPLAY
+ '[' /var/tmp/perl-Compress-Raw-Zlib-2.006-root '!=' / ']'
+ rm -rf /var/tmp/perl-Compress-Raw-Zlib-2.006-root
++ /usr/bin/perl -MExtUtils::MakeMaker -e ' print $ExtUtils::MakeMaker::VERSION <= 6.05 ? qq|PREFIX=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr| : qq|DESTDIR=/var/tmp/perl-Compress-Raw-Zlib-2.006-root| '
+ /usr/bin/make prefix=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr exec_prefix=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr bindir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/bin sbindir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/sbin sysconfdir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/etc datadir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/share includedir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/include libdir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/lib libexecdir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/libexec localstatedir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/var sharedstatedir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/com mandir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/share/man infodir=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/share/info install DESTDIR=/var/tmp/perl-Compress-Raw-Zlib-2.006-root
Installing /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/
auto/Compress/Raw/Zlib/Zlib.so
Installing /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/
auto/Compress/Raw/Zlib/Zlib.bs
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/
auto/Compress/Raw/Zlib/autosplit.ix
Installing /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/
Compress/Raw/Zlib.pm
Installing /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/share/man/man3/Compress::Raw::Zlib.3pm
Writing /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/
auto/Compress/Raw/Zlib/.packlist
Appending installation info to /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/lib/perl5/5.8.8/i386-linux-thread-multi/
perllocal.pod
+ cmd=/usr/share/spec-helper/compress_files
+ '[' -x /usr/share/spec-helper/compress_files ']'
+ cmd=/usr/lib/rpm/brp-compress
+ '[' -x /usr/lib/rpm/brp-compress ']'
+ /usr/lib/rpm/brp-compress
+ '[' -e /etc/SuSE-release -o -e /etc/UnitedLinux-release ']'
+ find /var/tmp/perl-Compress-Raw-Zlib-2.006-root -name perllocal.pod -o -name .packlist -o -name '*.bs'
+ xargs -i rm -f '{}'
+ find /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr -type d -depth -exec rmdir '{}' ';'
+ /usr/bin/perl -MFile::Find -le '
find({ wanted => \&wanted, no_chdir => 1}, "/var/tmp/perl-Compress-Raw-Zlib-2.006-root");
print "%doc pod zlib-src private Changes examples fallback README";
for my $x (sort @dirs, @files) {
push @ret, $x unless indirs($x);
}
print join "\n", sort @ret;

sub wanted {
return if /auto$/;

local $_ = $File::Find::name;
my $f = $_; s|^\Q/var/tmp/perl-Compress-Raw-Zlib-2.006-root\E||;
return unless length;
return $files[@files] = $_ if -f $f;

$d = $_;
/\Q$d\E/ && return for reverse sort @INC;
$d =~ /\Q$_\E/ && return
for qw|/etc /usr/man /usr/bin /usr/share|;

$dirs[@dirs] = $_;
}

sub indirs {
my $x = shift;
$x =~ /^\Q$_\E\// && $x ne $_ && return 1 for @dirs;
}
'
+ '[' -z Compress-Raw-Zlib-2.006-filelist ']'
+ /usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/Compress-Raw-Zlib-2.006
extracting debug info from /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/
auto/Compress/Raw/Zlib/Zlib.so
1049 blocks
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
+ /usr/lib/rpm/redhat/brp-java-repack-jars
ファイルの処理中: perl-Compress-Raw-Zlib-2.006-1
実行中(%doc): /bin/sh -e /var/tmp/rpm-tmp.29510
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd Compress-Raw-Zlib-2.006
+ DOCDIR=/var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/share/doc/
perl-Compress-Raw-Zlib-2.006
+ export DOCDIR
+ rm -rf /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/share/doc/perl-Compress-Raw-Zlib-2.006
+ /bin/mkdir -p /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/share/doc/perl-Compress-Raw-Zlib-2.006
+ cp -pr pod zlib-src private Changes examples fallback README /var/tmp/perl-Compress-Raw-Zlib-2.006-root/usr/share/doc/perl-Compress-Raw-Zlib-2.006
+ exit 0
Provides: Zlib.so perl(Compress::Raw::Zlib) = 2.006 perl(MakeUtil)
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.4) perl >= 0:5.004 perl(AutoLoader) perl(Carp) perl(Config) perl(Exporter) perl(File::Copy) perl(VMS::Filespec) perl(bytes) perl(constant) perl(strict) perl(warnings) rtld(GNU_HASH)
ファイルの処理中: perl-Compress-Raw-Zlib-debuginfo-2.006-1
Provides: Zlib.so.debug
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
伸張ファイルの検査中: /usr/lib/rpm/check-files /var/tmp/perl-Compress-Raw-Zlib-2.006-root
書き込み完了: /usr/src/redhat/SRPMS/perl-Compress-Raw-Zlib-2.006-1.src.rpm
書き込み完了: /usr/src/redhat/RPMS/i386/perl-Compress-Raw-Zlib-2.006-1.i386.rpm
書き込み完了: /usr/src/redhat/RPMS/i386/perl-Compress-Raw-Zlib-debuginfo-2.006-1.i386.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.29510
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd Compress-Raw-Zlib-2.006
+ '[' /var/tmp/perl-Compress-Raw-Zlib-2.006-root '!=' / ']'
+ rm -rf /var/tmp/perl-Compress-Raw-Zlib-2.006-root
+ exit 0
実行中(--clean): /bin/sh -e /var/tmp/rpm-tmp.29510
+ umask 022
+ cd /usr/src/redhat/BUILD
+ rm -rf Compress-Raw-Zlib-2.006
+ exit 0
RPM: /usr/src/redhat/RPMS/i386/perl-Compress-Raw-Zlib-2.006-1.i386.rpm
SRPM: /usr/src/redhat/SRPMS/perl-Compress-Raw-Zlib-2.006-1.src.rpm
Installing package
準備中... ########################################### [100%]
1:perl-Compress-Raw-Zlib ########################################### [100%]
-- Done --

を~ 勝手にtar玉をGetして勝手にrpm化! 最高ですね~

正常にrpmインストールされているかを確認
# rpm -q perl-Compress-Raw-Zlib
perl-Compress-Raw-Zlib-2.006-1

正常ですね。

では、削除確認。
# rpm -e perl-Compress-Raw-Zlib
# rpm -q perl-Compress-Raw-Zlib
パッケージ perl-Compress-Raw-Zlib はインストールされていません。

きちんと削除されますね。
※必要なので、再度インストールしたことは内緒です(笑

コレは便利。
管理が楽になりますね~~

投稿時間: 23:48

SSHのchrootを試してみた。

最近SSHを許可していないサーバが多いような気がする。
特に共有サーバの場合、他のディレクトリ(他のユーザー領域)が見えてしまう為である。
共有サーバの場合、数十から数百のユーザーが同居するため、情報漏えいになりうるDataがあるからだ。
しかし、シェルが使えないのは結構痛い。
FTPでFile転送して、FTPクライアントでパーミッション設定変更。 非常に面倒。
Telnet同様、暗号化されていないので通信の中身が丸裸!

最悪の状態かも!

って事で、思い腰を上げてSSHのchrootを試すことにした。

ググって見るとココが非常に解りやすかった。
参考にさせてもらった。

今回のインストール環境は次の通り。

■OS:CentOS5
■インストール環境:ネットワーク越しでchrootの環境を構築

先ず、既存のSSHをアンインストールを行う必要があるが、いきなりアンインストールするわけには行かない。
一時的にTelnetをインストールして、chroot対応のSSHを組み込んだ後、Telnetをアンインストールを行う。

既存のシステムでは、yumが使えるので、Telnetがインストールされていない場合はインストールを行う。
先ずは、Telnetの有無確認
# rpm -qa|egrep telnet

該当するパッケージが無いため、インストールを行う
# yum install telnet-server

インストールされたら、Telnet接続が出来るよう環境を整える
※設定内容は割愛

その次に、Telnetにて接続する為のUSERを作成する。 ← 既にUSERを作成している場合は必要ない。
# groupadd user1    
# mkdir /home/user1
# useradd user1 -g user1 -d /home/user1
# passwd user1
 password を2回打ち込む
# chown -Rf user1:user1 /home/user1

この状態で、Telnet接続できるかを確認。

接続確認が出来たら、現在接続しているSSHセッションを切る。
んで、改めてTelnetにて接続。
# su - root
 rootのパスワードを打ち込んで・・・・

ココまできたら、ようやくSSHをアンインストール
先ずは、SSHを停止
# /etc/rc.d/init.d/sshd stop
============================
Stopping sshd: [ OK ]
============================
Opensshを削除
# rpm -e openssh-server
warning: /etc/ssh/sshd_config saved as /etc/ssh/sshd_config.rpmsave

# rpm -e openssh-clients
warning: /etc/ssh/ssh_config saved as /etc/ssh/ssh_config.rpmsave

その他、SSH関連のRPMがインストールされていれば、アンインストールを行っておく。

さて、いよいよchroot対応のSSHの作成を行うが、rpmでは提供されていないようなので、tar玉を用意する。
Get先はここ等辺りから・・・ http://chrootssh.sourceforge.net/download/

今回、利用したバージョンは「openssh-4.5p1」
CentOS5のバージョンより新しい。
では、早速作業してみよう。

# cd /tmp   ← 作業しやすいところで構わない。
# wget http://chrootssh.sourceforge.net/download/openssh-4.5p1- chroot.tar.bz2
# tar jxvf openssh-4.5p1- chroot.tar.bz2

パッケージの再作成
# cd openssh-4.5p1-chroot
# vi openssh-4.5p1-chroot/contrib/redhat/openssh.spec
一部修正を行う

-----------------------------------------------------------------------------
%define no_x11_askpass 0

%define no_x11_askpass 1 ← x11_askpassの無効化
%define no_gnome_askpass 0

%define no_gnome_askpass 1 ← gnome_askpassの無効化
-----------------------------------------------------------------------------

不要ディレクトリ削除
# rm -rf openssh-4.5p1- chroot/contrib/aix/
# rm -rf openssh-4.5p1- chroot/contrib/hpux/
# rm -rf openssh-4.5p1- chroot/contrib/caldera/
# rm -rf openssh-4.5p1- chroot/contrib/suse/
# rm -rf openssh-4.5p1- chroot/contrib/cygwin/
# rm -rf openssh-4.5p1- chroot/contrib/solaris/

名前の変更
# mv openssh-4.5p1-chroot openssh-4.5p1

圧縮
# tar czvf openssh-4.5p1.tar.gz openssh-4.5p1/

RPMパッケージ作成
rpmbuild -tb --clean openssh-4.5p1.tar.gz
※環境によってはパッケージ足らない場合があるかも?
  また、サーバのスペックによりパッケージ作成に掛かる時間は区々・・・。

作成したRPMをインストール
# cd /usr/src/redhat/RPMS/i386
# ls -l
openssh-4.5p1-1.i386.rpm
openssh-server-4.5p1-1.i386.rpm
openssh-clients-4.5p1-1.i386.rpm

一気にインストール
# rpm -Uvh openssh-4.5p1-1.i386.rpm openssh-server-4.5p1-1.i386.rpm openssh-clients-4.5p1-1.i386.rpm

無事インストールできたら、ディレクトリ削除
# rm -Rf openssh-4.5p1

ついでにtar玉も削除
# rm -f openssh-4.5p1.tar.gz

元tar玉も一応削除
# rm -f openssh-4.5p1-chroot.tar.bz2

yumによるupdateからsshを除外しておく。
# vi /etc/yum.conf
exclude=openssh*  ← こんな感じで追加

ココまできたら、あともう少し!
ココ状態で起動すると、えらーが出るらしい。
「Starting sshd:WARNING: initlog is deprecated and will be removed in a future release」

起動スクリプトを一部変更することで回避できるらしい。
# vi /etc/rc.d/init.d/sshd
-----------------------------------------------------------------------------
start()
{
# Create keys if necessary
do_rsa1_keygen
do_rsa_keygen
do_dsa_keygen

echo -n $"Starting $prog:"
#initlog -c "$SSHD $OPTIONS" && success || failure ← #を追加してコメントアウト
$SSHD $OPTIONS && success || failure ← ここに追加する。
RETVAL=$?
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd
echo
}
-----------------------------------------------------------------------------

SSHを起動する前にキーの生成を行う
# ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N "" ← Hostkey(RSA1)再作成です


Overwrite (y/n)? y ← y

# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" ← Hostkey(RSA2)再作成です
です


Overwrite (y/n)? y ← ここも y

# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N "" ← Hostkey(DSA)再作成です


Overwrite (y/n)? y ← これも y

ようやくSSH起動
/etc/rc.d/init.d/sshd start

サーバの再起動を行っても自動起動するようにお呪い・・・
# chkconfig sshd on

さて肝心のconfig設定。
# vi /etc/ssh/sshd_config
-----------------------------------------------------------------------------
#Protocol 2,1

Protocol 2 ← SSH2でのみ接続を許可

#SyslogFacility AUTH

SyslogFacility AUTHPRIV ← ログの格納場所? /var/log/secureでいいとも!!

#PermitRootLogin yes

PermitRootLogin no ← もちろんrootでのログインは禁止でしょ!

#PermitEmptyPasswords no

PermitEmptyPasswords no ← 当たり前のようにパスワードなしはログインを禁止
-----------------------------------------------------------------------------

設定が終わったら、SSHの再起動
# /etc/rc.d/init.d/sshd restart

この状態でSSHにてログインできるかを確認する。
問題なくログインできたら、あともう少し。

簡単にchrootユーザーが作れるようにスクリプトを作成する。
作成する場所はどこでも構わないが、rootディレクトリ辺りに作成しておけば問題ないかな?
# mkdir -p ~/bin
# vi ~/bin/chroot-useradd
-----------------------------------------------------------------------------
#!/bin/bash
#
# Usage: ./chroot-useradd username [shell]
#

# Here specify the apps you want into the enviroment
CMD="bash ls touch mkdir cp mv rm pwd chmod cat vi id rsync ssh scp sftp ping ssh-keygen perl"
APPS=`which $CMD`
APPS="${APPS} /usr/libexec/openssh/sftp-server"

# Sanity check
if [ "$1" = "" ] ; then
echo " Usage: ./chroot-useradd username [shell]"
exit 1
fi

# Obtain username and HomeDir
CHROOT_USERNAME=$1
if [ "$2" = "" ] ; then
useradd $CHROOT_USERNAME
else
useradd -s $2 $CHROOT_USERNAME
fi
usermod -d /home/$CHROOT_USERNAME/./ $CHROOT_USERNAME
passwd $CHROOT_USERNAME
chown $CHROOT_USERNAME /home/$CHROOT_USERNAME
chgrp $CHROOT_USERNAME /home/$CHROOT_USERNAME
rm -f /home/$CHROOT_USERNAME/.* > /dev/null 2>&1
HOMEDIR=`grep /etc/passwd -e "^$CHROOT_USERNAME" | cut -d':' -f 6`
cd $HOMEDIR

# Create Directories no one will do it for you
mkdir -p etc
mkdir -p bin
mkdir -p usr/bin
mkdir -p usr/local/bin
mkdir -p usr/libexec/openssh
mkdir -p public_html     ← ホームページ領域の作成を追加
chown $CHROOT_USERNAME /home/$CHROOT_USERNAME/public_html ← オーナー設定
chgrp $CHROOT_USERNAME /home/$CHROOT_USERNAME/public_html ← グループ設定
MAKEDEV -d dev -x null zero

# Create short version to /usr/bin/groups
# On some system it requires /bin/sh, which is generally unnessesary in a chroot cage
echo "#!/bin/bash" > usr/bin/groups
echo "id -Gn" >> usr/bin/groups
chmod 755 usr/bin/groups

# Add some users to ./etc/paswd
grep /etc/passwd -e "^root" -e "^$CHROOT_USERNAME" > etc/passwd
grep /etc/group -e "^root" -e "^$CHROOT_USERNAME" > etc/group

# Copy the apps and the related libs
for prog in $APPS;
do
cp $prog ./$prog
# obtain a list of related libraryes
ldd $prog > /dev/null
if [ "$?" = 0 ] ; then
LIBS=`ldd $prog | awk '{ print $3 }'`
for l in $LIBS;
do
mkdir -p ./`dirname $l` > /dev/null 2>&1
cp $l ./$l > /dev/null 2>&1
done
fi
done

# From some strange reason these 4 libraries are not in the ldd output, but without them
# some stuff will not work, like usr/bin/groups
cp /lib/libnss_compat.so.2 lib/
cp /lib/libnsl.so.1 lib/
cp /lib/libnss_files.so.2 lib/
cp /lib/ld-linux.so.2 ./lib/
cp /lib/libc.so.6 lib/
cp /lib/libm.so.6 lib/
cp /lib/libpthread.so.0 lib/
cp /lib/librt.so.1 lib/
cp /lib/libthread_db.so.1 lib/

exit 0
-----------------------------------------------------------------------------

出来たスクリプトに実行件を与える
# chmod 755 ~/bin/chroot-useradd

これで、完璧にいけるはず。
念のためUSERを作成してログイン確認
また、chrootがきちんと設定されているかを確認。

ログイン後次のコマンドで確認できるはず。
$ pwd
/


「/」となっていれば、成功です。

また、rootになれないことも確認
$ su - root
-bash: su: command not found

OKですね。

では、不要になったTelnetを削除して、ポートも閉める。

これで、安心してUSERにシェルを渡すことが出来る・・・・・・ と思う~~

投稿時間: 01:24

999円MP3プレーヤー【DN-2000】 其の四

先日より保留になっていた【DN-2000】のコンデンサ交換を再開してみた。

さまざまなコンデンサを交換してみたが、高音がきつくなったり、低音ばかり効きすぎたりと結構難しい。
そこで、最終的にこのような感じでまとめてみた。

DN-2000-4.JPG

↑↑↑↑↑↑↑↑↑↑↑↑↑
交換したコンデンサは次の通り・・・
■東信工業 16V47uF (オーディオ用コンデンサ) 2個(@70円)
■東信工業 10V100u                  5個(@15円)

一時期はOSコンを利用してみたが、若干大きくて筐体と干渉してしまい断念。
※取り付けるコンデンササイズは「5×11」。 「5.5×11」でも押し込めば何とか・・・
また、定評のあるBlackGateをパラレルで接続してみたが、全く音質の改善が得られなかった。

最終的に音質に影響の無いコンデンサに関しては、一般的に使われるコンデンサを取り付け、音質に影響があるコンデンサには、オーディオ用コンデンサを取り付けることで、かなりの音質改善が計れました。

今回、音質に影響のある場所に取り付けたコンデンサは「47uF」を選択したが、「22uF」や「100uF」でも使えないことは無い。
低uFを使うと高音寄り、高uFを使うと低音寄り。

メインで聴く音楽に応じて選択しても良いかも。

投稿時間: 10:46