Làm cách nào để chuyển người dùng PPA từ PPA này sang PPA khác?


8

Tôi cần chuyển đổi người dùng hiện tại từ một PPA sang các PPA khác nhau, vì vậy đây là câu hỏi làm thế nào để tự động hóa quá trình chuyển đổi mà không ảnh hưởng ít nhất đến người dùng.

Chính xác hơn:

Tôi có PPAs cho PHP 5.5PHP 5.6 sử dụng bao bì PHP kiểu cũ đã được sử dụng trước Xenial và họ có khá nhiều người dùng.

Bây giờ tôi đã tạo một PPA mới bao gồm PHP 5.5, PHP 5.6 và PHP 7.0 và tôi sẽ cho người dùng PPA cũ chuyển sang PPA mới này. Tôi có một vài ý tưởng làm thế nào để làm cái chung này, nhưng tôi muốn có thêm đầu vào từ cộng đồng AskUb Ubuntu.

Hãy đóng góp suy nghĩ của bạn thông qua ý kiến, chỉnh sửa trực tiếp cho câu trả lời dưới đây hoặc thêm đề xuất của riêng bạn.


Câu trả lời hay ...
simhumileco

Câu trả lời:


3

Tùy chọn 3 - Tự động thêm PPA mới

Điều này giống như 2, nhưng php5-commonsẽ tự động thêm PPA mới, vì vậy các gói mới sẽ có sẵn sau lần apt-get updatechạy tiếp theo . Tùy chọn có thể có một câu hỏi Debconf cho dù người dùng muốn PPA được thêm tự động hay họ sẽ tự làm như vậy.

  • Ưu điểm:
    1. Một kho lưu trữ duy nhất để xử lý
    2. Không có chuyển đổi tự động
    3. Người dùng có thể chuẩn bị kế hoạch chuyển đổi của họ
    4. Các gói đã sẵn sàng để được cài đặt ngay lập tức
    5. Thêm PPA từ cùng một không gian tên có thể hoạt động hoàn hảo
  • Nhược điểm:
    1. Một số người dùng sẽ bỏ lỡ thông báo cho dù bạn có cố gắng thế nào
    2. Thêm PPA tự động có vẻ như rủi ro bảo mật
    3. Thêm PPA từ không gian tên khác nhau cần bỏ thêm khóa GPG /etc/apt/trusted.gpg.d/và điều đó cũng có vẻ như rủi ro bảo mật

php-ppagói cũ ppa:ondrej/php5ppa:ondrej/php5-5.6vì vậy bạn có thể dùng thử.
oerdnj

Tôi không thấy rủi ro bảo mật khi thêm ppa (họ tin tưởng bạn và tất cả đều ổn, hoặc họ không và sau đó họ không nên sử dụng các gói của bạn để bắt đầu)?
JanC

@JanC Cảm ơn bạn đã phản hồi. Cho đến khi tôi cảm thấy khó chịu nếu các gói được thêm PPA mà không hỏi trước, nhưng tôi đã thực hiện một câu hỏi gỡ lỗi cho điều đó, vì vậy tôi nghĩ nó sẽ ổn.
oerdnj

Có, tất nhiên cảnh báo người dùng của bạn trước và / hoặc khi nó xảy ra, cũng như ghi lại nó trong một tệp THAY ĐỔI hoặc như vậy, là một ý tưởng tốt.
JanC

BTW: có thể đôi lúc bạn cũng muốn thực hiện việc xây dựng lại không thay đổi thường xuyên với số phiên bản được xây dựng tăng dần trong các PPA cũ, để những người bỏ qua thay đổi PPA nhận được lời nhắc thường xuyên từ debconf. :)
JanC

2

Tùy chọn 2 - Lập kế hoạch khấu hao và thông báo cho người dùng một cách nổi bật

  • Ưu điểm:
    1. Một kho lưu trữ duy nhất để xử lý
    2. Không có chuyển đổi tự động
    3. Người dùng có thể chuẩn bị kế hoạch chuyển đổi của họ
  • Nhược điểm:
    1. Một số người dùng sẽ bỏ lỡ thông báo cho dù bạn có cố gắng thế nào
    2. Sẽ có người nói như thế nào: "Làm ơn, đừng làm vậy"
    3. Không có chuyển đổi tự động

1

Tùy chọn 1 - Không làm gì cả

  • Ưu điểm:
    1. Người dùng hài lòng
  • Nhược điểm:
    1. Mỗi gói nguồn trùng lặp phải có hai phiên bản của tập lệnh xây dựng
    2. Bảo trì PPA quá tải và không hài lòng

1

Tùy chọn 4 - Chuyển đổi hoàn toàn tự động

Điều này giống như Tùy chọn 3, nhưng thêm các gói giả sẽ thay thế cái cũ php5*và kéo cái mớiphp5.6*

  • Ưu điểm (bao gồm Ưu điểm từ Tùy chọn 3):
    1. Nếu mọi thứ hoạt động như mong đợi, nó có thể là lựa chọn tốt nhất, vì người dùng sẽ có các gói mới mà không có bất kỳ công việc nào ở bên cạnh họ
  • Nhược điểm (bao gồm Nhược điểm từ Tùy chọn 3):
    1. Công tắc sẽ xóa các thay đổi mà mọi người đã thực hiện đối với các tệp cấu hình cũ hoặc quá trình chuyển đổi sẽ cần một số tập lệnh bảo trì phức tạp để xáo trộn cấu hình cũ xung quanh các vị trí mới
    2. Gói giả sẽ cần mang theo ít nhất một số cấu hình để thiết lập ổ cắm FPM và tên cũ để không phá vỡ tính tương thích với các thiết lập cũ (sử dụng các thay thế cập nhật để thiết lập /usr/bin/php5để trỏ đến /usr/bin/php5.6)
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.