当前位置: 首页 > news >正文

本地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 截圖如下:

相关文章:

  • [路径规划] VFF和VFH
  • 三招破局 轻松搞定大型直播晚会
  • 一次性代码(单例)
  • 前端面试之闭包
  • linux磁盘管理以及linux文件系统管理
  • 普通用户自动挂载光盘
  • SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
  • eclipse自动为变量生成Get/Set函数
  • 【Unity】Update()和FixedUpdate()
  • python标识符
  • Ubuntu 12.04 怎样安装 Google Chrome
  • Xampps 1.9.1 系列版本正式发布
  • SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
  • Jfreechart绘制漂亮的图表
  • Linux TC基于HTB队列的流量管理范例
  • Computed property XXX was assigned to but it has no setter
  • css选择器
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 从重复到重用
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 复习Javascript专题(四):js中的深浅拷贝
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 那些年我们用过的显示性能指标
  • 前端js -- this指向总结。
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 深度学习入门:10门免费线上课程推荐
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 王永庆:技术创新改变教育未来
  • 小程序测试方案初探
  • 写代码的正确姿势
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 移动端 h5开发相关内容总结(三)
  • 责任链模式的两种实现
  • $.ajax,axios,fetch三种ajax请求的区别
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (算法)前K大的和
  • ./和../以及/和~之间的区别
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET delegate 委托 、 Event 事件
  • .net 使用ajax控件后如何调用前端脚本
  • .py文件应该怎样打开?
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • [145] 二叉树的后序遍历 js
  • [AX]AX2012 R2 出差申请和支出报告
  • [C++]类和对象【下】
  • [CF543A]/[CF544C]Writing Code
  • [DAX] MAX函数 | MAXX函数
  • [EFI]DELL XPS13 9360电脑 Hackintosh 黑苹果efi引导文件
  • [elastic 8.x]java客户端连接elasticsearch与操作索引与文档