wsl(2) -- ubuntu24.04配置
1. 常用脚本及别名配置
修改的文件内容参考另一篇文章常用bash脚本。
- 修改
~/.bashrc
,在文件末尾追加以下内容。
# Add by user
export MYTOOLS=$HOME/tools
export MYBINS=$HOME/bin
# 系统中其他地方已经添加过了,暂不清楚是哪里添加的
#export PATH=$MYBINS:$PATH
# 系统默认的是C.UTF-8,使用zh_CN.UTF-8中文输出乱码
#export LANG=zh_CN.UTF-8
export PS1='[\u@\h \W]\$ '# Some alias defined in /etc/baseprofile
alias cdd='cd /mnt/c/Users/$USER/Desktop'test -f $MYBIN/bin.sh && . $MYBIN/bin.sh
test -f $MYTOOLS/tools.sh && . $MYTOOLS/tools.sh
- 创建
~/tools
目录。
$ find ~/tools -type f
/home/xflm/tools/gdb/csky/init.gdb
/home/xflm/tools/gdb/host/init.gdb
/home/xflm/tools/gdb/arm/init.gdb
/home/xflm/tools/bash/del.sh
/home/xflm/tools/bash/grv.sh
/home/xflm/tools/bash/agg.sh
/home/xflm/tools/bash/pbin.sh
/home/xflm/tools/bash/bin_update.sh
/home/xflm/tools/bash/gr.sh
/home/xflm/tools/bash/cdirs.sh
/home/xflm/tools/bash/gg.sh
/home/xflm/tools/bash/kgg.sh
/home/xflm/tools/bash/cgg.sh
/home/xflm/tools/bash/grw.sh
/home/xflm/tools/bash/cd.sh
/home/xflm/tools/bash/ndel.sh
/home/xflm/tools/tools.sh
2. 更换软件源
ubuntu默认软件源为外网地址,国内访问可能比较慢,可以考虑更换为国内的镜像地址。另外ubutu24.04
开始配置镜像源的文件有所变化,从/etc/apt/sources.list
变更为/etc/apt/sources.list.d/ubuntu.sources
。
# 备份原文件
$ sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
# 将源文件中的源地址注释掉,更换为国内的源地址
$ sudo vi /etc/apt/sources.list.d/ubuntu.sources
# 更新软件源
$ sudo apt-get update
$ sudo apt-get upgrade
阿里云
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
清华源
Types: deb
URIs: http://mirrors.tuna.tsinghua.edu.cn/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
中科大源
Types: deb
URIs: http://mirrors.ustc.edu.cn/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
网易163源
Types: deb
URIs: http://mirrors.163.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
3. 安装常用软件
# tree 打印目录树的工具
# universal-ctags vim打标签的工具,直接使用ctags安装会提示选择一个指定的版本
# gcc gdb 主机编程工具
# make 编译工具
# gcc-arm-none-eabi arm编译工具链
# usbutils 包含一些usb的工具,比如lsusb用于查看已接入的usb设备
# iptables 防火墙配置程序
# net-tools 包含一些网络工具,比如ifconfig
sudo apt install tree universal-ctags gcc gdb make gcc-arm-none-eabi usbutils iptables net-tools
4. 定义一些windows软件的别名
wsl
默认没有安装桌面功能,有时候需要使用一些桌面程序,比如notepad++
、BCompare
,可以考虑使用windows中安装的程序。
- 修改
$MYTOOLS/bash/bin_update.sh
内容如下。
#!/bin/bashmkdir -p $MYBINSfunc_link()
{NUM=${#FILEOLD[@]}for ((i=0; i<NUM; i++)); doecho -e "#!/bin/bash\nPATH=\"$EXE_PATH\":$""PATH \"$EXE_PATH/$PREFIXOLD${FILEOLD[$i]}$SUFFIXOLD\" \"$""@\"" > "$MYBINS/$PREFIXNEW${FILENEW[$i]}$SUFFIXNEW"if [ $? -ne 0 ]; thenecho "$EXE_PATH/$PREFIXOLD${FILEOLD[$i]}$SUFFIXOLD"fichmod +x "$MYBINS/$PREFIXNEW${FILENEW[$i]}$SUFFIXNEW"done
}EXE_PATH="/mnt/d/apps_no_install/Beyond Compare"
PREFIXOLD=""
PREFIXNEW=""
SUFFIXOLD=".exe"
SUFFIXNEW=""
FILEOLD=(BCompare)
FILENEW=(_BCompare)
func_linkEXE_PATH="/mnt/d/Program Files/Notepad++"
PREFIXOLD=""
PREFIXNEW=""
SUFFIXOLD=".exe"
SUFFIXNEW=""
FILEOLD=(notepad++)
FILENEW=(_notepad++)
func_link
- 执行该脚本会在
$MYBINS
目录下生成对应的脚本,比如$MYBINS/_notepad++
内容如下。
#!/bin/bash
PATH="/mnt/d/Program Files/Notepad++":$PATH "/mnt/d/Program Files/Notepad++/notepad++.exe" "$@"
- 修改
$MYBINS/bin.sh
内容如下,该脚本的目的是定义别名,将windows程序放到后台运行。
#!/bin/bashbcompare() { $MYBINS/_BCompare "$@" & }
gedit() { $MYBINS/_notepad++ "$@" & }
~/.bashrc
会加载$MYBINS/bin.sh
,之后可以执行$ gedit ~/.bashrc
命令,效果即为在windows的notepad++
程序里打开了wsl
中的~/.bashrc
,wsl
会自动进行路径的转换\\wsl.localhost\Ubuntu-24.04\home\xflm\.bashrc
,确保notepad++
能正常打开。
5. 添加vim配置
参考vim(1) – 环境配置,进行配置。
6. 添加git配置
参考git(1) – 环境配置,进行配置。
上一篇:wsl(1) – win11环境配置
下一篇:wsl(3) – USB使用
目录:wsl – 集合
7. 参考
Ubuntu 24.04 抢先体验换国内源 清华源 阿里源 中科大源 163源
相关文章:
wsl(2) -- ubuntu24.04配置
1. 常用脚本及别名配置 修改的文件内容参考另一篇文章常用bash脚本。 修改~/.bashrc,在文件末尾追加以下内容。 # Add by user export MYTOOLS$HOME/tools export MYBINS$HOME/bin # 系统中其他地方已经添加过了,暂不清楚是哪里添加的 #export PATH$M…...
python快速搭建https服务器
本文介绍了在ubuntu操作系统上搭建https服务器的过程 在一台连接到网络的主机上搭建https服务器,假设该主机的ip地址为:10.98.69.174 创建证书example.crt和私钥example.key openssl req -newkey rsa:2048 -nodes -keyout example.key -x509 -days 365…...

网络原理3-应用层(HTTP/HTTPS)
目录 DNSHTTP/HTTPSHTTP协议报文HTTP的方法请求报头、响应报头(header)状态码构造HTTP请求HTTPS 应用层是我们日常开发中最常用的一层,因为其他层:传输层、网络层、数据链路层、物理层这些都是操作系统和硬件、驱动已经实现好的,我们只能使用…...

JVM(HotSpot):堆空间(Heap)以及常用相关工具介绍
文章目录 一、内存结构图二、堆的定义三、堆内存溢出四、堆内存排查工具 一、内存结构图 二、堆的定义 1、通过new关键字创建的对象,都会放到堆空间中。 2、它是线程共享的,堆中的对象都要考虑线程安全问题。 那有同学肯定会问,方法内通过n…...

【Python语言初识(六)】
一、网络编程入门 1.1、TCP/IP模型 实现网络通信的基础是网络通信协议,这些协议通常是由互联网工程任务组 (IETF)制定的。所谓“协议”就是通信计算机双方必须共同遵从的一组约定,例如怎样建立连接、怎样互相识别等,…...

使用root账号ssh登录虚拟机ubuntu
在C:\Users\Administrator\.ssh目录下的config中,添加ubuntu会在根目录中,建立一个root文件夹。在该文件夹中建一个.ssh目录。像免密登录ubuntu设置中,把公钥考进去。在vscode中打开文件夹中选择要打开的文件夹,就可以不需要在ubu…...

五子棋双人对战项目(1)——WebSocket介绍
目录 一、项目介绍 如何实现实时同步对局? 二、WebSocket 1、什么是WebSocket? 2、WebSocket的报文格式 opcode payload len payload data 3、WebSocket握手过程 4、WebSocket代码的简单编写 三、WebSocket 和 HTTP的关系 1、相同点…...
rabbitMq------信道管理模块
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言信道管理的字段申明/删除交换机申明/删除队列绑定/解绑消息的发布消息确认订阅队列取消订阅信道内存管理类打开信道关闭信道/获取指定信道 总结 前言 信道是在…...

如何只用 CSS 制作网格?
来源:how-to-make-a-grid-like-graph-paper-grid-with-just-css 在看 用于打印到纸张的 CSS 这篇文章时,对其中的网格比较好奇,作者提供了 stackoverflow 的链接,就看到了来源的这个问题和众多回复。本文从里面挑选了一些个人比较…...

Linux安装RabbitMQ安装
1. RabbitMQ介绍 1.1 RabbitMQ关键特性 异步消息传递:允许应用程序在不直接进行网络调用的情况下交换消息。 可靠性:支持消息持久化,确保消息不会在系统故障时丢失。 灵活的路由:支持多种路由选项,包括直接、主题、…...
SpringBoot驱动的社区医院信息管理平台
1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理社区医院信息平台的相关信息成为必然。开发…...
MyBatis-Plus如何分页查询?
MyBatis-Plus提供了一种简单而强大的分页查询功能,可以通过使用Page对象和Mapper接口中的方法来实现。以下是分页查询的基本步骤: 添加分页插件依赖 确保你的项目中已经添加了MyBatis-Plus的分页插件依赖。 <dependency><groupId>com.bao…...

云原生之容器编排实践-OpenEuler23.09离线安装Kubernetes与KubeSphere
背景 有互联网的日子确实美好,不过有时候,仅仅是有时候,你可能会面临离线部署 Kubernetes 与 KubeSphere 集群的要求。。 我们借助由青云开源的容器平台, KubeSphere 来进行可视化的服务部署。 KubeSphere 是在 Kubernetes 之上…...

构建企业数字化转型的战略基石——TOGAF框架的深度解析
数字化时代的企业变革需求 在全球范围内,数字化转型已成为企业提高竞争力、优化运营流程、提升客户体验的核心战略。数字技术的迅猛发展,不仅改变了传统行业的运作模式,也迫使企业重新思考其业务架构和技术基础设施。TOGAF(The O…...

docker -私有镜像仓库 - harbor安装
文章目录 1、镜像仓库简介2、Harbor简介3、下载与安装3.1、下载3.2、安装3.2.1、上传harbor-offline-installer-v2.8.2.tgz到虚拟机中解压并修改配置文件3.2.2、解压tgz包3.2.3、切换到解压缩后的目录下3.2.4、准备配置文件3.2.5、修改配置文件 4、启动Harbor5、启动关闭命令6、…...
头号积木玩家——软件工程专业职业生涯规划报告
说明:本报告为博主在浙江科技学院(现浙江科技大学)就读软件工程本科专业时,在必修课程《计算机导论》中撰写的报告。(报告主体2021年11月定稿,有删改) 标题说明:在电影《头号玩家》…...

Redis(初步认识和安装)
初识Redis 认识NoSQLSQL结构化:structure关联的:RelationalSQL查询ACID NoSQL非结构化无关联的非SQLBASE 认识Redis安装Redis 认识NoSQL SQL和NoSQL比较 SQL 结构化:structure 数据库中表的字段都有固定的结构 关联的:Relati…...

计算机网络:计算机网络概述:网络、互联网与因特网的区别
文章目录 网络、互联网与因特网的区别网络分类 互联网因特网基于 ISP 的多层次结构的互连网络因特网的标准化工作因特网管理机构因特网的组成 网络、互联网与因特网的区别 若干节点和链路互连形成网络,若干网络通过路由器互连形成互联网 互联网是全球范围内的网络…...

网络编程套接字TCP
前集回顾 上一篇博客中我们写了一个UDP的echo server,是一个回显服务器:请求是啥,响应就是啥 一个正常的服务器,要做三个事情: 读取请求并解析根据请求,计算响应把响应写回到客户端 DatagramPacket res…...
Git
Git-2.34.1-64-bitGit-2.34.1-64-bitTortoiseGit-2.4.0.2-64bitTortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN 下载Git-2.34.1-64-bit、TortoiseGit-2.4.0.2-64bit、TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN,依次安装。 # 配置本地Git的用户名与邮箱 git c…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...