GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Tempat Sampah Dapat Bekerja, Dan Di Mana Saya Dapat Menemukan Dokumentasi, Referensi, Atau Spesifikasi Resmi Untuk Itu?

Saat mencoba mengelola tempat sampah dari volume NTFS yang terpasang, saya akhirnya membaca referensi FreeDesktop.org tentangnya.

Melihat-lihat dan melakukan beberapa tes, saya menyadari Ubuntu/Gnome tidak mengikuti spesifikasi 100%. Inilah alasannya:

  • Untuk partisi non-/, selalu menggunakan <driveroot>/.Trash-<uid> , Itu tidak pernah menggunakan <driveroot>/.Trash/<uid> , bahkan ketika saya membuatnya terlebih dahulu. Meskipun ini berfungsi, ini menjengkelkan:jika saya memiliki 15 pengguna, saya berakhir dengan 15 /.Trash-xxx folder di drive saya, sedangkan pendekatan lain masih akan memberikan satu folder (dengan 15 sub-folder). "Polusi" di drive saya sangat tidak menyenangkan. Dan spesifikasi mengatakan “Jika sebuah $topdir/.Trash direktori tidak ada, $topdir/.Trash-$uid direktori yang akan digunakan “. Nah, itu ada, jadi mengapa tidak pernah menggunakannya?

  • root sampah tidak bekerja, setidaknya tidak keluar dari kotak. Buka nautilus sebagai root dan klik tempat sampah; itu memberikan kesalahan. Coba hapus file apa saja, katanya "tidak bisa pindah ke sampah". Oke, saya tahu ini bisa diperbaiki dengan membuat /root/.local/share . Tetapi spesifikasi mengatakan “Direktori “rumah sampah” HARUS dibuat secara otomatis untuk setiap pengguna baru. Jika direktori ini diperlukan untuk operasi pembuangan sampah tetapi tidak ada, implementasi HARUS membuatnya secara otomatis, tanpa peringatan atau penundaan. “. Mengapa kesalahan itu? Bug?

  • Mengapa saya harus mengubah /etc/fstab entri untuk volume terpasang, menambahkan opsi seperti uid dan panduan, jika volume sudah dipasang sebagai RW untuk semua orang?

Ini hanya beberapa contoh penyimpangan dari standar. Jadi, pertanyaannya adalah:

“Jika Ubuntu tidak mematuhi 100% spesifikasi, BAGAIMANA tepatnya apakah sampah itu berfungsi? DI MANA saya dapat menemukan referensi teknis untuk implementasi sampah Ubuntu?”

Omong-omong:jika Ubuntu memang mengikuti spesifikasi, tolong beri tahu saya apa yang saya lakukan salah, terutama mengenai /.Trash-<uid> vs /.Trash/<uid> masalah.

Terima kasih!

EDIT:

Beberapa info lebih lanjut:

  • Jika fs yang diberikan tidak memiliki dukungan untuk bit yang lengket (VFAT, NTFS), itu mungkin juga tidak memiliki izin (setidaknya VFAT pasti tidak). Jadi apa yang mencegah satu pengguna membersihkan / memulihkan ./Trash-xxx pengguna lain ? Jika seseorang dapat membaca/menulis Sampahnya sendiri, seseorang dapat melakukan hal yang sama untuk seluruh drive, termasuk sampah orang lain, benar? Atau apakah Gnome memiliki semacam perlindungan “ekstra” pada ./Trash-xxx folder pada VFAT/NTFS fs?

  • Jika Linux dapat "meniru" izin file pada pemasangan NTFS dengan mengedit /fstab opsi uid dan gid, dapatkah itu juga "meniru" bagian yang lengket? Saya lebih suka menggunakan /.Trash/xxx format…

  • Untuk masalah root:untuk partisi /, saya dapat menggunakan sampah sebagai root, dan pergi ke /root/.local/share/Trash . Tetapi jika saya mengklik Nautilus "Trash" (sebagai root), saya mendapatkan kesalahan. bukan? Jadi file dibuang dengan benar, tetapi saya tidak dapat mengaksesnya. Yang bisa saya lakukan hanyalah “membersihkan” secara manual (dengan menghapus file di /root/.local/share/Trash ), tetapi memulihkannya akan sangat rumit (membuka file info dan memindahkan secara manual, dll.).

  • Untuk non-/ partisi (atau setidaknya untuk VFAT/NTFS), saya bahkan tidak dapat menggunakan sampah sebagai root:itu tidak membuat ./Trash-0 folder, itu hanya mengatakan "Tidak dapat membuang sampah, ingin menghapus secara permanen?" Mengapa?

  • Tentang fstab:saya menggunakannya untuk pemasangan permanen untuk partisi NTFS saya. Saya memiliki beberapa, dan jika tidak "dipasang sebelumnya" mereka benar-benar mengacaukan desktop dan/atau Nautilus. Saya lebih suka sudah terpasang, terintegrasi dalam sistem file saya, di mount seperti /data , /windows/xp , /windows/vista , dan seterusnya, dan tinggalkan /media dan fleksibilitas "pasang/lepas" hanya untuk hard disk yang benar-benar dapat dilepas.

Terkait:Bagaimana memilih cara untuk mengaktifkan/menonaktifkan, memulai/menghentikan, atau memeriksa status layanan?

Jadi, jika Ubuntu/Gnome benar-benar mengikuti spesifikasi, apakah ada cara untuk memperbaiki masalah root dan untuk "meniru" bit yang lengket untuk (setidaknya) partisi tetap NTFS saya yang sudah di-fstab?

Jawaban yang Diterima:

GNOME menggunakan .Trash dengan benar sejauh yang saya pahami – jika Anda melihat di sumber gio/glocalfile.c Anda akan melihat bahwa ia mencoba menggunakan direktori .Trash jika ada. Perhatikan bahwa direktori harus memiliki izin yang benar bagi pengguna untuk dapat menyimpan file sampah dengan aman di dalamnya (dan di sini dengan aman, maksud saya pengguna lain tidak akan dapat memulihkan file sampah pengguna). Untuk GNOME ini mengharuskan direktori .Trash harus memiliki bit yang lengket di atasnya – lihat Direktori Sampah, catatan (1) dalam spesifikasi Sampah FreeDesktop.Org.

Masalah utama dengan pendekatan di atas, adalah bahwa sebagian besar r/w media yang dapat dipindahkan yang Anda temukan adalah FAT, yang tidak mendukung sticky bit sehingga satu-satunya cara untuk menangani ini dengan aman adalah dengan menggunakan direktori sampah per pengguna.

Mengenai root Trash – Saya tidak dapat mereproduksi masalah yang Anda gambarkan, tampaknya masalah ini berhasil untuk saya.

Mengenai /etc/fstab - Saya tidak yakin apa masalahnya di sana:Anda harus dipusingkan dengan fstab, kecuali jika Anda ingin kontrol penuh atas tempat sistem file eksternal dipasang. Biasanya media yang dapat dipindahkan dipasang secara otomatis setelah terdeteksi di /media untuk pengguna yang saat ini aktif, tetapi kemudian tidak dapat diakses oleh pengguna lain. Jika Anda menginginkan pengaturan yang berbeda maka Anda harus mengacaukan file konfigurasi. Namun, saya tidak mengerti hubungannya dengan sampah.


Ubuntu
  1. Dimana Saya Dapat Mengetahui Kapan Versi Kernel Berikutnya Akan Dirilis Untuk Versi Distro?

  2. Bagaimana Proses Upgrade Ubuntu Bekerja?

  3. Apa yang Dilakukan `–frontend` Dalam `do-release-upgrade` Dan Di Mana Saya Dapat Menemukan Daftar Nilai yang Mungkin?

  1. Dimana Menemukan File Config Untuk Proftp?

  2. Bagaimana saya bisa menemukan jumlah total koneksi TCP untuk port tertentu dan periode waktu berdasarkan IP?

  3. Bagaimana cara kerja antarmuka loopback

  1. Apa itu Makefile dan bagaimana cara kerjanya?

  2. Bagaimana Cara Kerja Sticky Bit?

  3. Bagaimana Cara Menggunakan Gui Untuk Mencari File Di Gnome?