Di mana / tmp saya dipasang?

9
$ df /tmp
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/root      480589544 42607368 413546516  10% /

$ ls /dev/root
ls: cannot access /dev/root: No such file or directory

Saya ingin memeriksa apakah instalasi Debian default saya tempat /tmpdi RAM atau pada disk, tapi sekarang saya benar-benar bingung. Mengapa perangkat yang tidak ada dilaporkan sebagai tipe sistem file? Apa artinya "dipasang pada /"?

Ini adalah output dari mount:

/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=811520k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1013960,mode=755)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1623020k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
none_debugfs on /sys/kernel/debug type debugfs (rw,relatime)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,size=12k)
cgmfs on /run/cgmanager/fs type tmpfs (rw,relatime,size=100k,mode=755)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/run/cgmanager/agents/cgm-release-agent.systemd,name=systemd)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=811520k,mode=700,uid=1000,gid=1000)
Vorac
sumber
1
Outputnya tampak sangat sederhana. Bisakah Anda memposting output dari mountperintah?
Rui F Ribeiro
/tmpadalah titik mount. Pertanyaan yang ingin Anda tanyakan adalah "Apa partisi / perangkat yang terpasang di / tmp?"
William Pursell
Dan ungkapan itu seperti itu (saya pikir) mengklarifikasi kebingungan Anda. /dev/rootadalah perangkat yang dipasang pada akar filesystem ( /)
William Pursell

Jawaban:

8

Jika outputnya seperti di atas, ada di hard disk. Anda bisa mendapatkannya /dev/rootdengan melihat commandline kernel:

$ cat /proc/cmdline | grep root
BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=0cde5cf9-b15d-4369-b3b1-4405204fd9ff ro

Jadi /dev/rootsetara dengan partisi dengan UUID yang dicetak di atas; Anda akan berbeda. Untuk melihat UUID ini, gunakan

$ sudo blkid
/dev/sda1: UUID="0cde5cf9-b15d-4369-b3b1-4405204fd9ff" TYPE="ext4" 
/dev/sda5: UUID="37bc6a9c-a27f-43dc-a485-5fb1830e1e42" TYPE="swap" 
/dev/sdb1: UUID="177c3cec-5612-44a7-9716-4dcba27c69f9" TYPE="ext4" 

Seperti yang Anda lihat, partisi yang cocok adalah /dev/sda1. Jadi Anda /tmpada di hard disk. Hadiah lain dalam output dfadalah mountpoint /. Jika Anda memasang /tmpRAM, Anda akan mendapatkannya

$ df /tmp
Filesystem     1K-blocks  Used Available Use% Mounted on
tmpfs            3640904    20   3640884   1% /tmp
s3lph
sumber
7

Output dari df /tmpmemberikan jawabannya: kolom “Mounted on” mencantumkan /, demikian /tmpjuga bagian dari sistem file yang dipasang /, yaitu sistem file root. Ini bukan sistem file yang terpisah.

Agar lebih akurat, Anda harus menjalankan df /tmp/: jika /tmptautan simbolis, kemudian df /tmpmencantumkan informasi tentang lokasi tautan simbolis, sedangkan df /tmp/mencantumkan informasi tentang direktori target.

Penyebutan /dev/rootdalam kolom perangkat adalah karena terdaftar dalam /etc/mtab. Anda dapat menemukan perangkat nyata dengan melihat /proc/mountsdengan </proc/mounts awk '$2 == "/" {print $1}'atau findmnt /.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
+1 untuk df /tmpdan findmnt /.
akhan
0

df /path/to/target memperlihatkan sistem file mana yang berisi target folder, total byte, byte yang digunakan, persentase yang tersedia dan titik mount.

Dalam contoh yang didokumentasikan dalam pertanyaan ini, folder /tmp/terletak di dalam sistem file berlabel root, yang ada di perangkat blok /dev/sda1.

mount | grep targetakan menampilkan sistem file yang berisi target nama seperti yang tercantum di /etc/mtab. Jika folder target bukan sistem file terpisah, mount tidak akan secara langsung memberi Anda informasi yang akurat.

Namun, untuk mengetahui perangkat apa yang terkandung /tmp/, gunakan dfuntuk mendapatkan nama sistem file, ( /dev/root), dan titik mount, ( /), dan kemudian cari output mountuntuk menemukan perangkat atau titik mount dan menentukan perangkat blok apa yang menahan sistem file itu.

Penting untuk membedakan antara perangkat dan sistem file karena tidak selalu ada korelasi 1: 1. Perangkat blok dapat dipartisi dan setiap partisi akan memiliki sistem file. Setiap partisi dapat memiliki tipe sistem file yang berbeda. Setiap partisi memiliki nama dan UUID yang unik dan dapat memiliki alias.

Xalorous
sumber
-2

Untuk memeriksanya, mountlebih tepat. Anda dapat mencobanya, dan ambil hasilnya di 'tmp'

Mis :

$  mount | grep tmp
tmpfs on /dev/shm type tmpfs ...

Di sini dikatakan bahwa partisi saya /dev/shmdipasang dengan tmpfs (penyimpanan file sementara, yaitu dalam RAM). Jika partisi Anda tidak di-mount dengan tmpfs maka itu tidak ada dalam memori volatile.

fduff
sumber
Saya mengharapkan untuk melihat tmpfs on /tmp.
Vorac
Sebaliknya, dfberikan informasi secara langsung, sedangkan mount | greptidak memberikan informasi dengan andal (itu akan kehilangan kasus di mana /tmpada tautan simbolis, dan itu tidak akan bekerja untuk sesuatu seperti /var/tmpkarena baik /varatau /var/tmpbisa menjadi titik pemasangan).
Gilles 'SO- stop being evil'
mountpada dasarnya mencetak isi file mtab ( /etc/mtab). Ini hanya menunjukkan sistem file yang terpasang. Jika folder target bukan sistem file terpisah, Anda tidak akan menemukannya menggunakan mount. Namun, jika Anda menggunakan df /path/to/target, itu akan memberi tahu Anda secara positif perangkat blok mana yang berisi folder target, dan di mana perangkat itu dipasang. Anda kemudian dapat menggunakan mountatau alat lain untuk menentukan jenis sistem file apa itu dan informasi lainnya. Dalam contoh OP, saran Anda tidak akan menunjukkan di mana folder / tmp / dipasang, karena / tmp / nya bukan sistem file yang terpisah, tetapi bagian dari /.
Xalorous