海康威视内部Ubuntu镜像源配置全攻略(含18.04/20.04/22.04版本)
海康威视内部Ubuntu镜像源配置全攻略含18.04/20.04/22.04版本如果你正在参与海康威视相关的项目开发无论是内部研发还是外部协作搭建一个高效的开发环境是第一步。而环境搭建中最基础也最影响效率的一环莫过于软件包的安装与更新。在国内网络环境下直接访问Ubuntu官方源的速度常常不尽如人意下载一个几百兆的包可能就要耗费大半天这对于追求效率的开发工作来说简直是噩梦。海康威视为内部开发者和合作伙伴提供了自建的Ubuntu镜像源这不仅是网络加速的解决方案更是确保开发环境稳定、软件版本统一的关键基础设施。想象一下团队里所有人都从同一个高速、稳定的源头获取软件能避免多少因网络或源不一致导致的“我这儿能装上你那儿报错”的诡异问题。本文将为你彻底梳理在海康威视开发环境下为Ubuntu 18.04 (Bionic)、20.04 (Focal) 和 22.04 (Jammy) 这三个主流LTS版本配置内部镜像源的完整流程。我不会只给你几行冰冷的命令而是会带你理解背后的原理掌握手动和自动两种配置方法并分享一些排查问题的实战技巧。无论你是刚接手项目的新人还是需要为团队制定环境规范的老手这篇文章都能提供你所需的全部细节。1. 理解Ubuntu软件源与海康内部镜像在动手修改配置文件之前花几分钟理解一下我们在做什么能让你在遇到问题时不再慌张。APT (Advanced Package Tool)是Ubuntu系统的包管理核心。当你执行sudo apt update或sudo apt install时APT会去读取一个名为/etc/apt/sources.list的文件以及/etc/apt/sources.list.d/目录下的额外列表文件。这些文件里记录了一个个软件仓库的地址也就是我们常说的“源”。一个标准的源地址行看起来像这样deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiversedeb: 表示这是一个二进制软件包仓库。如果是deb-src则表示是源代码包仓库对于大多数开发者来说deb-src不是必须的但保留也无妨。http://archive.ubuntu.com/ubuntu/: 这是仓库的基础URL。jammy: 这是Ubuntu版本的代号它告诉仓库你需要哪个发行版的软件包。22.04叫Jammy20.04叫Focal18.04叫Bionic。main restricted universe multiverse: 这些是软件包组件代表了Ubuntu官方对不同授权和支持级别的软件的分类。海康威视的内部镜像本质上是在公司内网或对合作伙伴开放的网络架设了一台服务器定时从Ubuntu官方源同步所有软件包。你的系统将访问目标从遥远的海外服务器切换到了近在咫尺的内部服务器速度自然会有天壤之别。注意使用内部镜像源通常需要你的机器能够访问海康威视的内网或指定的网络环境。如果你在外部网络可能需要通过公司VPN接入此处省略具体接入方式描述请遵循公司IT规定。2. 准备工作确认你的Ubuntu版本配置源的第一步是必须准确知道你自己系统的版本代号。用错了代号比如在Ubuntu 20.04上配置了jammy的源会导致软件包版本混乱系统可能无法正常更新甚至损坏。打开终端有多种命令可以查看最直接的方法使用lsb_release命令lsb_release -cs这个命令会直接输出系统的版本代号例如bionic、focal或jammy。这是我们需要的关键信息。查看更详细的系统信息lsb_release -a这个命令会输出包括Distributor ID、Description、Release和Codename在内的完整信息。其他辅助确认命令cat /etc/os-release: 查看操作系统发行信息文件。cat /etc/issue: 查看简单的系统登录信息。hostnamectl: 对于使用systemd的系统这个命令也能显示操作系统信息。为了确保万无一失我建议你将上述命令的输出结果记录下来或者直接对照下表确认系统版本版本代号适用海康镜像源配置Ubuntu 18.04 LTSBionic配置bionic源Ubuntu 20.04 LTSFocal配置focal源Ubuntu 22.04 LTSJammy配置jammy源确认了版本代号我们就可以进入核心的配置环节了。通常有两种主流方法手动编辑配置文件和使用自动配置脚本。我建议新手先从手动方法学起理解原理老手或需要批量配置时再用脚本提升效率。3. 方法一手动配置镜像源推荐初学者手动修改虽然步骤稍多但能让你完全掌控整个过程理解每一个环节是解决问题的基础。整个过程的核心就是备份旧文件然后用新的源地址替换它。3.1 备份原始的 sources.list 文件这是至关重要的一步是你在配置出错后能快速回退的“后悔药”。在终端中执行sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup这条命令将系统原有的源列表文件复制了一份并加了.backup后缀。现在你可以放心大胆地修改原文件了。3.2 编辑 sources.list 文件我们将使用nano这个相对友好的终端文本编辑器。当然如果你熟悉vim用sudo vim /etc/apt/sources.list也一样。sudo nano /etc/apt/sources.list打开文件后你会看到里面已经有一些以deb开头的行它们指向archive.ubuntu.com、security.ubuntu.com等官方地址。我们的任务就是将这些行的地址部分统一替换为海康威视的镜像地址。具体操作是删除或注释掉在行首加#所有现有的deb和deb-src行然后添加对应你系统版本的海康镜像源。以下是针对不同版本需要添加的全部内容。请根据你之前查到的版本代号bionic, focal, jammy选择对应的代码块完整地复制粘贴到sources.list文件中。对于 Ubuntu 22.04 (Jammy):deb http://mirrors.hikvision.com.cn/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ jammy-proposed main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ jammy-backports main restricted universe multiverse对于 Ubuntu 20.04 (Focal):deb http://mirrors.hikvision.com.cn/ubuntu/ focal main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ focal-backports main restricted universe multiverse对于 Ubuntu 18.04 (Bionic):deb http://mirrors.hikvision.com.cn/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.hikvision.com.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.hikvision.com.cn/ubuntu/ bionic-backports main restricted universe multiverse在nano编辑器中粘贴后按CtrlO写入文件按Enter确认文件名再按CtrlX退出。3.3 更新软件包列表配置完成后需要让APT重新读取新的源列表。执行sudo apt update这个命令并不会升级任何软件它只是从你新配置的源地址下载软件包列表信息到本地。如果一切顺利你会看到一串Hit记录以及从mirrors.hikvision.com.cn获取信息的成功提示。如果看到Ign忽略或Err错误则说明配置可能有问题最常见的原因是版本代号写错或者网络无法访问该镜像地址。这时可以回头检查文件内容并尝试用ping mirrors.hikvision.com.cn测试网络连通性。4. 方法二使用自动配置脚本追求效率对于需要频繁配置多台机器或者希望流程更简洁的开发者海康威视也提供了自动化的脚本配置方式。其原理是直接从一个固定的URL下载已经写好的、对应版本的sources.list文件覆盖本地文件。操作流程如下备份原文件好习惯不能丢sudo mv /etc/apt/sources.list /etc/apt/sources.list.backup使用wget下载并替换 这里需要根据你的Ubuntu版本选择正确的脚本地址。关键点在于URL路径中的版本代号。Ubuntu 22.04 (Jammy):sudo wget -O /etc/apt/sources.list http://mirrors.hikvision.com.cn/help/ubuntu/apt/jammy.listUbuntu 20.04 (Focal):sudo wget -O /etc/apt/sources.list http://mirrors.hikvision.com.cn/help/ubuntu/apt/focal.listUbuntu 18.04 (Bionic):sudo wget -O /etc/apt/sources.list http://mirrors.hikvision.com.cn/help/ubuntu/apt/bionic.listwget命令的-O参数指定了下载内容写入的文件路径这里直接写到了/etc/apt/sources.list。更新软件包列表sudo apt update提示在运行脚本前我强烈建议你先用浏览器或curl命令查看一下目标URL的内容确认其可用且内容正确。例如curl http://mirrors.hikvision.com.cn/help/ubuntu/apt/jammy.list。这能避免因脚本地址变更或网络问题导致下载到错误内容。脚本方式非常快捷但隐藏了细节。如果下载失败或URL内容有误对于不熟悉原理的用户来说排查起来会更困难。因此理解手动配置的原理依然非常重要。5. 验证与测试确保配置生效配置完成后如何确认镜像源真的切换成功并且工作正常呢光看sudo apt update的输出还不够我们需要更深入的验证。首先检查更新过程是否真的从海康镜像拉取数据。在sudo apt update的输出信息中仔细寻找每一行的URL。你应该能看到所有成功的获取Hit都来自于http://mirrors.hikvision.com.cn。其次进行一次实际的软件安装测试。选择一个常见的、体积适中的工具进行安装通过观察下载速度来直观感受。例如安装htop一个进程监控工具sudo apt install htop -y在安装过程中留意终端显示的下载速度。如果是从国内镜像源下载速度通常能达到几MB/s甚至更高这与从国外官方源几十KB/s的体验有显著差别。另外你可以使用apt-cache policy命令来查看某个软件包具体会从哪个仓库安装apt-cache policy htop在输出中你会看到软件包版本列表以及它们对应的源地址确认优先级最高的源地址是海康镜像。为了更系统地验证你可以运行一个简单的脚本来测试几个关键仓库的响应速度但更实际的做法是进行一轮完整的系统升级预演sudo apt upgrade --dry-run这个命令会模拟升级过程列出所有将要升级的软件包及其来源而不会真正执行安装。你可以借此检查是否有任何包仍然试图从旧地址获取。6. 进阶技巧与故障排查即使按照步骤操作有时也会遇到问题。这里分享几个我实践中遇到的常见坑和解决方法。问题一执行sudo apt update出现Temporary failure resolving ‘mirrors.hikvision.com.cn’或Could not resolve错误。这通常是DNS解析问题意味着你的系统无法将域名mirrors.hikvision.com.cn转换成IP地址。排查网络连通性首先ping一个众所周知的地址比如ping 8.8.8.8看是否通外网。如果不通检查你的网络连接或VPN是否已正确建立。检查DNS设置尝试nslookup mirrors.hikvision.com.cn。如果解析失败可以临时修改/etc/resolv.conf文件添加一个可靠的DNS服务器例如nameserver 114.114.114.114。但注意重启后这个修改可能会被覆盖。检查主机访问权限在某些严格的内网环境中访问内部镜像可能需要特定的网络权限或处于特定网段请联系IT部门确认。问题二更新时出现404 Not Found或Repository ... does not have a Release file错误。这几乎可以肯定是sources.list 文件中的版本代号写错了。比如在Ubuntu 20.04上错误地配置了jammy的源。请再次用lsb_release -cs确认系统代号并仔细核对sources.list文件中的每一行。问题三更新速度依然很慢。虽然切换到了国内镜像但速度还可能受限于你当前网络到海康镜像服务器的链路质量。可以尝试用curl -o /dev/null -s -w ‘%{speed_download}\n’ http://mirrors.hikvision.com.cn/ubuntu/dists/focal/Release测试下载一个小文件的速度。镜像服务器本身的同步状态。内部镜像并非实时同步可能会有几小时到一天的延迟。如果急需某个刚发布的软件包可以临时注释掉海康源换回官方源或另一个国内公网镜像如阿里云、清华源进行更新完成后再改回来。关于deb-src源如果你不打算编译软件源码这些以deb-src开头的行其实是可以删除或注释掉的这能让apt update稍微快一点。但对于开发者保留它们有时在排查依赖或学习源码时会有用。最后一个最佳实践是将你成功配置好的sources.list文件保存一份到你的云笔记或项目文档中。下次在新机器或新虚拟机上配置环境时直接复制粘贴能节省大量时间。对于团队甚至可以将其作为Docker镜像构建的一部分或者纳入自动化部署脚本确保整个团队开发环境的一致性。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2408335.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!