Kết quả trình cài đặt oracle-java8 trong việc loại bỏ apt apt? [đóng cửa]


14

Tôi đã chạy đáng tin cậy kể từ khi phát hành alpha đầu tiên, kéo theo các bản cập nhật hàng ngày. Tôi cũng đã cài đặt trình cài đặt oracle-java7 từ PPA WebUpd8. Hôm nay tôi nhận thấy trong quá trình nâng cấp dist mà trình cài đặt oracle-java7 đã bị xóa. Trên hệ thống cạnh của tôi, tôi chỉ cho phép tất cả các giá trị mặc định vì vậy tôi đã cho phép loại bỏ mong muốn dùng thử phiên bản java 8. Tuy nhiên, khi tôi đi cài đặt gói cài đặt oracle-java8, nó muốn xóa "apt"!? Điều này rõ ràng đã gây ra mối quan tâm của tôi, vì nó thậm chí cảm thấy như một mối quan tâm an ninh. Giúp hiểu điều này sẽ được đánh giá rất cao.

$ sudo apt-get install oracle-java8-installer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  visualvm ttf-baekmuk ttf-unfonts ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho ttf-sazanami-mincho
  ttf-arphic-uming
The following packages will be REMOVED:
  apt apturl nautilus-share python3-software-properties software-center software-properties-common software-properties-gtk
  ubuntu-extras-keyring ubuntu-minimal unattended-upgrades
The following NEW packages will be installed:
  oracle-java8-installer
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  apt
0 upgraded, 1 newly installed, 10 to remove and 0 not upgraded.
Need to get 18.7 kB of archives.
After this operation, 7,838 kB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
 ?] 

1
@AvinashRaj: Tôi nghĩ rằng anh ấy biết điều đó. :) @Lance: Tôi nghi ngờ đó là một cái gì đó apt-get dist-upgradegây ra vấn đề này, vì gói trình cài đặt có rất ít phụ thuộc và một xung đột, và oracle-java7-installerkhông nên bị xóa.
saiarcot895

1
Cố gắng giữ tất cả các gói quan trọng được hiển thị ở trên và sau đó cố gắng cài đặt oracle-java8-installergói.
Avinash Raj

1
@AvinashRaj:j2se-common
saiarcot895

1
Điều này không nên xảy ra, xin vui lòng báo cáo một lỗi.
Braiam

1
Người điều hành. Vấn đề này thuộc chủ đề và liên quan trực tiếp đến Ubuntu. Ngoài ra một lỗi đã được báo cáo gần như ngay lập tức khi tôi đặt câu hỏi. Tôi là người tham gia tích cực trong cộng đồng Ubuntu và StackExchange. Tôi đã hỏi câu hỏi này muốn học hỏi từ các đồng nghiệp của tôi về và khía cạnh phát triển Ubuntu. Tôi trình bày rằng bản chất của câu hỏi này là lý do trang web này tồn tại. Tôi đã điều tra các quy tắc của trung tâm trợ giúp và câu hỏi này nằm trong hướng dẫn. Theo ý kiến ​​của tôi, việc đặt các câu hỏi như thế này sẽ không khuyến khích sự tham gia của cộng đồng. Hãy xem xét lại.
Lance Caraccioli

Câu trả lời:


8

Thay đổi gần đây được tham chiếu trong gói 'apt' ChangeLog dường như là thủ phạm có khả năng:

apt (0.9.15.4ubuntu4) trusty; urgency=low

  Cherry pick fixes from the apt 1.0 branch:

  [ Michael Vogt ]
  * add sun-java{5,6}-jdk to breaks/replaces as that provided a "apt"
    binary as well

Gói trình cài đặt oracle-java8 "Cung cấp" gói "sun-java6-jdk", do đó, xung đột này nổi lên và ngăn chúng tôi cài đặt các gói WebUpd8 - ngay cả khi trình cài đặt oracle-java7 cũng không phải trình cài đặt oracle-java8 cài đặt nhị phân "apt" có vấn đề được đề cập trong thay đổi apt.

Tôi đã tiếp tục và gửi báo cáo lỗi cho việc này: https://bugs.launchpad.net/ubfox/+source/apt/+orms/1302736


7

Andy S có vấn đề tiềm ẩn ở đây và tôi sẽ sớm khắc phục. Vui lòng sử dụng liên kết báo cáo lỗi mà anh ấy cung cấp và chỉ ra rằng nó cũng ảnh hưởng đến bạn để nó được ưu tiên cao hơn.

Nếu bạn hoàn toàn không thể chờ đợi, đây là một cách giải quyết tạm thời để bỏ qua các vấn đề phụ thuộc và buộc cài đặt:

  • Tải xuống gói .deb từ apt sudo apt-get download oracle-java7-installer

  • Thực hiện cài đặt .deb mà bạn vừa tải xuống, bỏ qua mọi phụ thuộc mà apt phàn nàn về: sudo dpkg -i --ignore-depends=apt file-you-just-downloaded.deb

Hai mục lưu ý:

  1. bạn có thể sử dụng điều này tương tự cho Java 8 bằng cách thay đổi các lệnh trên cho phù hợp.
  2. Trong ít nhất thời gian này, apt của bạn sẽ nghĩ rằng nó có một sự phụ thuộc bị hỏng và yêu cầu loại bỏ trình cài đặt oracle-java7. Bạn có thể hoàn nguyên lại bằng cách sử dụng apt-get -f install.

1

Một cách giải quyết khác cho đến khi điều này được khắc phục là sửa đổi tệp gỡ lỗi từ webupd8 và xóa sun-java6-jdkkhỏi Providesdòng trong tệp kiểm soát gỡ lỗi. Có một kịch bản tiện dụng trong câu trả lời này trên superuser.com. Chỉ cần lấy tệp gốc , chạy tập lệnh trên nó, sửa đổi Providesdòng và cài đặt tệp đã sửa đổi với sudo dpkg -i.

Tôi đã tải lên gói sửa đổi , nhưng tôi khuyên bạn nên sử dụng tệp gốc và tự sửa đổi, vì bạn không nên cài đặt nội dung của những người ngẫu nhiên trên internet;)

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.