Beberapa waktu yang lalu, kami menjelaskan apa itu Soft link dan Hard link dengan contoh-contoh praktis. Terkadang Anda mungkin lupa menghapus tautan lunak atau symlink yang tidak digunakan yang tidak mengarah ke mana pun. Menyimpan tautan yang tidak digunakan pada sistem file tidak membahayakan sistem, kecuali menempati sedikit ruang disk. Jadi tidak ada gunanya menyimpannya. Temukan dan hapus symlink yang rusak di sistem Linux Anda.
Temukan symlink yang rusak dan hapus di Linux
Mungkin ada banyak cara untuk menemukan symlink yang rusak atau tautan lunak di Linux. Di sini saya telah memberikan dua metode.
1. Temukan dan hapus tautan lunak yang rusak menggunakan utilitas "Symlinks"
Simlink adalah baris perintah, utilitas pemeliharaan tautan simbolik. Ini memindai direktori yang diberikan dan mencantumkan tautan simbolis jika ada.
Symlinks tersedia di repositori resmi dari banyak distribusi Linux.
Untuk menginstal Symlinks di CentOS , jalankan:
$ sudo yum install symlinks
Di Fedora :
$ sudo dnf install symlinks
Di Debian , Ubuntu , Linux Mint :
$ sudo apt-get install symlinks
Di Ubuntu , Anda harus mengaktifkan [universe]
penyimpanan.
$ sudo add-apt-repository universe
Setelah menginstal Symlinks, jalankan perintah berikut untuk menemukan dan menghapus tautan simbolik yang rusak:
$ symlinks -dr <directory-path>
Perintah di atas akan memindai tautan simbolik yang rusak di direktori yang diberikan dan menghapusnya.
Di sini,
d
- hapus tautan simbolis yang menggantungr
- rekursif
Mari saya tunjukkan sebuah contoh. Saya akan membuat file bernama "abc"
di direktori saat ini.
$ touch abc
Selanjutnya saya membuat symlink bernama 'xyz'
untuk abc
berkas:
$ ln -s abc xyz
Sekarang hapus file yang sebenarnya yaitu abc
.
$ rm abc
Seperti yang mungkin sudah Anda ketahui, setelah kami menghapus file yang sebenarnya, symlink tidak memiliki nilai. Karena itu hanya jalan pintas dan sekarang rusak.
Untuk menemukan symlink yang rusak, jalankan:
$ symlinks .
Harap perhatikan titiknya (.
) pada akhirnya. Artinya kita sedang mencari link yang rusak di direktori saat ini.
Contoh keluaran:
dangling: /home/sk/xyz -> abc
Di sini, xyz
menggantung karena kami menghapus file sumber sebenarnya "abc"
. Jadi mari kita hapus tautan yang rusak ini menggunakan perintah:
$ symlinks -dr .
Contoh keluaran:
dangling: /home/sk/xyz -> abc deleted: /home/sk/xyz -> abc
Terakhir, jalankan symlinks
perintah sekali lagi untuk memastikan jika ada sisa tautan yang rusak.
2. Temukan dan hapus tautan lunak yang rusak menggunakan perintah "temukan"
Kami juga dapat menggunakan find
perintah untuk menghapus symlink yang rusak.
Untuk menemukan symlink yang rusak, tetapi tidak menghapusnya, jalankan:
$ find . -xtype l
Perintah ini akan mencantumkan symlink yang rusak di direktori saat ini. Jika Anda ingin mencari symlink yang rusak pada jalur tertentu, misalnya /usr/local/
, lakukan:
$ find /usr/local/ -xtype l
Keluaran:
Perintah di atas akan mencari tautan yang rusak di /usr/local/
dan sub-direktorinya. Seperti yang Anda lihat pada output di atas, ada banyak symlink yang rusak.
Atau, gunakan perintah berikut untuk membuat daftar symlink yang tidak digunakan:
$ find /usr/local/ -xtype l ! -exec test -e {} \; -print
Dimungkinkan juga untuk memeriksa di mana titik tautan yang rusak. Ini adalah praktik yang baik untuk memastikan bahwa kami menghapus symlink yang dimaksud.
$ find /usr/local/ -xtype l -exec ls -l {} \+
Contoh keluaran:
lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/drracket -> /home/sk/racket/bin/drracket lrwxrwxrwx 1 root root 27 Jan 21 08:53 /usr/local/bin/gracket -> /home/sk/racket/bin/gracket lrwxrwxrwx 1 root root 32 Jan 21 08:53 /usr/local/bin/gracket-text -> /home/sk/racket/bin/gracket-text lrwxrwxrwx 1 root root 24 Jan 21 08:53 /usr/local/bin/mred -> /home/sk/racket/bin/mred lrwxrwxrwx 1 root root 29 Jan 21 08:53 /usr/local/bin/mred-text -> /home/sk/racket/bin/mred-text lrwxrwxrwx 1 root root 23 Jan 21 08:53 /usr/local/bin/mzc -> /home/sk/racket/bin/mzc lrwxrwxrwx 1 root root 24 Jan 21 08:53 /usr/local/bin/mzpp -> /home/sk/racket/bin/mzpp lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/mzscheme -> /home/sk/racket/bin/mzscheme lrwxrwxrwx 1 root root 26 Jan 21 08:53 /usr/local/bin/mztext -> /home/sk/racket/bin/mztext lrwxrwxrwx 1 root root 30 Jan 21 08:53 /usr/local/bin/pdf-slatex -> /home/sk/racket/bin/pdf-slatex lrwxrwxrwx 1 root root 29 Jan 21 08:53 /usr/local/bin/plt-games -> /home/sk/racket/bin/plt-games lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/plt-help -> /home/sk/racket/bin/plt-help lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/plt-r5rs -> /home/sk/racket/bin/plt-r5rs lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/plt-r6rs -> /home/sk/racket/bin/plt-r6rs lrwxrwxrwx 1 root root 34 Jan 21 08:53 /usr/local/bin/plt-web-server -> /home/sk/racket/bin/plt-web-server lrwxrwxrwx 1 root root 26 Jan 21 08:53 /usr/local/bin/racket -> /home/sk/racket/bin/racket lrwxrwxrwx 1 root root 24 Jan 21 08:53 /usr/local/bin/raco -> /home/sk/racket/bin/raco lrwxrwxrwx 1 root root 28 Jan 21 08:53 /usr/local/bin/scribble -> /home/sk/racket/bin/scribble lrwxrwxrwx 1 root root 29 Jan 21 08:53 /usr/local/bin/setup-plt -> /home/sk/racket/bin/setup-plt lrwxrwxrwx 1 root root 26 Jan 21 08:53 /usr/local/bin/slatex -> /home/sk/racket/bin/slatex lrwxrwxrwx 1 root root 29 Jan 21 08:53 /usr/local/bin/slideshow -> /home/sk/racket/bin/slideshow lrwxrwxrwx 1 root root 27 Jan 21 08:53 /usr/local/bin/swindle -> /home/sk/racket/bin/swindle
Untuk menghapus semua tautan yang rusak sekaligus, jalankan:
$ sudo find /usr/local/ -xtype l -delete
Atau,
$ sudo find /usr/local/ -xtype l ! -exec test -e {} \; -delete
Ganti /usr/local/
dengan jalan Anda sendiri.
Bacaan yang disarankan:
- Cara Mendaftar Symlink di Linux
Semoga membantu.