- Techblog
- Thủ thuật
Khi sử dụng chương trình lệnh YUM để cài đặt 1 gói chương trình/ dịch vụ nào đó, sẽ có lúc bạn gặp phải lỗi "Another app is currently holding the yum lock". Bài viết sau, Bizfly Cloud sẽ hướng dẫn bạn chi tiết cách khắc phục lỗi này. Cùng theo dõi nhé!
Trong khi thực thi bất kỳ lệnh yum nào, bạn sẽ gặp lỗi hiển thị bên dưới:
# yum list
Loaded plugins: fastestmirror, langpacks
Existing lock /var/run/yum.pid: another copy is running as pid 13023.
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: PackageKit
Memory : 26 M RSS (430 MB VSZ)
Started: Sat Sep 30 18:31:21 2017 - 00:33 ago
State : Sleeping, pid: 13023
Lỗi này chỉ ra rằng một cá thể khác đang chạy để cập nhật yum và PID là 13023. Kiểm tra PID trong lệnh ps -ef để xem quy trình nào đang khóa yum.
# ps -ef | grep 13023
root 13023 11813 3 18:31 ? 00:00:04 /usr/bin/python /usr/share/PackageKit/helpers/yum/yumBackend.py refresh-cache yes
Một GUI PackageKit utility được cài đặt trong hệ thống và đang khóa yum trong khi chạy. Bạn có thể sử dụng một trong các phương pháp dưới đây để giải quyết lỗi. Đôi khi giết chết process ID được sử dụng bởi PackageKit utility không có hiệu quả. Trong trường hợp đó chỉ có giải pháp là vô hiệu hóa PackageKit hoặc loại bỏ nó hoàn toàn.
Phương pháp 1: Killing the process ID used by PackageKit
Kill quá trình đang khóa yum, ví dụ:
# kill -9 13023
hoặc:
# pkill PackageKit
sau đó chạy lại lệnh yum.
Phương pháp 2: Remove/ Disable PackageKit utility
Một cách khác là tắt plug-in yum-packagekit bằng cách chỉnh sửa tập tin cấu hình refresh-packagekit /etc/yum/pluginconf.d/refresh-packagekit.conf:
[main]
enabled=0
Hoặc bạn có thể xóa tiện ích quản lý PackageKit từ hệ thống:
# yum remove -y PackageKit*
Theo Bizfly Cloud chia sẻ
\>> Có thể bạn quan tâm: Hướng dẫn chi tiết thay đổi domain mới cho source Magento
Một trong những lỗi phổ biến nhất mà người dùng CentOS gặp phải khi sử dụng trình quản lý gói YUM (ví dụ: chạy lệnh yum update), đặc biệt trên hệ thống mới cài đặt là lỗi “Không thể tìm thấy baseurl hợp lệ cho repo: base /7/x86_64 ”.
Trong bài viết ngắn này, chúng tôi sẽ hướng dẫn cách khắc phục lỗi “không thể tìm thấy baseurl hợp lệ cho repo” trong bản phân phối CentOS Linux.
Ảnh chụp màn hình sau đây hiển thị lỗi trên sau khi chạy lệnh yum để tìm kiếm gói. yum search redis
Lỗi cho biết YUM không có khả năng truy cập vào kho lưu trữ cơ sở mà nó sử dụng để tìm thông tin gói. Trong hầu hết các trường hợp, có hai nguyên nhân có thể gây ra lỗi: 1) sự cố mạng và/hoặc 2) URL cơ sở bị nhận xét trong tệp cấu hình kho lưu trữ.
Bạn có thể sửa lỗi này bằng những cách sau:
1. Đảm bảo rằng hệ thống của bạn được kết nối với Internet. Bạn có thể thử ping bất kỳ hướng internet nào, ví dụ: google.com. ping google.com
Kết quả ping cho biết có sự cố DNS hoặc không có kết nối Internet. Trong trường hợp này, hãy thử chỉnh sửa các tập tin cấu hình giao diện mạng. Để xác định giao diện mạng của bạn, hãy chạy lệnh ip. ip add
Để chỉnh sửa cấu hình cho giao diện enp0s8, hãy mở tệp /etc/sysconfig/network-scripts/ifcfg-enp0s8 như hiển thị. vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
Nếu đó là sự cố DNS, hãy thử thêm Máy chủ tên vào tệp cấu hình như được hiển thị. DNS1=10.0.2.2 DNS2=8.8.8.8
Sau đó khởi động lại dịch vụ Trình quản lý mạng bằng lệnh systemctl. systemctl restart NetworkManager
Để biết thêm thông tin, hãy đọc bài viết của chúng tôi: Cách định cấu hình địa chỉ IP tĩnh mạng và quản lý dịch vụ trên RHEL/CentOS 7.0.
Sau khi thực hiện thay đổi trong cài đặt mạng, hãy thử chạy ping một lần nữa. ping google.com
Bây giờ hãy chạy thử yum update hoặc bất kỳ lệnh yum nào đang hiển thị lỗi trên một lần nữa. yum search redis
2. Nếu hệ thống được kết nối với Internet và DNS hoạt động tốt thì có thể có vấn đề với tệp cấu hình repo /etc/yum.repos.d/CentOS-Base. kho lưu trữ.
Mở tệp bằng trình soạn thảo dòng lệnh yêu thích của bạn. vi /etc/yum.repos.d/CentOS-Base.repo
Tìm phần ping google.com
0, thử bỏ ghi chú ping google.com
1 bằng cách xóa ping google.com
2 ở đầu dòng baseurl như hiển thị trong ảnh chụp màn hình sau.
Lưu các thay đổi và đóng tập tin. Bây giờ hãy thử chạy lại lệnh yum. yum update
Trong bài viết này, chúng tôi đã giải thích cách khắc phục lỗi “Không thể tìm thấy baseurl hợp lệ cho repo: ” trong CentOS 7. Chúng tôi muốn nghe từ bạn, chia sẻ kinh nghiệm của bạn với chúng tôi. Bạn cũng có thể chia sẻ các giải pháp bạn biết để khắc phục sự cố này thông qua biểu mẫu phản hồi bên dưới.