<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>digital matter &#187; FUSE</title>
	<atom:link href="http://blog.loadlimits.info/tag/fuse/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.loadlimits.info</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 06 Feb 2012 13:27:58 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>FUSEインストールからs3fsを使うまで（後編）</title>
		<link>http://blog.loadlimits.info/2009/06/fuse%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%8b%e3%82%89s3fs%e3%82%92%e4%bd%bf%e3%81%86%e3%81%be%e3%81%a7%ef%bc%88%e5%be%8c%e7%b7%a8%ef%bc%89/</link>
		<comments>http://blog.loadlimits.info/2009/06/fuse%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%8b%e3%82%89s3fs%e3%82%92%e4%bd%bf%e3%81%86%e3%81%be%e3%81%a7%ef%bc%88%e5%be%8c%e7%b7%a8%ef%bc%89/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 07:18:53 +0000</pubDate>
		<dc:creator>hotpi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[解決]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[FUSE]]></category>

		<guid isPermaLink="false">http://blog.loadlimits.info/2009/06/fuse%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%8b%e3%82%89s3fs%e3%82%92%e4%bd%bf%e3%81%86%e3%81%be%e3%81%a7%ef%bc%88%e5%be%8c%e7%b7%a8%ef%bc%89/</guid>
		<description><![CDATA[Amazon S3をマウントできるs3fsをちょっとカーネルバージョンが古いRHEL5で使う方法。後編。 前編はCentOS 5で試したので、ここからが本番。 でもCentOS 5の方はカーネル最新なんですよね。 あ、このサーバ、x86_64なんでコピペしようとする人は注意。いないだろうけど。 前回と同じようにwgetしてインストール。 # wget http://dl.atrpms.net/all/fuse-2.7.4-8_10.el5.x86_64.rpm # wget http://dl.atrpms.net/all/fuse-libs-2.7.4-8_10.el5.x86_64.rpm # wget http://dl.atrpms.net/all/fuse-devel-2.7.4-8_10.el5.x86_64.rpm # wget http://dl.atrpms.net/all/fuse-kmdl-2.6.18-128.1.10.el5-2.7.4-8_10.el5.x86_64.rpm # rpm -ivh fuse-2.7.4-8_10.el5.x86_64.rpm fuse-kmdl-2.6.18-128.1.10.el5-2.7.4-8_10.el5.x86_64.rpm fuse-devel-2.7.4-8_10.el5.x86_64.rpm fuse-libs-2.7.4-8_10.el5.x86_64.rpm エラー: 依存性の欠如: /boot/vmlinuz-2.6.18-128.1.10.el5 は fuse-kmdl-2.6.18-128.1.10.el5-2.7.4-8_10.el5.x86_64 に必要とされています あー、カーネルモジュールのバージョンを合わせないとダメなのね。 RHEL5のカーネルは2.6.18-92だったのでfuse-kmdl-2.6.18-92.1.10.el5-2.7.4-8_10.el5.x86_64.rpmというファイルが必要か。 が、fuse-kmdl-2.6.18-92.1.10.el5-2.7.4-8_10.el5.x86_64.rpmで検索すると、以前はあったらしい痕跡がうかがえるのだけど、ミラーも含めてどこにもない様子。 ということは、 ATrpms &#8211; by Distribution &#62; Red Hat Enterprise Linux 5 &#62; fuse の最下段にあるSRPMからこの環境で作り直さないとダメってことね。 ではとりあえずダウンロード。 # wget http://dl.atrpms.net/all/fuse-2.7.4-8_10.src.rpm で、rpmbuildでリビルド。 [...]]]></description>
			<content:encoded><![CDATA[<p>Amazon S3をマウントできるs3fsをちょっとカーネルバージョンが古いRHEL5で使う方法。後編。<br />
前編はCentOS 5で試したので、ここからが本番。<br />
でもCentOS 5の方はカーネル最新なんですよね。<br />
あ、このサーバ、x86_64なんでコピペしようとする人は注意。いないだろうけど。</p>
<p>前回と同じようにwgetしてインストール。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:af827f46-b3e3-424c-9f8b-59219f156a81" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># wget http://dl.atrpms.net/all/fuse-2.7.4-8_10.el5.x86_64.rpm
# wget http://dl.atrpms.net/all/fuse-libs-2.7.4-8_10.el5.x86_64.rpm
# wget http://dl.atrpms.net/all/fuse-devel-2.7.4-8_10.el5.x86_64.rpm
# wget http://dl.atrpms.net/all/fuse-kmdl-2.6.18-128.1.10.el5-2.7.4-8_10.el5.x86_64.rpm
# rpm -ivh fuse-2.7.4-8_10.el5.x86_64.rpm fuse-kmdl-2.6.18-128.1.10.el5-2.7.4-8_10.el5.x86_64.rpm fuse-devel-2.7.4-8_10.el5.x86_64.rpm fuse-libs-2.7.4-8_10.el5.x86_64.rpm
エラー: 依存性の欠如:
        /boot/vmlinuz-2.6.18-128.1.10.el5 は fuse-kmdl-2.6.18-128.1.10.el5-2.7.4-8_10.el5.x86_64 に必要とされています</pre>
</div>
<p>あー、カーネルモジュールのバージョンを合わせないとダメなのね。</p>
<p>RHEL5のカーネルは2.6.18-92だったのでfuse-kmdl-2.6.18-92.1.10.el5-2.7.4-8_10.el5.x86_64.rpmというファイルが必要か。</p>
<p>が、fuse-kmdl-2.6.18-92.1.10.el5-2.7.4-8_10.el5.x86_64.rpmで検索すると、以前はあったらしい痕跡がうかがえるのだけど、ミラーも含めてどこにもない様子。</p>
<p>ということは、</p>
<p><a href="http://www.atrpms.net/dist/el5/fuse/" target="_blank">ATrpms &#8211; by Distribution &gt; Red Hat Enterprise Linux 5 &gt; fuse</a></p>
<p>の最下段にあるSRPMからこの環境で作り直さないとダメってことね。</p>
<p>ではとりあえずダウンロード。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:49b57aa8-5fe1-48a1-9931-c5e3a1a44706" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># wget http://dl.atrpms.net/all/fuse-2.7.4-8_10.src.rpm</pre>
</div>
<p>で、rpmbuildでリビルド。</p>
<p>ちなみにもしrpmbuildがインストールされていなければyumでインストール。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:9d4b92ff-62ea-4fee-92a7-edef7847301b" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># yum install rpm-build</pre>
</div>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:6ff6216d-3fc0-4a9c-ad71-18b67e083f44" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># rpmbuild --rebuild fuse-2.7.4-8_10.src.rpm</pre>
</div>
<p>何かエラーでリビルド失敗。(ログ取り忘れた…)</p>
<p>調べてみたら、どうやらSPECで使用するマクロが足りてないらしい。</p>
<p>で、そのマクロがどこにもない、と。</p>
<p>色々探していたら、そのものズバリではないけれど、そこそこ近いマクロを発見。</p>
<p><a href="http://osdir.com/ml/linux.redhat.rpm.atrpms.devel/2004-11/msg00034.html" target="_blank">Re: Re: unable to compile srpms: msg#00034 linux.redhat.rpm.atrpms.devel</a></p>
<p>ここにあったMacroセットを適当に</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:a69b0538-00ad-424e-976e-424ffb3b853b" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># vim /etc/rpm/macros.fuse</pre>
</div>
<p>で流し込んだ。ファイル名は適当に新規作成。macros.*ならいいらしいです。</p>
<p>ちなみにところどころ変な改行が入っているので注意。（マクロファイルは文末に添付します）</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:9437b79c-e5fd-42ec-a6f4-ae253142550f" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># rpmbuild --rebuild fuse-2.7.4-8_10.src.rpm
fuse-2.7.4-8_10.src.rpm をインストール中です。
警告: InstallSourcePackage: ヘッダ V4 DSA signature: NOKEY, key ID ********
エラー: 59 行目: 依存性を表す語は英数字か、'_'、'/' で始まらなければなりません: BuildRequires: %_kernelcompiler_rh5Server</pre>
</div>
<p>む。%_kernelcompiler_rh5Serverがないって。では追加！</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:165447d4-659c-40bd-a5f6-2eecc255ed19" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># vim /etc/rpm/macros.fuse
%_kernelcompiler_rh5Server /usr/bin/gcc</pre>
</div>
<p>ちなみにCentOSではこっちが必要。</p>
<p>%_kernelcompiler_rh5 /usr/bin/gcc</p>
<p>このまま実行するとkernel-module-fuse-2.6.18-92.1.13.el5-2.7.4-8_10.x86_64.rpmとかいうファイル名になってしまうので、先にマクロを修正。</p>
<p>_oldとしてコメントアウトされていたのでそっちを使うように書き換え</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:02f594f7-d0d5-4889-a876-bf23dcddd0e6" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py">%kmdl_name kernel-module-%{_kpkgname}-%{_kernel}
%kmdl_nameof() kernel-module-%1-%{_kernel}
%kmdl_namepure kernel-module-%{_kpkgname}
%kmdl_namepureof() kernel-module-%1
#_kmdl_name_old %{_kpkgname}-kmdl-%{_kernel}
#_kmdl_nameof_old() %1-kmdl-%{_kernel}
#_kmdl_name_old %{_kpkgname}-%{_kname3}-%{_kversion}
#_kmdl_nameof_old() %1-%{_kname3}-%{_kversion}
#_kmdl_namepure_old %{_kpkgname}-kmdl
#_kmdl_namepureof_old() %1-kmdl
↓
#%kmdl_name kernel-module-%{_kpkgname}-%{_kernel}
#%kmdl_nameof() kernel-module-%1-%{_kernel}
#%kmdl_namepure kernel-module-%{_kpkgname}
#%kmdl_namepureof() kernel-module-%1
#_kmdl_name_old %{_kpkgname}-kmdl-%{_kernel}
#_kmdl_nameof_old() %1-kmdl-%{_kernel}
%kmdl_name %{_kpkgname}-%{_kname3}-%{_kversion}
%kmdl_nameof() %1-%{_kname3}-%{_kversion}
%kmdl_namepure %{_kpkgname}-kmdl
%kmdl_namepureof() %1-kmdl</pre>
</div>
<p>カーネルモジュールのビルドにはソースコードが必要らしいので、kernel-develパッケージが入っていない場合は入れておく必要あり。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:8570dfa8-de32-43d2-9151-317f1b23f04a" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># yum install kernel-devel
Package kernel-devel-2.6.18-92.1.13.el5.x86_64 installed and not available
Package kernel-devel-2.6.18-92.1.6.el5.x86_64 installed and not available
Package kernel-devel-2.6.18-92.1.10.el5.x86_64 installed and not available
Nothing to do</pre>
</div>
<p>あれ…</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:574ab55b-f58c-41f8-9647-25f7d45f922b" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># yum list installed |grep kernel
kernel.x86_64                              2.6.18-92.1.6.el5           installed
kernel.x86_64                              2.6.18-92.1.10.el5          installed
kernel.x86_64                              2.6.18-92.1.13.el5          installed
kernel-devel.x86_64                        2.6.18-92.1.6.el5           installed
kernel-devel.x86_64                        2.6.18-92.1.10.el5          installed
kernel-devel.x86_64                        2.6.18-92.1.13.el5          installed
kernel-doc.noarch                          2.6.18-92.1.13.el5          installed
kernel-headers.x86_64                      2.6.18-92.1.13.el5          installed
kernel-xen.x86_64                          2.6.18-92.1.6.el5           installed
kernel-xen.x86_64                          2.6.18-92.1.10.el5          installed
kernel-xen.x86_64                          2.6.18-92.1.13.el5          installed
kernel-xen-devel.x86_64                    2.6.18-92.1.6.el5           installed
kernel-xen-devel.x86_64                    2.6.18-92.1.10.el5          installed
kernel-xen-devel.x86_64                    2.6.18-92.1.13.el5          installed</pre>
</div>
<p>入ってた。</p>
<p>一応確認。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:a40054e5-22a5-4c11-8128-831dc14ea4f0" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># ll /usr/src/kernels/
合計 24
drwxr-xr-x 18 root root 4096  9月 17  2008 2.6.18-92.1.10.el5-x86_64
drwxr-xr-x 18 root root 4096  9月 17  2008 2.6.18-92.1.10.el5-xen-x86_64
lrwxrwxrwx  1 root root   29 11月 10  2008 2.6.18-92.1.10.el5xen-x86_64 -&gt; 2.6.18-92.1.10.el5-xen-x86_64
drwxr-xr-x 18 root root 4096 10月 21  2008 2.6.18-92.1.13.el5-x86_64
drwxr-xr-x 18 root root 4096 10月 21  2008 2.6.18-92.1.13.el5-xen-x86_64
lrwxrwxrwx  1 root root   29 11月 10  2008 2.6.18-92.1.13.el5xen-x86_64 -&gt; 2.6.18-92.1.13.el5-xen-x86_64
drwxr-xr-x 18 root root 4096  7月 18  2008 2.6.18-92.1.6.el5-x86_64
drwxr-xr-x 18 root root 4096  7月 18  2008 2.6.18-92.1.6.el5-xen-x86_64
lrwxrwxrwx  1 root root   28 11月 10  2008 2.6.18-92.1.6.el5xen-x86_64 -&gt; 2.6.18-92.1.6.el5-xen-x86_64</pre>
</div>
<p>では、FUSEをrpmbuild</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:7248e464-a16e-47fb-a9e4-c7a908b1fae5" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># rpmbuild --rebuild fuse-2.7.4-8_10.src.rpm
書き込み完了: /usr/src/redhat/RPMS/x86_64/fuse-kmdl-2.6.18-92.1.13.el5-2.7.4-8_10.x86_64.rpm
書き込み完了: /usr/src/redhat/RPMS/x86_64/fuse-debuginfo-2.7.4-8_10.x86_64.rpm</pre>
</div>
<p>完了した。</p>
<p>できたRPMを作業ディレクトリに移動。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:573e82a4-8782-4226-8b26-009cce1f3326" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># mv /usr/src/redhat/RPMS/x86_64/fuse-kmdl-2.6.18-92.1.13.el5-2.7.4-8_10.x86_64.rpm .</pre>
</div>
<p>では改めてゴー。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:2db0e97a-d2ce-45d0-b913-ca5f522761b3" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># rpm -ivh fuse-2.7.4-8_10.el5.x86_64.rpm fuse-kmdl-2.6.18-92.1.13.el5-2.7.4-8_10.x86_64.rpm fuse-devel-2.7.4-8_10.el5.x86_64.rpm fuse-libs-2.7.4-8_10.el5.x86_64.rpm
警告: fuse-2.7.4-8_10.el5.x86_64.rpm: ヘッダ V4 DSA signature: NOKEY, key ID ********
エラー: 依存性の欠如:
        fuse-kmdl-2.7.4-8_10.el5 は fuse-2.7.4-8_10.el5.x86_64 に必要とされています
        atrpms-kmdl-helper は fuse-kmdl-2.6.18-92.1.13.el5-2.7.4-8_10.x86_64 に必要とされています</pre>
</div>
<p>orz</p>
<p>何だ？ファイル名合わせただけではいかんのか…</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:f764d2a0-203c-458d-8e88-c08661f6cef8" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># rpm -qip fuse-kmdl-2.6.18-92.1.13.el5-2.7.4-8_10.x86_64.rpm
Name        : fuse-kmdl-2.6.18-92.1.13.el5  Relocations: (not relocatable)
Version     : 2.7.4                             Vendor: (none)
Release     : 8_10                          Build Date: 2009年06月17日 19時45分41秒
Install Date: (not installed)               Build Host: ***********
Group       : System Environment/Kernel     Source RPM: fuse-2.7.4-8_10.src.rpm
Size        : 829588                           License: GPL
Signature   : (none)
URL         : http://fuse.sf.net
Summary     : fuse kernel module.
Description :
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE kernel module.

This package contains the fuse-kmdl-2.6.18-92.1.13.el5 kernel modules for the Linux kernel package:
kernel-2.6.18-92.1.13.el5.x86_64.rpm.</pre>
</div>
<p>おおおおお</p>
<p>Nameが違うYo…</p>
<p>めどい。直接Name固定しよう。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:d456d7e7-a2ce-46a5-859f-93d3c784e71f" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># vim /etc/rpm/macros.fuse
%kmdl_name %{_kpkgname}-kmdl-2.7.4-8_10.el5</pre>
</div>
<p>再度rpmbuild。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:eca826fb-e7e5-4de9-9d2c-14c2b5af397d" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># rpmbuild --rebuild fuse-2.7.4-8_10.src.rpm</pre>
</div>
<p>で、結果。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:4c3bcd6d-83de-40a5-9e5c-bd34fbfd2b6e" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># rpm -qip /usr/src/redhat/RPMS/x86_64/fuse-kmdl-2.7.4-8_10.el5-2.7.4-8_10.x86_64.rpm
Name        : fuse-kmdl-2.7.4-8_10.el5     Relocations: (not relocatable)
Version     : 2.7.4                             Vendor: (none)
Release     : 8_10                          Build Date: 2009年06月17日 21時02分15秒
Install Date: (not installed)               Build Host: ***********
Group       : System Environment/Kernel     Source RPM: fuse-2.7.4-8_10.src.rpm
Size        : 829588                           License: GPL
Signature   : (none)
URL         : http://fuse.sf.net
Summary     : fuse kernel module.
Description :
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE kernel module.

This package contains the fuse-kmdl-2.7.4-8_10.el5 kernel modules for the Linux kernel package:</pre>
</div>
<p>おｋ</p>
<p>で、あとはatrpms-kmdl-helperとやらを入れればいいのか。</p>
<p><a href="http://osdir.com/ml/linux.redhat.rpm.atrpms.general/2004-10/msg00013.html" target="_blank">Re: atrpms-kmdl-helper error: msg#00013 linux.redhat.rpm.atrpms.general</a></p>
<p>atrpmsパッケージの中に入っているという話。</p>
<p>というわけでダウンロードしてインストール。</p>
<p><a href="http://www.atrpms.net/dist/common/atrpms/" target="_blank">ATrpms &#8211; by Distribution &gt; common &gt; atrpms</a></p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:616bcfe9-4bfd-4db3-abb6-5b7e33f5bbeb" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># wget http://dl.atrpms.net/all/atrpms-73.1-1.noarch.rpm
# rpm -ivh atrpms-73.1-1.noarch.rpm</pre>
</div>
<p>で、改めて。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:7617934e-0768-4f17-9238-16770659daac" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># rpm -ivh fuse-2.7.4-8_10.el5.x86_64.rpm fuse-kmdl-2.7.4-8_10.el5-2.7.4-8_10.x86_64.rpm fuse-devel-2.7.4-8_10.el5.x86_64.rpm fuse-libs-2.7.4-8_10.el5.x86_64.rpm
準備中...                ########################################### [100%]
   1:fuse-libs              ########################################### [ 25%]
   2:fuse-kmdl-2.7.4-8_10.el########################################### [ 50%]
/var/tmp/rpm-tmp.52302: line 2: /usr/lib64/atrpms/addcustomkmdl: そのようなファイルやディレクトリはありません
   3:fuse                   ########################################### [ 75%]
   4:fuse-devel             ########################################### [100%]</pre>
</div>
<p>…ん？大丈夫かな…？</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:8991168e-7cd9-4eb2-b685-870e3095ca52" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># cd ~/s3fs
# make
g++ -ggdb -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse  -pthread -L/lib64 -lfuse -lrt -ldl    -L/usr/kerberos/lib64 -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz   -I/usr/include/libxml2 -lxml2 -lz -lm -lcrypto s3fs.cpp -o s3fs
s3fs.cpp: In function ‘std::string calc_signature(std::string, std::string, std::string, curl_slist*, std::string)’:
s3fs.cpp:426: 警告: value computed is not used
s3fs.cpp: In function ‘int put_local_fd(const char*, headers_t, int)’:
s3fs.cpp:759: 警告: format ‘%llu’ expects type ‘long long unsigned int’, but argument 4 has type ‘__off_t’
s3fs.cpp: In function ‘int s3fs_readlink(const char*, char*, size_t)’:
s3fs.cpp:852: 警告: 符合付きと符合無しの整数式同士の比較です
s3fs.cpp: At global scope:
s3fs.cpp:440: 警告: ‘size_t readCallback(void*, size_t, size_t, void*)’ defined but not used
ok!</pre>
</div>
<p>よっしゃぁぁ！！</p>
<p>まぁ待て、まだあわてるほどじゃない。</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:89875434-02d3-4f30-afac-13564472f78e" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># make install
g++ -ggdb -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse  -pthread -L/lib64 -lfuse -lrt -ldl    -L/usr/kerberos/lib64 -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz   -I/usr/include/libxml2 -lxml2 -lz -lm -lcrypto s3fs.cpp -o s3fs
s3fs.cpp: In function ‘std::string calc_signature(std::string, std::string, std::string, curl_slist*, std::string)’:
s3fs.cpp:426: 警告: value computed is not used
s3fs.cpp: In function ‘int put_local_fd(const char*, headers_t, int)’:
s3fs.cpp:759: 警告: format ‘%llu’ expects type ‘long long unsigned int’, but argument 4 has type ‘__off_t’
s3fs.cpp: In function ‘int s3fs_readlink(const char*, char*, size_t)’:
s3fs.cpp:852: 警告: 符合付きと符合無しの整数式同士の比較です
s3fs.cpp: At global scope:
s3fs.cpp:440: 警告: ‘size_t readCallback(void*, size_t, size_t, void*)’ defined but not used
ok!
cp -f s3fs /usr/bin</pre>
</div>
<p>よし、では実行…</p>
<div id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:294e3312-cfe2-4ceb-a728-2b2e776ca6c1" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">
<pre class="py"># cd /mnt/
# mkdir s3
# s3fs ***** -o accessKeyId=******************** -o secretAccessKey=**************************************** /mnt/s3
# cd s3/
# ll

合計 82577
---------- 1 root root  298359 12月 23  2007 0223279e4a09010bf1d55aed45de8b46.dat
---------- 1 root root  307441 12月 21  2007 02d452b8ee0809e601297e77e0d14fca.jpg
---------- 1 root root   64051  1月  4  2008 03739992ce7b38979b7fd71bfbdf5d30.zip</pre>
</div>
<p>できた━(∀ﾟ )━(ﾟ∀ﾟ)━━━!!</p>
<p>せっかくなので使ったマクロファイルをアップしておきます。Name固定されてるので注意。<br />
誰が使うんだって感じですけど。</p>
<p><a href="http://blog.loadlimits.info/wp-content/uploads/2009/06/macrosfuse.txt">macros.fuse</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loadlimits.info/2009/06/fuse%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%8b%e3%82%89s3fs%e3%82%92%e4%bd%bf%e3%81%86%e3%81%be%e3%81%a7%ef%bc%88%e5%be%8c%e7%b7%a8%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FUSEインストールからs3fsを使うまで（前編）</title>
		<link>http://blog.loadlimits.info/2009/06/fuse%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%8b%e3%82%89s3fs%e3%82%92%e4%bd%bf%e3%81%86%e3%81%be%e3%81%a7%ef%bc%88%e5%89%8d%e7%b7%a8%ef%bc%89/</link>
		<comments>http://blog.loadlimits.info/2009/06/fuse%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%8b%e3%82%89s3fs%e3%82%92%e4%bd%bf%e3%81%86%e3%81%be%e3%81%a7%ef%bc%88%e5%89%8d%e7%b7%a8%ef%bc%89/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 03:53:51 +0000</pubDate>
		<dc:creator>hotpi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[解決]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[FUSE]]></category>

		<guid isPermaLink="false">http://blog.loadlimits.info/2009/06/fuse%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%8b%e3%82%89s3fs%e3%82%92%e4%bd%bf%e3%81%86%e3%81%be%e3%81%a7%ef%bc%88%e5%89%8d%e7%b7%a8%ef%bc%89/</guid>
		<description><![CDATA[Amazon S3をファイルシステムとしてマウントできるという、s3fsを使ってみたくなったので挑戦。 http://code.google.com/p/s3fs/ 対象のOSは # cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.3 (Tikanga) しかも2.6.18-92.1.13.el5（2009年6月12日現在で最新は2.6.18-128.1.10.el5）でx86_64。 この記事誰得…debianとかCentOSの人や、カーネルを最新にできる環境の人は多分さくっとaptだのyumだのすればいいかと。 いきなり本番サーバをいじるのは怖いので、同じ環境を構築しようとしたのですが、RHEL5とか手に入れようにも… というわけで、テストはCentOS 5で。ちなみに、CentOSにはFUSEのyumが用意されてるらしいです。今回は使わないけど。 書いてたら長くなったので２エントリに分けます。 前編はCentOS 5にインストールしたメモ。あまり意味はないです。 後編はRHEL5にインストールしたメモ。本命です。 まずは目的のs3fsをダウンロード。 # wget http://s3fs.googlecode.com/files/s3fs-r177-source.tar.gz # tar xvzf s3fs-r177-source.tar.gz # cd s3fs # make s3fs.cpp:23:18: error: fuse.h: そのようなファイルやディレクトリはありません FUSEがないと言われます。 rpmfindからRedHat EL5用のRPMを落としてきます。 FUSEを入れます。（※ここは失敗なのでやらないでください） # wget ftp://rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/fuse-2.7.4-1.el5.rf.i386.rpm # rpm -ivh fuse-2.7.4-1.el5.rf.i386.rpm 警告: fuse-2.7.4-1.el5.rf.i386.rpm: ヘッダ [...]]]></description>
			<content:encoded><![CDATA[<p>Amazon S3をファイルシステムとしてマウントできるという、s3fsを使ってみたくなったので挑戦。   <br /><a href="http://code.google.com/p/s3fs/">http://code.google.com/p/s3fs/</a>    <br />対象のOSは </p>
<p># cat /etc/redhat-release   <br />Red Hat Enterprise Linux Server release 5.3 (Tikanga) </p>
<p>しかも2.6.18-92.1.13.el5（2009年6月12日現在で最新は2.6.18-128.1.10.el5）でx86_64。   <br />この記事誰得…debianとかCentOSの人や、カーネルを最新にできる環境の人は多分さくっとaptだのyumだのすればいいかと。 </p>
<p>いきなり本番サーバをいじるのは怖いので、同じ環境を構築しようとしたのですが、RHEL5とか手に入れようにも…   <br />というわけで、テストはCentOS 5で。ちなみに、CentOSにはFUSEのyumが用意されてるらしいです。今回は使わないけど。 </p>
<p>書いてたら長くなったので２エントリに分けます。   <br />前編はCentOS 5にインストールしたメモ。あまり意味はないです。    <br />後編はRHEL5にインストールしたメモ。本命です。 </p>
<p>まずは目的のs3fsをダウンロード。 </p>
<p># wget http://s3fs.googlecode.com/files/s3fs-r177-source.tar.gz   <br /># tar xvzf s3fs-r177-source.tar.gz    <br /># cd s3fs    <br /># make    <br />s3fs.cpp:23:18: error: fuse.h: そのようなファイルやディレクトリはありません </p>
<p>FUSEがないと言われます。 </p>
<p>rpmfindからRedHat EL5用のRPMを落としてきます。   <br />FUSEを入れます。（※ここは失敗なのでやらないでください） </p>
<p># wget ftp://rpmfind.net/linux/dag/redhat/el5/en/i386/dag/RPMS/fuse-2.7.4-1.el5.rf.i386.rpm   <br /># rpm -ivh fuse-2.7.4-1.el5.rf.i386.rpm    <br />警告: fuse-2.7.4-1.el5.rf.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID ********    <br />準備中&#8230;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ########################################### [100%]    <br />&#160;&#160; 1:fuse&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ########################################### [100%] </p>
<p>あ、ATrpmsに新しいのがあったのでアンインストール。 </p>
<p># rpm -e fuse-2.7.4-1.el5.rf </p>
<p>FUSEをインストールするのに参考にしたサイト：<a href="http://blog.irwan.name/?p=36" target="_blank">SysAdmin&amp;#8217;s Diary : Simple Steps To Mount NTFS In RHEL 5</a></p>
<p>で、目的の最新のFUSEはここ。   <br /><a href="http://www.atrpms.net/dist/el5/fuse/" target="_blank">ATrpms &#8211; by Distribution &amp;gt; Red Hat Enterprise Linux 5 &amp;gt; fuse</a></p>
<p># wget http://dl.atrpms.net/all/fuse-2.7.4-8_10.el5.i386.rpm   <br /># wget http://dl.atrpms.net/all/fuse-libs-2.7.4-8_10.el5.i386.rpm    <br /># wget http://dl.atrpms.net/all/fuse-devel-2.7.4-8_10.el5.i386.rpm    <br /># wget http://dl.atrpms.net/all/fuse-kmdl-2.6.18-128.1.10.el5-2.7.4-8_10.el5.i686.rpm    <br /># rpm -ivh fuse-2.7.4-8_10.el5.i386.rpm    <br />警告: fuse-2.7.4-8_10.el5.i386.rpm: ヘッダ V4 DSA signature: NOKEY, key ID ********    <br />エラー: 依存性の欠如:    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; fuse-kmdl-2.7.4-8_10.el5 は fuse-2.7.4-8_10.el5.i386 に必要とされています </p>
<p>あ、いっぺんにインストールしないとダメなのね。 </p>
<p># rpm -ivh fuse-2.7.4-8_10.el5.i386.rpm fuse-kmdl-2.6.18-128.1.10.el5-2.7.4-8_10.el5.i686.rpm fuse-devel-2.7.4-8_10.el5.i386.rpm fuse-libs-2.7.4-8_10.el5.i386.rpm </p>
<p>で、FUSEのインストールは成功。 </p>
<p>改めてs3fsをmake＆make install </p>
<p># make   <br />g++ -ggdb -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse&#160; -pthread -L/lib -lfuse -lrt -ldl&#160;&#160;&#160; -L/usr/kerberos/lib -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz&#160;&#160; -I/usr/include/libxml2 -L/usr/lib -lxml2 -lz -lm -lcrypto s3fs.cpp -o s3fs    <br />s3fs.cpp:440: 警告: ‘size_t readCallback(void*, size_t, size_t, void*)’ defined but not used    <br />ok!    <br /># make install    <br />g++ -ggdb -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse&#160; -pthread -L/lib -lfuse -lrt -ldl&#160;&#160;&#160; -L/usr/kerberos/lib -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz&#160;&#160; -I/usr/include/libxml2 -L/usr/lib -lxml2 -lz -lm -lcrypto s3fs.cpp -o s3fs    <br />s3fs.cpp:440: 警告: ‘size_t readCallback(void*, size_t, size_t, void*)’ defined but not used    <br />ok!    <br />cp -f s3fs /usr/bin </p>
<p>…何か単純なmakeだな。   <br />とりあえず成功。 </p>
<p>では続いてマウントを実行。 </p>
<p># mkdir /mnt/s3   <br /># s3fs ***** -o accessKeyId=******************** -o secretAccessKey=**************************************** /mnt/s3 </p>
<p>成功も失敗も出ないけど、成功しているらしい。   <br />最初の*****はバケット名ね。 </p>
<p># cd /mnt/s3   <br /># ll    <br />ls: reading directory .: 入力/出力エラーです    <br />合計 0 </p>
<p>ん、何も出ない… </p>
<p>エラーの詳細も何も出ないので他のツールで試してみることに。   <br />s3cmdというのを試してみる。    <br />s3cmdのあとに続けてlsだのコマンドを打つことでバケットにアクセスできるツールらしい。 </p>
<p>参考にしたサイトはこちら。   <br />ks: Amazon S3用のコマンドラインツールs3cmd    <br /><a href="http://ks.typepad.jp/blog/2009/01/amazon-s3s3cmd-.html">http://ks.typepad.jp/blog/2009/01/amazon-s3s3cmd-.html</a></p>
<p># cd /etc/yum.repos.d/   <br /># wget <a href="http://s3cmd.org/repo/CentOS_5/s3tools.repo">http://s3cmd.org/repo/CentOS_5/s3tools.repo</a>    <br /># yum install s3cmd    <br /># s3cmd &#8211;configure </p>
<p>ここで諸々設定を行う。まぁ、アクセスキーと秘密アクセスキーとか以外はすごい勢いでハイハイ言っておけばOK。   <br />で、設定できたので実行。 </p>
<p># s3cmd ls </p>
<p>あー、ローカルの時間が違いすぎるみたいなことを言われた(ログ取るの忘れた)のでntpで時間合わせ </p>
<p># date   <br />2009年&#160; 6月 12日 金曜日 18:09:57 JST    <br /># ntpdate 192.168.0.1    <br />12 Jun 17:54:37 ntpdate[4372]: step time server 192.168.0.1 offset -956.022080 sec    <br /># s3cmd ls </p>
<p>で、s3cmdの方は成功。 </p>
<p>つまりそういうことか。 </p>
<p># cd /mnt/s3   <br /># ll </p>
<p>合計 82577   <br />&#8212;&#8212;&#8212;- 1 root root&#160; 298359 12月 23&#160; 2007 0223279e4a09010bf1d55aed45de8b46.dat    <br />&#8212;&#8212;&#8212;- 1 root root&#160; 307441 12月 21&#160; 2007 02d452b8ee0809e601297e77e0d14fca.jpg    <br />&#8212;&#8212;&#8212;- 1 root root&#160;&#160; 64051&#160; 1月&#160; 4&#160; 2008 03739992ce7b38979b7fd71bfbdf5d30.zip    <br />できた━(∀ﾟ )━(ﾟ∀ﾟ)━━━!!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loadlimits.info/2009/06/fuse%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%8b%e3%82%89s3fs%e3%82%92%e4%bd%bf%e3%81%86%e3%81%be%e3%81%a7%ef%bc%88%e5%89%8d%e7%b7%a8%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

