1.从源码构建并安装Qt6
2.npmmirror 镜像站已内置支持类似 unpkg cdn 解析能力
3.探寻最优linux镜像网站linux镜像网站
4.镜像网站概念简介
5.不限速、镜像组件全、站源免费用!码镜码移动云开源镜像库上线啦!像站
6.CentOS 7升级内核的群源三种方式(yum/rpm/源码)
从源码构建并安装Qt6
在处理大作业时,我需要使用Qt,镜像android源码冷启动然而官方下载途径的站源不便和速度让我考虑了其他方式。从Qt 5.开始,码镜码官方已不再提供离线安装包,像站只能通过在线下载或源码构建。群源对于我这个初次接触项目构建的镜像初学者来说,这个过程充满挑战,站源但在大佬的码镜码帮助下,我成功安装了。像站
如果你对Qt的群源需求并不紧急,可以访问download.qt.io/archive/...,下载5.版本及以下的离线安装包。
对于想要从源码构建Qt6的用户,以下是具体步骤。注意,这个过程会安装全套工具,大约GB,但无法定制安装。以Qt6.5.0为例,首先从官方下载页或镜像站如清华大学、中国互联网络信息中心或中国科学技术大学的 mirrors 获取qt-everywhere-src-6.5.0.zip。
确保你的环境中安装了CMake、Ninja(推荐,但可选)和Python3,并将它们的路径添加到系统PATH中。解压下载的代码包后,重命名或直接放在指定目录如D:\Qt\6.5.0,用~代替。找到VS编译器目录,源码网站设计素描例如C:\Program Files\Microsoft Visual Studio\\Community\VC\Auxiliary\Build。
创建一个txt文件,内容如下(请根据实际路径替换):
bash
set PATH=%ProgramFiles%\Microsoft Visual Studio\\Community\VC\Tools\MSVC\..\bin\HostX\x;%PATH%
set PATH=%VSCOMNTOOLS%;%PATH%
将后缀改为.cmd,然后在cmd中运行配置命令,如%SystemRoot%\system\cmd.exe /E:ON /V:ON /k D:\Qt\6.5.0\qt6vars.cmd。接着,cd到源码目录并运行configure -prefix -debug(不写-prefix默认安装路径为C:\Program Files\Qt)。
开始构建过程,使用cmake --build . --parallel 或 ninja,这可能需要到分钟,具体时间取决于配置。最后,通过cmake --install . 完成安装,qmake.exe等可执行文件会出现在bin目录中。
npmmirror 镜像站已内置支持类似 unpkg cdn 解析能力
前端开发者熟知的unpkg是一个基于npm registry的静态资源CDN服务,提供便捷的静态资源访问能力。访问unpkg地址时,回源服务根据URL参数,从npm registry下载对应的npm包,解压后响应对应的文件内容。
在国内,npmmirror镜像站(前身为淘宝npm源)是广受前端开发者欢迎的公共镜像站,其单月下载量超过亿次,源码开源,国内许多公司基于其二次开发并部署企业私有包管理服务。
考虑到npmmirror本身提供tgzcdn托管服务,额外增加类似unpkg的cdn解析能力,成本较低。因此,最近实现了此功能,现已正式上线,URL规范如下:
相关RFC和Issue如下,欢迎试用并提PR帮助完善:-RFC:cnpm/cnpmcore/issues/-PR:cnpm/cnpmcore/pull/,酷信源码主页cnpm/cnpmcore/pull/
在内网部署cnpmcore时,请谨慎启用此能力,并考虑二次开发白名单审核机制,以防内部包意外泄露至CDN,导致安全风险或合规问题。
注:请不要忘记夸奖我的题图。
探寻最优linux镜像网站linux镜像网站
探寻最优Linux镜像网站
Linux是一种自由、开放源代码的操作系统,其应用及用户群体越来越广泛,已经从最初的服务器端应用扩展到了桌面端、移动端等各个领域。然而,作为一个开放源代码的操作系统,不同版本的Linux安装包及其应用软件需要从不同的服务器下载,而服务器不同,下载速度也会不同。因此,如何选取最优的Linux镜像网站来下载软件包,成为了Linux用户必须要解决的问题。
常见的Linux镜像网站包括: 阿里云、网易云、中科大、清华大学镜像站等。这篇文章将采用Python编程语言,通过测速工具获取Linux镜像站点下载速度,以得出最优Linux镜像网站。
1.编写Python程序获取镜像站点速度
通过Python编程语言,我们可以很快地编写程序来测量和比较各个Linux镜像网站的下载速度。首先,我们需要安装Python requests 和time模块。
import requests
import time
def test_speed(url):
start_time = time.time()
try:
response = requests.get(url, timeout=3)
end_time = time.time()
speed = round(response.content.__len__() / (end_time-start_time) / , 2)
return speed
except:
return -1
上述代码中,定义了test_speed()函数,该函数接收一个url参数,签名源码搭建教程在函数内使用requests.get()方法获取返回的数据,如果成功,计算下载速度,并返回。如果下载失败,返回-1。
2.测试镜像站点速度
我们定义一个Linux镜像网站列表来测试速度,如下所示:
mirror_list = [
“/ubuntu/dists/xenial/main/installer-amd/”,
“/ubuntu/dists/xenial/main/installer-amd/”
]
使用for循环循环遍历镜像站点,调用test_speed()函数进行速度测试,并将测试结果输出:
for mirror in mirror_list:
print(mirror, test_speed(mirror))
3.选择最优的Linux镜像网站
我们定义一个函数get_best_mirror(),该函数依次对所有Linux镜像网站进行速度测试,并找出其中下载速度最快的镜像网站,并返回该站点的url:
def get_best_mirror():
mirror_list = [
“/ubuntu/dists/xenial/main/installer-amd/”,
“/ubuntu/dists/xenial/main/installer-amd/”
]
best_mirror = “”
best_speed = 0
for mirror in mirror_list:
speed = test_speed(mirror)
if speed > best_speed:
best_mirror = mirror
best_speed = speed
return best_mirror
运行get_best_mirror()函数,将输出下载速度最快的Linux镜像网站。
综上所述,我们可以通过Python编程语言,使用测速工具获取Linux镜像站点的下载速度,以得出最优的Linux镜像网站。这样可以提高软件的下载速度,节约时间,提高效率。
镜像网站概念简介
镜像网站,实质上是将一个网站的完整源代码复制到多个独立服务器上,每个服务器拥有自己独特的URL,它们之间互为镜像,形成一个备份系统。这些镜像站点与主站在功能和内容上几乎没有差异,主要用于提供备用访问途径,确保在主站出现问题时,用户仍能通过其他服务器访问。
镜像站点的优势在于其冗余性,当主站服务器出现故障或异常时,用户可以通过其他镜像站点继续浏览,力源码头沙场从而保证了服务的连续性和稳定性。然而,与主站相比,镜像站点在速度和性能上可能稍逊一筹,因为主站通常会经过优化,提供更快的访问体验。
然而,曾经,镜像站点常常被滥用,通过复制网站内容并分配不同域名和服务器,试图通过搜索引擎多次索引同一站点或页面,以提高其搜索排名。但现代搜索引擎已经具备有效的检测机制,一旦识别到镜像站点,会同时从索引数据库中移除源站和镜像站点,以维护搜索引擎的准确性和公正性。
不限速、组件全、免费用!移动云开源镜像库上线啦!
开源软件、第三方库、开源源代码获取不再困扰开发者!移动云开源镜像站上线,极速、全面、安全地满足各类开发者需求,提供快速稳定的镜像服务。
移动云开源镜像站四大优势:
1. 免费使用 - 作为业界传统,遵循免费原则。持续增加开源组件,推广国内自由软件社区。
2. 速度快 - 提供高速稳定的下载体验,下载速度可达M/s,大幅减少等待时间,明显优于国外源下载速度。
3. 面面俱到 - 一站式提供移动云自研及主流Linux发行版、开源项目资源,满足从系统下载到开源代码二次开发的广泛需求。
4. 安全 - 支持IPv6访问,响应国家战略,增强网络安全性。秉持开放发展理念,提供高效服务。
移动云开源镜像站致力于以用户为中心,以开源精神为依托,为开源社区贡献力量。未来将持续优化服务,丰富资源,助力国内开源事业。
CentOS 7升级内核的三种方式(yum/rpm/源码)
在 CentOS 使用过程中,可能需要升级内核以获得性能优化、安全补丁或其他新功能。然而,确保所有程序都支持最新内核版本是关键。本文将介绍三种主要的 CentOS 内核升级方式:使用 yum、rpm 包或源码编译。
**一、通过 yum 安装最新内核
**CentOS 7 中,从内核 3.1 升级至 4.4(具体版本为 4..8),可以通过 yum 工具来完成。首先,导入仓库源并查看可安装的软件包,选择是 ML(mainline stable)还是 LT(long term support)版本。安装新内核后,使用命令调整启动顺序,确保系统在下次启动时使用新内核。
**二、使用 rpm 包安装特定版本内核
**以安装 LT 内核版本 4. 为例,先在 ELRepo 源中查找版本。对于较旧版本内核,可能需要手动下载。下载所需的 rpm 包后,使用 rpm 命令安装新内核。确认已安装的内核版本,并通过设置启动顺序确保系统下次启动时使用新内核。
**三、源码安装内核
**最小化安装 CentOS 7 ,然后准备安装环境。使用 home 下的 kernelbuild 目录创建内核编译目录。从清华大学镜像站获取内核源码,确保下载的是最新版本。解压内核源码,并执行 make 命令进行编译。根据实际需求配置内核选项,然后安装内核并设置启动顺序。
**四、卸载和降级内核
**如果已经安装了较新的内核版本,再安装较旧版本时可能会遇到冲突。可以通过查看当前系统内核版本,列出所有内核并删除不需要的版本来解决。务必在卸载前确认当前系统是否可以正常运行,以免影响系统稳定性。
通过以上方法,可以灵活地在 CentOS 系统中升级、定制或管理内核版本,以适应不同场景的需求。
WSL2 安装并下载、编译AOSP源码
安装WSL2
参考链接:安装WSL要求Windows 版本及更高版本(内部版本及更高版本)或Windows 。在power shell或cmd执行如下命令。
执行完之后就安装了Linux for Windows,并且打开了Windows的虚拟机平台和Linux子系统功能,并设置wsl默认版本为2。也可以手动安装,先在控制面板中找到启用或关闭Windows功能,勾选虚拟机平台和适用于Linux的Windows子系统功能。然后在应用商店找到Linux子系统(例如Ubuntu)进行安装。
如果是升级安装wsl,可能还需要同时升级linux内核。直接下载msi升级安装文件,点击安装即可。具体可参考:旧版WSL的手动安装步骤
硬盘设置
这里分为两类,一是将AOSP源码放在Windows文件系统下,二是将源码放置在WSL中。对于前者,需要修改文件目录的大小写敏感,新建完源码目录后,用管理员身份打开Windows的Powershell,执行以下命令:
其中的path就是刚新建用来同步AOSP源码的目录,需要注意的是,这个命令只对指定的目录有效,不会改变已存在的子目录的大小写敏感,所以要在同步代码之前设置好。根据文章:WSL编译AOSP必要的几个前置工作,还需要重新挂载磁盘。如果源码放在了Windows驱动器上,比如说F:\aosp,在WSL中的路径应该是/mnt/f/aosp这种形式的,此时需要以drvfs文件系统重新挂载盘符,否则编译到中途会报错:
注意,每次WSL重启,在编译之前都需要执行这步操作,也可以将它新建成WSL的一个开机服务,确保每次打开WSL都会执行这两段命令。如果是将源码放置在WSL中,需要注意WSL默认占用C盘空间,保证C盘有足够的空间,或者将WSL迁移到别的盘符。因为我的硬盘没有分区,不用担心占满C盘的空间,所以直接将源码放在WSL中编译。WSL安装之后默认是GB大小,对于AOSP的编译是不够的。可通过df命令查看容量,下面是我编译完之后的容量,可以看到占用了GB。
扩展WSL 2虚拟硬盘的大小 如何管理WSL磁盘空间
输出如下:
经过如上操作,将wsl的虚拟磁盘大小调整到1TB。
源码下载
创建bin,并加入path:
下载repo:
下载代码有两种方式,使用每月更新的初始化包或者传统初始化方式。
下载mirrors.tuna.tsinghua.edu.cn...,下载完成后记得根据checksum.txt的内容校验一下。由于所有代码都是从隐藏的.repo目录中checkout出来的,所以我们只保留了.repo目录,下载后解压再repo sync一遍即可得到完整的目录。使用方法如下:
此后,每次只需运行repo sync即可保持同步。
建立工作目录并初始化仓库: repo init -u mirrors.tuna.tsinghua.edu.cn... 如果需要某个特定的Android版本(列表): repo init -u mirrors.tuna.tsinghua.edu.cn... -b android-4.0.1_r1 同步源码树(以后只需执行这条命令来同步): repo sync 详细可见:AOSP | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror Android源码(AOSP)下载与编译 - 掘金
设置WSL内存大小
直接编译源码,会因为内存不足导致失败,通过free -m查看内存,只有4GB内存,swap空间只有2GB。可以通过设置WSL配置文件来修改相关配置属性。在用户目录下新建.wslconfig文件,在文件管理器输入%USERPROFILE%可找到用户文件夹。注意这里新建.wslconfig文件不要用新建文本文件的方式,这样文件可能没法被正确识别。可以通过命令行输入code .wslconfig的方式。
配置文件如下,根据自己的硬件配置尽可能多的分配多点资源,在编译完成后也能修改回来。我电脑是GB内存,所以给WSL配置GB内存,还有GB swap空间。
编译源码
编译源码就是常规流程,lunch项根据自己需要进行选择,编译线程数根据机器配置选择。
编译可能会报错缺少库文件,直接安装即可。sudo apt-get install libncurses5 如果需要编译出CMakeLists文件,方便导入CLion,需要在编译前添加环境变量。
编译成功!!
导入Clion效果。
若需要导入Android Studio中,还需要生成配置索引。
这一步需要Java环境,提前安装一下。sudo apt install openjdk--jdk
最终效果如下: