GithubHelp home page GithubHelp logo

codelova / local-repository Goto Github PK

View Code? Open in Web Editor NEW

This project forked from trananhkma/local-repository

0.0 2.0 0.0 102 KB

Tạo Local Repository để cài đặt OpenStack thông qua mạng LAN

local-repository's Introduction

Local-Repository

##I/Thông tin LAB Tạo Local Repository để cài đặt OpenStack thông qua mạng LAN
Việc này rất hữu dụng để cài đặt triển khai những hệ thống cần có sự đồng bộ về phiên bản của các gói cài đặt, giảm thời gian triển khai do bớt được thời gian download các gói, tiết kiệm băng thông cho hệ thống.

Mô hình LAB Ý tưởng của bài LAB là cấu hình máy server thành nơi chứa repo, client sẽ cài đặt các gói phần mềm thông qua repo này, không kết nối với internet.

Chuẩn bị:
  • 2 máy ảo chạy ubuntu server 14.04 lần lượt đóng vai trò là server và client
  • Trên máy server có 2 card mạng một card kết nối internet, một card nối với client
  • Trên máy clien do mục đích của bài LAB là cài thử nghiệm OpenStack AIO nên các bước chuẩn bị tại đây
  • Trên mô hình chỉ có 1 card cho client do đã disable card ra internet

##II/Các bước cài đặt ###1. Cài đặt server Đầu tiên cài đặt apache:

apt-get install apache2

Tạo thư mục chứa repo. Ở đây tôi sử dụng /var/www/html/myrepo/

mkdir /var/www/html/myrepo/

Bước tiếp theo, copy toàn bộ file và thư mục trong /var/cache/apt/archives/ từ một máy đã cài sẵn OpenStack AIO vào thư mục chứa repo của server của bạn tại /var/www/html/myrepo/ đã tạo ở bước trên. Có nhiều cách để thực hiện điều này, đơn giản nhất là dùng lệnh scp. Cú pháp scp tại đây.

Cuối cùng, vào nơi chứa repo, tạo file Packages.gz để khi client chạy lệnh update, nó sẽ đọc file này và biết được danh sách các gói có trong repo. Thực hiện như sau:

cd /var/www/html/myrepo/
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Câu lệnh dpkg-scanpackages yêu cầu cần có gói "dpkg-dev" mới chạy được, nếu chạy lệnh bị lỗi, cài gói này rồi chạy lại.
Mỗi lần muốn download hay copy thêm gói mới, ta phải thực hiện lại bước này để update cho gói Packages.gz. Để cho tiện, nên tạo một file script để thực hiện update repo với nội dụng như sau:

#! /bin/bash
cp /var/cache/apt/archives/* /var/www/html/myrepo
cd /var/www/html/myrepo
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Sau này mỗi khi muốn thêm vào repo các gói đã cài trên server chỉ cần chạy script này.
Hoàn thành cài đặt server ###2. Cài đặt client Trên client thì việc cấu hình đơn giản hơn rất nhiều, chỉ cần thay đổi một chút trong file source.
Mở file etc/apt/sources.list thêm dòng repo trỏ đến repo đã tạo trên server:

deb http://192.168.10.128/myrepo ./

Đồng thời bỏ đi tất cả các repo khác bằng cách thêm dấu # đầu dòng.
Tiếp theo update repo:

apt-get update

Sau khi chạy lệnh này, client sẽ đọc đc file Packages.gz ở server và biết được trong repo có những gói nào.
Bây giờ có thể cài đặt OpenStack AIO theo script một cách nhanh chóng mà không cần kết nối internet. Điều kiện là client đã có những script này.
Một lưu ý là khi thực hiện cài đặt gói ở client, hệ thống sẽ đòi xác thực lại là có muốn tải file về hay không? Điều này sẽ làm cho những câu lệnh tải gói có biến -y trong script bị lỗi. Do đó cần sửa script để xoá các biến -y này! Khi đến các bước tải gói cần phải xác nhận thủ công.
Hoàn thành bài lab.

local-repository's People

Contributors

trananhkma avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.