Câu trả lời:
Kiểm tra Keryx ; đó là một trình quản lý kho lưu trữ ngoại tuyến.
Làm thế nào nó hoạt động? Nó cho phép bạn tải các bản cập nhật và chương trình mới (có phụ thuộc) vào ổ đĩa flash của bạn .
Giao diện của nó tương tự như synap, nhưng nó hoạt động từ một ổ đĩa (không cần cài đặt). Thật không may, GUI cần wxwidgets, không được cài đặt sẵn trên Ubuntu (chúng đa nền tảng và có thể cài đặt từ đây và kho lưu trữ Ubuntu ở đây ). Nó chỉ có thể cài đặt phần mềm trong hệ thống Ubuntu, nhưng bạn có thể tải xuống các bản cập nhật hoặc gói mới trong bất kỳ Linux, Windows hoặc OS X.
Ở đây bạn có thể tìm thấy một hướng dẫn .
Một hướng dẫn chi tiết từng bước khác là trong câu trả lời này .
Launchpad cũng lưu trữ các tập tin có thể tải xuống .
Ảnh chụp màn hình:
keryx
mà không gặp vấn đề gì, mặc dù rõ ràng nó cần phát triển và cải tiến hơn nữa.
Cách hack nhanh là sao chép tất cả các gói bạn đã tải xuống để cài đặt vào máy của mình ( hướng dẫn chi tiết tại đây ). Các tệp .deb được lưu trữ /var/cache/apt/archives
, sau đó trong máy tính khác khởi chạy Synaptic và chọn File -> Add Package Downloaded
và tìm kiếm thư mục bạn đã đặt các tệp và mở nó, chấp nhận tất cả (hoặc cài đặt từ thiết bị đầu cuối bằng lệnh sudo dpkg -i DEB_PACKAGE_NAME
).
LƯU Ý:
Điều này giả định rằng trình quản lý gói của bạn không được thiết lập để xóa các gói ngay sau khi cài đặt. Nó cũng giả định rằng bạn đang chạy cùng một phiên bản Ubuntu (10.10, 12.04, v.v.) và phiên bản kiến trúc (32b hoặc 64b) .
Một kho lưu trữ DVD
Nếu bạn muốn sửa lỗi mới nhất và các bản vá bảo mật có sẵn thì hãy xem hướng dẫn này , bao gồm việc tạo kho lưu trữ DVD của riêng bạn.
sudo apt-get update
thì nó sẽ không hoạt động tốt, vẫn tiết kiệm thời gian tốt khi thiết lập một hệ thống mới :)
/var/cache/apt/archives
cái thứ hai khiến nó chỉ tải xuống ~ 250Mb. Tuy nhiên, bạn cần một kết nối để chạy cài đặt.
apt-get update
không cần thiết nếu bạn sao chép /var/lib/apt/lists
- thư mục này chứa thông tin kho lưu trữ được tải xuống bởi apt-get update
.
.deb
tôi usb
từ của tôi từ /var/cache/apt/archives
. Trên máy tính khác, tôi chỉ mở ổ USB và nhấp đúp chuột vào cái .deb
đã khởi chạy GUI Ubuntu Software Updater
. Dễ dàng pezy.
/var/cache/apt/archives
này đã có (sẵn có) khi cài đặt Debian không? Lý do tại sao tôi hỏi đây là 4,8 GB là quá lớn đối với ổ USB của tôi là 4 GB.
Kho lưu trữ USB
Nếu bạn có một thanh USB có kích thước khá - giả sử khoảng 4-8Gb (hoặc ổ cứng ngoài), bạn có thể thiết lập một bản sao tùy chỉnh của kho lưu trữ Ubuntu và định cấu hình đó là kho lưu trữ cục bộ như được bao phủ trong AptGet / Offline / Rep Kho trên help.ubfox .com.
Để có được các tệp gói thực tế (các tệp .deb), tôi khuyên bạn nên sử dụng apt-mirror
.
Các apt-mirror
gói phần mềm sẽ giúp bạn tạo một tấm gương tùy chỉnh mà nên nhỏ hơn so với 30GB của toàn bộ kho lưu trữ. Cài đặt gói:
sudo apt-get install apt-mirror
và chỉnh sửa tập tin cấu hình của nó
gksudo gedit /etc/apt-mirror/mirror.list
hoặc kể từ Ubuntu 14.04
gksudo gedit /etc/apt/mirror.list
Chỉ bao gồm các phần kho lưu trữ mà bạn muốn. Dưới đây là một ví dụ đơn giản sao chép các tệp .deb nhị phân từ tất cả 4 phần (chính, bị hạn chế, vũ trụ và đa vũ trụ) cũng như các bản sửa lỗi mới nhất.
# apt-mirror configuration file
##
## The default configuration options (uncomment and change to override)
##
#
set base_path /tmp/ubuntumirror
#
## Repositories to copy from -
## use a mirror so you don't overload the main server!!!
# Lucid binaries - no source files
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
## Clean up older .deb files no longer in the archive
clean http://archive.ubuntu.com/ubuntu
Theo dự đoán, bạn sẽ cần khoảng 15Gb dung lượng cho cả 4 phần, không có nguồn.
Tôi đã đặt đường dẫn cho tất cả các tệp .deb /tmp
, đảm bảo bạn có đủ dung lượng để ổ cứng của bạn không bị đầy (nếu ổ cứng của bạn bị đầy và máy tính của bạn bị đóng băng, /tmp
nên được xóa bằng khởi động lại).
Nếu bạn chỉ muốn các tệp chính, hãy xóa các tên bị hạn chế, vũ trụ và đa vũ trụ khỏi tệp cấu hình.
Nếu bạn đang sử dụng một kiến trúc khác (bạn có 64 bit, nhưng bạn của bạn có 32 bit) thì hãy thêm phần sau vào phần bắt đầu của tệp cấu hình mirror.list :
set defaultarch i386
Khi bạn có apt-mirror
cấu hình bạn muốn, hãy chạy apt-mirror
và thực hiện điều gì đó thú vị hoặc thay đổi cuộc sống vì sẽ mất hàng giờ hoặc nhiều ngày để có được kho lưu trữ (tùy thuộc vào kết nối của bạn và máy nhân bản Ubuntu bạn đang sử dụng).
Khi bạn có tệp .deb, hãy sao chép tệp vào thẻ nhớ USB (hoặc ổ cứng ngoài) và thiết lập kho lưu trữ cục bộ theo bài viết đã đề cập trước đó.
Kiểm tra nó hoạt động trước khi đưa nó cho bạn bè của bạn!
sudo apt-get install apt-mirror
trực tiếp trên Ubuntu 16.10 (Yakkety Yak), phiên bản máy tính để bàn / Rufus / thanh USB / chế độ dùng thử, tôi đã nhận được " E: Unable to locate package apt-mirror
". Có kết nối với Internet, được xác minh bởi ping
.
sudo apt-get update
không sửa được.
Tôi sử dụng apt-get với tùy chọn "--print-uris" để làm điều đó. Tôi cũng thêm "-qq" để nó yên tĩnh.
Sử dụng sed để xóa các ký tự phụ được thêm vào một số tên tệp (giống như 3% 2a) và để lấy url, tên tệp và md5sum của tệp. Sử dụng wget để tải về các tập tin. Sử dụng md5sum để kiểm tra xem các tập tin được tải xuống đúng cách.
Bạn có thể sử dụng điều này để tạo tập lệnh shell cho Linux hoặc Mac OS (thay thế ".cmd" trong các lệnh thành .sh và thực hiện "chmod a + x (tên tệp) để thêm quyền thực thi tập lệnh) hoặc tệp bó lệnh của Windows và tệp MD5Sum để đảm bảo các tệp được tải xuống chính xác.
Tạo tập lệnh:
sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > script.cmd
Ví dụ:
sudo apt-get install anjuta --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install-anjuta.cmd
sudo apt-get upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > upgrade.cmd
sudo apt-get dist-upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > dist-upgrade.cmd
Tạo tập tin md5sum:
sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4 .\/\2/p" > md5sum.txt
Ví dụ:
sudo apt-get install anjuta --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4 .\/\2/p" > md5sum.txt
sudo apt-get upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4 .\/\2/p" > md5sum.txt
sudo apt-get dist-upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4 .\/\2/p" > md5sum.txt
Bạn cần md5sum cho Windows nếu bạn đang sử dụng hệ điều hành đó để tải xuống các tệp.
Tạo tập lệnh để tải xuống danh sách kho lưu trữ:
sudo apt-get update --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) :/wget -c \1 -O \2.bz2/p" > update.cmd
Bạn có thể thêm chúng vào cuối tập lệnh để kiểm tra md5sum:
Linux:
md5sum --quiet -c md5sum.txt
Windows (sử dụng md5sum cũ hơn, không hỗ trợ --quiet):
md5sum -c md5sum.txt
Để thêm tự động vào tập lệnh:
echo -e "md5sum -c md5sum.txt\npause" >> script.cmd
Chạy các lệnh này đến máy tính đích.
Bạn cần sử dụng bunzip2 để giải nén các tệp danh sách kho lưu trữ:
bunzip2 *.bz2
Sau đó sao chép vào thư mục danh sách (thư mục hiện tại chỉ chứa các tệp danh sách):
sudo cp * /var/lib/apt/lists/
Kết hợp ở trên (thư mục hiện tại có thể chứa các tệp khác):
for listfile in `ls *.bz2`; do bunzip2 $listfile; sudo cp ${listfile%.bz2} /var/lib/apt/lists/; done
Nếu bạn muốn tải xuống các tệp nhanh hơn, hãy thử sử dụng Axel.
Thay thế wget -c ... -O ...
bằng axel ... -o ...
.
Tôi thường tạo một thư mục như thế này:
Sau đó thay đổi wget
trong các dòng trên ..\\bin\\wget.exe
, md5sum
sang ..\\bin\\md5sum.exe
, v.v.
Điều này sẽ tách các tệp * .deb và liệt kê các tệp vào các thư mục khác nhau.
sudo cp *.deb /var/cache/apt/archives/
sudo apt-get upgrade
hoặcsudo apt-get dist-upgrade
Wget cho Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
md5sum cho Windows: http://gnuwin32.sourceforge.net/packages/coreutils.htm hoặc http://www.etree.org/cgi-bin/c gặp.cgi / software / md5sum.exe
Bạn cũng có thể sử dụng những cái từ MinGW , đó là những gì tôi sử dụng. Bạn chỉ cần wget.exe, md5sum.exe và các thư viện chia sẻ cần thiết. Kiểm tra phần "Phân cấp thư mục".
-qq
tùy chọn xuất hiện để triệt tiêu tất cả đầu ra từ apt-get update
. Tôi cho rằng bạn không thực sự muốn tùy chọn này.
Trước tiên, bạn cần có một PC có kết nối Internet, nơi bạn có thể tải xuống các tệp .deb cần thiết. Khi bạn đã tải xuống tất cả các tệp, Bây giờ bạn có thể tạo một đĩa CD / DVD hoặc tệp ISO mà bạn có thể sử dụng để cài đặt phần mềm bạn đã tải xuống trong PC ngoại tuyến.
Bắt đầu với một cài đặt sạch hoặc VM.
sudo apt-get install aptoncd
Cài đặt các gói bạn muốn trên một PC
sudo apt-get install gbrainy
Chạy aptoncd
Nhấp vào Tạo
Nhấp vào Ghi và đặt tùy chọn rồi Áp dụng
Ghi hoặc lưu nó
Lưu ý rằng aptoncd chỉ sao lưu mọi thứ trong apt-cache hiện tại.
Đây là lý do tại sao chúng tôi bắt đầu với một VM / cài đặt mới và thực hiện tất cả điều này trong một lần chạy.
Cách tạo kho lưu trữ ngoại tuyến được mô tả tại đây : Bạn chỉ cần tải xuống các tệp thích hợp từ archive.ubfox.com . Ngoài ra, bạn có thể sử dụng apt-medium
.
EDIT: Một cách tiếp cận khác dựa trên một *.deb
tập tin cục bộ của các tệp được mô tả trong các mục blog khác nhau (xem tại đây và đây ). Sarath Chandra tóm tắt như sau:
Tạo một thư mục có thể truy cập (ít nhất là bằng root)
sudo mkdir /var/my-local-repo
Sao chép tất cả các tập tin deb vào thư mục này.
Tạo thư mục dưới dạng
sudo bash -c 'dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz'
hoặc là
sudo dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz
Thêm repo cục bộ vào nguồn
echo "deb file:/var/my-local-repo ./" > /tmp/my-local.list
sudo mv /tmp/my-local.list /etc/apt/sources.list.d/my-local.list
sudo apt-get update
Bước 1: Nhận URL tải xuống trong một tệp:
Thực hiện lệnh sau thay thế tên gói bằng tên bắt buộc, phân tách bằng khoảng trắng.
apt-get -y install --print-uris package-name | cut -d\' -f2 | grep http:// > apturls
Bước 2: Sao chép tệp này (apturls) vào máy có truy cập Internet tốc độ cao và thực hiện lệnh sau để tải xuống các gói:
wget -i path-to-apturls-file
Bước 3: Bây giờ hãy lấy các gói đã tải xuống vào máy của bạn và cài đặt chúng bằng cách sử dụng:
cd path-to-the-downloaded-packages-directory
sudo dpkg -i *.deb
Làm xong!
--print-uris
in ngay cả các phụ thuộc đã được cài đặt trong hệ thống?
Bạn có thể sử dụng Cube . Đây là trình quản lý gói di động cho phép bạn tải xuống các gói trên một máy tính có kết nối internet khác và cài đặt chúng trở lại máy tính Linux gốc của bạn, ngoại tuyến.
Đang tải xuống ứng dụng (Trên Windows)
Cài đặt ứng dụng (Trên Linux)
Bạn có thể tải nó trên trang web của Cube .
Trong synaptic, bạn có thể chọn các gói bạn muốn cài đặt và trong menu đầu tiên, có một tùy chọn để tạo tập lệnh mà bạn có thể đưa đến một máy khác và chạy ở đó. Kịch bản này sẽ "wget" (tức là "download") tất cả các gói mà bạn chỉ định mà bạn muốn (và phụ thuộc của họ) mà bạn chạy trên một máy tính mà không có quyền truy cập internet.
Sau khi chạy, bạn sẽ có tất cả các tệp gói cần thiết cho máy tính bị ngắt kết nối. Mang chúng trên một đĩa CD / USB và cài đặt chúng bằng cách sudo dpkg -i *.deb
.
curl
/ wget
bản sao trên một số phương tiện bên ngoài ...
Bạn có thể sử dụng apt-offline
hoặc apt-offline-gui
.
Yêu cầu trước : Hệ thống của một người bạn có kết nối Internet. apt-offline được cài đặt trong cả hai hệ thống của bạn.
Cài đặt ngoại tuyến đạt được trong 3 bước đơn giản.
Bước 1 :
Tạo tệp chữ ký trên hộp Debian bị ngắt kết nối ở nhà
apt-offline set /tmp/apt-offline.sig
Lệnh trên sẽ tạo ra tất cả thông tin cần thiết từ apt về việc cập nhật cơ sở dữ liệu của nó.
Bước 2 :
Tải xuống dữ liệu dựa trên tệp chữ ký được tạo trước đó
apt-offline get C:\apt-offline.sig --threads 5
Lệnh trên sẽ tải xuống dữ liệu như được đề cập trong tệp chữ ký. Để tăng tốc độ tải xuống (có thể từ nhiều kho apt), trong ví dụ này, chúng tôi sinh ra 5 luồng tải xuống.
Sau khi hoàn thành, bạn có thể sao chép dữ liệu (tệp lưu trữ, nếu bạn đã sử dụng tùy chọn --bundle) trở lại phương tiện di động và sao chép lại vào máy chủ ngoại tuyến của mình.
Bước 3 :
Khi bạn quay lại máy Debian tại nhà, bạn cung cấp dữ liệu từ phương tiện di động sang apt-offline:
apt-offline install /media/USB/apt-offline.zip
Điều này sẽ cập nhật cơ sở dữ liệu APT trên máy bị ngắt kết nối của bạn một cách liền mạch.
Apt-offline thậm chí có thể được sử dụng trong các hệ thống Windows. Theo tôi, apt-offline
là tùy chọn tốt nhất để cài đặt Ngoại tuyến.
Có một số câu trả lời tốt, hiệu quả được liệt kê ở trên. Tuy nhiên, đây là cơ chế cá nhân tôi sử dụng - apt-ftparchive . Tôi đang ghi lại nó ở đây, trong trường hợp tôi cần nó một lần nữa trong tương lai. Có lẽ nó có thể hữu ích cho bạn.
Tạo Ảnh chụp Lưu trữ
sudo apt-get clean
sudo apt-get update
sudo apt-get dist-upgrade --download-only
sudo apt-get install --download-only byobu run-one bikeshed dotdee powernap
sudo apt-get install apt-utils
(cd /var/cache/apt/archives/ && sudo apt-ftparchive packages . ) | sudo tee /var/cache/apt/archives/Packages
sudo tar cvf snapshot.tar -C /var/cache/apt archives/
Sử dụng Ảnh chụp lưu trữ trên Hệ thống mục tiêu ngoại tuyến
tar xvf snapshot.tar
echo "deb file:/home/ubuntu/archives /" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install byobu run-one bikeshed dotdee powernap
Để cài đặt ngoại tuyến, bạn sẽ cần các gói. Nếu bạn đang sử dụng hệ thống Debian
.deb
phần mở rộng tệp và sử dụng dpkg -i package_name
để cài đặt nó Nhận tarball nguồn với phần mở rộng .tar.gz
hoặc .tar.bz2
tệp, sau đó giải nén và cài đặt chúng với:
tar -zxvf your_pack.tar.gz` or tar `-jxvf your_pack.tar.bz2
make
sudo make install
make clean (optional, and may prevent uninstallation)
Bạn có thể có vấn đề với phụ thuộc. Bạn cần cài đặt tất cả những cái đầu tiên để cài đặt ngoại tuyến thành công.
Đúng. Bạn có thể tải xuống iso DVD, ghi nó trên DVD và cài đặt phần mềm từ DVD. Xem ở đây CD và DVD có thể được cung cấp dưới dạng nguồn cho các nhà quản lý gói theo cách tương tự như lưu trữ trực tuyến.
Điều đầu tiên bạn có thể làm trước khi cài đặt gói ngoại tuyến là cập nhật kho lưu trữ / kho lưu trữ mà bạn cần. Bạn nên chắc chắn thích một kho lưu trữ chính được cập nhật (cho phần mềm miễn phí và được hỗ trợ chính thức).
Các ứng dụng mà bạn đang tìm cách cài đặt có thể nằm trong một số kho lưu trữ khác như Vũ trụ (miễn phí nhưng không hỗ trợ chính thức) hoặc Hạn chế (không miễn phí, được hỗ trợ chính thức) hoặc kho lưu trữ Đa chiều (không miễn phí, không hỗ trợ chính thức) . Vì vậy, bạn có thể muốn một hoặc nhiều trong số này quá.
Vì vậy, bước đầu tiên trong quy trình là xây dựng một kho lưu trữ ngoại tuyến được cập nhật; sau đó tạo danh sách "để tải xuống" và tải chúng xuống, và cuối cùng là phần chú thích. Đây là cách nó được thực hiện: nguồn
Nhập url: http://archive.ubuntu.com/ubuntu/dists/ suiteCodename nơi suiteCodename nên substituded một cách thích hợp nói chính xác cho Ubuntu 12.04 (Precise tê tê) [hoặc utopic cho Ubuntu 14.10 (Utopic Unicorn)] để bạn muốn bây giờ hãy ở trong http://archive.ubfox.com/ubfox/dists/precise/ hoặc bất kỳ cụ thể nào khác cho bộ bạn có.
Tải xuống các tệp Release , Release.gpg và Nội dung - ????. Gz tệp cho kiến trúc của bạn (ví dụ: Nội dung-i386.gz , giả sử kiến trúc của bạn là i386). Lưu ba tệp này trong một thư mục / thư mục được đặt tên theo bộ SuiteCodename của bạn ( chính xác cho Precolin Pangolin).
Tiếp theo, bạn sẽ phải thực hiện các thao tác sau cho từng kho lưu trữ (trong số Chính, Vũ trụ, Hạn chế, Đa vũ trụ ) mà bạn muốn.
a. đi đến thư mục kho lưu trữ đích, vd. chính và sau đó đến thư mục kiến trúc, ví dụ. binary-i386 để bạn có mặt trong http://archive.ubfox.com/ubfox/dists/suiteCodename/reposeectiveName/binary-????/
b. tải xuống các nội dung Gói.bz2, Gói.gz, Phát hành và lưu chúng trong một thư mục được đặt tên theo repositoryName, vd. chính và đặt thư mục này trong thư mục suiteCodename được tạo trước đó .
c. lặp lại a. và B. cho mỗi kho lưu trữ bạn muốn.
Cuối cùng, bạn nên có một cấu trúc như thế này:
precise ├── Contents-i386.gz ├── main │ └── binary-i386 │ ├── Packages.bz2 │ ├── Packages.gz │ └── Release.txt ├── Release.gpg ├── Release.txt └── universe └── binary-i386 ├── Packages.bz2 ├── Packages.gz └── Release.txt
(giả sử bộ phần mềm của bạn = chính xác, kiến trúc là i386 và bạn cần các kho lưu trữ chính và vũ trụ)
Tiếp theo, sau khi tải xuống các kho lưu trữ được cập nhật, bạn sẽ đặt các tệp đã tải xuống được sắp xếp theo cấu trúc phù hợp (như được hiển thị ở trên) trong một thư mục của máy tính ngoại tuyến đích. Lưu cấu trúc precise
thư mục trong một thư mục có tên offlineRep repository / dists / chính xác trong nhà người dùng của bạn ( ~/offlineRepository/dists/precise
) hoặc bất cứ nơi nào khác ( /home/offlineRepository/dists/precise
sử dụng ưu tiên sudo trong một thiết bị đầu cuối hoặc với trình quản lý tệp Nautilus đã bắt đầu gksu nautilus
; . Thông tin kho lưu trữ ngoại tuyến của bạn sau đó sẽ sẵn sàng để sử dụng.
Thêm kho lưu trữ cục bộ trong danh sách nguồn của bạn . Với Trung tâm phần mềm Ubuntu , đi đến Chỉnh sửa -> Nguồn phần mềm ... -> Phần mềm khác -> Thêm ... và sau đó trong trường cho dòng APT, thêm: deb file:///home/offlineRepository precise main universe
và nhấp vào Thêm nguồn . Hãy chắc chắn rằng bạn sửa đổi dòng như cấu trúc thư mục / tập tin và bộ. Sau đó tải lại các gói hoặc chạy sudo apt-get update
trong một thiết bị đầu cuối.
Bây giờ với các kho lưu trữ được cập nhật (và có lẽ cũng mới được thêm vào), bạn có thể kết xuất danh sách các url cho các gói và phụ thuộc.
Tôi mượn dòng mã sau đây từ một trong những bài đăng trên AskUbfox trước đây:
sudo apt-get install packageName --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
ví dụ. để cài đặt Trình quản lý gói Synaptic:
sudo apt-get install synaptic --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
(Bạn cũng có thể tạo danh sách cập nhật theo cách tương tự.)
Danh sách được tạo có thể được sử dụng để tải xuống gói và toàn bộ phụ thuộc trên máy tính trực tuyến. Tạo một tập lệnh để tải xuống hoặc sử dụng danh sách để tải xuống hàng loạt trong một số trình quản lý tải xuống. (Cũng lưu ý tệp văn bản được tạo sử dụng kết thúc dòng Unix / Linux và bạn có thể muốn đổi sang Windows.) Đã từng có một cách dễ dàng hơn cho việc này khi Trình quản lý gói Synaptic là một ứng dụng mặc định trong Ubuntu.
Cuối cùng, trong hệ thống đích, bạn có thể cài đặt các gói với dpkg
hoặc sử dụng bất kỳ cách nào khác.
Cấu trúc sau đây, ngoài lời giải thích ở trên, sẽ cho bạn ý tưởng:
/opt/offlineRepoList/ └── dists ├── precise │ ├── Contents-i386.gz │ ├── main │ │ └── binary-i386 │ │ ├── Packages.bz2 │ │ ├── Packages.gz │ │ └── Release.txt │ ├── Release.gpg │ ├── Release.txt │ └── universe │ └── binary-i386 │ ├── Packages.bz2 │ ├── Packages.gz │ └── Release.txt ├── precise-security │ ├── Contents-i386.gz │ ├── main │ │ └── binary-i386 │ │ ├── Packages.bz2 │ │ ├── Packages.gz │ │ └── Release │ ├── Release │ ├── Release.gpg │ └── universe │ └── binary-i386 │ ├── Packages.bz2 │ ├── Packages.gz │ └── Release └── precise-updates ├── Contents-i386.gz ├── main │ └── binary-i386 │ ├── Packages.bz2 │ ├── Packages.gz │ └── Release ├── Release ├── Release.gpg └── universe └── binary-i386 ├── Packages.bz2 ├── Packages.gz └── Release
Sau khi duyệt các câu trả lời ở đây: Làm cách nào tôi có thể cài đặt phần mềm hoặc gói mà không có Internet (ngoại tuyến)? , Tôi thấy mã này của Arnel A. Borja là hữu ích nhất.
sudo apt-get install PACKAGE --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh
Dù sao, đây là một số hướng dẫn cho người mới hoàn thành. Tôi hy vọng rằng bạn sẽ tìm thấy chúng hữu ích.
cd FOLDERNAME
(Ví dụcd Desktop
:)
Mẹo: Bạn cũng có thể sử dụngdir
lệnh để liệt kê các thư mục.
Mã ví dụ để tải xuống Trình quản lý gói Synaptic:
sudo apt-get install synaptic --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh
Mã ví dụ để tải xuống trình phát VLC:
sudo apt-get install vlc --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh
sh install.sh
sudo dpkg -i *.deb
Hoặc bạn có thể sử dụng một chương trình như Synaptics để cài đặt các gói. (Synaptics: File - Thêm các gói đã tải xuống)
Ngoài ra, bạn cũng có thể chỉ cần nhấp đúp vào tệp. Điều đó sẽ mở Trung tâm phần mềm Ubuntu. Khi trung tâm phần mềm được tải, nhấn nút cài đặt. Lặp lại điều này cho đến khi tất cả các tệp trong thư mục được cài đặt.
Tôi có một tập lệnh python nhỏ có thể chạy trên Windows để phân tích trang web gói ubfox để tìm cây phụ thuộc và tải xuống tất cả các gói cần thiết + thực hiện xác minh tổng kiểm tra.
Điều này rõ ràng có thể tải xuống nhiều hơn cần thiết, nhưng là giải pháp đơn giản nhất đối với tôi.
https://gist.github.com/Zitrax/2bad212a3b0571357e1b
Tất cả các gói tải về sau đó có thể được cài đặt với dpkg -i E pkg\*
. Nó tránh cài đặt lại các gói đã được cài đặt.
Sử dụng:
usage: ubuntu-deps.py [-h] [-a ARCH] [-r RELEASE] [-m MIRROR] [-f FALLBACK] [-d DIRECTORY] dep [dep ...]
Download ubuntu dependencies
positional arguments:
dep The main/top package
optional arguments:
-h, --help show this help message and exit
-a ARCH, --arch ARCH The architecture to use (default: amd64)
-r RELEASE, --release RELEASE Ubuntu release (default: trusty)
-m MIRROR, --mirror MIRROR Mirror to use for download (default: http://no.archive.ubuntu.com/)
-f FALLBACK, --fallback FALLBACK Mirror to use when main mirror is not found (default:
http://security.ubuntu.com/)
-d DIRECTORY, --directory DIRECTORY Target directory (default: pkg)
Đối với một hệ thống sẽ luôn được giữ ngoại tuyến, tốt nhất là sử dụng một trong các phương pháp quản lý gói ngoại tuyến mạnh mẽ được trình bày trong một số câu trả lời khác. Điều này bởi vì chúng tạo điều kiện cho các gói đã được cài đặt cập nhật, thay vì chỉ cài đặt một số gói một lần.
Tuy nhiên, đối với các trường hợp riêng lẻ mà bạn chỉ muốn cài đặt nhanh các gói trên hệ thống không có kết nối Internet (và bạn có khả năng tải xuống chúng trên một máy khác và mang chúng đi), bạn có thể làm như vậy. Sự phức tạp chính là xác định những gì bạn cần, vì một gói thường có các gói khác mà nó phụ thuộc và do đó phải được cài đặt trước đó, hoặc cùng lúc với gói được cài đặt.
Câu trả lời này được thúc đẩy bởi câu hỏi trùng lặp g ++ trong Ubuntu 14.04 và sử dụng trường hợp cần cài đặt g++
làm ví dụ cốt lõi của nó.
Tôi nhấn mạnh rằng phương pháp này không nên được sử dụng lâu dài như là một phương pháp thay thế cho thứ gì đó ít nhất tạo điều kiện tự động xác định và cài đặt các cập nhật bảo mật cần thiết. Không bao giờ kết nối với mạng làm giảm đáng kể khả năng bị tấn công, nhưng một số lỗi bảo mật có thể bị khai thác qua dữ liệu từ bất kỳ nguồn nào.
Mặc dù phương pháp này có thể trông phức tạp, nhưng nó thường chỉ mất vài phút. Đối với các gói có số lượng phụ thuộc lớn, có thể mất nhiều thời gian hơn. Để cài đặt các siêu dữ liệu có số lượng phụ thuộc rất lớn (ví dụ: ubuntu-desktop
trên một hệ thống tối thiểu), có thể mất nhiều thời gian hơn để tải xuống tất cả các tệp .deb cần thiết và phương pháp này không phù hợp.
Bạn có thể mô phỏng cài đặt để xác định các gói khác là cần thiết để đáp ứng các phụ thuộc của gói. Truyền -s
cờ đến apt-get
( trước khi bạn chỉ định bất kỳ hành động nào) thực hiện việc này.
apt-get -s install g++
Tôi đã bỏ qua sudo
, vì đây chỉ là một mô phỏng, vì vậy không cần có quyền root.
Nếu bạn thực sự muốn cài đặt tất cả các công cụ phổ biến nhất để xây dựng các gói, thay vì chỉ g++
, bạn có thể thích:
apt-get -s install build-essential
Đầu ra (cho g++
) sẽ trông giống như thế này:
NOTE: This is only a simulation!
apt-get needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
g++-4.8 libstdc++-4.8-dev
Suggested packages:
g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
libstdc++-4.8-doc
The following NEW packages will be installed:
g++ g++-4.8 libstdc++-4.8-dev
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Inst libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])
Conf libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])
Điều này nói rằng để cài đặt g++
trên hệ thống của tôi, tôi cần gói g++
, g++-4.8
và libstdc++-4.8-dev
.
Đi theo kết quả của một mô phỏng thường tốt hơn là tìm kiếm các phụ thuộc của gói (hoặc giả sử rằng những gì bạn cần giống như trên), bởi vì:
Một khi bạn biết những gói bạn cần, bạn có thể tải chúng xuống. Tôi khuyên bạn nên sử dụng Launchpad cho việc này, vì các phần tải xuống được mã hóa SSL, giúp ngăn ngừa hỏng tệp.
apt-get
hoặc Trung tâm phần mềm không yêu cầu HTTPS vì hàm băm của nó được xác minh dựa trên danh sách băm được ký kỹ thuật số. Nếu bạn kết thúc việc đặt các gói này vào bộ đệm của gói và sử dụng apt-get
để cài đặt chúng, điều đó sẽ xảy ra.dpkg -i
, điều đó sẽ không được thực hiện.Bạn có thể tìm kiếm một gói bằng cách nhập tên của nó trong Gói tại https://launchpad.net/ubfox và nhấp vào "Tìm gói". Ví dụ: tìm kiếm g++-4.8
sẽ đưa bạn đến trang gói nguồn gcc-4.8 .
Sau đó cuộn xuống tên mã của bản phát hành Ubuntu của bạn. Bạn đang chạy 14.04, vì vậy đó là Trusty Tahr. Tên mã cho tất cả các bản phát hành Ubuntu được liệt kê trên trang wiki phát hành . Nhấp vào hình tam giác hướng phải để xem các gói tải xuống cho nó.
Đối với một số gói, bạn có thể mở rộng danh sách tải xuống từ nhiều hơn một túi . Bạn có thể thấy:
Ví dụ: đây là những gì có sẵn cho Firefox vào ngày 14.04:
Nói chung, bạn sẽ muốn các gói trong bảo mật hoặc cập nhật nếu chúng tồn tại và các gói khác được phát hành .
Khi bạn mở rộng danh sách các gói, hãy tìm .deb
tệp cho kiến trúc của bạn. Các cuộc tranh luận được đặt tên . Các kiến trúc phổ biến nhất là:name_version_architecture.deb
amd64
cho cả bộ xử lý Intel và AMD)i386
, cũng cho cả hai)Ví dụ: để có được g++-4.8
gói cho phiên bản Ubuntu 64 bit, bạn có thể tải xuống g++-4.8_4.8.4-1ubuntu15_amd64.deb
.
Nếu các gói bạn lấy ra là phiên bản tương tự mà apt-get
's install
hành động sẽ đã tự động lấy ra và cài đặt (nếu hệ thống của bạn đã được kết nối mạng), sau đó bạn có thể đặt các gói trong /var/cache/apt/archives
và chỉ cần chạy lệnh:
sudo apt-get install g++
Nếu hệ thống này không bao giờ được kết nối với Internet, thì đây có thể là trường hợp khi tất cả các gói bạn lấy được từ túi phát hành . Bất kể hệ thống có được kết nối với Internet hay không, điều này cũng sẽ luôn luôn như vậy nếu không có gói nào trong bất kỳ túi nào khác được hiển thị trên Launchpad. (Về cơ bản, tình huống duy nhất sẽ không xảy ra nếu bạn cài đặt hệ thống alpha hoặc beta và không bao giờ cập nhật nó.)
Trong trường hợp cụ thể của cài đặt g++
, tôi sẽ sử dụng apt-get
.
Trong trường hợp điều đó không hoạt động hoặc bạn mong đợi nó sẽ không, hãy cài đặt các gói bằng cách đặt chúng vào một thư mục trống khác và chạy:
sudo dpkg -Ri /path/to/folder
Hoặc bạn có thể đặt tên cho các gói riêng lẻ. Ví dụ này giả sử các gói nằm trong thư mục hiện tại (nghĩa là bạn đã cd
ed vào thư mục chứa chúng):
sudo dpkg -i package1.deb package2.deb ...
Trừ khi số lượng gói được cài đặt rất ít và bạn biết thứ tự chính xác mà chúng cần được cài đặt để phụ thuộc được thỏa mãn, sử dụng các phương thức đó hiệu quả hơn nhiều so với cài đặt riêng từng gói.
Nếu bạn không có kết nối với internet và không có ai ở gần nơi bạn có thể kết nối với internet, có một tùy chọn chưa được đề cập: có ai đó gửi các tệp nguồn qua bài đăng thông thường.
Bạn có thể nhận được toàn bộ hệ điều hành Ubuntu thông qua thư bằng cách trả tiền cho một đĩa DVD. Giống như cách bạn có thể yêu cầu một người bạn trực tuyến gửi cho bạn các tệp DEB hoặc thậm chí các tệp nguồn cho một gói như VLC cho bạn. Mặc dù có thể đáng để ai đó gửi một đĩa DVD hoàn chỉnh với tất cả các gói. Bằng cách đó bạn có thể cài đặt nó từ DVD đó.
Đây không phải là một câu trả lời chi tiết đầy đủ, nhưng ở mức độ cao, bạn có thể:
Tôi đề nghị tùy chỉnh Live CD và cài đặt chúng.
Bạn cũng có thể tải xuống các tệp trên http://packages.ubfox.com/ tên tệp , nhưng sau đó bạn cũng phải chú ý đến các phụ thuộc.
Một khả năng khác là sử dụng remasterys. Công cụ này cho phép bạn tạo một hình ảnh iso từ hệ thống của riêng bạn và sau khi tạo một thanh USB có thể khởi động thông qua unetbootin, bạn có thể cài đặt một hệ thống tùy chỉnh cho nhiều máy tính bạn muốn.
Tôi có một vài gợi ý đơn giản. Bạn có thể đến thư viện. Nhìn vào phần máy tính cho hệ điều hành mà bạn muốn, một số sách có DVD bên trong chúng. Ngoài ra, nếu bạn muốn hệ điều hành cập nhật nhất, tôi sẽ giới thiệu trang web này nơi bạn có thể mua DVD với một khoản phí danh nghĩa. www.ubfox.com/doad/desktop.
Câu hỏi này hơi cũ nên câu trả lời tại thời điểm này có thể là dư thừa, nhưng có lẽ bạn cũng có thể thử sử dụng dpkg-offline . Cài đặt bzr, sau đó:
bzr branch lp:dpkg-offline
có một hướng dẫn và một tập tin readme bao gồm trong đó.
Giả sử bạn muốn cài đặt git trên hệ thống Ubuntu 14.04 amd64, ngay cả khi hệ thống của bạn là 12.04 i386, bạn có thể:
dpkg-offline ubuntu-14.04-desktop-amd64.iso git
apt-get
để cài đặt các gói của mình.dpkg-offline sẽ hoạt động với mọi phiên bản máy tính để bàn Ubuntu từ 10.04 trở đi (Tôi chưa thử nghiệm với các phiên bản cũ hơn nhưng chúng cũng sẽ hoạt động) và với bất kỳ phiên bản máy chủ Ubuntu nào từ 12.10 trở đi. Nó cũng nên hoạt động với hình ảnh amd64, i386 và armhf bất kể kiến trúc máy chủ. Một lần nữa, tôi chưa thử nghiệm với arm64 hoặc powerpc / ppc64el nhưng chúng cũng có thể hoạt động.
Tuyên bố miễn trừ trách nhiệm: Tôi đã viết dpkg-offline.
Một số gói được cài đặt trên thanh cài đặt usb. Tôi gỡ cài đặt network-manager
và muốn cài đặt lại.
Vì vậy, tôi đã nhận được thanh tôi đã cài đặt hệ điều hành từ (Lubfox 17.10). Đó là/dev/sdb
Gắn cây gậy vào một con đường ( /tmp/mnt
trong trường hợp của tôi)
mkdir /tmp/mnt
sudo mount /dev/sdb1 /tmp/mnt
Sau đó, tôi chỉnh sửa /etc/apt/sources.list
để chỉ chứa
deb file:///tmp/mnt/ main universe
Sau đó, tôi làm
sudo apt-get update
Và tôi có thể cài đặt network-manager
.
Lưu ý: Đây có thể không phải là câu trả lời cho câu hỏi trên mà là câu hỏi tôi có khi tìm kiếm câu hỏi này.
sources.list
và sau đó khôi phục nó.