環境:一台能上網的ubuntu電腦,一台不能上網的ubuntu電腦。ubuntu版本都是18.04lts。
目標:將能上網的ubuntu電腦安裝的軟體製作成源,通過u盤拷貝給內網電腦,內網電腦根據此離線源通過apt安裝軟體。
為什麼不直接拷貝deb安裝呢?因為有些軟體安裝依賴的包比較多。
遇到的問題:
從ubuntu 16.04 (xenial)起, 在將本地deb軟體包建立repo時候,跟14.04以前的版本相比,強制要求gpg對release檔案簽名,否則無法使用。
步驟:
apt-get install gnupg
apt-get install rng-tools
金鑰建立過程中,需要使用到足夠的隨機數(random),可先行安裝rng-tools, 該工具可以常駐後台的方式, 生成隨機數,避免gpg金鑰建立過程中的長時間等待問題
rngd -r /dev/urandom
生成公鑰和私鑰:
gpg --gen-key
執行gpg會進入一些對話,其中要新建乙個使用者名稱username和相應的密碼。
結束之後,輸入命令,可以檢視key:
gpg --list-key
匯出gpg公鑰和私鑰:
私鑰,供server端,對release檔案簽名使用,好像不做也能簽名
gpg -a --export-secret-keys username > ubuntu_local_archive_automatic_signing_key_2017.sec
公鑰,需在ubuntu client 匯入,供apt-get使用
gpg -a --export username> username.pub
2.在外網電腦上準備安裝包源
以下是安裝包目錄
$ sudo rm -rf /var/cache/apt/archives/* # 清空快取目錄,這一步也可以不做
$ sudo apt-get -d install 《包名》
$ mkdir /var/debs
$ cp -r /var/cache/apt/archives/*.deb /var/debs/
在debs這個目錄建立packages.gz,注意生成的路徑帶debs,否則內網安裝時會說找不到檔案
# apt-ftparchive packages debs > debs/packages
# cd debs
# gzip -c packages > packages.gz
在debs這個目錄下建立release file
# apt-ftparchive release ./ > release
ubuntu apt-get 對軟體包索引,首先要求inrelease檔案,其次才去找release、release.gpg檔案; 這情況下, 其實只需要建立inrelease檔案(包含release檔案和明文簽名)即可:
#gpg --clearsign -o inrelease release
#gpg -abs -o release.gpg release
3. 將生成的debs目錄和公鑰檔案username.pub拷貝到u盤
4.在內網的電腦上將debs目錄拷貝到/vars/下面,注意和外網的目錄一樣。
如下並匯入公鑰。
# apt-key add username.pub
5.在內網電腦上備份apt原始檔/etc/apt/source.list,並修改源。
$ sudo gedit /etc/apt/sources.list
將sources.list 原來的內容都注釋掉。在最後新增
$ deb file:/var debs/
$ sudo apt-get update
現在可以安裝包了。執行sudo apt-get install 《包名》 就會像以前一樣安裝好了指定的包了。 Ubuntu18 04離線安裝NVIDIA顯示卡驅動
費了一天的勁,走了好多的坑,最主要的原因是gcc版本的問題,一定要用最新版本的gcc 我用的是gcc 7.3 刪除所有原來顯示卡驅動sudo apt remove purge nvidia 4 禁用nouveau驅動 sudo gedit etc modprobe.d blacklist.conf ...
ubuntu18 04離線安裝pytorch
然後切換到相應目錄,分別安裝即可 sudo pip install torch 1.4.0 cp36 cp36m linux x86 64.whl sudo pip install torchvision 0.5.0 cp36 cp36m linux x86 64.whl安裝完成後新建終端驗證 py...
ubuntu18 04 更換阿里源
1.複製原始檔備份,以防萬一 sudo cp etc apt sources.list etc apt sources.list.back 2.編輯源列表檔案 sudo vim etc apt sources.list全選 高亮顯示 按esc後,然後g g或者g g 全部複製 按esc後,然後ggy...