Điểm:10

Làm cách nào để tắt vĩnh viễn cập nhật bộ đệm gói tự động sau khi thêm PPA?

lá cờ us

Trong các bản phát hành gần đây của Ubuntu, việc thêm PPA sẽ tự động cập nhật bộ đệm gói ngay lập tức.

Đôi khi, tôi cần thêm một số PPA (ví dụ: sau khi cài đặt mới) và muốn chạy thủ công cập nhật apt trong một lần, sau khi thêm tất cả các PPA.

Làm thế nào để làm điều đó?

tôi đã tìm thấy cái này câu hỏi, gợi ý sử dụng add-apt-repository -n ppa:user/repo.

Cách thay đổi hành vi mặc định để bộ đệm gói sẽ không được cập nhật ngay cả khi -N cờ không được cung cấp?

Ví dụ: trong Linux Mint, bộ đệm gói không bao giờ được cập nhật tự động sau khi thêm PPA. Làm cách nào để biến đó thành hành vi mặc định trong Ubuntu?

Terrance avatar
lá cờ id
Câu hỏi tuyệt vời! Tôi không giỏi lắm về các bí danh, nhưng có thể thiết lập một bí danh như `add-apt-repository -ny` nhưng tôi không giỏi mấy thứ như thế.
mchid avatar
lá cờ bo
@Terrance Vì lệnh sử dụng `sudo`, nên bạn phải thêm bí danh cho lệnh `sudo`: `alias sudo='sudo '` (có khoảng trống sau sudo). Nếu không, các lệnh `sudo` sẽ không sử dụng bí danh của bạn.
Terrance avatar
lá cờ id
@mchid Đã nói với bạn là tôi rất tệ trong khoản đó! :) Điều đó làm cho rất nhiều ý nghĩa. Cảm ơn! :)
muru avatar
lá cờ us
Đối với Linux Mint, họ sử dụng [bản sao cũ của `add-apt-repository`](https://github.com/linuxmint/mintsources/blob/master/usr/bin/add-apt-repository).
Điểm:7
lá cờ bo

Đối với một người dùng cụ thể, bạn có thể thêm bí danh cho add-apt-kho lưu trữ.

Thêm các dòng sau vào cuối của bạn ~/.bashrc tập tin:

bí danh sudo='sudo'
bí danh add-apt-repository='add-apt-repository -n'
bí danh apt-add-repository='add-apt-repository -n'

Sau khi bạn lưu các thay đổi, đừng quên ghi nguồn ~/.bashrc tập tin:

. ~/.bashrc

Hãy nhớ rằng dòng đầu tiên là cần thiết để sử dụng bí danh với sudo. Nếu bạn có bí danh bạn muốn loại trừ khỏi sudo sử dụng, đây có thể không phải là phương pháp tốt nhất.

Liso avatar
lá cờ sd
Cách giải quyết thông minh +1!
Điểm:5
lá cờ zw

Đối với phương pháp toàn hệ thống, tôi sẽ tạo tập lệnh trình bao bọc cục bộ được đặt vào /usr/local/bin như sau

con mèo <<\EOF | sudo tee /usr/local/bin/add-apt-repository
#!/bin/bash
/usr/bin/add-apt-repository -n $@
EOF
Sudo chmod +x /usr/local/bin/add-apt-repository

và đừng quên về kho lưu trữ apt-thêm lệnh đồng nghĩa - chạy

Sudo ln -s /usr/local/bin/add-apt-repository /usr/local/bin/apt-add-repository

Sau đó sử dụng bất kỳ lệnh nào trong số này với -N tùy chọn tự động thêm vào.

Điểm:3
lá cờ my

Người dùng cao cấp

Bạn có thể sửa đổi mã nguồn để loại bỏ cập nhật apt chỉ huy.

Đây là khối mã bạn cần xóa khỏi /usr/bin/add-apt-kho lưu trữ tập tin:

        nếu cập nhật chứ không phải tùy chọn. loại bỏ:
            os.execvp("apt-get", ["apt-get", "update"])
        sys.exit(0)

Thao tác này sẽ xóa lệnh cập nhật.

GHI CHÚ: Đoạn mã này xuất hiện hai lần trong tệp, bạn phải xóa mã CUỐI CÙNG. Đoạn mã này trong hầu hết các tệp sẽ ở đâu đó gần đường 198.

Bạn có thể mở tệp bằng trình soạn thảo văn bản, chẳng hạn như nano và loại bỏ đoạn mã này.

Bạn cũng có thể sửa đổi mã một chút, chẳng hạn như:

        nếu cập nhật chứ không phải tùy chọn. loại bỏ:
            os.execvp("apt-get", ["apt-get", "moo"])
        sys.exit(0)

GHI CHÚ: Chỉnh sửa tệp này bằng trình chỉnh sửa văn bản đầu cuối như nano thay vì trình soạn thảo GUI như gedit.

người mới bắt đầu

Mở một thiết bị đầu cuối bằng cách sử dụng Điều khiển + thay thế + t

  1. Đầu tiên, cài đặt nano:

    cập nhật sudo apt
    Sudo apt cài đặt nano
    
  2. Chỉnh sửa tệp:

    Sudo nano /usr/bin/add-apt-kho lưu trữ
    
  3. Nhấn phím mũi tên xuống nhiều lần, trừ khi bạn đã đến cuối tệp.

  4. Bạn sẽ tìm thấy một nếu tuyên bố trông giống hệt như thế này:

            nếu cập nhật chứ không phải tùy chọn. loại bỏ:
                os.execvp("apt-get", ["apt-get", "update"])
            sys.exit(0)   
    
  5. Loại bỏ toàn bộ nếu khối mã đã đề cập ở trên.

  6. Nhấn Điều khiển + X và sau đó chọn Y và hãy nhấn ĐI VÀO.

Bài kiểm tra

Bài kiểm tra

Khôi phục tệp

Lộn xộn lên?

Đừng lo! Nếu chúng ta chạy dpkg -S trên tệp, chúng ta có thể thấy:

$ dpkg -S /usr/bin/add-apt-kho lưu trữ 
phần mềm-thuộc tính-chung: /usr/bin/add-apt-repository

Vì vậy, chỉ cần chạy:

cập nhật sudo apt
Sudo cp -r /usr/bin/add-apt-repository /tmp
Sudo rm -rf /usr/bin/add-apt-kho lưu trữ
Sudo apt cài đặt phần mềm-thuộc tính chung --reinstall
Someone avatar
lá cờ my
Đối với người phản đối có đầu óc thông minh của chúng tôi: Hãy xem xét việc giải thích lý do tại sao bạn phản đối. Đây chính xác là những gì họ muốn. Vui lòng chỉnh sửa hoặc đưa ra đề xuất. Ít nhất là nói một lý do cho downvote. Tôi không nghĩ rằng bạn đã đánh giá thấp chỉ để mất 1 đại diện. Cân nhắc đưa ra lý do để việc mất 1 lần lặp lại của bạn không trở nên lãng phí.
lá cờ ua
Bạn đang phá vỡ rất nhiều thứ cho các bản cập nhật sắp tới. Nếu bạn muốn sử dụng phiên bản tùy chỉnh, hãy đặt nó vào `/usr/local/bin`. Phiên bản này sẽ xuất hiện trong `$PATH` trước `/usr/bin` và không bao giờ được sử dụng bởi các chương trình chính thức. Vì vậy, bạn sẽ không phá vỡ các bản cập nhật của `apt-add-repository` và hoàn nguyên thay đổi sẽ chỉ yêu cầu xóa tệp trong `/usr/local/bin`. Bạn cũng đang đề xuất một tập lệnh tùy chỉnh không thể dễ dàng kiểm tra khi các câu trả lời khác đã đề xuất các tập lệnh trình bao bọc tối thiểu, cũng giải quyết được sự cố, dễ hiểu và được cài đặt theo cách không phá vỡ các bản cập nhật trong tương lai.
Someone avatar
lá cờ my
@allo OK, tôi đồng ý và hoàn toàn chấp nhận mối quan tâm của bạn. Tuy nhiên, nó dường như vẫn là một câu trả lời * tốt * đối với tôi. Vì vậy, tôi sẽ không xóa nó... Tuy nhiên, vui lòng chỉnh sửa và thêm mối quan tâm của bạn về `/usr/local/bin` hoặc đăng câu trả lời mới về vấn đề tương tự. * Bạn cũng đang đề xuất một tập lệnh tùy chỉnh không thể dễ dàng kiểm tra * Tôi nên làm rõ rằng tập lệnh chỉ xóa một dòng mã khỏi tập lệnh đó để loại bỏ bản cập nhật apt.
lá cờ ua
Đó không phải là một câu trả lời tồi. Tôi chỉ nghĩ khi bạn hỏi chi tiết lý do tại sao ai đó có thể đánh giá thấp nó, tôi sẽ cố gắng chỉ ra một số vấn đề có thể khiến nó có số phiếu bầu thấp hơn các câu trả lời khác. Nếu bạn đang đề xuất xóa một vài dòng, hãy cố gắng giải thích sự thay đổi này và nó có thể thực sự hữu ích. Khi phiên bản ngược dòng có thể thay đổi trong tương lai, các thay đổi của bạn vẫn có thể được áp dụng cho phiên bản mới, nhưng bản sao đã thay đổi sẽ không chứa các bản cập nhật từ ngược dòng.
Someone avatar
lá cờ my
@allo **Có vẻ như tôi đã khắc phục những sự cố đó trong lần chỉnh sửa mới nhất của mình.**
lá cờ us
+1. Tuy nhiên, đây là cách quá phức tạp.

Đă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.