Kadang-kadang saya perlu memperbarui perangkat lunak yang berjalan di salah satu testservers kami di tempat kerja (kebanyakan Debian). Yang benar-benar membingungkan saya hampir setiap waktu adalah kenyataan bahwa tidak hanya ada satu cara untuk menginstal perangkat lunak. Hari ini saya perlu memperbarui Coffeescript. Saya tidak tahu bagaimana itu diinstal pada awalnya dan karena itu tidak bagaimana memperbaruinya dengan cara terbaik.
Itu bisa saja diinstal dengan apt atau secara manual dengan mengkloning github-project dan membangunnya sendiri atau melalui package manager nodejs npm. Setelah saya berjuang dengan ini dan secara manual membuang semua file yang berhubungan dengan coffeescript dan dirs pergi saya berhasil melakukan instalasi baru. Tapi kemudian saya ingin menggunakan perintah coffeescript yang membutuhkan nodejs 0.6 dan 0.4 diinstal.
Jadi, biarkan permainan dimulai lagi!
Apakah nodejs diinstal secara manual? Atau sebagai paket? Atau ditempatkan di sana oleh tuhan? Saya tidak tahu
Jadi saya bertanya pada diri sendiri apakah ada strategi mudah untuk memperbarui perangkat lunak yang diinstal ketika Anda tidak benar-benar tahu bagaimana itu diinstal secara awal? Apa pendekatan terbaik di sini?
Jawaban:
Ada aturan sederhana yang harus Anda ikuti, yang akan menyelesaikan sebagian besar kasus:
Dengan cara ini, jika file berada di area yang dikelola oleh manajer paket, Anda tahu itu berasal dari sebuah paket. Jika tidak, Anda tahu Anda menginstalnya secara manual.
Anda harus tetap berpegang pada paket yang disediakan oleh distribusi Anda jika memungkinkan. Instal hanya paket pihak ketiga jika Anda memiliki kebutuhan terdokumentasi untuk fungsionalitas yang tidak disediakan oleh distribusi. "Saya ingin memiliki versi terbaru" bukan pembenaran yang valid. Jika Anda menginstal paket pihak ketiga, catat di mana Anda mendapatkannya, dan arsipkan paket (
.rpm
atau.deb
file) di suatu tempat. Privilege apt atau yum sumber melalui unduhan web acak.Gunakan stow atau xstow untuk program yang Anda instal secara manual.
Gunakan dllkeeper untuk tetap di
/etc
bawah kontrol versi . Komit setiap kali Anda melakukan perubahan, dengan pesan yang bermakna.Jika Anda mengalami situasi di mana Anda melakukan hal-hal dengan cara kotor dan kehilangan jejak dari mana sebuah perangkat lunak berasal:
sumber
Saya dapat menyarankan Anda untuk menggunakan
puppet
untuk melacak perangkat lunak yang diinstal di linux.Wayang, mesin administratif otomatis untuk sistem * nix Anda, melakukan tugas-tugas administrasi (seperti menambah pengguna, menginstal paket, dan memperbarui konfigurasi server) berdasarkan spesifikasi terpusat.
Anda dapat merujuk tautannya
sumber
Jika Anda menginstal paket apa pun menggunakan apt-get, semua paket dependen akan menginstal sendiri karena apt-get menyelesaikan semua dependensi.
Dalam kasus saya, saya mencoba untuk menginstal setiap paket dengan baris perintah menggunakan apt-get sejauh paket ada di repositori Ubuntu. Jika tidak ada dalam repositori mereka, maka Anda harus membaca manual instalasi utilitas itu dan menginstalnya berdasarkan apakah utilitas tersebut menggunakan Makefile atau yang lainnya.
sumber