do-release-upgrade
là một phần của gói Cập nhật-người quản lý-cốt lõi. Kịch bản dường như xác định bản phát hành nào bạn sẽ nâng cấp lên, hãy thử tìm hiểu xem nó có được hỗ trợ hay không và phàn nàn về bản phát hành sau. - Nếu nó được thuyết phục để hoạt động, nó sẽ tải xuống Nâng cấp dành riêng cho bản phát hành và chạy nó.
Một phần của gói Cập nhật-trình quản lý-lõi-cốt lõi là tập tin /etc/update-manager/meta-release
, nơi bạn có thể tìm thấy URL http: //changelogs.ub Ubuntu.com/meta-release và ở đó bạn tìm thấy URL cho Nâng cấp để tải xuống.
Tarball nâng cấp được tải xuống được đóng gói từ gói nguồn ub Ubuntu-phát hành-upgrader (trước khi nó được cập nhật-quản lý Cập nhật). Phiên bản tương ứng với các bản cập nhật mới nhất cho bản phát hành mục tiêu.
Nguồn này có một README cũ từ thời gian phát hành chiến tranh và hoary. Nó thảo luận về những gì nên được thực hiện trong quá trình nâng cấp phát hành. Nó cũng đề cập đến một liên kết đến một đề xuất nâng cấp chi tiết hơn .
Tôi liệt kê ở đây các hành động được đề cập ở đó và kiểm tra xem chúng có thực sự được thực hiện không:
- kho lưu trữ liên quan
- chuyển sang mục nhập nguồn mới.
- xóa kho lưu trữ của bên thứ 3 không xác định
- có thể hoán đổi gương (không thực hiện)
- gói liên quan
- kiểm tra không có gói bị hỏng trước khi nâng cấp
- cập nhật bản phát hành hiện tại trước khi nâng cấp (
apt-get update
chỉ)
- gỡ bỏ và cài đặt các gói cụ thể
- kiểm tra xem {ubfox, kubfox, edubfox} -desktop đã được cài đặt chưa
- thoát khỏi hạt nhân cũ
- có một danh sách đen loại bỏ và danh sách trắng
- xóa hoặc thay thế các gói lỗi thời tồn tại trong các bản phát hành trước đó
- cấu hình liên quan (có thể trong quirks: xem bên dưới)
- thêm người dùng mặc định vào các nhóm mới (không được thực hiện cho các phiên bản tôi đã kiểm tra)
- kiểm tra một số tập tin cấu hình
Nâng cấp được cấu hình cho mỗi bản phát hành bằng cách sử dụng các tệp sau (mở chúng để xem!):
- DistUpTHER.cfg
- Cấu hình liên quan đến nâng cấp
- cấu hình liên quan đến phát hành
- kho lưu trữ (ví dụ: [Nguồn] ValidMirrors)
- thay đổi tùy chỉnh ([Distro] PostInstallScript)
- gói đặc biệt; chỉ được xử lý bởi DistUpTHERControll.py:
- [Phân phối] RemoveObsoletes, ForcedObsoletes, BaseMetaPkgs, MetaPkgs
- [meta_package_name] ForcedObsoletes
- ... và bởi DistUpTHERCache.py:
- [Phân phối] MetaPkgs, RemovalBlacklist, RemoveEssentialOk, BadVersions, BaseMetaPkgs, PurgeObsoletes, Demjection, KeyDependencies
- [Distro và meta_package_name] KeepInstalledPkgs, KeepInstalledSection, PostUpgrad *
- [KernelRemoval] *
- DistUpTHERQuirks.py
- chạy (phát hành) các chức năng cụ thể (cùng tệp) và plugin (
plugins
thư mục)
- các hàm phải có tên cụ thể (ví dụ
from_nattyPreCacheOpen()
) và bổ trợ các condition
thuộc tính đặc biệt (ví dụ *
hoặc PostInitialUpdate
)
- một trong những chức năng đó,
StartUpgrade()
là một túi lấy khác: trong số các chức năng khác mà nó gọi _applyPatches()
, nó đi qua các tệp trong patches
thư mục
- tất cả những thứ này không làm được gì nhiều trong quá trình cài đặt của tôi (i386, các gói không cũ hơn bản cập nhật mới)
- thêm từ DistUpTHERCache.py
- chạy
get_kernel_list.sh
(không đáng tin cậy) và đảm bảo một kernel được cài đặt
- một số xử lý về trình điều khiển Nvidia
Phiên bản đã kiểm tra:
- tự nhiên → một chiều
- một chiều → chính xác
- chính xác → đáng tin cậy (cuối cùng kể từ 2014-04-18)
- đáng tin cậy → không tưởng (vài giờ trước khi phát hành vào 2014-10-23)