Linux 配置本地源 (Ubuntu / CentOS)

Posted ✧*꧁一品堂.技术学习笔记꧂*✧.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 配置本地源 (Ubuntu / CentOS)相关的知识,希望对你有一定的参考价值。

Linux 配置本地源 (Ubuntu / CentOS)

 匿名 (未验证) 提交于 2018-08-08 17:20:47

目录

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]# 



[root@localhost network-scripts]# cd /root
[root@localhost ~]# ls
anaconda-ks.cfg  Desktop  Documents  Downloads  initial-setup-ks.cfg  Music  Pictures  Public  Templates  Videos
[root@localhost ~]# cd Desktop/
[root@localhost Desktop]# ls
cd_ios
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost /]# mkdir yum
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  yum
[root@localhost yum]# cd /root/Desktop/cd_ios/
[root@localhost cd_ios]# ls
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
[root@localhost cd_ios]# ls /
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  yum
[root@localhost cd_ios]# ls /yum/
[root@localhost cd_ios]# cp -arfv  /root/Desktop/cd_ios/* /yum/
[root@localhost cd_ios]# ls 
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
[root@localhost cd_ios]# 
[root@localhost cd_ios]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]# tar zcvf repo_bk.tar.gz CentOS-*
CentOS-Base.repo
CentOS-CR.repo
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo
CentOS-Sources.repo
CentOS-Vault.repo
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  repo_bk.tar.gz
[root@localhost yum.repos.d]# rm -f CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-Vault.repo
[root@localhost yum.repos.d]# ls
CentOS-Media.repo  repo_bk.tar.gz

以上是关于Linux 配置本地源 (Ubuntu / CentOS)的主要内容,如果未能解决你的问题,请参考以下文章

前端如何配置不同镜像源

做yum仓库

利用apt-mirror制作Ubuntu本地源

linux下yum安装及配置

yum源的挂载

ubuntu配置本地目录作为apt源