Điểm:7

Sau khi cài đặt youtube-dl trên Ubuntu 21.10 với hướng dẫn trên github, nhiều ứng dụng, bao gồm cả trình soạn thảo văn bản mặc định, đã bị hỏng

lá cờ ca

Một người dùng mới ở đây, đang chạy Ubuntu trên phiên bản 21.10.

Tôi đã cài đặt youtube-dl theo hướng dẫn trên trang github (https://github.com/ytdl-org/youtube-dl#installation):

$ Sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
$ sudo chmod a+rx /usr/local/bin/youtube-dl

Sau khi các lệnh đã tải xuống tập lệnh python, nhiều ứng dụng đã ngừng hoạt động hoàn toàn, như thể chúng đã bị thay thế bởi youtube-dl [CẬP NHẬT 3: bản thân các ứng dụng không được thay thế, chỉ có các liên kết và phím tắt của chúng]. Một số phần mềm bị ảnh hưởng là các ứng dụng mặc định của Ubuntu, như trình soạn thảo văn bản mặc định (gedit) và máy tính gnome, trong khi những phần mềm khác được cài đặt thủ công như qbittorrent và steam.

Một số thứ như firefox, nano và lutris vẫn đang hoạt động.

Cố gắng chạy trình soạn thảo văn bản chẳng hạn từ thiết bị đầu cuối dẫn đến đầu ra sau:

$gedit

Cách sử dụng: gedit [TÙY CHỌN] URL [URL...]

gedit: error: Bạn phải cung cấp ít nhất một URL.
Nhập youtube-dl --help để xem danh sách tất cả các tùy chọn.

Lỗi giống nhau với tất cả các ứng dụng bị ảnh hưởng:

$ gnome-máy tính

Cách sử dụng: máy tính gnome [TÙY CHỌN] URL [URL...]

máy tính gnome: lỗi: Bạn phải cung cấp ít nhất một URL.
Nhập youtube-dl --help để xem danh sách tất cả các tùy chọn.

Điều duy nhất tôi đã thử cho đến nay là cài đặt lại gedit qua apt nhưng không có gì thay đổi.

Tôi muốn biết điều gì đã xảy ra và liệu nó có thể sửa được không hay tôi cần phải cài đặt lại.

CẬP NHẬT 1: Đầu ra của các lệnh được yêu cầu:

lịch sử $ 

  867 sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
  868 sudo chmod a+rx /usr/local/bin/youtube-dl
  869 youtube-dl Sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
  870 sudo chmod a+rx /usr/local/bin/youtube-dl

Không có đầu mối tại sao nó dường như được liệt kê hai lần.

$ mà gedit
/usr/local/bin/gedit

$ máy tính gnome nào
/usr/local/bin/gnome-máy tính

$ ls -al $(gedit)
lrwxrwxrwx 1 gốc gốc 17 loka 28 19:55 /usr/local/bin/gedit -> /usr/bin/firejail

$ ls -al $(máy tính gnome nào)
lrwxrwxrwx 1 root root 17 loka 28 19:55 /usr/local/bin/gnome-calculator -> /usr/bin/firejail

$ tệp $ (mà gedit)
/usr/local/bin/gedit: liên kết tượng trưng tới /usr/bin/firejail

$ file $(máy tính gnome)
/usr/local/bin/gnome-calculator: liên kết tượng trưng tới /usr/bin/firejail

"loka" dường như là viết tắt của tháng 10, tôi có hệ thống bằng tiếng Anh nhưng ngày dường như vẫn sử dụng tiếng Phần Lan.

$ tiếng vang $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/ thùng rác

CẬP NHẬT 2: đầu ra lệnh được yêu cầu thêm từ:

Fsck chạy qua ổ USB

$ sudo fsck -p /dev/nvme0n1p1
fsck từ util-linux 2.36.1
fsck.fat 4.2 (31-01-2021)
/dev/nvme0n1p1: 11 tệp, cụm 1336/130812

$ sudo fsck -p /dev/nvme0n1p2
fsck từ util-linux 2.36.1
/dev/nvme0n1p2: sạch, 478908/31227904 tệp, 49277410/124895488 khối

Trở lại hệ thống:

$ đâu là gedit
gedit: /usr/bin/gedit /usr/lib/x86_64-linux-gnu/gedit /usr/local/bin/gedit /usr/share/gedit /usr/share/man/man1/gedit.1.gz

$ sha256sum /usr/bin/gedit /usr/local/bin/youtube-dl
27545f7fb059c356feeb88a872719c074d0fd5169564ec3fbb3cbb312b093184 /usr/bin/gedit
7880e01abe282c7fd596f429c35189851180d6177302bb215be1cdec78d6d06d /usr/local/bin/youtube-dl

Cố gắng sử dụng sudo ldconfig cũng như, như được đề xuất bởi câu trả lời, nhưng không có đầu ra cũng như không có gì thay đổi.

CẬP NHẬT 3: Vừa mới phát hiện ra rằng tất cả các phần mềm bị ảnh hưởng vẫn hoạt động với đường dẫn đầy đủ (ví dụ:/usr/bin/gedit), vấn đề dường như liên quan đến các liên kết và lối tắt đến các ứng dụng này. Những thứ như tùy chọn nhấp chuột phải "Mở bằng Trình soạn thảo văn bản" cũng vẫn bị hỏng.

Organic Marble avatar
lá cờ us
Tôi đoán rằng bạn đã nhập sai thứ gì đó với 2 lệnh sudo đó. Bạn có thể tìm thấy chúng trong đầu ra của `history` và xác nhận rằng nội dung đã nhập đúng như mong đợi không?
N0rbert avatar
lá cờ zw
Không thể sao chép trên máy ảo mới.Vui lòng thêm đầu ra của các lệnh sau vào câu hỏi: `what gedit`, `máy tính gnome nào`, `ls -al $( which gedit)`, `ls -al $(máy tính gnome nào)`, `file $( which gedit)`, `tệp $(máy tính gnome)`, `echo $PATH`.
karel avatar
lá cờ sa
Điều này có trả lời câu hỏi của bạn không? [Làm cách nào tôi có thể cập nhật youtube-dl?](https://askubuntu.com/questions/380438/how-can-i-update-youtube-dl)
qwr avatar
lá cờ kr
qwr
Nhân tiện, tôi khuyên bạn nên cài đặt từ pip thay vì từ apt vì nó sẽ cập nhật hơn. Ngoài ra, youtube-dl hiện đang bị tạm dừng dưới dạng một dự án, vì vậy hãy xem xét yt-dlp fork trong thời điểm hiện tại.
lá cờ ag
Và đây là lý do tại sao bạn không chạy các tập lệnh tùy ý từ internet với quyền root.
Điểm:23
lá cờ cn
jpa

Đây là một lý thuyết:

Trước khi bạn chạy lệnh đầu tiên, /usr/local/bin/youtube-dl đã tồn tại và là một liên kết tượng trưng đến /usr/bin/firejail. Có lẽ từ một số cài đặt trước đó.

Các cuộn tròn ... -o /usr/local/bin/youtube-dl lệnh không thay thế liên kết tượng trưng hiện có bằng một tệp mới. Thay vào đó, nó ghi đè lên nội dung của tệp, ghi đè lên /usr/bin/firejail. Thông thường, đây là một nhị phân multicall kiểm tra tên mà nó được gọi và thực thi ứng dụng thực tế trong sandbox. Nhưng mã youtube-dl tất nhiên không làm gì được.

Như đã xác nhận trong các nhận xét, việc cài đặt lại firejail sẽ thay thế /usr/bin/firejail với một phiên bản làm việc.


Để tham khảo, thiết lập cấu hình firejail điển hình bởi firecfg hoạt động như sau: đối với mỗi ứng dụng hộp cát, có một liên kết tượng trưng bên dưới /usr/local/bin điều đó chỉ ra /usr/bin/firejail. Tệp thực thi thực sự nằm trong /usr/bin và được thực thi bên trong sandbox. Đó cũng là lý do tại sao bắt đầu các chương trình với đầy đủ /usr/bin đường dẫn vẫn hoạt động, nhưng thay vào đó, đường dẫn mặc định chọn liên kết tượng trưng.

Organic Marble avatar
lá cờ us
phân tích tốt đẹp! Tôi đã học được từ điều này.
lá cờ cn
Tôi vừa quay lại để viết một cái gì đó tương tự, bây giờ tôi không cần phải viết nữa. Vì thiệt hại bị hạn chế, tôi thực sự thấy điều này hơi thú vị, bởi vì không có thông tin bổ sung được thêm vào câu hỏi, nó thực sự có vẻ hơi khó tin.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.