Làm thế nào để cài đặt gói với yum mà không cập nhật thông tin kho lưu trữ?


10

Tôi muốn cài đặt một số gói từ kho lưu trữ nhưng luôn luôn khi tôi cố gắng yum install packagenamecập nhật db:

Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Determining fastest mirrors
updates/metalink                                                                                                                      |  23 kB     00:00     
 * fedora: nl.mirror.eurid.eu
 * rpmfusion-free: ftp.astral.ro
 * rpmfusion-free-updates: ftp.astral.ro
 * rpmfusion-nonfree: ftp.astral.ro
 * rpmfusion-nonfree-updates: ftp.astral.ro
 * updates: nl.mirror.eurid.eu
fedora-awesome                                                                                                                    | 3.3 kB     00:00     
google-chrome                                                                                                                     |  951 B     00:00     
rpmfusion-free-updates                                                                                                        | 3.3 kB     00:00     
rpmfusion-free-updates/primary_db                                                                                             | 272 kB     00:08     
rpmfusion-nonfree-updates                                                                                                     | 3.3 kB     00:00     
rpmfusion-nonfree-updates/primary_db                                                                                          |  93 kB     00:05     
updates                                                                                                                       | 4.7 kB     00:00     
updates/primary_db                                                                                                            | 4.6 MB     02:35     
updates/group                                                                                                                     | 1.9 MB     00:33     

Vì vậy, việc sử dụng yum install packagename -Ccũng không hoạt động (lỗi "không tìm thấy bộ đệm" xảy ra và yum makecachecũng không cho kết quả). Nhưng tôi chỉ muốn cài đặt các gói mà không cập nhật db.


3
Tại sao? Cập nhật DB nghĩa là bạn có các phiên bản mới nhất của danh sách gói
Smudge

Chúng ta đang nói về db ​​gì? Repum yum / gói cache?
mỏng

1
@sam vì tốc độ Internet của tôi quá chậm để cập nhật repo cho mỗi lần cài đặt.
Clark

1
@thinice có như bạn thấy trong nhật ký có cập nhật xảy ra cho kho lưu trữ bao giờ hết. Tôi không cần nó để làm Tôi chỉ muốn cài đặt gói mà không cần cập nhật kho lưu trữ.
Clark

1
@purple Sau đó, bạn nên sử dụng một kho lưu trữ cục bộ, yum được thiết kế để hoạt động với toàn quyền truy cập vào dữ liệu repo, có thể là từ xa hoặc cục bộ yum không quan tâm nhưng nó nên có nó.
Smudge

Câu trả lời:


12

Nếu bạn muốn yumhành xử như thế nào apt-get(không cập nhật siêu dữ liệu theo từng lần chạy), hãy chỉnh sửa /etc/yum.confvà đặt ở đó:

metadata_expire=never

hoặc là

metadata_expire=7d

trong trường hợp bạn muốn cập nhật siêu dữ liệu sau một tuần. Nếu bạn chạy yum makecache, siêu dữ liệu của bạn sẽ được cập nhật như apt-get updatetrong Debian.

Nhưng hãy nhớ rằng nếu bạn sử dụng "không bao giờ" trong tệp cấu hình, bạn sẽ phải quan tâm đến điều đó bằng tay. Nếu bạn sử dụng tức là "7d", bạn sẽ lưu băng thông dữ liệu của mình, nhưng sau một tuần, siêu dữ liệu sẽ được cập nhật tự động cho bạn.

Đây là metadata_expiretài liệu:

Bạn cũng có thể thay đổi từ mặc định sử dụng giây sang sử dụng ngày, giờ hoặc phút bằng cách nối thêm quảng cáo, h hoặc m tương ứng. Mặc định là 6 giờ, để khen yum-Updatesd chạy mỗi giờ một lần. Cũng có thể sử dụng từ "không bao giờ", nghĩa là siêu dữ liệu sẽ không bao giờ hết hạn.


sẽ 2wlàm việc như thế nào?
Sebastian Godelet

Không 2wkhông hoạt động. Mặc định là 6 giờ, để khen yum-Updatesd chạy mỗi giờ một lần. Bạn có thể thay đổi từ mặc định sử dụng giây sang sử dụng ngày, giờ hoặc phút bằng cách nối thêm a d, h or mtương ứng.
Shubham Chaudhary

4

Những gì bạn đang hỏi là ra khỏi tinh thần của yum trong một số liên quan. Yum là một gói toàn diện và quản lý phụ thuộc . Để thực hiện công việc của mình và không làm hỏng hệ thống của bạn bằng các gói không tương thích kết hợp và kết hợp, nó cần phải có dữ liệu mà bạn không muốn cập nhật.

Bạn có thể tự phân tích những phụ thuộc mà gói có bằng cách sử dụng deplist <packagename>và cài đặt chúng theo cách thủ công.

Không có yum có một cập nhật dường như là một yêu cầu kỳ lạ bất kể hoàn cảnh nào ...


Nhưng tại sao apt-get không cập nhật kho lưu trữ khi bạn gõ lệnh install? Nó sẽ cập nhật kho lưu trữ duy nhất và chỉ khi bạn gõ cập nhật. Tôi muốn yum làm điều tương tự.
Clark

1
Nếu bạn chạy apt-get install foo - và phiên bản gói từ xa đã thay đổi, bạn sẽ nhận được các tin nhắn như thế này: bitbucket.org/ianb/silverlining/su/26/ . - Tương tự như vậy với bất kỳ phụ thuộc nào đã được cập nhật trong repo cũng. (Về cơ bản, buộc bạn phải chạy cập nhật).
mỏng

2
Có nhưng khi tôi chạy yum để cài đặt ứng dụng chưa được thay đổi thì nó cũng cập nhật db.
Clark

4

Nếu bạn muốn cài đặt gói mà không cập nhật db, bạn tải trực tiếp vòng / phút (thông qua yumdoader, ftp hoặc trình duyệt web) và sau đó cài đặt trực tiếp với vòng / phút:

rpm -ivh packagename

Tôi không khuyên bạn nên làm điều này, vì việc theo dõi các phụ thuộc (đó là lý do tại sao yum được tạo ra) và nó có thể phá vỡ các cài đặt trong tương lai thông qua yum.


Có nhưng tại sao apt-get chẳng hạn không cập nhật kho lưu trữ khi bạn chỉ bảo anh ta cài đặt gói? Và để cập nhật, bạn sử dụng lệnh 'apt-get update'.
Clark
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.