Quản lý phiên bản Python trên Ubuntu 18.04 bằng công cụ update-alternatives

Quản lý phiên bản Python trên Ubuntu 18.04 bằng công cụ update-alternatives

1. Giới thiệu về update-alternatives

1.1 update-alternatives là gì?
update-alternatives là công cụ hỗ trợ chuyển đổi giữa các phiên bản phần mềm trên hệ điều hành Linux, đặc biệt hữu ích khi có nhiều phiên bản như Python hoặc Java. Thư mục lưu trữ các cấu hình của công cụ này là /etc/alternatives.

1.2 Cách sử dụng:

china@ubuntu:~$ update-alternatives --help
Sử dụng: update-alternatives [ ...] 

Lệnh:
  --install   <đường dẫn> <ưu tiên>
    [--slave   <đường dẫn>] ...
                           Thêm một nhóm tùy chọn vào hệ thống.
  --remove  <đường dẫn>   Xóa <đường dẫn> khỏi nhóm thay thế .
  --remove-all       Xóa hoàn toàn nhóm thay thế .
  --auto             Chuyển chế độ  sang tự động.
  --display          Hiển thị thông tin nhóm thay thế .
  --query            Phiên bản đọc được của --display .
  --list             Liệt kê tất cả tùy chọn trong nhóm .
  --get-selections         Liệt kê tên các tùy chọn chính và trạng thái.
  --set-selections         Đọc trạng thái từ đầu vào tiêu chuẩn.
  --config           Liệt kê tùy chọn trong nhóm  và yêu cầu người dùng chọn.
  --set  <đường dẫn>  Thiết lập <đường dẫn> là tùy chọn cho .
  --all                    Gọi --config cho tất cả tùy chọn.

 là đường dẫn đến /etc/alternatives/ (ví dụ: /usr/bin/pager)
 là tên điều khiển nhóm thay thế (ví dụ: pager)
<đường dẫn> là vị trí tệp tùy chọn (ví dụ: /usr/bin/less)
<ưu tiên> là số nguyên, trong chế độ tự động, số càng cao ưu tiên càng cao.

2. Cách Ubuntu quản lý các phiên bản Python

2.1 Trên Ubuntu 18.04.4, phiên bản Python mặc định là 2.7 và Python 3 mặc định là 3.6.

2.2 Các tệp thực thi Python được lưu trữ trong thư mục /usr/bin.

2.3 Khi nhập lệnh python hoặc python3 trong terminal, hệ thống sẽ gọi phiên bản tương ứng là do các liên kết tượng trưng trong thư mục /usr/bin. Ví dụ:

cd /usr/bin
ll | grep python

2.4 Liên kết tượng trưng và liên kết cứng:
Liên kết tượng trưng giống như shortcut trên Windows, trong khi liên kết cứng là bản sao của tệp gốc. Nếu tệp gốc bị xóa, liên kết tượng trưng sẽ không còn hiệu lực nhưng liên kết cứng vẫn hoạt động.

Ví dụ tạo liên kết tượng trưng và cứng cho Python 2.7:
Liên kết tượng trưng: sudo ln -s python2.7 python
Liên kết cứng: sudo ln python2.7 python

3. Hướng dẫn sử dụng update-alternatives để quản lý phiên bản Python

3.1 Công cụ update-alternatives tạo thêm một lớp liên kết trung gian cho các tệp /usr/bin/python/usr/bin/python3, giúp dễ dàng chuyển đổi phiên bản.

Khi chưa dùng update-alternatives:
/usr/bin/python → python2.7

Khi sử dụng update-alternatives:
/usr/bin/python → /etc/alternatives/python → python2.7

3.2 Ví dụ quản lý phiên bản Python 3:

3.2.1 Đăng ký nhóm thay thế và thiết lập độ ưu tiên:

update-alternatives --install /usr/bin/python3 python3 /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 3

3.2.2 Kiểm tra thông tin nhóm:

update-alternatives --display python3
update-alternatives --auto python3

3.2.3 Chuyển phiên bản Python 3 sang 3.8:

sudo update-alternatives --config python3

Chọn số thứ tự tương ứng với phiên bản 3.8 (ví dụ: 3).

Thẻ: Ubuntu python update-alternatives version-management symbolic-link

Đăng vào ngày 25 tháng 7 lúc 02:31