Ubuntu離線安裝軟件包

1、應用場景

a.當咱們須要在多臺電腦安裝同一個軟件,而且這個軟件很大,下載須要很長時間時
b.須要安裝軟件的ubuntu不能上網python

 

2、離線安裝包的製做

環境說明

系統是 ubuntu-16.04.5-server-amd64,默認已經安裝好了python3,版本爲3.5.2nginx

 

安裝制定軟件

更改ubuntu的更新源爲阿里雲,默認的速度太慢了數據庫

sudo vi /etc/apt/sources.list

內容以下:ubuntu

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu xenial-security main restricted
deb http://mirrors.aliyun.com/ubuntu xenial-security universe
deb http://mirrors.aliyun.com/ubuntu xenial-security multiverse

 

 

經過以下指令下載XXXX軟件所須要的deb包,好比安裝python3-pipvim

sudo apt-get -y install python3-pip

執行完上述指令後,XXXX軟件的安裝包就下載到了/var/cache/apt/archives目錄下安全

 

生成依賴關係

新建一個文件夾

在項目根目錄新建文件夾offlinePackage服務器

sudo mkdir /offlinePackage

拷貝下載的deb包

將下載的deb包拷貝到上述新建的文件夾下網絡

sudo cp -r /var/cache/apt/archives  /offlinePackage

修改文件夾權限

修改文件夾的權限,可讀可寫可執行工具

sudo chmod 777 -R /offlinePackage/

創建deb包的依賴關係

sudo dpkg-scanpackages /offlinePackage/ /dev/null |gzip >/offlinePackage/Packages.gz

若是出現錯誤:sudo: dpkg-scanpackages: command not found阿里雲

則須要安裝dpkg-dev工具

sudo apt-get install dpkg-dev

打包成壓縮包

sudo tar zcvf offlinePackage.tar.gz /offlinePackage/

保存offlinePackage.tar.gz文件到U盤或服務器

 

3、在另一臺Ubuntu上離線安裝

拷貝文件到根目錄

插入U盤或光盤,將offlinePackage.tar.gz複製到根目錄下,解壓

sudo tar zxvf offlinePackage.tar.gz -C /

添加到系統源

注意:咱們在添加以前能夠先將原來的源備份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.back

 

將安裝包所在和源路徑添加到系統源source.list

sudo vi /etc/apt/sources.list

內容以下:

deb file:/// offlinePackage/

注意:offlinePackage前面有一個空格

 

更新系統源

sudo apt-get update

輸出:

W: The repository 'file: offlinePackage/ Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

大概意思是,這是不安全的更新源

 

離線安裝

此時,在沒有網絡的狀況下,咱們就能夠安裝咱們之間下載的XXXX軟件了

好比安裝python3-pip,注意:因爲上面已經提示不安全了,因此安裝軟件時,必需要加--allow-unauthenticated

不然報錯 E: There were unauthenticated packages and -y was used without --allow-unauthenticated

sudo apt-get -y install python3-pip --allow-unauthenticated

注意:
兼容性問題,若是咱們製做安裝包時,用的是64位的ubuntu,那麼該離線包只能在其餘64位系統上安裝。
有些軟件對ubuntu server和ubuntu desktop版也不兼容。總之,在什麼系統下製做的離線包,就在什麼系統下安裝。

 

查看pip3版本

pip3 -V

輸出:

pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

說明安裝成功了!

 

本文參考連接:

https://blog.csdn.net/wangqiulin123456/article/details/39582269

 

4、使用deb http方式

上線使用的是file方式,只能本機使用。那麼其餘服務器要使用,就不行了!
這個時候,須要使用http方式。可讓局域網的其餘服務器使用!

安裝nginx

sudo apt-get install -y nginx

搭建項目索引頁

這裏不使用域名,直接訪問IP地址做爲主頁!

註釋掉nginx的默認首頁

sudo vim /etc/nginx/nginx.conf

找到如下內容,將sites-enabled註釋掉

include /etc/nginx/conf.d/*.conf;
#include /etc/nginx/sites-enabled/*;

 

進入目錄conf.d,新建文件deb.conf

vim /etc/nginx/conf.d/deb.conf 

內容以下:

server {
    listen 80;
    server_name localhost;
    root /offlinePackage;

    location / {
        autoindex on;
    }
}

 

檢查配置文件是否正確

sudo nginx -t

若是出現如下提示,表示ok

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

 

加載配置

nginx -s reload

 

訪問索引頁

訪問url: http://192.168.91.128/ ,效果以下:

 

更新ubuntu數據庫

編輯配置文件

sudo vim /etc/apt/sources.list

最後一行增長

deb http://192.168.91.128 /

注意:保證有空格,不然會提示格式錯誤。

最後一個是斜槓

 

使用apt-get update來更新一下

sudo apt-get update

 

以後,就能夠安裝軟件了!

務必注意:使用apt-get install -y 軟件名,後面必定要帶--allow-unauthenticated,由於它是私有的,尚未簽名!

 

本文從參考連接:

https://www.jianshu.com/p/ee870d63c175

相關文章
相關標籤/搜索