Cara menggunakan stow gnu untuk mengelola program yang diinstal dari sumber dan dotfile
- 2247
- 251
- Dwayne Hackett
Objektif
Mudah mengelola program yang diinstal dari sumber dan dotfiles menggunakan GNU Stow
Persyaratan
- Izin root
Kesulitan
MUDAH
Konvensi
- # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root
langsung sebagai pengguna root atau dengan menggunakansudo
memerintah - $ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa
Perkenalan
Terkadang kita harus menginstal program dari sumber: mungkin mereka tidak tersedia melalui saluran standar, atau mungkin kita menginginkan versi tertentu dari perangkat lunak. GNU Stow sangat bagus Pabrik Symlinks
program yang banyak membantu kami dengan menjaga file tetap teratur.
Mendapatkan stow
Repositori distribusi Anda sangat mungkin mengandung stow
, Misalnya di Fedora, yang harus Anda lakukan untuk menginstalnya adalah:
# DNF Instal Stow
Atau di Ubuntu/Debian Anda dapat menginstal Stow dengan mengeksekusi:
# tepat instal stow
Dalam beberapa distribusi, stow tidak tersedia dalam repositori standar, tetapi dapat dengan mudah diperoleh dengan menambahkan beberapa sumber perangkat lunak tambahan (misalnya EPEL dalam kasus RHEL dan Centos7) atau, sebagai pilihan terakhir, dengan menyusunnya dari sumber: itu membutuhkan sedikit ketergantungan.
Mengkompilasi Stow dari Sumber
Versi Stow terbaru yang tersedia adalah 2.2.2
: Tarball tersedia untuk diunduh di sini: https: // ftp.gnu.org/gnu/stow/
.
Setelah Anda mengunduh sumbernya, Anda harus mengekstrak tarball. Arahkan ke direktori tempat Anda mengunduh paket dan cukup jalankan:
$ tar -xvpzf stow -2.2.2.ter.GZ
Setelah sumber diekstraksi, navigasikan di dalam Stow-2.2.2 direktori, dan untuk mengkompilasi program cukup jalankan:
$ ./Konfigurasikan $ Make
Akhirnya, untuk menginstal paket:
# buat instal
Secara default paket akan diinstal di /usr/lokal/
direktori, tetapi kita dapat mengubah ini, menentukan direktori melalui --awalan
opsi skrip konfigurasi, atau dengan menambahkan awalan = "/Anda/dir"
Saat menjalankan buat instal
memerintah.
Pada titik ini, jika semua bekerja seperti yang diharapkan kita harus miliki stow
dipasang di sistem kami
Bagaimana cara kerja Stow?
Konsep utama di balik stow itu dijelaskan dengan sangat baik dalam manual program:
Pendekatan yang digunakan oleh Stow adalah menginstal setiap paket ke pohonnya sendiri, kemudian menggunakan tautan simbolik untuk membuatnya tampak seolah -olah file diinstal di pohon umum.
Untuk lebih memahami kerja paket, mari kita analisis konsep -konsep kuncinya:
Direktori Stow
Direktori Stow adalah direktori root yang berisi semua Paket Stow
, masing -masing dengan subtree pribadi mereka sendiri. Direktori Stow yang khas adalah /usr/lokal/stow
: di dalamnya, setiap subdirektori mewakili a kemasan
Paket Stow
Seperti yang dikatakan di atas, Direktori Stow berisi "paket", masing -masing dalam subdirektori terpisahnya sendiri, biasanya dinamai sesuai dengan program itu sendiri. Paket tidak lebih dari daftar file dan direktori yang terkait dengan perangkat lunak tertentu, dikelola sebagai entitas.
Direktori Target Stow
Direktori Target Stow adalah konsep yang sangat sederhana untuk dijelaskan. Itu adalah direktori di mana file paket harus tampak diinstal. Secara default direktori target stow dianggap sebagai yang di atas direktori di mana stow dipanggil dari. Perilaku ini dapat dengan mudah diubah dengan menggunakan -T
opsi (pendek untuk -target), yang memungkinkan kami menentukan direktori alternatif.
Contoh praktis
Saya percaya contoh yang dilakukan dengan baik bernilai 1000 kata, jadi mari kita tunjukkan cara kerja Stow. Misalkan kita ingin mengkompilasi dan menginstal libx264
. Mari kita klon repositori git yang berisi sumbernya:
$ git clone git: // git.Videolan.org/x264.git
Beberapa detik setelah menjalankan perintah, direktori "x264" akan dibuat, dan akan berisi sumber, siap untuk dikompilasi. Kami sekarang menavigasi di dalamnya dan menjalankan Konfigurasikan
skrip, menentukan direktori/usr/local/stow/libx264 as --awalan
:
$ CD x264 && ./configure --prefix =/usr/local/stow/libx264
Kemudian kami membangun program dan menginstalnya:
$ Make # Make Install
Direktori X264 seharusnya dibuat di dalam direktori Stow: Ini berisi semua barang yang biasanya dipasang di sistem secara langsung. Sekarang, yang harus kita lakukan, adalah memohon Stow. Kita harus menjalankan perintah baik dari dalam direktori stow, dengan menggunakan -D
Opsi untuk menentukan secara manual jalur ke direktori STOW (default adalah direktori saat ini), atau dengan menentukan target dengan -T
seperti dikatakan di atas. Kami juga harus memberikan nama paket yang akan disimpan sebagai argumen. Dalam hal ini kami menjalankan program dari Direktori Stow, jadi yang perlu kami ketik adalah:
# stow libx264
Semua file dan direktori yang terkandung dalam paket libx264 kini telah disimpulkan di direktori induk (/usr/lokal) dari yang dari mana stow telah dipanggil, sehingga, misalnya, binari Libx264 yang terkandung di dalam /usr/local/stow/x264/bin
sekarang symlink /usr/lokal/bin
, file yang terkandung di /usr/local/stow/x264/dll
sekarang symlink /usr/lokal/dll
dan seterusnya. Dengan cara ini akan muncul ke sistem tempat file diinstal secara normal, dan kami dapat dengan mudah melacak setiap program yang kami kompilasi dan instal. Untuk mengembalikan aksinya, kami hanya menggunakan -D
pilihan:
# stow -d libx264
Itu selesai! Symlink tidak ada lagi: kami hanya "menghapus" paket stow, menjaga sistem kami dalam keadaan yang bersih dan konsisten. Pada titik ini harus jelas mengapa stow juga digunakan untuk mengelola dotfile. Praktik umum adalah memiliki semua file konfigurasi khusus pengguna di dalam repositori git, untuk mengelolanya dengan mudah dan menyediakannya di mana-mana, dan kemudian menggunakan Stow untuk menempatkannya di tempat yang sesuai, di direktori rumah pengguna.
Stow juga akan mencegah Anda dari mengesampingkan file secara tidak sengaja: ia akan menolak untuk membuat tautan simbolik jika file tujuan sudah ada dan tidak menunjuk ke paket ke direktori STOW. Situasi ini disebut konflik dalam terminologi stow.
Itu dia! Untuk daftar opsi lengkap, silakan berkonsultasi dengan STOW MANPAGE dan jangan lupa untuk memberi tahu kami pendapat Anda tentang hal itu di komentar.
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Setel ulang Pengaturan Desktop Gnome ke Factory Default di Ubuntu…
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui
- Can Linux mendapatkan virus? Menjelajahi kerentanan Linux…
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
- Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
- Menguasai loop skrip bash
- Unduh Linux
- « Cara mengkonfigurasi dan menggunakan PDO untuk akses database di Linux
- Dapatkan ramalan cuaca Anda dari Linux Cli »