Pháo đài lùn bắt đầu trong quá trình nâng cấp apt-get


322

Khi tôi chạy apt-get upgradetrên máy Ubuntu 17.04, đôi khi nó tự khởi động Pháo đài lùn .

Nó đã xảy ra ít nhất hai lần, vì vậy nó có lẽ không chỉ là một thứ gì đó một lần. Ngoài ra, việc thực hiện apt-get upgradedường như bị tạm dừng cho đến khi tôi thoát khỏi Pháo đài Lùn một cách thủ công, do đó, rất có thể nó không phải do một thứ khác chạy trong thời gian đó.

Bảng điều khiển tại thời điểm đó cho biết Unpacking xxx.nơi nào xxxmysqltên. Tuy nhiên tôi không biết chính xác gói nào, như ngày nay, đã apt-get upgradenâng cấp rất nhiều gói liên quan đến mysql.

Tôi muốn biết những gì xảy ra và làm thế nào để ngăn chặn nó xảy ra. Cảm ơn ý tưởng của bạn.


Vì vậy, bạn đang nói rằng bất cứ khi nào bạn chạy apt-get upgradetrong thiết bị đầu cuối, trò chơi bắt đầu?

@MichaelBay không phải lúc nào cũng được, chỉ khi nó nâng cấp đôi khi. Và tôi không thể kiểm tra nếu nó luôn xảy ra, bởi vì hiện tại không có gói nào để cập nhật.
Adrijaned

Đây DF Hack được một chặng đường dài đọc và tôi đã từ bỏ một phần cách thức thông qua nhưng có lẽ nó sẽ hữu ích cho bạn.
WinEunuuchs2Unix

Câu trả lời:


550

Với một câu hỏi kỳ lạ như thế này, tất nhiên không thể nói chắc chắn - nhưng tôi sẽ ăn mũ nếu linh cảm đầu tiên của tôi không đúng. :)

Cách duy nhất tôi có thể nghĩ, làm thế nào những thứ không liên quan như vậy có thể được liên kết là thế này: Sau khi cài đặt (tốt, giải nén) Pháo đài Lùn, thay vì đi đến thư mục mỗi lần và chạy nó ./df, bạn muốn có thể chạy nó từ bất cứ nơi nào, như bất kỳ lệnh cũ. Bạn đã thêm thư mục Pháo đài lùn vào thư mục của bạn $PATH, trước các thư mục hệ thống, có lẽ do tình cờ, có lẽ vì bạn nhận thấy nó không hoạt động khác, và thay vào đó bạn chỉ cần lấy thông tin về hệ thống tệp của mình.

Tên thực thi của Dwarf Fortress được đặt tên df, cũng là tên của một công cụ hệ thống để hiển thị việc sử dụng không gian đĩa của các hệ thống tệp của bạn, tạo ra xung đột. Bằng cách làm cho nó để khi bạn nhập df, Pháo đài lùn bắt đầu, bạn đã làm mờ công cụ hệ thống, vì vậy khi tập lệnh muốn - hãy nói - kiểm tra xem bạn có đủ không gian trống để giải nén tệp lưu trữ không, thay vì gọi df- công cụ hệ thống - thay vào đó, nó sẽ bắt đầu Pháo đài Lùn. Và sau khi bạn rời khỏi Pháo đài Lùn, kịch bản nhỏ đáng thương sẽ rất bối rối về lý do tại sao nó không được cung cấp thông tin sử dụng đĩa mà nó yêu cầu.

Dù sao, cảm ơn vì tiếng cười, đây phải là một trong những vấn đề hài hước nhất mà tôi từng thấy lên tiếng trên StackExchange. :)


Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
Thomas Ward

64

Linh cảm của tôi tương tự như Aleksi , nhưng tôi nghi ngờ bạn có thể đã chuyển nhị phân Pháo đài Lùn sang /usr/local/binhoặc /usr/bin(và hy vọng là không /bin).

Hãy thử chạy sudo which dftrong thiết bị đầu cuối của bạn. Nếu không nói /bin/df, hãy thử di chuyển tệp được chỉ định trong whichđầu ra sang /usr/games/(bạn sẽ có thể chạy trò chơi trong tương lai bằng cách chạy /usr/games/df). Apt nên hoạt động trở lại sau đó.

======

Nếu không, trong kịch bản sudo which dfnói /bin/df, hãy thử chạy /bin/df. Nếu điều đó đã được ghi đè bằng trò chơi, bạn sẽ cần di chuyển nhị phân trò chơi như đã đề cập ở trên và sudo apt-get install --reinstall coreutils.

Nếu thất bại vì dfbị thiếu, bạn có thể cần phải sử dụng các biện pháp quyết liệt hơn (như tạo tập lệnh giả để thay thế tạm thời df hoặc tải xuống gói thủ công và trích xuất nhị phân df từ nó).


7
Thật là mỉa mai khi một bình luận của người hỏi đối với câu trả lời được chấp nhận xác nhận rằng đây là những gì người hỏi đã làm, với một liên kết tượng trưng, ​​thay vì sửa đổi PATHnhư trong câu trả lời đó.
JdeBP

1
@JdeBP: Không thực sự, điểm chính là xung đột đặt tên - Tôi nghĩ làm thế nào đạt được điều đó chỉ là thứ yếu, ngay cả khi tôi tự nói như vậy. Tôi cũng đã đề cập đến điều này trong các bình luận của câu trả lời khác, để đáp lại một bình luận gợi ý tương tự như câu trả lời này, nhưng ban đầu tôi đã coi việc đề cập đến điều này như một khả năng khác, cho đến khi tôi nhận ra rằng việc di chuyển / sao chép nhị phân (trái ngược với symlinking, điều mà tôi không nghĩ tới) sẽ không hoạt động do cách Pháo đài Lùn hoạt động. (Tức là nó chỉ được giải nén, chưa được cài đặt - nó sẽ không tìm thấy các tệp dữ liệu của riêng nó khi không nằm trong cùng thư mục)
Aleksi Torhamo

2
Một lệnh tốt hơn có thể là sudo which -a dfđể xem tất cả dfcác lệnh được tìm thấy trong đường dẫn.
Doug Henderson

Đợi năm 2017 và chúng ta sử dụng apt-getchưa?
EKons

@AleksiTorhamo Chỉ cần làm rõ, biến PATH mà apt sẽ thấy bị ghi đè bởi lệnh sudo ( /etc/sudoerscó một secure_pathbiến để ngăn các vấn đề bảo mật với người dùng sửa đổi PATH của họ). Tôi đồng ý rằng việc nhận ra rằng nhị phân Pháo đài Lùn đang được ưu tiên trong độ phân giải PATH là cái nhìn sâu sắc quan trọng.
maccam94
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.