Cách theo dõi phần mềm đã cài đặt


8

Thỉnh thoảng tôi cần cập nhật một phần mềm chạy trên một trong những trình kiểm tra của chúng tôi tại nơi làm việc (chủ yếu là Debian). Điều thực sự làm tôi bối rối gần như mọi lúc là thực tế rằng không chỉ có một cách để cài đặt phần mềm. Hôm nay tôi cần nâng cấp Coffeescript. Tôi không biết làm thế nào nó được cài đặt ban đầu và do đó không phải cách cập nhật nó một cách tốt nhất.

Nó có thể đã được cài đặt bằng apt hoặc thủ công bằng cách nhân bản dự án github và tự xây dựng nó hoặc thông qua trình quản lý gói nodejs npm. Sau khi tôi vật lộn với điều này và tự ném tất cả các tệp và thư mục liên quan đến coffeescript, tôi đã quản lý để thực hiện cài đặt mới. Nhưng sau đó tôi muốn sử dụng lệnh coffeescript cần cài đặt nodejs 0.6 và 0.4.

Vì vậy, hãy để các trò chơi bắt đầu lại!

Nodejs có được cài đặt thủ công không? Hay là gói? Hay nó được đặt ở đó bởi chúa? Tôi không biết.

Vì vậy, tôi tự hỏi mình có một số chiến lược dễ dàng để cập nhật phần mềm đã cài đặt khi bạn không thực sự biết nó được cài đặt như thế nào? Các phương pháp tốt nhất ở đây là gì?


2
Imho, cách tiếp cận tốt nhất là không được vào trạng thái này ngay từ đầu. Ra lệnh rằng tất cả các phần mềm phải được đóng gói hoặc nó sẽ không được cài đặt, khi cần thiết phải tự làm gói đó. Sau đó đặt chúng trên máy chủ gói nội bộ của bạn.
Sirex

Câu trả lời:


7

Có một quy tắc đơn giản bạn nên tuân theo, sẽ giải quyết hầu hết các trường hợp:

Không bao giờ đặt một tập tin dưới /bin, /lib, /sbinhoặc /usr, trừ /usr/local, mà không đi qua quản lý gói.

Bằng cách này, nếu một tệp nằm trong khu vực được quản lý gói quản lý, bạn biết rằng nó đến từ một gói. Nếu không, bạn biết bạn đã cài đặt nó bằng tay.

Bạn nên bám vào các gói được cung cấp bởi phân phối của bạn bất cứ khi nào có thể. Chỉ cài đặt các gói của bên thứ ba nếu bạn có nhu cầu về tài liệu cho chức năng không được phân phối cung cấp. Tôi muốn có phiên bản mới nhất, không phải là một lời biện minh hợp lệ. Nếu bạn cài đặt các gói của bên thứ ba, hãy ghi chú lại nơi bạn nhận được chúng và lưu trữ các gói ( .rpmhoặc .debtệp) ở đâu đó. Đặc quyền nguồn apt hoặc yum qua tải xuống web ngẫu nhiên.

Sử dụng stow hoặc xstow cho các chương trình bạn cài đặt thủ công.

Sử dụng etckeeper để giữ /etcdưới sự kiểm soát phiên bản . Cam kết bất cứ khi nào bạn thực hiện một thay đổi, với một thông điệp có ý nghĩa.


Nếu bạn gặp phải một tình huống mà bạn đã làm mọi thứ theo cách bẩn thỉu và đã lạc lối nơi một phần mềm đến từ:

  • Cài đặt phiên bản sạch của phần mềm đó, ở vị trí thích hợp theo lời khuyên ở trên.
  • Kiểm tra rằng cài đặt mới hoạt động cho mục đích dự định của bạn.
  • Chuyển qua các dịch vụ của bạn để sử dụng cài đặt mới.
  • Dọn dẹp cài đặt cũ tốt nhất có thể.

1

Tôi có thể đề nghị bạn sử dụng puppetđể theo dõi phần mềm đã cài đặt trong linux.

Puppet, một công cụ quản trị tự động cho các hệ thống * nix của bạn, thực hiện các tác vụ quản trị (như thêm người dùng, cài đặt gói và cập nhật cấu hình máy chủ) dựa trên thông số kỹ thuật tập trung.

Bạn có thể tham khảo liên kết


Cảm ơn các liên kết! Nhưng tôi cần một cái gì đó trên dòng lệnh. Thoạt nhìn, con rối chỉ hoạt động với trên một hệ thống máy tính để bàn.
acme

1

Nếu bạn cài đặt bất kỳ gói nào bằng apt-get, tất cả các gói phụ thuộc sẽ tự cài đặt vì apt-get giải quyết tất cả các phụ thuộc.

Trong trường hợp của tôi, tôi cố gắng cài đặt mọi gói theo dòng lệnh bằng cách sử dụng apt-get cho đến khi gói có trong kho Ubuntu. Nếu nó không có trong kho lưu trữ của họ, thì bạn phải đọc hướng dẫn cài đặt của tiện ích đó và cài đặt nó dựa trên việc tiện ích sử dụng Makefile hay cái gì khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.