1. 程式人生 > >Ubuntu本地源製作與本地源的維護

Ubuntu本地源製作與本地源的維護

  1、製作軟體源


  使用Ubuntu一段時間的人都應該知道,所有從軟體倉庫中安裝的軟體包都會在本地的。


  /var/cache/apt/archives


  中進行快取。而且每次安裝完Ubuntu,重新上網安裝中文語言包是個非常麻煩的事情,而且每次都要安裝MP3等音訊視訊程式的版權驅動,十分麻煩。所以,本地源的製作就非常必要了。


  言歸正傳,首先需要安裝軟體包dpkg-dev


  #sudo apt-get install dpkg-dev


  等配置好後,在/下建立一個目錄software作為軟體包的存放地點,或者放在硬碟中任意位置。


  將/var/cache/apt/archives中的所有軟體包拷貝到這個資料夾裡。


  執行以下命令,進行軟體源的製作


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


  等待系統掃描完所有的軟體包後,會返回命令列,並且在software資料夾中生成一個名為Packages.gz的壓縮檔案,存有這個資料夾中的軟體包資訊及其依賴關係。


  2、使用軟體源


  接上文


  #sudo gedit /etc/apt/sources.list


  刪除所有內容,新增


  deb file:/// software/


  儲存。


  開啟終端,輸入


  #sudo apt-get update


  以更新本地的軟體包列表


  然後可以用apt-get命令安裝本地源中含有的軟體包或者像我一樣直接執行


  #sudo apt-get dist-upgrade


  命令更新系統。如果再懶一點,可以輸入以下命令


  #sudo apt-get update;sudo apt-get dist-upgrade


  來直接進行以上工作。


  3、維護軟體源


  如果軟體源只是你在本地備份的軟體包,以便給其他電腦安裝系統時候所用,而平時你都是上網更新系統。那麼維護你的軟體源就顯得比較重要了。過去我的做法是,一旦網上更新了系統,就把本地快取資料夾中的更新軟體包拷貝到本地原始檔夾中,然後執行dpkg-scanpackages命令製作索引檔案。但是久而久之問題也凸顯出來,有些程式的更新檔案,卻不被索引到檔案中去,還佔用著巨大的空間。於是網上搜索發現有一個命令apt- get autoclean,於是乎試驗之,發現收效甚微,卻又苦於不瞭解依賴關係而不敢手動刪除多餘的軟體包。更加鬱悶的是,我的本地源已經有4.1G之巨,手動刪除乃費力之舉,而且一旦錯刪,後果可想而知。聯想到製作本地源過程中出現在終端的警告資訊,和Bash的IO重定向功能。本人今日做了如下試驗:


  #sudo dpkg-scanpackages /software 2>/home/kernel/桌面/errors


  此命令意思為,將dpkg-scanpackages命令的標準錯誤輸出重定向到桌面的errors檔案中去,這樣就可以在錯誤輸出資訊中找出重複的軟體包並加以刪除了。


  在此引用以下此錯誤檔案的部分內容


  *********以下為內容*********

  dpkg-scanpackages: 警告: Package acroread (filename /media/localsources/software/acroread_9.3.3-1lucid1_i386.deb) is repeat but newer version;

  dpkg-scanpackages: 警告: used that one and ignored data from /media/localsources/software/acroread_9.3.2-lucid1_i386.deb!

  dpkg-scanpackages: 警告: Package adobe-flashplugin (filename /media/localsources/software/adobe-flashplugin_10.1.53.64-1lucid1_i386.deb) is repeat but newer version;

  dpkg-scanpackages: 警告: used that one and ignored data from /media/localsources/software/adobe-flashplugin_10.0.45.2-1lucid1_i386.deb!

  dpkg-scanpackages: 警告: Package apache2-utils (filename /media/localsources/software/apache2-utils_2.2.14-5Ubuntu8_i386.deb) is repeat;

  dpkg-scanpackages: 警告: ignored that one and using data from /media/localsources/software/apache2-utils_2.2.14-5Ubuntu8.2_i386.deb!

  dpkg-scanpackages: 警告: Package apt-transport-https (filename /media/localsources/software/apt-transport-https_0.7.25.3Ubuntu9.1_i386.deb) is repeat but newer version;

  dpkg-scanpackages: 警告: used that one and ignored data from /media/localsources/software/apt-transport-https_0.7.25.3Ubuntu8_i386.deb!

  dpkg-scanpackages: 警告: Package apt-transport-https (filename /media/localsources/software/apt-transport-https_0.7.25.3Ubuntu9.3_i386.deb) is repeat but newer version;

  dpkg-scanpackages: 警告: used that one and ignored data from /media/localsources/software/apt-transport-https_0.7.25.3Ubuntu9.1_i386.deb!

  dpkg-scanpackages: 警告: Package apt-transport-https (filename /media/localsources/software/apt-transport-https_0.7.25.3Ubuntu9_i386.deb) is repeat;

  dpkg-scanpackages: 警告: ignored that one and using data from /media/localsources/software/apt-transport-https_0.7.25.3Ubuntu9.3_i386.deb!

  *********以上為內容*********


  然後分析提示資訊,得出什麼軟體包是需要留下的,什麼軟體包是需要刪除的,再通過一系列的替換等命令,將此檔案作成一個Shell指令碼檔案,賦予指令碼檔案可執行許可權即可了。


  指令碼檔案如下內容(舉例)


  *********以下為內容*********

  #! /bin/sh

  rm /media/localsources/software/acroread_9.3.2-lucid1_i386.deb

  rm /media/localsources/software/adobe-flashplugin_10.0.45.2-1lucid1_i386.deb

  rm /media/localsources/software/apache2-utils_2.2.14-5Ubuntu8_i386.deb

  rm /media/localsources/software/apt-transport-https_0.7.25.3Ubuntu8_i386.deb

  rm /media/localsources/software/apt-transport-https_0.7.25.3Ubuntu9.1_i386.deb

  rm /media/localsources/software/apt-transport-https_0.7.25.3Ubuntu9_i386.deb

  *********以上為內容*********


  執行後,即可見到本地源目錄中不需要的檔案已經被刪除掉!


  說明:本文只是筆者今天突發奇想的一種方法,實際會有更簡潔的解決辦法,希望大家能夠對筆者的方法進行批評和指正。

相關推薦

Ubuntu本地製作本地維護

  1、製作軟體源   使用Ubuntu一段時間的人都應該知道,所有從軟體倉庫中安裝的軟體包都會在本地的。   /var/cache/apt/archives   中進行快取。而且每次安裝完Ubuntu,重新上網安裝中文語言包是個非常麻煩的事情,而且每次都要安裝MP3等音訊視訊程式的版權驅動,

定位定位

當衛星導航系統使用有源時間測距來定位時,使用者終端通過導航衛星向地面 控制中心發出一個申請定位的訊號,之後地面控制中心發出測距訊號,根據訊號 傳輸的時間得到使用者與兩顆衛星的距離。除了這些資訊外,地面控制中心還有一 個數據庫,為地球表面各點至地球球心的距離,當認定使用者也在此不均勻球面的

ubuntu本地軟體製作

1.安裝dpkg-dev疊變工具 sudo  apt-get install dpkg-dev 2.當前使用者目錄下建立software目錄 mkdir  ~/software 3.將archives目錄下所有檔案複製到當前使用者的software目錄下 cp

CentOS 6.x 本地yum配置使用

mnt local 放置 cal nbsp 自動 all rpm-gpg 網絡 系統默認已經安裝了可使用yum的軟件包,所以可以直接配置: # mount /dev/cdrom /mnt 掛載鏡像,可以寫到配

ubunut 本地軟體製作

sudo apt-get install dpkg-dev mkdir ~/software cp -R -v /var/cache/apt/archives/* ~/software sudp dpkg-sanpackages ~/software /dev/nu

CentOs 本地YUM製作

YUM相關概念 什麼是YUM YUM(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,

Linux軟體包安裝解除安裝,yum搭建本地倉庫,yum下載rpm包,安裝擴充套件,更換國內

Linux軟體包的安裝與解除安裝安裝軟體包的三種方法rpm工具 red hat package manager,紅帽公司開發的包管理軟體yum工具 Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及Cen

rhel7系統配置本地yum本地網路yum

在區域網絡中,或者在不能連線外網的情況下,當需要安裝軟體時,往往需要配置yum源來實現自給自足。 【先解釋下什麼是yum】 Yum (全稱為:Yellow dog Updater, Modified) 由Duke University團隊,修改Yellow

Centos7.4配置本地yum和阿裏並配置yum優先級

yum yum阿裏源 yum本地配置 yum網絡配置 一、用Centos鏡像搭建本地yum源 安裝完linux系統的默認yum源為centos的官方地址,在“國內的特殊環境”下使用很慢甚至無法訪問,所以一般的做法都是把默認的yum源替換成aliyun的yum源或者163等國內的yum源。但是

CentOS配置本地yum,網絡以及優先級

yum linux 1.用Centos鏡像搭建本地yum源 在配置網絡yum之前我們先卸載舊的yum,並下載CentOS的對應軟件包安裝,這一步配置yum源都要操作 [root@localhost tools]# rpm -aq|grep yum yum-metadata-parser-1.1.2-1

centos7安裝部署本地局域網yum

ini linux 應用場景 size 安裝部署 log centos7 系統 本地yum 應用場景: 當Linux系統都是最小化安裝的系統,又無法做到每臺都能訪問外網的情況下,安裝常用工具或者依賴包的最好辦法可能就是建立本地yum源了。 安裝環境: 一臺 centos

django碼分析——本地runserver分析

能夠 django 我們 prevent sign ext 所有 nat ike 本文環境python3.5.2,django1.10.x系列 1.根據上一篇文章分析了,django-admin startproject與startapp的分析流程後,根據django的官

搭建本地yum和區域網yum

搭建本地yum源和區域網yum源     由於很多客戶環境是專網,不允許連網,無法使用網上的各種yum源,來回拷貝rpm包安裝麻煩,還得解決依賴問題。所以想著搭建個本地/區域網YUM源,方便安裝軟體。 1      

配置本地yum和區域網yum

配置本地yum源和區域網yum源 引言: 為什麼要寫這段引言呢,是因為在做配置區域網yum源的時候遇到了太多的疑問,於是把就這些問題記錄下來,和大家分享一下。 1、區域網yum源適用條件? 舉個例子,在公司裡,某天斷網了,有幾百臺電腦要使用yum源,我們不能使用網路y

Ubuntu 16.04 TX2 學習筆記(一) 系統軟體更新

1.系統更新 ~$: sudo apt-get update ~$: sudo apt-get dist-update 2.更改軟體源 TX2的軟體源為國外伺服器,網速會很慢,需要換國內的ARM源。 備份/etc/lib路徑下的source.list檔案,然後在終端

Ubuntu系統Anaconda下載安裝切換教程

1. 下載安裝: 這裡選用國內清華大學的Tuna開源軟體映象站作為演示,開啟Anaconda安裝包的下載地址,選擇最新的Anaconda版本對應的連結,複製到終端當中下載。 例如這裡選擇 Anaconda3-5.2.0 Linux 64位版本下載,在終端中輸入 wget http

利用本地iso檔案建立yum

1、首先建立本地掛載目錄 mkdir /mnt/cdrom 2、為了避免預設yum源的影響,將本地yum配置檔案備份轉移 mkdir  /etc/yum.repos.d/yumbak mv /etc/yum.repos.d/rhel-*  /etc/yum.repos.d

CentOS配置本地yum/阿里雲yum/163yuan,並配置yum的優先順序

一、用Centos映象搭建本地yum源 由於安裝centos後的預設yum源為centos的官方地址,所以在國內使用很慢甚至無法訪問,所以一般的做法都是把預設的yum源替換成aliyun的yum源或者163等國內的yum源(下文介紹如何配置)。 但

ubuntu伺服器本地檔案傳輸

首先可以通過root進入到伺服器中,(登入方法在下面講解)為自己建立一個使用者。 useradd的選項: 選項: -b, --base-dir BASE_DIR 新賬戶的主目錄的基目錄 -c, --comment COMMENT

linux下yum使用本地光碟做為安裝

 非常討厭yum install時從網上下載 在/etc/yum.repos.d下建立iso.repo 內容如下 [iso]name=isobaseurl=file:///mnt/cdromenable=1gbgcheck=0 然後mkdir /mnt/cdrom moun