本地apt
Ubuntu建立本地源非常實用,很多服務器在局域網沒有網络或者網络很慢的情況下,或者需要批量安裝同样的軟件的時候,如果每一台服務器都去外網下載,是不是很慢,而且也不是一個運維工程師願意這麼幹的!那有什麼好的辦法呢,如下記錄ubuntu12.04本地源的安裝方法,僅供参考。
系統環境:ubuntu12.04
一、實驗目的
是在一台ubuntu12.04服務器上面建立ubuntu常用軟件安裝源,由於項目需求需要安裝很多的deb包,並保證局域網數台機器都部署一致的軟件和環境,那我們先找一台服務器端聯網apt-get下載需要的軟件包,做成本地源,然後局域網數台服務器通過腳本或者通過kickstart自動同步該安裝源。
服務器端ip:192.9.117.140
測試機ip: 192.9.117.141
二、正式安裝
1、首先在服務器端apt-get install 安裝所需軟件,當我們安裝完後,我們會發現,我們剛剛安裝的軟件都保存在/var/cache/apt/archives/目錄下,我們看到該目錄下很多.deb文件。
創建目錄mkdir /data/soft -p //設立安裝源路徑
拷貝/var/cache/apt/archives/文件到/data/soft 命令:cp -p /var/cache/apt/archives/*.deb /data/soft/
2、安裝dpkg-dev
安裝dpkg-dev,並執行dpkg-scanpackages 掃描依賴包並生成依賴關系gz包:
root@ubuntu12-04:~# apt-get install dpkg-dev -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
dpkg-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@ubuntu12-04:~#
root@ubuntu12-04:~# cd /data/
root@ubuntu12-04:/data# ls
soft
root@ubuntu12-04:/data# dpkg-scanpackages soft/ |gzip > soft/Packages.gz
3、建立源鏈接
編譯安裝nginx,用來做ubuntu本地源的web服務器
tar xzf nginx-1.2.0.tar.gz &&cd nginx-1.2.0 &&./configure ./configure --without-http_rewrite_module &&make &&make install 即可。
然後修改nginx.conf發布目錄为/data目錄,並在http段添加 autoindex on;即可!
启動nginx /usr/local/nginx/sbin/nginx
確保訪問http://192.9.117.140/ 可以查看到soft目錄即表示nginx 安裝配置成功
三、客戶機測試
環境:客戶機無法聯網,服務器配置完畢後,为了跟客戶端聯通網络,斷開服務器的外網網络,保持跟客戶端同網段,然後如下:
修改source源文件/etc/apt/sources.list
cp /etc/apt/sources.list /etc/apt/sources.list.back //備份文件
可以新建/etc/apt/sources.list 空文件
echo "deb http://192.9.117.140 soft/ " >/etc/apt/sources.list 【注意source.list內容的格式,soft代表目錄,因为140已經指定了發布目錄为/data,所以這裏不要寫成 /data/soft/】
以上步驟完成後就ok了!
最後在客戶端執行 apt-get update 截圖如下:
本地apt的更多相关文章
- ubunt 基于deb 配置本地apt 源 分成仅本机使用,局域网使用2种
dpkg-scanpackages /software /dev/null | gzip>/software/Packages.gz
- Ubuntu 18.04 国内的 apt 源
一.Ubuntu 18.04 国内的 apt 源 1. 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted univers ...
- Ubuntu 16.04 apt 国内源
一.推荐几个 Ubuntu 16.04 国内的 apt 源 1. 阿里源 # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (2 ...
- Linux应用程序打包
原文地址:http://blog.solrex.cn/articles/packaging-1-src.html1. 应用程序打包技术之一(源代码篇) 相信很多朋友都曾经为方便做某件事写过自己的小 ...
- ubuntu server 11.10 安装 oracle 10g XE
1.将配置的Oracle源服务器的公钥添加在本地 apt 系统的密钥库中: wget http://oss.oracle.com/el4/RPM-GPG-KEY-oraclesudo apt-key ...
- 基于Ubuntu14.04-LTS下安装docker
1.sudo apt-get update --更新系统源 2.sudo apt-get install docker.io 3.将docker库的公钥中加入到本地apt中 sudo apt-key ...
- 运行gpg --gen-key生成key时出现卡住的问题
背景 在搭建Ubuntu16.04的本地apt源时,需要运行"gpg --gen-key"命令,但是在执行该命令时,出现了:"Not enough random byte ...
- Docker学习总结(一)
<认识Docker> 不定期更新~~~~~~~ 历史区别: 13年之前:网络大多使用"协议栈堆叠"的形式进行开发,需要部署单一专有的服务器进行操作.包括(中间件,运行时 ...
- ubuntu制作离线包
一.应用场景a.当我们需要在多台电脑安装同一个软件,并且这个软件很大,下载需要很长时间b.需要安装软件的ubuntu不能上网二.离线安装包的制作2.1.通过如下指令下载XXXX软件所需要的deb包,首 ...
随机推荐
- RHEL7下PXE+NFS+Kickstart无人值守安装操作系统
RHEL7下PXE+NFS+Kickstart无人值守安装操作系统 1.配置yum源 vim /etc/yum.repos.d/development.repo [development] name= ...
- ubuntu 配置android开发环境
本文的下载地址都是androiddevtools,下载地址:http://www.androiddevtools.cn/ 一.安装android sdk 解压文件,全部放到/opt/Java/andr ...
- ADO.NET基础
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- mvc存储Cookie和读取Cookie方法
mvc存储Cookie和读取Cookie方法: //存储 HttpCookie cookie = new HttpCookie("User"); System.Text.Encod ...
- cocoapods安装失败
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the ...
- 最全java的读写操作(转载)
Java的I/O系统中的输入输出流为我们进行开发提供了很多便利,利用其强大的封装性,通过各种组合能够实现多种多样的功能.但是Java提供了很多输入输出流类,在概念和使用上有很多相似之处,所以给很多开发 ...
- Java study 1:The note of studying Socket which based UDP
UDP concept: UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参 ...
- 深入理解offsetTop与offsetLeft
做为走上前端不归路的我,以前只是认为offsetTop是元素的左边框至包含元素offsetParent的左内边框之间的像素距离,同理offsetRight是相对于上内边框.那么问题来了,包含元素off ...
- 自定义Back返回键(实现按两次返回键退出程序)
实现机制:当用户点击物理返回键时,Activity会调用onBackPressed(),只需在Activity中复写该方法即可 以下是代码实现: package com.example.qjm3662 ...
- AfxMessageBox("这里为提示框的内容");程序弹出一个提示窗口,可以做调试提示信息
AfxMessageBox("这里为提示框的内容"); 同时AfxMessageBox(AFX_IDP_PARSE_INT);里面也可以系统宏定义的一些参数