日用Linux

news/2025/1/7 19:47:37/文章来源:https://www.cnblogs.com/kyana/p/18655635

00|日用记录

Mint

常用软件替代

腾讯系

  • 截至2024年底,腾讯会议、QQ和微信都已经有了官方Linux版(微信属内测但功能基本完善),主要支持Ubuntu(Debian)系。

办公

  • WPS Office停留在2019版本,CAJViewer搭配edge浏览器使用,可能需要安装微软字体。
  • 输入法框架使用fcitx(借助IBus),如果是fcitx5自带的输入法就不错,如果4就用搜狗

开发

  • 刷题的RedPanda(小熊猫)从GitHub的每日构建中登陆后下载,其他情况使用vscode
  • 虚拟机使用virtualbox或者boxes,qemu适合进阶
  • notepad--也能用来写点简单的,DBeaver也能用

影音

  • 音乐播放器有rhythmbox等老牌软件,视频播放器推荐mpv、cellouid是mpv套壳。
  • 编辑使用ffmpeg,硬要用ffplay播放也不是不行;硬件足够上DavinceResolve

日常

  • 百度网盘、keepassxc

其它

Synthesizer V Studio也能正常更新使用,但需要老版本升级,暂时没找到linux的下载方式

00|前面的话

起因

Win11吃藕和负优化,Win10又不支持新CPU(比如大小核调度),所以看看Linux发行版中,有没有可以基本满足日常开发使用的操作系统和相应软件。尝试Linux还有一个原因是想看看传闻中的“老机换新颜”有多厉害,所以同时又装了一个Win10 22H2作为对比。

配置

裸机是一台18年的联想笔记本,上大学时淘的相对便宜,i5-8265U+8G板载,两块合计512G的固态硬盘,Win10和Mint各占一块。我的强迫症曾经让我想当然希望两者的boot可以在各自硬盘上,后来发现这是徒劳,不过不足500M 的差距不会影响对比结果就是了。

选择

操作系统

尝试了Fedora、Debian、Kali、Mint、ZorinOS、elementaryOS等一系列系统之后,最终选定了Mint Cinnamon(当前21.3),没有尝试Ubuntu因为该死的snap和我的强迫症,没有尝试Deepin因为笨重,没有尝试麒麟系列搞不到,没有尝试Arch系列是因为“滚着滚着就挂了”。

Fedora从各方面来说都是相当不错的选择,用这个你可以和人吹嘘linus同款,就是不捆绑GNOME就更好了。GNOME确实挺好用,就是我用着不爽,而且还有莫名的闪屏bug。

Debian怎么说呢,12.3版本在我这台机器上居然复现了linus那个“因为兼容性问题无法继续安装”,所以说Debian为了稳定软件版本老的人真该重新考虑一下了,这老吗?这新的我都装不上!doge

Kali确实是做了深度美化的,甚至美化到grub,但我也不是天天搞安全,装点日常用软件就要忍受那冗长的菜单甚至还有兼容性问题,而一些在Windows上的安全工具只能通过Wine,多少有点得不偿失。

ZorinOS浅尝辄止的评价是,外国Deepin,和号称最像OSX的elementaryOS有一样的问题,美化了,只美化了一点点,且不说兼容问题,光是这个软件和那个工具能和系统本身有三种风格,就足够我这个强迫症崩溃了。

Mint作为一众系统里以blog起家的,虽然叠了Debian、Ubuntu、Mint三层buff,但也带来了格外好的兼容性,甚至有在别处没见过的“驱动管理器”和“安装音视频编解码器”,可以说相当好用了,大学里很敬仰的一位老师,就是只在笔记本上装了Mint做工作机使用。

桌面环境

我选择桌面环境的宗旨首先就是好用,这个好用分别是:

  1. 兼容稳定:长时间使用没有恶性bug,软件兼容好,可以快速响应。
  2. 方便美观:有常用的小功能/工具,设计比较简洁,便于自定义。
  3. 暂时就想到这么多,后面再补。

任何发行版最好用的桌面环境,一定就是主推的那款。Ubuntu虽然有Xfce和KDE的风味版,却不如GNOME的好看,一致性做的不如Mint。相比之下,xfce太简陋,如果是通过软件包管理器安装的就更甚以至于我会用“丑”来形容,而KDE则大包大揽,什么都做,风格太鲜明。

我一直认为,适当美化愉悦身心,过度美化仍是默认。有人看到别人花里胡哨高大上的Linux桌面就“给俺也整一个”,但过度的美化不仅会在后台占用大量资源(在Windows上尤其明显,我这台老机器放个鹿鸣,开机GPU占用就一半了TAT),还会让我这个有对称审美的强迫症发飙。所以在Windows上折腾好一阵,“归来仍是默认”,换个壁纸得了整那些花里胡哨干啥。

最后来评价一下Mint的三个桌面环境,Cinnamon模仿Win7,虽然平时老说Windows各种毛病,但从Windows切换归来,也就Cinnamon用着最顺手,不得不感叹惯性的力量。MATE给我的感觉就是处处散发着一股老气,三重开始菜单我的小屏笔记本不甚友好,而xfce虽然有Mint的加持,也还是缺东少西,自定义相当掣肘。如果算上LMDE可以说四个环境,但Debian虽然也是Cinnamon,但由于Debian的一些Debuff只能屈居妃位。(Mint Ubuntu Cinnamon:XXXXXX,XXXXXX。doge

自定义

  • 非整数分辨率可以在Mint的实验功能中开启,对于我这块1.5K屏幕,当然是150%缩放最合适。
  • 字体Mint/Ubuntu自带的就相当可用了,如果使用WPS、CAJViewer会带有一些宋体、方正字体,WPS的缺少字体提升目前看可以不管,还没遇到过问题(据说是有些公式在用)。

02|通用软件

指的是Windows上常用的软件对Linux(主要是Ubuntu)做了适配的。虽然平时总吐槽Electron应用各种难用(包括但不限于体积臃肿、反应迟钝、资源开销大等),但有时也不得不感叹相比Qt那种可能需要深耕才能做出较为一致体验的应用(搜狗输入法、WPS,虽然是Qt值得表扬,但也各有缺点),Electron真是轻而易举啊(比如QQ)!

搜狗输入法

参考链接:Linux Mint 21.1 安装搜狗输入法 - 食铁兽、搜狗输入法linux-安装指导 (sogou.com)

前提环境准备:sudo apt install fcitx libqt5qml5 libqt5quick5 libqt5quickwidgets5(相比官网建议少了几个qt的库,但确实能跑)

如果打字不多,输入框架自带的输入法也能使用,不过相当不好用。

搜狗输入法适配了一批以Ubuntu为基础的“国产操作系统”,所以在Mint上也能相当跑起来,可能是桌面环境的支持原因,无法对输入法进行设置(会闪窗口但没有渲染),Linux版也没有登录选项,好在可以切换五笔和拼音输入。

搜狗输入法需要的框架是fcitx(4,不是5。虽然5各种好,但新生事物还没能来得及完成兼容,在我这个系统上设置界面会有些扭曲),如果直接安装官网的软件包,可能会帮你安装好,也可以通过Mint的输入法管理器或者根据下载搜狗软件包后跳转的安装指导↑进行安装。

安装好fcitx框架和搜狗输入法后,还需要设置fcitx框架启用输入法,这边建议把fcitx自带的输入法全卸载,就不用纠结切换和排序的问题了。启用输入法的按键也在fcitx设置中可以找到,默认是Ctrl+Space,用惯传统Windows快捷键的可能刚开始不熟悉。

自带输入法需要重启才能正常缩放,搜狗输入法没有这个问题,但状态栏会按照缩放前的“屏幕右下角”固定,不能再移动,在高清屏上就是接近中心的位置了,我只好把它挪到左上角。

在Mint上如果不对Qt库进行重定向,使用系统安装而非搜狗自带的,会出现能提示切换到搜狗输入法但既不显示状态栏(有时候显示),按键也没有反应,参考上面食铁兽的博客得以解决,复制了其中脚本方便使用。

# !/bin/shcd /opt/sogoupinyin/files/lib/qt5/lib/sudo rm libQt5Core.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 libQt5Core.so.5sudo rm libQt5Gui.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 libQt5Gui.so.5sudo rm libQt5Widgets.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 libQt5Widgets.so.5sudo rm libQt5DBus.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 libQt5DBus.so.5sudo rm libQt5Qml.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 libQt5Qml.so.5sudo rm libQt5Network.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 libQt5Network.so.5sudo rm libQt5Quick.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 libQt5Quick.so.5sudo rm libQt5QuickWidgets.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5 libQt5QuickWidgets.so.5sudo rm libQt5Svg.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5 libQt5Svg.so.5sudo rm libQt5XcbQpa.so.5 
sudo ln -s /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 libQt5XcbQpa.so.5

搜狗输入法的指南里说要卸载ibus,如果预先只安装了ibus甚至使用了,可以先卸载,否则不建议。因为fcitx在我目前的理解相当于对ibus的一个封装或者汉化,就像stockfish和pikafish关系一样,fcitx是要依赖于ibus的,即使卸载,在安装fcitx过程中还要安装ibus,何必多此一举呢?

食铁兽的博客中还提到安装一个qtsetting库,实测暂不必要。

WPS Office

似乎一个好消息是,WPS Office是难得的官方提供Linux包的几个(尤其是同时通过多架构和分发版)。但不好的消息是要处理一些字体问题。这本不是什么大事,但有些字体是Windows特供,所以只能额外安装。一个办法是安装微软TTF包即 ttf-mscorefonts-installer,另一个办法是下载缺失的几个字体,放进文件夹里重建字体缓存。

本来这以为几个字体没什么用,但需要一个复选框时,刚好就在缺失的字体中,所以选择下载一下字体包,不过只需要将字体全部解压到WPS Office的字体路径 /usr/share/fonts/wps-office即可。

03|替代软件

结论

Fedora

  • 删除旧内核:dnf remove --oldinstallonly
  • 重置密码
  • 密钥环不匹配:安装seahorse新建并默认,可以单独设置密码,记好
  • 优化和扩展:dnf install gnome-tweaks gnome-extensions-app
  • 推荐扩展:user-themes eye-and-mouse-extended just-perfection nothing-to-say transparent-window-moving
  • 安装C#:dnf install dotnet-sdk-7.0
  • 安装vscode:把直链的域名改为(vscode.)cdn.azure.cn使用国内镜像加速,下载rpm包安装
  • 安装pwsh(powershell 7):在GitHub下载rpm包安装(默认在 /opt/microsoft/
  • 安装oh-my-posh:从GitHub下载本体、主题和Meslo字体,将posh添加到path(不添加也可以)
  • 为pwsh配置posh:在 ~/.config目录下创建powershell文件夹,从pwsh编辑 $PROFILE,照posh说明添加配置。新建终端配置文件,安装并指定字体,在“命令”中勾选“使用自定义命令而不是shell”,添加命令 pwsh --nologo完成配置。
  • 安装QQ:从官网下载AppImage包(rpm也行,但我觉得AppImage更好用),创建桌面文件,
  • 查看Linux文件系统
  • Snap、AppImage和Flatpak:snap是Ubuntu多,能跨,但分区隔离不好用(类docker);Flatpak是沙箱隔离(类似微软商店),全通用;AppImage是磁盘挂载(类似绿色文件),需要自己创建关联(但临时文件还会保存)。
  • 移除软件包密钥:rpm -qa microsoft
  • 配置posh:oh-my-posh和pwsh从GitHub上下载相应文件可执行Path/安装即可,主题对不同shell(如zsh和pwsh)不一样,终端启动需要修改配置文件,配置pwsh启动后按posh提供配置创建即可。
  • 关于pwsh的命令链接:在使用高亮时候出现了ls和dir不一样的问题,推荐使用原生的dir命令,因为ls在Windows上是dir的软链接,但在Linux上是实际程序,所以pwsh无法处理Linux下ls命令的输出,插件就不起作用了。
  • zsh的使用:直接安装本体和扩展,修改配置文件即可,推荐的主题有amuse、flazz、maran、simple、ys
  • util-linux-user提供chsh命令,p7zip-plugins提供7zip命令
  • 使用java:任何java都提供java和javac两个命令,编译成类再运行。需要安装开发库包devel。
  • C#的vscode扩展:对本地安装好的的,需要指定程序的绝对路径,不能指定软连接

内核编译

内核编译好,资源少不了。

编译不规范,使用两行泪。

本文只介绍最简单的编译方式,让萌新可以迅速上手,同时尽量避免出错导致系统启动失败。在Ubuntu发行版中,使用apt包管理器就可以更新内核,无需自己编译。

01|使用make在Ubuntu编译内核并使用

如标题所言,本文分为两个部分:编译内核,启用内核。操作环境如下:

  • Ubuntu20.04LTS
  • VMWare16

编译安装内核

通过整个编译过程,我对内核的粗浅理解是,内核是由动态库(模组)、核心镜像和一些其它文件组成的一个文件集合。对编译过程的介绍将会以此展开。

编译前的准备

  • 基本的命令行操作和Linux环境
  • 联网(用于下载依赖库和源码包)

一、获取源码包并解压

从内核网(或者GitHub,不建议没有git基础的人用)将源码包下载到Linux系统中,并存放在家(~/)目录下。

# 本次使用的是5.14.7稳定,可自行替换为其它稳定版或长期支持版
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.7.tar.xz
# 网速不够快也可使用中科大镜像
wget https://mirrors.ustc.edu.cn/kernel.org/linux/kernel/v5.x/linux-5.14.7.tar.xz# 解压命令
tar -zxvf linux-5.14.7.tar.xz
# 加入解压后文件夹
cd linux-5.14.7.tar.xz

二、安装依赖库

  • 推荐切换中科大镜像源进行安装
  • 在不同Linux发布系统上(RedHat系和Debian系),依赖库名有所不同,具体请以自己的系统为准
sudo apt install flex bison build-essential libncurses-dev libssl-dev bc xz-utils libelf-dev
# 或者:sudo apt install kernel-package
  • git和vim:可选安装,如能熟练使用你,可用git恢复误删文件,使用vim的文本界面操作从而不安装 libncurses-dev库。
  • flex和bison:flex是词法分析器,bison是语法分析器,这部分在编译原理中有提及,是编译C文件不可或缺的两个包。
  • build-essential:包如其名,构建必需。这个包指定了C/C++文件从哪里获取头文件,从哪里获取库函数。安装同时还会安装这个包依赖的 gcc, g++, make等包(不是跨平台的CMake)。
  • libncurses-dev:图形字符处理库,在后文使用到 menuconfig时弹出的图形菜单的依赖库。
  • libssl-dev:加密算法库,编译完成对内核的签名等依赖库。
  • kernel-package:包如其名,一步到位将编译内核需要的各种库都安装。

三、配置内核选项并编译安装

cp /boot/config-$(uname -r) .config

将系统当前正在使用的设置文件复制为当前目录下的 .config,并在之后使用。大佬可以用vim等自己写配置文件。

make menucoifg

使用图形化界面配置Linux内核中的各种选项,该命令依赖 libncurses-dev库。对内核不了解的萌新建议直接退出,使用当前设置进行编译,以免配置错误导致编译失败。

make -j 8 modules

编译模组,j选项启用多线程,通常为CPU核心数的2倍。此过程通常很漫长,可以先去做其他事。

make bzImage

编译完模组后,可以发现当前目录下已经有 vmlinux文件了,这是一个可引导的内核,但此时安装文件尚不完整。bzImage是安装的脚本,并包含了gzip压缩后的内核。

make -j 8 (all)

将其它未编译文件全部编译,默认为 make all

make modules_install

首先安装modules,否则在安装过程会提示文件缺失。

make install

将内核安装

配置内核引导

# 将当前内核添加到引导第一项,注意将版本号替换为自己的
update-initramfs -c -k 5.14.7
# 更新引导
update-grub

或者使用 vim /etc/default/grub进行配置,重启后即可在高级选项中看到新编译的内核,或进入系统后使用 uname -a命令查看内核版本。

整个过程中的一些问题

Linux系统下,没有报错就是正常。(No news is good news.)

warning: the frame size of 1072 bytes is larger than 1024 bytes

警告原因:内核堆栈大小默认是1024B

解决方法:修改配置文件中堆栈大小的值为4096(最大,不要超过),即可消除。但因为是警告不会中断编译过程,可以忽略。

debian/canonical-certs.pem错误

出错原因:安全文件相关

解决方法:修改 .config文件,搜索 debian/canonical-certs.pem,并将这个字符串删除即可

删除自己编译的内核

# 列出所有内核
dpkg --get-selections |grep linux

内核镜像主要包括以下类型:linux-image-version_code内核镜像文件,linux-headers-version_code内核头文件,linux-image-extra-version_code内核扩展文件。

sudo rm -rf /lib/modules/version_code
sudo rm -rf /usr/src/linux-headers-version_code
sudo rm /boot/*version_code*
sudo rm /var/lib/dpkg/info/linux-headers-version_code*
sudo update-grub

删除系统自带内核

sudo apt-get purge linux-image-version_code
sudo update-grub

10|如何编译一个Ubuntu内核并使用(make ver.)

如标题所言,本文分为两个部分:编译内核,启用内核。操作环境如下:

  • Ubuntu20.04LTS
  • VMWare16

编译安装内核

通过整个编译过程,我对内核的粗浅理解是,内核是由动态库(模组)、核心镜像和一些其它文件组成的一个文件集合。对编译过程的介绍将会以此展开。

编译前的准备

  • 基本的命令行操作和Linux环境
  • 联网(用于下载依赖库和源码包)

一、获取源码包并解压

从内核网(或者GitHub,不建议没有git基础的人用)将源码包下载到Linux系统中,并存放在家(~/)目录下。

# 本次使用的是5.14.7稳定,可自行替换为其它稳定版或长期支持版
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.7.tar.xz
# 网速不够快也可使用中科大镜像
wget https://mirrors.ustc.edu.cn/kernel.org/linux/kernel/v5.x/linux-5.14.7.tar.xz# 解压命令
tar -zxvf linux-5.14.7.tar.xz
# 加入解压后文件夹
cd linux-5.14.7.tar.xz

二、安装依赖库

  • 推荐切换中科大镜像源进行安装
  • 在不同Linux发布系统上(RedHat系和Debian系),依赖库名有所不同,具体请以自己的系统为准
sudo apt install flex bison build-essential libncurses-dev libssl-dev bc xz-utils libelf-dev
# 或者:sudo apt install kernel-package
  • git和vim:可选安装,如能熟练使用你,可用git恢复误删文件,使用vim的文本界面操作从而不安装 libncurses-dev库。
  • flex和bison:flex是词法分析器,bison是语法分析器,这部分在编译原理中有提及,是编译C文件不可或缺的两个包。
  • build-essential:包如其名,构建必需。这个包指定了C/C++文件从哪里获取头文件,从哪里获取库函数。安装同时还会安装这个包依赖的 gcc, g++, make等包(不是跨平台的CMake)。
  • libncurses-dev:图形字符处理库,在后文使用到 menuconfig时弹出的图形菜单的依赖库。
  • libssl-dev:加密算法库,编译完成对内核的签名等依赖库。
  • kernel-package:包如其名,一步到位将编译内核需要的各种库都安装。

三、配置内核选项并编译安装

cp /boot/config-$(uname -r) .config

将系统当前正在使用的设置文件复制为当前目录下的 .config,并在之后使用。大佬可以用vim等自己写配置文件。

make menucoifg

使用图形化界面配置Linux内核中的各种选项,该命令依赖 libncurses-dev库。对内核不了解的萌新建议直接退出,使用当前设置进行编译,以免配置错误导致编译失败。

make -j 8 modules

编译模组,j选项启用多线程,通常为CPU核心数的2倍。此过程通常很漫长,可以先去做其他事。

make bzImage

编译完模组后,可以发现当前目录下已经有 vmlinux文件了,这是一个可引导的内核,但此时安装文件尚不完整。bzImage是安装的脚本,并包含了gzip压缩后的内核。

make -j 8 (all)

将其它未编译文件全部编译,默认为 make all

make modules_install

首先安装modules,否则在安装过程会提示文件缺失。

make install

将内核安装

配置内核引导

# 将当前内核添加到引导第一项,注意将版本号替换为自己的
update-initramfs -c -k 5.14.7
# 更新引导
update-grub

或者使用 vim /etc/default/grub进行配置,重启后即可在高级选项中看到新编译的内核,或进入系统后使用 uname -a命令查看内核版本。

整个过程中的一些问题

Linux系统下,没有报错就是正常。(No news is good news.)

warning: the frame size of 1072 bytes is larger than 1024 bytes

警告原因:内核堆栈大小默认是1024B

解决方法:修改配置文件中堆栈大小的值为4096(最大,不要超过),即可消除。但因为是警告不会中断编译过程,可以忽略。

debian/canonical-certs.pem错误

出错原因:安全文件相关

解决方法:修改 .config文件,搜索 debian/canonical-certs.pem,并将这个字符串删除即可

删除自己编译的内核

# 列出所有内核
dpkg --get-selections |grep linux

内核镜像主要包括以下类型:linux-image-version_code内核镜像文件,linux-headers-version_code内核头文件,linux-image-extra-version_code内核扩展文件。

sudo rm -rf /lib/modules/version_code
sudo rm -rf /usr/src/linux-headers-version_code
sudo rm /boot/*version_code*
sudo rm /var/lib/dpkg/info/linux-headers-version_code*
sudo update-grub

删除系统自带内核

sudo apt-get purge linux-image-version_code
sudo update-grub

(kernel-package版)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/864997.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux命令行连接蓝牙设备

Linux命令行连接蓝牙设备 查看Bluetooth设备: hciconfig启动一个Bluetooth设备,例如:hci0: hciconfig hci0 up相关指令查看特定的Bluetooth设备(例如,设备名为hci0): hciconfig hci0关闭一个Bluetooth设备(例如,设备名为hci0): hciconfig hci0 down修改一个Bluetoot…

华为云专家说:开源的商业化之路与开发者技术服务

开源在大量在云技术以及业务中应用,从开源与云的增长模式看,开源与云具有相当程度的相似性。本文来源:《华为云DTSE》第五期开源专刊,作者:华为云开发者支持首席布道师汪盛 开源、云的增长模式与 Product Led Growth具有较大相似性,两者增长立足于产品质量与使用的开发者…

JAVA-Day 06:if语句的三种形式

if语句的三种形式if(表达式){语句体}如果小括号里的表达式结果为真,则执行大括号中的语句体,如下图例子所示:2.if(表达式){语句体}else{语句体} 如果小括号里的表达式为真,则执行else前的大括号中的语句体,如果小括号里的表达式为假,则执行else后的大括号中的语句体。如下图…

Redis可视化工具 Another Redis Desktop Manager工具使用详细教程(附下载链接)

Redis 可视化工具推荐:Another Redis Desktop Manager Redis 是一种高性能的键值数据库,广泛应用于缓存和消息队列等场景。对于开发者来说,命令行工具固然强大,但操作繁琐。而一款高效易用的可视化工具可以极大地提升使用效率。本篇将为大家推荐一款开源、跨平台且功能强大…

跟狂神学习第一天,了解Markdown语法

Markdown学习 一个#+空格+标题名字=大标题/一级标题 二级标题 两个#+空格+标题 = 二级标题 三个#+空格+标题 = 三级标题 .......(以此类推) 一直到六级标题 字体 hello! 粗体:文字两边同时加两个* hello! 斜体:文字两边同时加一个* hello! 斜体加粗:文字两边同时加三个…

Ubuntu换源自用备用

Ubuntu换源(本地) 作者 原文链接:https://blog.csdn.net/MacWx/article/details/137689898 查询系统版本 lsb_release -a系统版本是 Ubuntu 20.04.6 LTS,注意这个开发代号Codename,Ubuntu每一个版本都有一个代号,这个一定要跟国内源对应,否则会出问题。 阿里云Ubuntu镜像…

大规模高性能云网络技术思路

控制面基础架构采用微服务架构模型,服务独立可扩展,可以根据每个服务的规模来部署满足需求的实例。具体网络控制面技术方案如图本文分享自天翼云开发者社区《大规模高性能云网络技术思路》,作者:程****超 控制面基础架构采用微服务架构模型,服务独立可扩展,可以根据每个服…

Python开发环境部署教程

本教程将详细介绍如何在 Windows 系统上配置 Python 开发环境,包括安装 Python、配置虚拟环境以及使用 VS Code 进行开发,适合新手和需要精细配置的开发者。本教程将详细介绍如何在 Windows 系统上配置 Python 开发环境,包括安装 Python、配置虚拟环境以及使用 VS Code 进行…

基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发

本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。作者:陆冬澄、周静 在现代软件研发体系中,.NET 平台由于其强大的功能、灵活性和…

初创团队如何借助看板工具简化任务管理

在初创企业的构建过程中,团队管理和项目推进常常面临诸多挑战。由于资金、人员和时间的限制,如何高效地组织和管理项目成为了每个初创团队需要面对的重要课题。幸运的是,借助现代化的看板文档工具,初创团队可以大幅提升其工作效率和协作效果,确保在快速变化的市场环境中保…

GA/T1400视图库平台EasyCVR小知识:如何评估现有监控系统的技术状况?

在当今社会,随着技术的不断发展和安全需求的日益提高,监控系统在各个领域的应用越来越广泛。为了确保监控系统的有效性和可靠性,定期对其技术状况进行全面评估是非常必要的。 通过对监控系统的系统功能、性能、安全性、硬件设备、软件系统以及维护管理等方面的细致检查与分析…

Java SpringBoot 图片转PDF示例

一个SpringBoot工程里面用到了第三方签章服务,支持PDF多页盖章,用户上传的是多张图片格式的文件,所以需要将图片转成PDF。 用了几个扩展包,出现过版本不兼容、转完的PDF带水印、还有操作复杂的。 最后借助 aspose-pdf 这个扩展包实现了,这里记录一下简单的 Demo。 pom.xml…