Bagi kita yang berkecimpung dalam penguin dan apel, tampaknya sangat berharga untuk dapat menggunakan / jalur rumah baik di luar habbit atau untuk kasus-kasus aneh di mana nilai mungkin telah disinkronkan di suatu tempat di sepanjang baris dalam beberapa file yang Anda gunakan di kedua mesin.
14
~username
memperluas ke direktori home Anda terlepas dari Mac OSX atau Linux.~
memperluas ke direktori home Anda. Bisakah Anda menjelaskan dalam pertanyaan Anda apakah Anda ingin symlink ke direktori home pengguna Anda (mis./Users/[username]
) Atau bahkan direktori User itu sendiri (/Users/
) yang berisi direktori terpisah untuk semua pengguna di mesin?Jawaban:
sudo ln -s /Users /home
akan bekerja dengan konfigurasi tambahan, tetapi saya tidak berpikir itu adalah ide yang baik karena Anda harus mengakses rumah melalui~
di shell atau$HOME
. Juga/home
mungkin standar Linux dan sering digunakan dalam Unix tetapi tidak selalu jadi lebih baik untuk mengandalkan informasi yang dijamin untuk bekerja bukan sesuatu yang bekerja hanya sebagian besar waktu jika setiap orang telah membuat konvensi.Untuk membuat
sudo ln -s /Users /home
pekerjaan, ikuti langkah-langkah ini (dari komentar):sumber
/etc/auto_master
dan beri komentar di telepon rumah. Kemudian reboot untuk membebaskan sumber daya / home yang ada. Kemudian Anda dapat symlink direktori menggunakan yang berikut ini.ln -s /Users /home
. Sampai Anda melakukan ini, Anda tidak akan diizinkan untuk membuat symlink karena sumber daya sedang sibuk.operation not supported
pesansudo automount -cv
.Saya menyesal jawaban ini tidak sepenuhnya berwibawa, karena saya tidak pernah benar-benar melakukan ini sendiri - walaupun saya telah menggunakan automounter serupa pada sistem Unix lainnya - tapi inilah pemahaman saya mengenai apa
/home
yang digunakan untuk OS X.Jadi, mari ikuti jejaknya:
Jika Anda pertama kali mengetik
mount
Terminal untuk menampilkan tunggangan aktif, Anda akan melihat baris ini:autofs
peta didefinisikan/etc/auto_master
, dan/home
pada gilirannya didefinisikan secara khusus di/etc/auto_home
. Jika Anda melihat/etc/auto_home
, Anda akan melihat baris ini:Ikuti jejak satu langkah lagi untuk yang
od_user_homes
halaman manual , dan Anda akan menemukan sebuah program yang tujuannya adalah untuk mengambil nama pengguna, mencarinya di Open Directory, dan kembali URL ke direktori home pengguna. Jika Anda membacaauto_master
di halaman manualnya , Anda akan menemukan bahwa menggunakan program yang dapat dieksekusi untuk peta menghasilkan program yang dipanggil untuk mencari URL yang akan dipasang, yang pada gilirannya dipasang di tempat.Tampaknya aplikasi yang dimaksud adalah, jika Mac Anda terhubung ke layanan direktori,
/home/jdoe
akan menyebabkan automounter mejdoe
- mount direktori home di sana.Berdasarkan hal ini, tampaknya logis untuk menyimpulkan bahwa jika Anda tidak bermaksud untuk menghubungkan Mac Anda ke layanan direktori, Anda mungkin tidak masalah menghapus
/home
pemasangan otomatis seperti yang dijelaskan dalam komentar ini . Saya tidak tahu bagaimana pembaruan OS di masa depan akan menangani hal ini.sumber
automountd
akan ditangani. Tampaknya mungkin untuk melakukan NFS, SMB, dan AFS.Input/output error
ketika mencobacd
. Dari bacaan saya, sepertinya saya hanya bisa menggunakan NFS, SMB, atau AFS, seperti yang saya katakan. Tapi mungkin kita harus mengambil jalur eksperimen ini di tempat lain ...Tidak ada gunanya
/home
. OS X, seperti berbagai versi Unix lainnya, memiliki lokasi yang unik untuk pengguna. Di Linux ada di/home/user
, dan di OS X ada di/Users
. Inilah sebabnya mengapa adalah praktik yang baik untuk menggunakan "~
" steno atau variabel lingkungan$HOME
.Meskipun Anda dapat membuat symlink ke direktori home / base pengguna
/Users/[username]
menggunakan perintah berikut:Ini tidak akan berfungsi untuk membuat tautan yang dinamai
/home
karena sudah ada direktori (n tidak terpakai) dengan nama itu di root sistem.sumber
/export/home/username
pada Solaris. Praktik buruk untuk menganggap/home/username
akan berhasil. Program yang mencari direktori home harus menggunakangetpwnam
ataugetpwuid
.map auto_home on /home (autofs, automounted, nobrowse)
... sementara saya tidak tahu asal dari tunggangan itu, saya harus tidak setuju dengan "tidak ada gunanya/home
"./home
tampaknya dicadangkan, tetapi tidak digunakan dalam OSX, bukan berarti tidak ada gunanya;)operation not supported
kesalahan yang samasudo ln -s /Users/username /home/username
seperti yang saya lakukansudo ln -s /Users /home
. Solusi yang disediakan oleh @AR berfungsi (komentar di/home
baris/etc/auto_master
dan reboot).Saya tidak melihat alasan sama sekali untuk tidak mengganti nama direktori / home (kalau-kalau saya salah) dan membuat tautan simbolis dari / home ke / Pengguna (atau, seperti di mesin saya, / Volume / Pengguna sejak sistem saya disk untuk sistem, sial!)
Saya dulu bekerja sebagai sysadmin, di departemen universitas dengan 11 rasa unix. Kami memiliki semua jenis symlink di pohon direktori global sehingga sistem file akan melakukan hal yang benar, dan skrip sedekat mungkin untuk bekerja di mana-mana. Anda benar-benar mengalami beberapa gotcha, tetapi jika jari Anda terbiasa mengetik / home / foo dan symlink menunda pekerjaan pelatihan ulang untuk jari Anda, lanjutkan.
Demikian pula beberapa linuxen akan memiliki direktori Home sebagai / usr / home sudah.
Satu tempat saya bekerja memiliki direktori home / Users / {group} / {username} sebagai perlindungan parsial terhadap mahasiswa yang merendahkan file profesor jika prof tersebut ceroboh dengan izinnya. Direktori Users telah menjalankan tetapi tidak ada bit baca yang ditetapkan, dan direktori grup hanya dapat dibaca oleh anggota grup.
(Semua ini dalam ilustrasi ada banyak cara untuk menghilangkan kucing khusus pelt ini.
Satu kemungkinan gotcha - periksa bahwa mesin waktu tidak membuat dua salinan dari semuanya. Saya tidak tahu bagaimana TM memperlakukan symlink. Jika ya, tambahkan / beranda ke daftar mengecualikan TM.
sumber
/Users
kemudian rutinitas akrab untuk memperbaiki izin mungkin akan gagal untuk membuat koreksi yang diperlukan. Jadi saya sarankan yang/Users
harus diinstal oleh Apple: direktori, bukan tautan simbolik.Saya mencoba ini sebelumnya dan membuatnya bekerja selama sekitar satu minggu sampai saya reboot ...
Anda tidak bisa hanya terhubung
/home
ke/Users
. Bahkan, Anda bahkan tidak bisa menghapusnya/home
.Jika Anda berhasil menghapus
/home
, itu akan muncul kembali setelah Anda reboot.Jika Anda pindah
/home
ke/home.old
, dan symlink/home
, itu akan menghapus symlink/home
.Anda bisa membuatnya berfungsi selama mac Anda tidak macet atau reboot.
Ketika Anda me-reboot, semuanya lenyap!
Ketika Anda reboot, Mac OS X tampaknya berpikir bahwa Anda sedang membuat pengguna baru, sehingga itu akan menimpa semua preferensi pengguna Anda di
/Users/username
direktori lama Anda .Karena Anda menyalin semuanya ke
/home/username
, Anda berharap untuk melihat direktori home baru Anda ketika melakukanls /home
setelah Anda reboot. Sebagai gantinya, Anda TIDAK mendapatkan apa-apa !!! Seolah-olah itu tidak pernah ada.Dalam kasus saya, saya panik selama sekitar 30 menit, lalu saya boot ke mode pengguna tunggal untuk melihat apakah sesuatu dapat dilakukan. Saya berpikir bahwa saya mungkin dapat mengambil file log atau mencoba memulai utilitas perbaikan.
Dalam mode pengguna tunggal, direktori rumah saya ada di sana. Apple sengaja menyembunyikan direktori yang baru dibuat di bawah
/home
dari pengguna saat berada dalam mode multi-pengguna. Ini adalah fitur desain yang sengaja dibuat jahat.Apple lumpuh dan tidak mendukung semua jenis peretasan OS mereka. Seperti apa fitur desain itu? Apple menyembunyikan konten
/home
direktori yang baru dibuat . Sama sekali tidak ada alasan sah bagi Apple untuk menghapus/home
direktori secara otomatis ... atau direktori buatan pengguna sama sekali!Dalam hal ini, mereka memasang direktori di direktori / home Anda ... secara efektif menyembunyikannya.
Jika Anda benar-benar bertekad untuk menggunakan
/home
bukan/Users
, Anda mungkin bisa mendapatkan sekitar itu dengan menulis script untuk set semuanya pada setiap boot.Juga, saya harus menyebutkan bahwa Anda harus dapat menggunakan beberapa direktori lain yang bukan
/home
sebagai pengganti/Users
karena hanya/home
dilarang.Jika Anda menggunakan bash, maka Anda harus mengatur beberapa variabel lingkungan ... yaitu:
CD_HOME
danHOME
.Saya ingin menambahkan itu ... meskipun Anda tidak dapat melepas atau memaksa melepas
/home
, Anda dapat memasang disk di atas/home
. Semua ini dipasang di atas "auto_home".Saya dapat me-mount disk pemulihan di atas
/home
berhasil ... mungkin ini adalah bagaimana hal itu dapat dilakukan.sumber