GNU/Linux >> Belajar Linux >  >> Linux

Cara Menghapus Program yang Diinstal Dari Sumber Menggunakan GNU Stow Di Linux

Terkadang, Anda harus menginstal beberapa program dengan mengkompilasi secara manual dari sumber. Karena, mereka mungkin tidak tersedia di repositori resmi atau pihak ketiga, jadi Anda tidak dapat menginstalnya menggunakan pengelola paket biasa. Seperti yang mungkin sudah Anda ketahui, ketika Anda menginstal program dari sumber, file paket akan disalin ke beberapa lokasi, seperti /usr/local/bin , /usr/local/etc/ , pada sistem file. Jika program yang diinstal dari sumber tidak memiliki uninstaller bawaan, akan menjadi tugas yang membosankan untuk menghapus paket saat Anda tidak membutuhkannya lagi. Anda mungkin perlu menghabiskan beberapa (atau beberapa) menit untuk menemukan file paket tersebut dan menghapusnya secara manual. Inilah yang telah saya lakukan sampai saya menemukan utilitas bernama "GNU Stow" . Untungnya, Stow memiliki cara mudah untuk mengelola program yang diinstal dari sumber dengan mudah.

Mengutip situs resminya,

Sederhananya, Stow membantu Anda mengatur file paket dengan cara yang mudah dikelola. Dalam metode ini, file tidak akan disalin ke beberapa lokasi. Sebagai gantinya, semua file disimpan dalam folder tertentu, biasanya di bawah nama program itu sendiri, dan Stow membuat tautan simbolis ke semua file program ke tempat yang sesuai. Misalnya, /usr/local/bin dapat berisi symlink ke file dalam /usr/local/stow/vim/bin , /usr/local/stow/python/bin dll., dan juga secara rekursif untuk subdirektori lain seperti .../share , .../man , dan seterusnya. Dalam tutorial ini, saya akan menunjukkan cara mudah mengelola program yang diinstal dari sumber menggunakan Stow dengan contoh praktis. Baca terus.

Instal GNU Stow di Linux

GNU Stow tersedia di repositori default sistem operasi Linux populer.

Di Linux Arch dan variannya, jalankan perintah berikut untuk menginstal Stow.

$ sudo pacman -S stow

Di Debian , Ubuntu , Linux Mint , OS Pop :

$ sudo apt install stow

Di Fedora :

$ sudo dnf install stow

Di RHEL/CentOS , AlmaLinux , dan Linux Rocky :

$ sudo dnf install epel-release
$ sudo dnf install stow

Hapus program yang diinstal dari sumber menggunakan Stow di Linux

Seperti yang telah saya sebutkan sebelumnya, semua file program dari sebuah paket akan disimpan di folder root yang terletak di /usr/local/stow/ . Di bawah direktori root atau induk ini, setiap paket akan disimpan di sub-direktori pribadinya sendiri. Misalnya, jika kita memasang Vim editor dari sumber, semua file program dan direktori yang terkait dengan Vim akan disimpan di bawah /usr/local/stow/vim map. Jika Anda memasang python dari sumber, semua file yang terkait dengan python akan disimpan di bawah /usr/local/stow/python dan seterusnya.

Biarkan saya menginstal program, misalnya halo , dari sumber.

Download terlebih dahulu tarball program 'halo'.

$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz

Ekstrak tarball yang telah diunduh menggunakan perintah:

$ tar -zxvf hello-2.10.tar.gz

Perintah di atas akan membuat direktori bernama 'hello-2.10' di direktori kerja saat ini dan mengekstrak semua konten di dalamnya.

Beralih ke direktori yang diekstrak:

$ cd hello-2.10/

Jalankan perintah berikut dengan opsi --prefix.

$ ./configure --prefix=/usr/local/stow/hello

Perintah di atas akan menyimpan file build di lokasi yang ditentukan yaitu /usr/local/stow/hello dalam kasus kami.

Terakhir, buat dan instal program hello menggunakan perintah berikut:

$ make
$ sudo make install

Itu dia. Program hello telah diinstal di /usr/local/stow/hello/ lokasi. Anda dapat memverifikasinya dengan perintah 'ls' seperti yang ditunjukkan di bawah ini.

$ ls /usr/local/stow/hello/
bin share

Terakhir, buka /usr/local/stow/ direktori dan jalankan perintah berikut untuk menghasilkan symlink yang diperlukan.

$ cd /usr/local/stow/
$ sudo stow hello

Semua selesai!

Yang baru saja terjadi adalah semua file dan direktori yang terdapat dalam paket hello telah di-symlink ke direktori /usr/local/ . Dengan kata lain, /usr/local/stow/hello/bin telah disinkronkan ke /usr/local/bin dan /usr/local/stow/hello/share telah disinkronkan ke /usr/local/share dan /usr/local/stow/hello/share/man telah disinkronkan ke /usr/local/share/man dan seterusnya.

Anda dapat memverifikasinya menggunakan 'ls' perintah:

$ ls /usr/local/bin/
hello

Mari kita periksa apakah program hello berfungsi atau tidak menggunakan perintah:

$ hello
Hello, world!

Ya, berhasil!!

Demikian pula, Anda dapat menginstal program seperti dijelaskan di atas di bawah sub-direktori sendiri.

Berikut adalah isi dari direktori root Stow:

$ tree /usr/local/stow/

Lihat? Program hello diinstal di "/usr/local/stow/hello/" lokasi. Seperti bijaksana, semua paket akan disimpan di bawah direktori mereka sendiri.

Di sinilah bagian utama. Mari kita hapus program halo. Untuk melakukannya, buka /usr/local/stow/ direktori:

$ cd /usr/local/stow/

..dan jalankan perintah berikut:

$ sudo stow --delete hello

Program halo baru saja dihapus. Anda dapat memverifikasi apakah itu benar-benar dihapus atau tidak dengan perintah:

$ hello
-bash: /usr/local/bin/hello: No such file or directory

Lihat? Halo program dihapus!

Harap dicatat bahwa Stow telah menghapus symlink saja. Semua file program dan direktori yang terkait dengan program hello masih tersedia di /usr/local/stow/hello map. Jadi, Anda dapat menginstal program hello lagi tanpa harus mendownload file sumber yang sebenarnya.

Jika Anda tidak menginginkan program hello lagi, cukup hapus foldernya.

$ sudo rm -fr /usr/local/stow/hello/

Untuk mengetahui detail lebih lanjut tentang Stow, lihat halaman manual.

$ man stow

Kesimpulan

GNU Stow membantu Anda untuk menghapus program semudah Anda menginstalnya. Jika Anda bertanya-tanya bagaimana cara efektif mengelola banyak program yang diinstal dari sumber, GNU Stow adalah salah satu program yang membuat tugas ini jauh lebih mudah. Cobalah, Anda tidak akan kecewa.


Linux
  1. Cara Menginstal GNU Nano Terbaru di Linux

  2. Cara Menginstal SQLite3 dari Sumber di Linux (Dengan Contoh Database)

  3. Cara menginstal TBB dari sumber di Linux dan membuatnya berfungsi

  1. Cara Menambah atau Menghapus Pengguna dari Grup di Linux

  2. Cara men-debug program C di Linux menggunakan gdb

  3. Instal Apache 2 dari Sumber di Linux

  1. Cara Menginstal dan Mengkonfigurasi Nginx dari Sumber di Linux

  2. Cara Mengkompilasi dan Menginstal Perangkat Lunak dari Kode Sumber di Linux

  3. Cara Menginstal MongoDB dari Sumber (dan menggunakan YUM) di Linux