zoukankan      html  css  js  c++  java
  • Linux 配置本地源 (Ubuntu / CentOS)

    Linux local source list

    A. Ubuntu

    1. 本地ISO

    # 首先挂载本地镜像
    mount -o loop -t iso9660 ./ubuntu.iso /media/cdrom
    # 手动添加ISO镜像至源列表,这样就可以在软件库中找到ISO中的所有包
    apt-cdrom -m -d=/media/cdrom add
    # 刷新软件库
    apt update
    # 完成后查看sources.list ,本地源应该在第一条,否则默认还是从网上下载
    

    e.g.

    root@ubuntu:/# mount -t iso9660 /dev/cdrom /media/cdrom/
    mount: /dev/sr0 is write-protected, mounting read-only
    root@ubuntu:/# sudo apt-cdrom -m -d /media/cdrom/ add
    Using CD-ROM mount point /media/cdrom/
    Identifying... [83cd189f3f418ae846baff8ecfba5390-2]
    Scanning disc for index files...
    Found 4 package indexes, 0 source indexes, 0 translation indexes and 1 signatures
    Found label 'Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731)'
    This disc is called: 
    'Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731)'
    Copying package lists...gpgv: Signature made Tue 31 Jul 2018 08:39:26 AM CST using RSA key ID EFE21092
    gpgv: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>"
    Reading Package Indexes... Done
    Writing new source list
    Source list entries for this disc are:
    deb cdrom:[Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731)]/ xenial main restricted
    Repeat this process for the rest of the CDs in your set.
    root@ubuntu:/# vim /etc/apt/sources.list
    # 此时sources.list中多出一行本地源
    # deb cdrom:[Ubuntu-Server 16.04.5 LTS _Xenial Xerus_ - Release amd64 (20180731)]/ xenial main restricted
    
    root@ubuntu:/# 
    root@ubuntu:/# sudo apt update
    

    2. 制作本地源

    平时apt-get install安装软件时,下载的deb文件都会存放在/var/cache/apt/archives/下,为了今后重装或给别人用 。

    步骤:

    # 新建离线源目录
    mkdir ~/packs
    # 将缓存复制到目录
    cp -rv  /var/cache/apt/archives/* ~/packs
    
    	# 拷贝过来发现在packs当中为文件都是root账户的,需要修改
    	# 修改所有者
    	# sudo chown -R someone.someone * $pack_dir
     	# 修改权限
     	# sudo chmod ug+rw,o+r * $pack_dir
     	
    # 建立Packages包,里面记录了packs目录下的软件包信息,包括依赖信息
    dpkg-scanpackages ~/packs /dev/null |gzip > packs/Packages.gz -r
    # 将~/packs复制到目标计算机,或本机的某处
    vim /etc/apt/sources.list
    # 添加 deb file:/// /home/someone/packs/ 
    # 注意: packs后面有一个斜杠,全路径前面还要有空格
    # 更新源
    sudo apt-get update ---allow-insecure-repositories
    sudo apt-get install -f
    sudo apt-get xxxx --allow-unauthenticated
    # 本地的源是没有签名的,直接更新ubuntu1604下的apt会提示找不到release文件,是一种不安全的源,默认是被禁用的。如果还要安装的话需要加上 --allow-unauthenticated 选项。
    # N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    

    B. CentOS

    1. 本地ISO

    1. 首先创建挂载点
    2. 然后挂载光驱
    3. 移除原有源
    4. 新建local.repo文件,内容如下:
    ​```
    [name]
    name="local repo"
    baseurl=file:///media/cdrom/
    enabeld=1
    gpgcheck=0
    ​```
    5. 对yum进行初始化操作
    

    e.g.

    [root@cent7 ~]# mkdir /media/cdrom
    [root@cent7 ~]# mount -t iso9660 /dev/cdrom /media/cdrom
    mount: /dev/sr0 is write-protected, mounting read-only
    [root@cent7 ~]# cd /etc/yum.repos.d/
    [root@cent7 yum.repos.d]# pwd
    /etc/yum.repos.d
    [root@cent7 yum.repos.d]# ls
    CentOS-Base.repo  CentOS-Base.repo.bak  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  epel.repo  epel-testing.repo  mysql-community.repo  mysql-community-source.repo
    [root@cent7 yum.repos.d]# mkdir bak
    [root@cent7 yum.repos.d]# mv *.repo bak/
    [root@cent7 yum.repos.d]# vim local.repo
    写入以下内容:
            [name]
            name="local repo"
            baseurl=file:///media/cdrom/
            enabeld=1
            gpgcheck=0
    
    [root@cent7 yum.repos.d]# yum clean all  # 清除缓存
    Loaded plugins: fastestmirror
    Cleaning repos: name
    Cleaning up everything
    Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
    Cleaning up list of fastest mirrors
    [root@cent7 yum.repos.d]# yum makecache  # 建立新缓存
    Loaded plugins: fastestmirror
    Determining fastest mirrors
    name                                                                                                                                                                                                                                                   | 3.6 kB  00:00:00     
    (1/4): name/group_gz                                                                                                                                                                                                                                   | 3.5 kB  00:00:00     
    (2/4): name/primary_db                                                                                                                                                                                                                                 | 776 kB  00:00:00     
    (3/4): name/other_db                                                                                                                                                                                                                                   | 198 kB  00:00:00     
    (4/4): name/filelists_db                                                                                                                                                                                                                               | 298 kB  00:00:00     
    Metadata Cache Created
    [root@cent7 yum.repos.d]# yum list | wc -l  # 查看可用个数
    546
    [root@cent7 yum.repos.d]# 
    
  • 相关阅读:
    洛谷 P2831 [NOIP2016]愤怒的小鸟
    洛谷 P1736 创意吃鱼法
    洛谷 P2347 砝码称重 + bitset简析
    洛谷 P3384 [模板] 树链剖分
    洛谷 P1038 [NOIP2012] 借教室
    洛谷 P3959 [NOIP2017]宝藏 题解
    洛谷 AT2167 Blackout 题解
    洛谷 P1246 编码 题解
    C#中ref关键字的用法总结
    C#中的值传递与引用传递(in、out、ref)
  • 原文地址:https://www.cnblogs.com/0x4D75/p/9443842.html
Copyright © 2011-2022 走看看