Bỏ qua một bản nâng cấp cụ thể trong thế giới xuất hiện -auvD


28

Có cách nào đơn giản để bỏ qua một nâng cấp nhất định trong emerge -auvD world?

Ví dụ: hiện tại có một bị hỏng media-sound/teamspeak-server-bin-3.0.5-r1 được đánh dấu là ổn định trong cây portage phá vỡ toàn bộ nâng cấp vì gói đó là gói đầu tiên trong danh sách. Tất nhiên tôi chỉ có thể che dấu phiên bản này bằng cách sử dụng package.mask tệp, nhưng tôi muốn một biến môi trường hoặc chuyển đổi dòng lệnh để bỏ qua nó ngay bây giờ - dù sao thì nó cũng sẽ được sửa.

Lưu ý rằng tôi làm không phải muốn sử dụng emerge -auvD1 list of working packages (tức là chỉ cập nhật các gói khác bằng cách chỉ định tất cả tên của chúng).

Câu trả lời:


36

Trông giống như --exclude tùy chọn này

--exclude ATOMS
Một danh sách ngăn cách không gian của tên gói hoặc nguyên tử vị trí. Emerge sẽ không cài đặt bất kỳ gói ebuild hoặc nhị phân nào phù hợp với bất kỳ nguyên tử gói nào.

Vì vậy, điều này đã làm công việc cho tôi:

emerge -auvD --exclude=media-sound/teamspeak-server-bin world

Tôi chưa thể tìm thấy ví dụ về ai đó loại trừ nhiều gói trong một câu lệnh, vì vậy để tham khảo: mỗi gói yêu cầu một --exclude thẻ afaik. emerge --deep --update @world -av --exclude=chromium --exclude=firefox.
NuclearPeon

11

Nếu bạn không muốn che giấu nó, bạn có thể sử dụng --keep-going Tùy chọn. Điều đó làm cho emerge đặt lại danh sách của nó và tiếp tục, mà không có gói thất bại trong danh sách.


3

Câu trả lời của ThiefMaster là cách đúng đắn để đi, nhưng có một lựa chọn khác, mà tôi nghĩ sẽ cải thiện Câu trả lời của Keith . Cụ thể, với câu trả lời của mình, sự xuất hiện sẽ được thử và có thể mất thời gian. Trong trường hợp bạn biết rằng Đầu tiên gói có vấn đề vì bạn vừa gặp sự cố, bạn có thể sử dụng --resume--skipfirst:

--resume(-r)

Tiếp tục danh sách hợp nhất gần đây nhất đã bị hủy do lỗi. Điều này sử dụng lại các đối số và tùy chọn đã được cung cấp với lệnh ban đầu được nối lại và người dùng cũng có thể cung cấp các tùy chọn bổ sung khi gọi --resume. Đó là một lỗi khi cung cấp các nguyên tử hoặc đặt làm đối số cho --resume, vì các đối số từ lệnh được tiếp tục được sử dụng thay thế. Xin lưu ý rằng thao tác này sẽ chỉ trả về một lỗi khi thất bại. Nếu không có gì để portage làm, thì portage sẽ thoát với thông báo và điều kiện thành công. Một danh sách tiếp tục sẽ tồn tại cho đến khi nó được hoàn thành toàn bộ hoặc cho đến khi một danh sách hợp nhất bị hủy bỏ khác thay thế nó. Lịch sử tiếp tục có khả năng lưu trữ hai danh sách hợp nhất. Sau khi một danh sách tiếp tục hoàn thành, có thể gọi --resume một lần nữa để tiếp tục một danh sách cũ. Danh sách sơ yếu lý lịch được lưu trữ trong /var/cache/edb/mtimedbvà có thể bị loại bỏ rõ ràng bằng cách chạy emaint --fix cleanresume (xem phần mờ (1)).

--skipfirst

Tùy chọn này chỉ hợp lệ khi được sử dụng với --resume. Nó loại bỏ gói đầu tiên trong danh sách sơ yếu lý lịch. Các phụ thuộc được tính toán lại cho các gói còn lại và bất kỳ gói nào có phụ thuộc không thỏa mãn hoặc bị che sẽ được tự động loại bỏ. Cũng xem liên quan --keep-going Tùy chọn.

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.