Linux换国内镜像源(Ubuntu、Debian等)

       之前在Ubuntu换源的时候,老早就换好,但后来装新系统换源,就想来整理一下换源可能遇到的一些问题,很多新手对于换源就直接度娘搜索,但全新手会遇到以下几个问题不知道怎么解决。因此参考本文或许能帮到你。


1. 什么是软件源(概念问题)

       软件源就相当于软件库,需要安装什么软件,只需要简单使用命令来进行安装: sudo apt-get install <package-name>,软件库里没有的话就会提示错误;删除软件则是sudo apt-get remove <package-name>;在Ubuntu系统上安装软件和Windows上不一样 (后者是exe文件,前者一般是apt、deb、run等格式)。

       其中Ubuntu 系统中自带一个名为 apt 软件包管理工具,它主要负责 Ubuntu 系统中所有软件包的管理,包括下载软件,卸载已安装的软件等。每当我们通过 sudo apt-get install <package-name>去安装软件时,它就会从系统中的一个叫做源列表的文件去读取软件源的网址信息,查找包含该软件的软件源网址,接着从上面把指定的软件下载下来。

对于Ubuntu的软件源类型分为两种:

  • 官方软件源
    Ubuntu 官方软件源中包含了 Ubuntu 系统中所用到的绝大部分的软件,它对应的源列表文件是 /etc/apt/sources.list。该文件记录Ubuntu 官方源的地址,但国内访问官方软件源速度会慢,为解决这样的问题,国内许多学校以及公司的镜像网站都对官方软件源进行镜像备份,并且定期同步更新,为了提高访问速度,可以选择去访问这些镜像网站,所以我们需要将 Ubuntu 官方软件源的网址替换成国内的 Ubuntu 软件源镜像网站的网址就可以。
  • PPA
    由于官方软件库自带的源是有限的,若我们需要一些其他的包就只能通过下载deb格式的文件,但又不能获取到更新和维护,那么这时候PPA 源应运而生。PPA 源(Personal Package Archives)即个人软件包集。这是一个网站 https://launchpad.net/。Launchpad 是 Ubuntu 母公司 Canonical 有限公司所架设的网站,用于提供维护、支援或联络 Ubuntu 开发者的平台。由于官方软件源是有限的,该网站则提供PPA来允许开发者建立自己的软件仓库,自由的上传软件。

2. 如何更改为目标镜像源

  • 先备份源列表/etc/apt/sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
  • 再打开sources.list文件修改 (可以用gedit、vim等来修改)
sudo gedit /etc/apt/sources.list
  • 往里面添加目标源的配置文件 (例如Ubuntu16.04的清华源),最后保存即可。
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

3. 如何找镜像源

       推荐这个: 国内开源镜像站点汇总—>里面有公司企业、大学等镜像源。推荐使用 清华源、中科大源、阿里云源、豆瓣源等
在这里插入图片描述


4. 如何找镜像源的配置文件

       一般官方网站的help里,就直接在主页src后面加上help回车看下,要没有的话就找找哪里可以配置软件源,我上面推荐的那几个源都在help里,例如清华源则是https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/、科大源是:http://mirrors.ustc.edu.cn/help/

注意: 这时有人点进去去找配置文件时就会发现有 ubuntu、ubuntu-ports到底是哪一个呢?

  • ubuntu-ports镜像仅包含 arm64 armhf ppc64el riscv64 s390x 架构的软件包;
  • ubuntu镜像仅包含 32/64 位 x86 架构处理器的软件包。

       因此去哪个得看你是什么架构的,使用命令uname -a,我的是下面这个,说明是x86_64架构。
 
在这里插入图片描述

  • 接下来就是找到对应架构、对应版本的配置文件 (举清华、科大为例子):
    在这里插入图片描述
    在这里插入图片描述
     

       为节省你们去找的时间,我给了Ubuntu16.04和18.04的几个源:

4.1. Ubuntu 16.04

#---------------中科大USTC--------------------
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
## Not recommended
# deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
#------------------清华--------------------------
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

#------------------阿里云-----------------------
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

4.2. Ubuntu 18.04

#---------------中科大USTC--------------------
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
## Not recommended
# deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

#------------------清华--------------------------
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

#------------------阿里云-----------------------
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

5. 在Ubuntu设置里更换

  • 打开设置 --> 软件和更新;

在这里插入图片描述

  • 点击Ubuntu软件 --> 下载至: --> 其他站点 --> 选择最佳服务器;

在这里插入图片描述


6. 更换后更新(最重要)

sudo apt-get update

### C++ 分布式网络通信框架推荐 在开发分布式系统时,选择合适的框架对于系统的性能、可扩展性和维护性至关重要。以下是几个适合 C++ 开发的分布式网络通信框架及其特点: #### 1. **Mprpc** Mprpc 是一个基于 Protobuf 的分布式 RPC 框架[^4]。它的主要特性包括: - 使用 Google Protocol Buffers 进行高效的数据序列化和反序列化。 - 支持 ZooKeeper 作为服务注册中心,便于实现服务发现。 - 基于 Muduo 网络库构建,提供了高效的异步 I/O 处理能力。 - 实现了单线程异步日志记录功能。 代码示例展示了如何通过 `SendRpcResponse` 函数将响应序列化并发送给客户端[^3]: ```cpp void RpcProvider::SendRpcResponse(const muduo::net::TcpConnectionPtr& conn, google::protobuf::Message *response) { std::string response_str; if (response->SerializeToString(&response_str)) { // 将消息对象序列化为字符串 conn->send(response_str); // 发送序列化的数据到客户端 } else { std::cout << "serialize response_str error!" << std::endl; // 如果序列化失败则打印错误信息 } conn->shutdown(); // 主动关闭连接模拟 HTTP 短链接行为 } ``` #### 2. **Thrift** Apache Thrift 是另一个广泛使用的跨语言 RPC 框架,支持多种编程语言,其中包括 C++[^2]。其核心优势在于: - 提供了一种 IDL(接口定义语言),允许开发者定义服务接口和服务端/客户端自动生成代码。 - 数据传输采用紧凑的二进制格式,相比 JSON 或 XML 更加高效。 - 能够轻松集成到现有的 C++ 工程中,并且具备良好的社区支持。 #### 3. **gRPC** 尽管 gRPC 最初是由谷歌设计并主要用于 Go 和 Java 编程语言,但它同样也支持 C++ 平台上的开发工作流。关键亮点如下: - 利用了 Protocol Buffers 作为默认的消息传递机制。 - 内置负载均衡、认证授权等功能组件。 - 对现代 C++ 特性的良好适配使得编写高性能的服务变得更加容易。 #### 4. 自定义轻量级 RPC 框架 如果现有开源解决方案无法完全满足特定业务场景的需求,则可以考虑自行研发定制版 RPC 架构。例如,在上述提到的文章里作者分享了自己的实践经历——创建名为 yyg_rpc_server 的简易版本[^1]。该项目虽然目前仍处于早期阶段但已经涵盖了基本的功能模块如同步请求处理等基础要素。 综上所述,无论是选用成熟的第三方工具还是尝试打造专属方案都需要依据实际应用场景做出权衡考量。 ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值