Tautan Simbolik: Tidak ada file atau direktori seperti itu

17

Saya membuat Tautan simbolis dari File di "/ opt / bladir / bla" ke "bla". Jadi "bla" sekarang di "/ usr / bin / bla". Tetapi jika saya ingin memanggil "bla" di terminal, tidak ada kesalahan pada file atau direktori tersebut. Saya melihat "/ usr / bin / bla" dan file tersebut terhubung dengan benar di "/ opt / bladir / bla".

Apa yang bisa menjadi kesalahan?

PS di sini adalah "entri" terminal saya: sudo ln -s /opt/bladir/bla bla

Terima kasih!

€: Masalah terpecahkan. Menurut Daftar Fitur, 12,04 harus memiliki dukungan Multiarch ... 'harus'. Saya mendapat ia32-libs dari sinaptik dan sekarang program berjalan dengan baik. Seperti yang terlihat, tautan simbolis saya di mana yang benar.

Terima kasih atas semua jawabannya!

Sehe
sumber

Jawaban:

13

EDIT: solusi di bawah ini tidak berfungsi. Jelas bahwa tautan simbolik terputus, karena file -Ltidak dapat membuka tautan simbolik / usr / bin / bla. Dalam hal ini, lakukan hal berikut:

sudo ln -sf /opt/bladir/bla /usr/bin/bla

menggunakan path lengkap (-f adalah memaksa menimpa tautan simbolik sebelumnya, jika ada).

Hm Saya pikir program "bla" mungkin mencari hal-hal yang diinstal di / opt / bladir dan tidak dapat menemukannya. Sebagai contoh, ini bisa menjadi pembungkus skrip shell di sekitar Java executable, dengan path relatif ke direktori saat ini: tetapi direktori Anda saat ini adalah / usr / bin /, dan bukan / opt / bladir /.

Jika yang berikut ini berhasil

file -L /usr/bin/bla

... maka itu jelas bukan masalah dengan tautan simbolis Anda.

Periksa apakah "bla" adalah skrip shell yang dapat Anda modifikasi, lihat ke dalam - mungkin Anda akan menemukan masalahnya. Mungkin, menambahkan / memilih / bladir ke PATH Anda akan menjadi solusi yang lebih baik.

Januari
sumber
Perintah yang diberikan mengatakan: ERROR: tidak dapat membuka `/ usr / bin / bla '. Saya tidak bisa melihat ke dalam "bla", ini sebuah program, bukan hanya skrip shell.
Sehe
Oke, ulangi tautan simbolik dengan jalur penuh, silakan.
Januari
Saya datang ke ide itu sendiri sebelumnya. Bahkan dengan rm tautan lama dan membuat yang baru, kesalahan tetap muncul. -sf juga tidak berhasil.
Sehe
BAIK. Silakan jalankan ls -l /usr/bin/bladan ls -l /opt/bladir/blalaporkan output yang tepat dari perintah-perintah ini.
Januari
@ January tindakan apa yang akan Anda rekomendasikan jika file -L tidak berhasil?
dbliss
0

Seringkali jenis pesan kesalahan ini ditampilkan, jika Anda tidak mengaktifkan bit eksekusi. Periksa apakah file utama serta tautannya diberikan izin eksekusi.

Saya curiga Anda /optmungkin dipasang dari partisi yang terpisah dan tidak dipasang dengan execopsi mount

Anwar
sumber
Bit eksekusi diatur dan / opt / tidak pada partisi terpisah: /
Sehe