yum - kiểm tra xem gói đã được cài đặt chưa


7

Khi tôi chạy yum install <X>nơi <X>đã được cài đặt, yumthoát với trạng thái trả về là 1 và in "Lỗi: Không có gì để làm".

Ngoài việc kiểm tra chuỗi này trong đầu ra (có vẻ như là một thứ rất run để dựa vào tập lệnh của tôi), có cách nào để tôi có thể kiểm tra xem gói đã tồn tại chưa? Rõ ràng, yum biết liệu nó đã tồn tại hay chưa, vì nó đã gây ra lỗi đó, nhưng làm thế nào tôi có thể truy cập vào kiến ​​thức đó?

Để thêm vào điều này, một số gói được tải xuống bằng URL, không phải tên gói, vì vậy việc kiểm tra yum list installedkhông hoạt động.


1
yumbiết bằng cách truy vấn cơ sở dữ liệu vòng / phút. ví dụ
Bratchley

@Bratchley Có cách nào để lấy tên đó từ url gói không?
AmadeusDrZaius

Bạn sẽ có thể cung cấp rpmmột URL đầy đủ cho RPM mà bạn quan tâm. Ví dụ sẽ cung cấp cho bạn tên gói. Một lưu ý là nó sử dụng wgetnội bộ nhưng dường như âm thầm khắc phục lỗi.
Bratchley

@taliezin gần tương đương với rpm -qa packageNamengoại trừ nó được in theo cách làm cho nó trông giống như yumđầu ra.
Bratchley

@Bratchley, xin lỗi tôi đã thấy liên kết sau, nhưng tôi đã xóa nó.
Taliezin

Câu trả lời:


7

Trong tập lệnh của bạn sử dụng rpm -q packagename:

if  rpm -q  vim-enhanced
then
  ...
else
  ...
fi

Cảm ơn, điều này đã làm việc tốt. Tôi đã phải tự tay mân mê tên gói cho các gói được lấy thông qua các url, nhưng ngoài ra, nó đã diễn ra suôn sẻ.
AmadeusDrZaius

1
Tôi rất vui vì nó đã làm việc. Đôi khi tên gói có thể là khó khăn. Tôi ước tên gói được bình thường hóa hơn một chút ...
JJoao

4

Bạn co thể thử:

#yum list installed | grep tmux
tmux.x86_64                      1.9a-5.fc21        @updates                    

hoặc là:

#yum list installed tmux
Loaded plugins: langpacks
Installed Packages
tmux.x86_64                                                               1.9a-5.fc21                                                               @updates

Không có grepbạn có thêm một số dòng, nhưng cả hai đầu ra có thể được chuyển qua một số trình soạn thảo văn bản theo nhu cầu của bạn.


nhược điểm với giải pháp này sẽ bị treo nếu danh sách này rất lớn
mebada
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.