ちょっと変わったマニアな作品が集結

いつもお世話になっております。

CPコマンドで分からない事がありますので、
ご存知の方がいられましたら
アドバイスをお願い致します。

CPコマンドを実行すると以下のエラーが発生します。
エラーを回避したいのですが、
何かいい方法はありますでしょうか?
・ファイルサイズは2165901169byteでした。
・試しにgzip2を行ったらファイルサイズが増えました。

(エラー内容)
ファイルサイズ制限を超過しました
cp -f /db_XXX.tar.gz /woer/db_XXX_070401.tar.gz

以上です。
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ご利用の環境に関する情報が、まったくないので、何とも言いがたいのですが、カーネルか何かに、2GB 上限の制限がついているものが、ありそうです。

    • good
    • 0

32bitOSなので、



2^(32-1) = 2147483648byte < ファイルサイズは2165901169byteでした。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qtarコマンドを用いてバックアップ

非常に困っています。
tarコマンドを用いてテープにバックアップを取ろうと思っています。しかし、tarコマンドには2GB以上のアーカイブを作れないという仕様上の制約があります。
仮に以下のようなコマンド操作を行ったとします。

tar cvf /dev/rmt/0m FILE1 FILE2 FILE3;

FILEA FILEB FILECはいずれも1GBとし、計3GBのバックアップを取るものとする。
この場合バックアップできるのでしょうか?
また、どこかのサイトにこの事が載っているのでしょうか?
片方だけでも分かる方よろしくお願いします。

Aベストアンサー

tarにはアーカイブのサイズ制限はないです.サイズを関知する機能もない.アーカイブに入れる個々のファイルのサイズの制限は有ったと思います.gnutarで8GB.

アーカイブの総サイズの制限があるとしたら,OS側の制限です.
単一ファイルで2GB以上が作れないファイルシステム(10年くらい前の32bitUNIXユーザ会とか)とか.

QシェルスクリプトでFTPの実行結果を取得するには

OS redhat linux
シェル bornシェル

でftpを実行するスクリプトを作っていますが、
ftpの実行結果は取得できるのでしょうか?

ftp -n < ftpCom.txt

宜しくお願いします。

Aベストアンサー

No.1です。補足拝見しました。

直接ftpコマンドの戻り値では実行結果が判断できないので、私が以前に携わっていたプロジェクトでは、FTPサーバが出すエラーコードをgrepでハンドリングしていました。

FTPはコマンドの結果を「行頭に3桁の数字」で出力する仕様になっており、putもgetも送受信が成功した場合は226が出力されるので、

ftp -nv < ftpCom.txt > ftpLog.txt 2>&1

を例えにとると、このコマンドを実行した後に、
grep ^226 ftpLog.txt > /dev/null
if $? ne 0
then
echo "FTPでエラーが発生しました" >> logfile
exit 1
fi

みたいなことをしていました。grep の引数 ^226 は行頭が226から始まる行を検索、という意味で、grepでマッチする行があった場合は0が戻り値となり、マッチしなければ0以外が戻り値となるので、それを利用していました。

実際の運用では、処理が異常終了したときにlogfileを見て、FTPのエラーだったらさらにftpLog.txtを見る、みたいな感じでした。

なお、FTPサーバが返すコードについては下記RFCの4.2辺りを参照してください。もっとも、サーバによってこれら全てが実装されてるとは限りませんが。

http://hp.vector.co.jp/authors/VA002682/rfc959j.htm

No.1です。補足拝見しました。

直接ftpコマンドの戻り値では実行結果が判断できないので、私が以前に携わっていたプロジェクトでは、FTPサーバが出すエラーコードをgrepでハンドリングしていました。

FTPはコマンドの結果を「行頭に3桁の数字」で出力する仕様になっており、putもgetも送受信が成功した場合は226が出力されるので、

ftp -nv < ftpCom.txt > ftpLog.txt 2>&1

を例えにとると、このコマンドを実行した後に、
grep ^226 ftpLog.txt > /dev/null
if $? ne 0
then
echo "FTPでエラー...続きを読む

Qext2,3,4ファイルシステムの判別

マウントしていないパーティションのファイルシステムIDが83となっているとき、そのファイルシステムがext2, ext3, ext4のいずれであるかを確認する方法をお教えください。
2011年7月10日

Aベストアンサー

アンマウント状態で、となると、dfコマンドは使えません。
代わりに、パーティションを切るときのコマンド、fdisk や partedコマンドを使って、調べることならできます。

どちらのコマンドも使い方は同じで、
# fdisk -l /dev/hoge
# parted -l (引数なしですべてのデバイス表示)
です。
ただし、fdiskはGPTには対応していないので、GPT構成のもののファイルシステムは分かりません。
この場合は、partedコマンドでしか分かりません。
一応、自分のところのをアンマウントしてpartedでやってみたので返り値を書いときます。

# parted -l
Model: ATA WDC WD20EARS-00M (scsi)
Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 1049kB 2000GB 2000GB ext4 data01

GPTですが、File system のところにext4と出てますね。

ちなみに、ext関係で情報をとりたければ、
# tune2fs -l hoge
なんてコマンドもあります。
ブロックサイズやらinode情報やらが引き出せます。

アンマウント状態で、となると、dfコマンドは使えません。
代わりに、パーティションを切るときのコマンド、fdisk や partedコマンドを使って、調べることならできます。

どちらのコマンドも使い方は同じで、
# fdisk -l /dev/hoge
# parted -l (引数なしですべてのデバイス表示)
です。
ただし、fdiskはGPTには対応していないので、GPT構成のもののファイルシステムは分かりません。
この場合は、partedコマンドでしか分かりません。
一応、自分のところのをアンマウントしてpartedでやってみたので返り値を...続きを読む

Qマウントしたディスクにcpで、所有者などがコピーできない。

マウントしたディスクにcpで、所有者などがコピーできない。

Linuxサーバー上で、NFSマウントした外部ディスクに、cpコマンドでバックアップを取っています。(cronで夜間に実行)

コピーは正しくおこなわれているのですが、
 ・パーミッション
 ・所有者
 ・グループ
が正しくコピーされておらず、ログには
cp: failed to preserve ownership for `(ファイル名)': Operation not permitted
と出ています。※権限がないと言ってることくらいは理解できます。
また、コピーされたファイルのユーザーと所有者は「nfsnobody」になっています。

パーミッションや所有者、グループも含めてコピーしたいと思っているのですが、どのようにすればよいのでしょうか?

<補足>
・コピーは「cp -fpR」でやっています。
・cronでシェルを起動してコピーを実行しています。
・cronはrootで実行しています。
・cronで実行せずに、直接シェルをたたいても同じです。
・Red Hat Enterprise Linux Server release 5.3 (Tikanga)です
・コピー先も同じRedhatです。

マウントしたディスクにcpで、所有者などがコピーできない。

Linuxサーバー上で、NFSマウントした外部ディスクに、cpコマンドでバックアップを取っています。(cronで夜間に実行)

コピーは正しくおこなわれているのですが、
 ・パーミッション
 ・所有者
 ・グループ
が正しくコピーされておらず、ログには
cp: failed to preserve ownership for `(ファイル名)': Operation not permitted
と出ています。※権限がないと言ってることくらいは理解できます。
また、コピーされたファイルのユーザーと所有者...続きを読む

Aベストアンサー

NFSのサーバー側のデフォルトでは、NFSで所有者がrootのファイルを書き込めないようになっています。
(ローカルにroot権限をもっていない人間でも、root権限を持つ別のマシンを用意してNFSでマウントすれば、rootなファイルを書き込める、というのはセキュリティ的に問題があるため)

NFSのサーバー側(コピー先)で、/etc/exports で、no_root_squash を設定すれば、
rootでも書き込めるようになります。
http://www.linux.or.jp/JM/html/nfs-server/man5/exports.5.html
http://mountainbigroad.jp/fc5/nfs.html#p02_01

Qレッドハットのバージョン確認方法

自分のサーバで使用しているREDHATのバージョン確認はどうすればいいのでしょうか?

more /etc/issue
とやっても英文しか出てきませんでした。

uname -all
でもカーネルのバージョンは出るのですが、REDHATのバージョンは出ませんでした。

Aベストアンサー

> more /etc/issue
> とやっても英文しか出てきませんでした。

その英文にはRedHatのバージョンは書いてなかったのですか?
書いていなかったとしたら、管理者により編集されている可能性
がありますね。

cat /etc/redhat-release

ではいかがでしょう?
やっぱり英文ですけど。

rpm -q redhat-release

でもいいかも

Qtelnetやftpでの接続が拒否される;;

雑誌の付録のRedHatLinux7.3をインストールしました。
インストールが完了した後に、別端末からtelnet接続を試みたところ、
下記のように接続が拒否されてしまいました。
-------------------------------------------------------------------
C:\>telnet 192.168.0.3
接続中: 192.168.0.3...ホストへ接続できませんでした。 ポート番号 23.
対象のコンピュータによって拒否されたため、接続できませんでした。
-------------------------------------------------------------------

また、インストール時に匿名FTPもインストールするように選択
したのですが、こちらも接続しようとすると拒否されてしまいます。
-------------------------------------------------------------------
C:\>ftp 192.168.0.3
> ftp: connect :エラー番号が不明です

linuxのターミナルから接続しようとすると、
$ftp 192.168.0.3
ftp:connect:Connection refused
-------------------------------------------------------------------

何が原因でtelnetやftpが利用できないのでしょうか?
また、どのようにすれば利用できるようになるのかご教授していただきたいと思っております。

よろしくお願いいたします。

雑誌の付録のRedHatLinux7.3をインストールしました。
インストールが完了した後に、別端末からtelnet接続を試みたところ、
下記のように接続が拒否されてしまいました。
-------------------------------------------------------------------
C:\>telnet 192.168.0.3
接続中: 192.168.0.3...ホストへ接続できませんでした。 ポート番号 23.
対象のコンピュータによって拒否されたため、接続できませんでした。
-------------------------------------------------------------------

また、インストー...続きを読む

Aベストアンサー

RedHat Linuxのデスクトップ環境が使えるなら、Serviceconf で各種設定が行えます。
こちらで確認されてみては?

ftpとかtelnetくらいだと、xitend経由で利用する場合もありますので、そちらの方の知識が必要かもしれません。

参考URL:http://www.redhat.co.jp/manual/Doc73/RH-DOCS/rhl-cg-ja/s1-services-serviceconf.html

QLinuxで"\"を入力したい。(メールサーバーに、メール転送機能を持たせる)

RedHatLinux9のメールサーバーに、メール転送機能を持たせる場合は、/home/ユーザディレクトリに、.forward を作成するようです。

転送するメールをサーバにも残す場合は、下記アドレスサイトに書かれていたように、

echo "\****,****@goo.com" > .forward

とやるそうすが、\ が入力できません。
どうすれば良いでしょうか?

http://www.mediaweb.biz/database/cobalt_tips/forward.html

Aベストアンサー

ここでの問答は参考になりませんか?(下記参考URL)
こちらの内容を一読することをお勧めします。

まず、以下は、半角文字に限定した話です。
(質問者が問題にしているサーバーの設定では、全て、半角文字で入れてくださいね。)

\は、バックスラッシュと同じものなのです。
日本語として表示すると"\"ですが、英語圏のシステムで表示すると、バックスラッシュ("/"の左右反転したもの)になるのです。

コンピュータ内で表す文字コードとしては全く同じものなのです。システム(日本語か英語か)によって表示が違っているだけです。

\が入らなければ(少し厳密にいうと「表示されなければ」)、バックスラッシュを入れれば(表示させれば)よいのです。

つまり、お使いのキーボードで"\"が表示されているキーを押せば良いのです。
/ の左右が反転した文字(これをバックスラッシュといいます)が表示されるはずですので、そのまま入力すればOKです。
これで、\が入力されたことになります。


> ","(コンマ)で区切らなくてよいのですね。

.formard の内容をコンマで区切っても、2行に記述しても同じです。
ただ、echo を使って入れる場合は、
1行になるので、コンマで入力するわけです。

ちなみに、
echo "\****,****@goo.com" > .forward
は、
"\****,****@goo.com" の中身(""を取ったもの)を
.forward というファイルに書き込みなさい、という意味の命令(コマンド)なのです。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=758876

ここでの問答は参考になりませんか?(下記参考URL)
こちらの内容を一読することをお勧めします。

まず、以下は、半角文字に限定した話です。
(質問者が問題にしているサーバーの設定では、全て、半角文字で入れてくださいね。)

\は、バックスラッシュと同じものなのです。
日本語として表示すると"\"ですが、英語圏のシステムで表示すると、バックスラッシュ("/"の左右反転したもの)になるのです。

コンピュータ内で表す文字コードとしては全く同じものなのです。システム(日本語か英語か)によ...続きを読む

Q~以外を削除する場合(rmコマンド)

linuxのコマンドで
~以外のファイル、ディレクトリを全て削除したい時は
どのような記述をすれば良いのでしょうか?
シェルスクリプトではなくrmコマンド1つで削除したのいですが…

例: tar以外のファイル・ディレクトリを
   すべて削除したい場合など

どなたかご存知の方がいらっしゃったら
教えてください。よろしくお願い致します。

Aベストアンサー

rm コマンドのみという訳にはいきませんが基本的なコマンドを組み合わせると実現可能と思います。

「名前が tar で終わるもの以外のファイル・ディレクトリを削除する」場合だと

ls | grep -v -E 'tar$' | xargs rm -r

となります。

ファイルの一覧を取得し ( ls )
'tar'で終わるもの以外を抽出し ( grep )
その結果を rm -r の引数に指定して実行 ( xargs )

という流れです。

ファイルを削除するような操作については失敗するとダメージが大きいので、事前にテストして動作を確認すると良いとおもいます。また rm -r -i としてそれぞれのファイルについて、削除の問い合わせをするのも有効です。

QUNIXで、ディレクトリを比較して、ファイル・ディレクトリの存在を比較したい

やりたいこと自体は単純なことなのですが・・

UNIXのコマンドで、
2つのディレクトリA、Bを比較して、
Aだけにあるディレクトリ・ファイルのみを取得できるようなものを教えてください。
(ファイルが同一かどうかは問題ではなくて、あくまでも存在不存在の比較です。)

コマンドを組み合わせたり、オプションを使ってもかまいません。

diffコマンドってこういうとき使えないのでしょうか。

Aベストアンサー

( cd (ディレクトリA) ; find . -print |sort ) > A.txt
( cd (ディレクトリB) ; find . -print |sort ) > B.txt
としてディレクトリリストを作っておいて
diff A.txt B.txt | grep '^<' (Aだけにあるファイル)
diff A.txt B.txt | grep '^>' (Bだけにあるファイル)
でどうでしょうか?

Qcpコマンドとオーナー・グループについて

cpコマンドについて質問です。
通cpコマンドで-pオプションを指定すると、オーナー・グループ
パーミッション・タイムスタンプが保持されるはずですが、
オーナー・グループがcpコマンド実行オーナーに変更されて
しまいます。
オーナー:AAA グループ:BBBというファイルtest.txtという
ファイルを
オーナー:CCC グループ:DDDというユーザーで下記コマンドを
実行すると、
cp -p test.txt test.txt.bkup
test.txt.bkupがオーナー:CCC グループ:DDDになってしまいます。
なぜこのようなことになるのか、オーナーグループを保持するには
どうすればいいのかご存知でしたら教えてください。
よろしくお願いします。

Aベストアンサー

一般ユーザではファイルの所有権を変更できません。
自分以外の所有者にしたいなら、rootユーザで実行する必要があります。
cp -p は「可能な限り」属性を保持するオプションです。


人気Q&Aランキング