• ベストアンサー
  • すぐに回答を!

エラー「cpp0: /var/tmp/cczy3NgV.ii: デバイス上の空き領域が足りません。」

Solaris2.6の環境です。 C++プログラム初学者です。 % uname -a SunOS ultra 5.6 Generic_105181-23 sun4m sparc SUNW,SPARCstation-5 C++プログラムの学習中にC++のリストをmake使用とすると % cd ~/test % make g++ -c -o timer.o timer.cc cpp0: /var/tmp/cczy3NgV.ii: デバイス上の空き領域が足りません。 make: *** [timer.o] Error 1 というエラーが出てしまい、困っています。 % ls -l /var/tmp 合計 2086 -rw------- 1 matsui master 0 3月 13日 21:19 Ex0000001239 -rw------- 1 root root 821304 3月 14日 22:20 wsconAAA7eaqNa:0.0 -rw------- 1 root root 35659 2月 8日 19:05 wsconAAAP0aaNa:0.0 -rw------- 1 matsui master 0 1月 27日 17:44 wsconAAAXlaitb:0.0 -rw------- 1 root root 187687 2月 7日 19:31 wsconAAAxBaWxc:0.0 % df -k Filesystem Kバイト used avail capacity Mounted on /dev/dsk/c0t3d0s0 57567 21273 30538 42% / /dev/dsk/c0t3d0s6 694454 497069 141829 78% /usr /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd /dev/dsk/c0t3d0s1 47975 44685 0 100% /var /dev/dsk/c0t3d0s7 38383 14633 19912 43% /workl swap 137384 16 137368 1% /tmp lucas:/usr/local 1687016 824880 811528 51% /usr/local lucas:/home 14110472 3550904 10418464 26% /home lucas:/workn 57384 31880 19768 62% /workn となっているのですがこれはどうすれば解決できるのでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数666
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • Lean
  • ベストアンサー率72% (435/603)

根本的な解決はNo.1で回答されている方のいう通りdisk full(空き領域なし)になっている/varの不要ファイルを削除して領域を空ける事ですが、そもそも/varの容量自体少ないようですから、こまめにチェックしてdisk fullが出ないようにしないといけないですよ。 /var配下のディレクトリに各種プログラムのログが出力されるでしょうからなおさらです。 また、今回は、 >コンパイル時には/var/tmp下に一時ファイルが生成されるのですね。 >この一時ファイルが生成できないと実行ファイルが生成できなくなってしまうのですね。 という不具合だけで済んでいるかもしれませんが、他に不具合が出てくる可能性も否めません。 あと、g++(C++)コンパイラの一時ファイルの作成先は、環境変数TMPDIRを設定する事によって/var/tmp以外にする事が可能です(一時的な回避策)。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご回答ありがとうございます。 遅くなりましてスイマセン。 > 根本的な解決はNo.1で回答されている方のいう通りdisk full(空き領域なし)になっ > ている/varの不要ファイルを削除して領域を空ける事ですが、そもそも/varの容量自 > 体少ないようですから、こまめにチェックしてdisk fullが出ないようにしないとい > けないですよ。 ご忠告感謝致します。気をつけたいと思います。 > /var配下のディレクトリに各種プログラムのログが出力されるでしょうからなおさら > です。 % df -k | grep var /dev/dsk/c0t3d0s1 47975 16655 26523 39% /var でエラー「cpp0: /var/tmp/cczy3NgV.ii: デバイス上の空き領域が足りません。 ake: *** [timer.o] Error 1」 は解消されました。\(^o^)/ > という不具合だけで済んでいるかもしれませんが、他に不具合が出てくる可能性も否 > めません。 了解致しました。 > あと、g++(C++)コンパイラの一時ファイルの作成先は、環境変数TMPDIRを設定する事 > によって/var/tmp以外にする事が可能です(一時的な回避策)。 有難うございます。これは大変有益な情報です。 エーと、早速試してみたのですがこういう事ですかね。 % ls -a ~/ | grep shrc .cshrc* % cat .cshrc | grep TMPDIR setenv TMPDIR ~/tmp % source .cshrc % echo $TMPDIR /home/m/kaorim/tmp % cat ./test.cc #include<stdio.h> int main(void){ printf("hello world"); return 0; } % ls ./ test.cc* % g++ -o test test.cc % ls test* test.cc* % ls -a ~/tmp ./ ../ としたのですが~/tmpには何も排出されませんでした。 うーん、やり方を勘違いしてますでしょうか?

関連するQ&A

  • Solaris(SPARC)のファイルシステムについて

    dfコマンドでディスクスライスを参照した場合、 ファイルシステムで"c0t0d0s0"って表示されますが、 『c,t,d,s』って、それぞれどんな意味なんですか? "s"はスライスのような気はするのですが…。 #df -k ファイルシステム kbytes 使用済み 使用可能 capacity マウント先 /proc 0 0 0 0% /proc /dev/dsk/c0t0d0s0 1015909 491317 463638 52% / /dev/dsk/c0t0d0s1 1015909 798691 156264 84% /usr fd 0 0 0 0% /dev/fd /dev/dsk/c0t0d0s3 1015909 529819 425136 56% /var /dev/dsk/c0t0d0s4 1015909 904926 50029 95% /opt swap 5037840 1998296 3039544 40% /tmp

  • /home/export の容量が100%で、 ダウンする

    管理者が入院で不在となってしまい、代役をしていたのですが、Solaris(unix)は 特にメンテナンス不要と聞いて、実際、この半年、手をかけたことが無いのですが、 一昨日よりサーバーがダウン(ダンマリ停止)することが発生しています。 少ない知恵で調べたのですがどうやら「/expor/home」の空き不足のようです。 しかし不要なファイルを削除し、空きを確保しているのですが改善されません。 下記のような環境ですが、どんなことでも結構ですので知恵を貸して下さい。 OS:Solaris (Unix) 5.5.1 #root>df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0d0s0 62623 29112 27251 52% / /dev/dsk/c0d0s6 480815 238241 194494 56% /usr /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd /dev/dsk/c0d0s4 192423 97993 75190 57% /var /dev/dsk/c0d0s7 461111 422939 0 100% /export/home /dev/dsk/c0d0s5 384847 199214 147153 58% /opt /dev/dsk/c0d0s3 288391 237727 21834 92% /usr/openwin swap 102460 12 102448 1% /tmp

  • CDROMのマウントについて

    初めて投稿させて頂きます。初心者です。 Ultra機にSolaris10SPARC版のコアシステムサポートを(分けありで)インストールしたのですが、squidを入れようと思ってCDROMにsquid-2.6.STABLE2.tarを入れて、マシンにCDROMを入れたのですがマウントしません。 下記が起動時のファイルシステムです。 /dev/rdsk/c0t0d0s1: is logging. /dev/rdsk/c0t0d0s4: is logging. /dev/rdsk/c0t0d0s5: is logging. 下記が現在の/etc/vfstabの中です。 #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - /dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /usr ufs 1 no - /dev/dsk/c0t0d0s2 /dev/rdsk/c0t0d0s2 /var ufs 1 no - /dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /data ufs 2 yes - /dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /opt ufs 2 yes - /dev/dsk/c0t0d0s1 /dev/rdsk/c0t0d0s1 /swap ufs 2 yes - /devices - /devices devfs - no - ctfs - /system/contract ctfs - no - objfs - /system/object objfs - no - swap - /tmp tmpfs - yes - インストール時のファイルシステムの指定に問題があるのでしょうか? どなたか解決策をご教示下さい。 宜しくお願い致します。

その他の回答 (2)

  • 回答No.3
  • Lean
  • ベストアンサー率72% (435/603)

>% g++ -o test test.cc 上記の処理中に一時的に作成されるものですから、これが終了した後に確認してもファイルは何も存在しないと思いますよ。 どうしても、環境変数TEMPDIRで指定したディレクトリに一時ファイルが作成されるか確認したい場合は、別ターミナルで無限ループでそのディレクトリをlsするようなシェルスクリプトなりを動かした状態でコンパイルを行って確認すればいいと思いますよ。

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • psyren
  • ベストアンサー率46% (7/15)

df の結果のとおりです。 Filesystem Kバイト used avail capacity Mounted on /dev/dsk/c0t3d0s1 47975 44685 0 100% /var 一般ユーザが使える領域がないだけです。 要らないファイルを消すとかして使える領域を空けましょう。

共感・感謝の気持ちを伝えよう!

質問者からの補足

有難うございます。 > df の結果のとおりです。 > Filesystem Kバイト used avail capacity Mounted on > /dev/dsk/c0t3d0s1 47975 44685 0 100% /var コンパイル時には/var/tmp下に一時ファイルが生成されるのですね。 この一時ファイルが生成できないと実行ファイルが生成できなくなってしまうのですね。 > 一般ユーザが使える領域がないだけです。 > 要らないファイルを消すとかして使える領域を空けましょう。 どれが不要なファイルか調べてみたいと思います。

関連するQ&A

  • dfコマンドの出力結果について

    お世話になります。 仕事でsolarisサーバを扱うことになったのですが、 まったく知識がなく聞ける相手もいないため、質問させていただきます。 dfコマンドのヘルプを見ると、以下のような例が出ていました。     /         (/dev/dsk/c0t0d0s0 ): 287530 blocks  92028 files     /system/contract  (ctfs       ):    0 blocks 2147483572 files     /system/object   (objfs       ):    0 blocks 2147483511 files     /usr        (/dev/dsk/c0t0d0s6 ): 1020214 blocks  268550 files     /proc       (/proc       ):    0 blocks   878 files     /dev/fd      (fd        ):    0 blocks    0 files     /etc/mnttab    (mnttab      ):    0 blocks    0 files     /var/run      (swap       ): 396016 blocks   9375 files     /tmp        (swap       ): 396016 blocks   9375 files     /opt        (/dev/dsk/c0t0d0s5 ): 381552 blocks  96649 files     /export/home    (/dev/dsk/c0t0d0s7 ): 434364 blocks  108220 files この情報の見方について教えていただきたいのですが、、、 ・「 /         (/dev/dsk/c0t0d0s0 )」は、  ディスク:c0t0d0 のスライス:s0が、/にマウントされている。 ・「/usr        (/dev/dsk/c0t0d0s6 )」は、  ディスク:c0t0d0 のスライス:s6が、/usrにマウントされている。 ・c0t0d0s0とc0t0d0s6は、同じディスクに存在する別のスライス。 という認識でよいでしょうか? ・「/system/contract  (ctfs       )」は、  /system/contractにマウントされているctfsというのは何でしょうか?  マニュアルには「デバイスまたはファイルシステム」と書かれていますが、  ファイルシステムとするとctfsはどこのディスクに存在するのでしょうか。  ・dfで表示されないスライスの情報はどうやって調べるのでしょうか?  format→partition→printではたくさんのスライスが表示されますが、  dfコマンドの出力結果にはすべてが出てきません。  スライスがどのように使用されているかを調べる方法はありますでしょうか? 知識がないためわけのわからないことを聞いているのかもしれませんが、 なにかヒントでもいただけると幸いです。 よろしくお願いいたします。

  • Solaris10 swapとは

    Solaris10を稼働させている環境です。今回検証機で再インストールすることになり、システム要件を調べていました。 するとswapを512とるようにと書いてあるのですが、実際にdf -kで見たところ、swapというファイルシステムのマウント先は3つあり、 # df -k ファイルシステム kbytes 使用済み 使用可能 容量 マウント先 /dev/dsk/c0d0s0 6399321 5519978 815350 88% / /devices 0 0 0 0% /devices ctfs 0 0 0 0% /system/contract proc 0 0 0 0% /proc mnttab 0 0 0 0% /etc/mnttab swap 1570484 872 1569612 1% /etc/svc/volatile objfs 0 0 0 0% /system/object /usr/lib/libc/libc_hwcap1.so.1 6399321 5519978 815350 88% /lib/libc.so.1 fd 0 0 0 0% /dev/fd /dev/dsk/c0d0s3 1019856 83245 875420 9% /var swap 1569692 80 1569612 1% /tmp swap 1569644 32 1569612 1% /var/run /dev/dsk/c0d0s7 5774427 5769 5710914 1% /export/home となっています。 どこを見てこの仮想メモリの数値を得ればよいのかわかりません。 どなたかご存じの方、教えてください。

  • デバイスファイルの考え方

    UNIX系OSに初めて仕事に入ったのですが 上題の考えがうまく理解できません。 その1: 例えば、/dev/dsk/c0t0d0s0 と /dev/rdsk/c0t3d0s5 と2件表記 された場合はディスクが2本ある・・という解釈になるのでしょうか?。 あと「/var」などに領域を割り当てする場合、「/dev/dsk/c0t0d0s0」など 物理的なパスを指定するのでしょうか?。 その2: 「スライシング(スライス・ナンバー)」とはどういった意味なの でしょうか?。「パーティション」との違いが良くわかりません。。 すみませんが一部でも結構ですので ご教授願います。

  • DISK2台使用してsolaris10にてミラーリング設定

    ・OS:Solaris10(SPARC版):初心者です。 ・HDD2台使用しています。 1台目は通常OSインストールし、2台目にてミラーリング設定。 教えて頂きたい事はミラーリング設定のやり方をご教授頂けたら幸いです。 自分なりに最初は色々とインターネットで調べてやってみましたが metadb: Jigen1108: c0t0d0s7: スワップデバイスである c0t0d0s1 とオーバーラップしますのメッセージが出てうまくいきませんでした。 (コマンド:metadb -a -f -c2 c0t0d0s7 c0t1d0s7) ・1台目 0 root wm 12549 - 24595 23.44GB 1 swap wu 0 - 501 1000.08MB 2 backup wm 0 - 38306 74.53GB 3 usr wm 24596 - 38306 26.67GB 4 var wm 854 - 6023 10.06GB 5 home wm 6024 - 12548 12.69GB 6 unassigned wm 0 0 7 unassigned wu 100 - 199 199.22MB ・2台目 Part Tag Flag Cylinders Size 0 unassigned wm 12549 - 24595 23.44GB 1 unassigned wu 0 - 501 1000.08MB 2 backup wu 0 - 38306 74.53GB 3 unassigned wm 24596 - 38306 26.67GB 4 unassigned wm 854 - 6023 10.06GB 5 unassigned wm 6024 - 12548 12.69GB 6 unassigned wm 0 0 7 unassigned wu 100 - 199 199.22MB ・vfstab /dev/dsk/c0t0d0s1 - - swap - no - /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - /dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /usr ufs 1 no - /dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /var ufs 1 no - /dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /export/home ufs 2 yes 他に足りない情報があれば記載いたしますので ミラーリングについてご教授お願いします。

  • HP-UXにおけるDVDのmountについて

    OS:HP-UX 11i v3 Oracle11g for HP-UX Itaniumをインストールしようとしています。 WebよりダウンロードしたzipファイルをDVDに焼き、 そのDVDをHP-UXでmountしようとしているのですが、うまくできません。 以下、下記マニュアルより抜粋。 「Oracle Databaseクイック・インストレーション・ガイド 11gリリース1(11.1) for HP-UX Itanium」 http://otndnld.oracle.co.jp/document/products/oracle11g/111/hpux/E05990-01/toc.htm +++++++++++++++++++++++++++++++++++++++ 9 製品ディスクのマウント 3. 適切なディスクをディスク・ドライブに挿入し、次のようなコマンドを入力してマウントします。 # /usr/sbin/mount -F cdfs -o rr /dev/dsk/cxtydz /SD_DVD +++++++++++++++++++++++++++++++++++++++ 以下、実行コマンド。 *************************************** # ioscan -fnC disk Class I H/W Path Driver S/W State H/W Type Description =============================================================================== disk 2 0/1/1/0.0.0.0.0 sdisk CLAIMED DEVICE HP IR Volume /dev/dsk/c0t0d0 /dev/dsk/c0t0d0s2 /dev/rdsk/c0t0d0 /dev/rdsk/c0t0d0s2 /dev/dsk/c0t0d0s1 /dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s1 /dev/rdsk/c0t0d0s3 # mkdir /SD_CDROM # /usr/sbin/mount -F cdfs -o rr /dev/dsk/c0t0d0 /SD_CDROM /dev/dsk/c0t0d0: unrecognized file system *************************************** お気づきの点がありましたらどうぞ宜しくお願い致します。

  • quotaの設定がうまくいきません。

    quotaの設定を練習しようとしていたのですが edquotaコマンドでエラーがでます。 よければ教えていただけないでしょうか? [root@localhost /]# mount /dev/hda1 on / type ext3 (rw,usrquota) none on /proc type proc (rw) none on /sys type sysfs (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) usbfs on /proc/bus/usb type usbfs (rw) none on /dev/shm type tmpfs (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) [root@localhost /]# ls -l aquota.user 合計 172 -rw------- 1 root root 0 8月 14 07:48 aquota.user [root@localhost /]# edquota root edquota: Quota file not found or has wrong format. No filesystems with quota detected. [root@localhost /]#

  • fssnapについて

    fssnapでファイルのバックアップをとろうと思っていますが、下記のようなエラーメッセージが出てしまいます。 fssnap: ioctl: error 22: Invalid argument /や/varで発生しており、/homeのバックアップをとるときは特に問題ありません。 /etc/vfstabは下記の通りです。 /dev/md/dsk/d4 - - swap - no - /dev/md/dsk/d1 /dev/md/rdsk/d1 / ufs 1 no - - /dev/md/dsk/d2 /dev/md/rdsk/d2 /var ufs 1 no - /dev/md/dsk/d3 /dev/md/rdsk/d3 /home ufs 2 yes - /devices - /devices devfs - no - swap - /tmp tmpfs - yes - もしわかるかたがいらっしゃいましたら、ご回答宜しくお願いいたします。

  • /proc/filesystemsでnodevとなる理由

    /proc/filesystemsの第一カラムですが、ファイルシステムがブロックデバイスにマウントされていない場合nodevとなるという認識です。 しかしmountコマンドでみると下記iso9660のファイルシステムはどのブロックデバイスにもマウントしていないように見えます。 これについてご意見を頂けないでしょうか。 [root@localhost ~]# cat /proc/filesystems nodev sysfs nodev rootfs nodev bdev nodev proc nodev sockfs nodev binfmt_misc nodev usbfs nodev usbdevfs nodev futexfs nodev tmpfs nodev pipefs nodev eventpollfs nodev devpts ext2 nodev ramfs nodev hugetlbfs iso9660 nodev relayfs nodev mqueue ext3 nodev infinibandeventfs nodev rpc_pipefs nodev autofs nodev nfsd [root@localhost ~]# mount /dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw) none on /proc type proc (rw) none on /sys type sysfs (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) usbfs on /proc/bus/usb type usbfs (rw) /dev/hda1 on /boot type ext3 (rw) none on /dev/shm type tmpfs (rw) /dev/hdd1 on /home2 type ext3 (rw,usrquota,grpquota) /dev/fd0 on /root/aaa type ext2 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) nfsd on /proc/fs/nfsd type nfsd (rw) [root@localhost ~]# df /dev/cdrom Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 - 257164 232 256932 1% /dev

  • Solaris10のswap領域の見方について

    Solaris10のswap領域の見方について、教えていただきたいと思います。 df -hコマンドを使用してみると、 ファイルシステム サイズ 使用済み 使用可能 容量 マウント先 /dev/dsk/c0d0s0 5.5G 5.2G 263M 96% / /devices 0K 0K 0K 0% /devices ctfs 0K 0K 0K 0% /system/contract proc 0K 0K 0K 0% /proc mnttab 0K 0K 0K 0% /etc/mnttab swap 2.5G 920K 2.5G 1% /etc/svc/volatile objfs 0K 0K 0K 0% /system/object /usr/lib/libc/libc_hwcap1.so.1 5.5G 5.2G 263M 96% /lib/libc.so.1 fd 0K 0K 0K 0% /dev/fd swap 2.5G 1.1M 2.5G 1% /tmp swap 2.5G 28K 2.5G 1% /var/run /dev/dsk/c0d0s7 33G 4.7G 28G 15% /export/home という形でswap領域が表示されますが、 swap -l で計算すると swap ファイル デバイス swaplo ブロック 空き容量 /dev/dsk/c0d0s1 102,1 8 1076344 1076344 と表示され、1ブロック512バイトなので、551088128byte = 551M となり 上のdf の結果と異なります。 topコマンドを使用すると total swap, 526M free swap と出て、どうやら、SWAP領域は500Mちょっと、という認識が正しいのかとおもわれますが、とするとdfの結果の2.5Gは何を指しているのでしょうか?

  • 容量がいっぱいになりました。削除してもよいですか?

    困ってます、宜しくお願いします!! CentOSの専用サーバーを利用しているのですが、メールが飛ばないなどの症状が頻繁に発生するのでSSHより確認してみたのですが、/dev/hda2の容量が100%となっており、これが原因では無いかと考えております。 【df -a 結果】 /dev/hda2 8064304 7602944 51704 100% /var で、更にこの中を確認すると以下の情報が得られました。(大きなデータだけ記載いたします) 【ls -l 結果】 drwxr-xr-x 20 root root 118784 4 19 22:37 dev drwxrwxrwt 5 root root 81920 7 9 11:03 tmp devの中を覗いてみたのですが、膨大なファイルが存在しているため断念・・・。(何か分かりません) 続いて、tmp内を見ると、明らかにこれだけで容量を圧迫しているデータが1つ確認出来ました。 drwxrwxrwt 5 root root 81920 7 9 11:03 . この、ドットだけのファイル名のファイルは何になりますでしょうか? また、これは削除してもよいものか?削除することで容量の確保が可能か?をお伺いしたく思います。 大丈夫と言うことであれば、少々怖いのですが削除を試してみたいと思います。 その際は以下のコマンドで問題ありませんでしょうか? rm -i . ↑この様な感じで・・・。 どなたか詳しい方らっしゃいましたら、アドバイスのほどお願いいたします。