当前位置: 首页 > news >正文

Ubuntu24.04初始化教程(包含基础优化、ros2)

将会不断更新。但是所有都是基础且必要的操作。

  • 为重装系统之后的环境配置提供便捷信息来源。
  • 记录一些错误的解决方案。

目录

  • 构建系统
  • 建立系统备份
      • **Timeshift: 系统快照和备份工具**
      • **安装 Timeshift**
      • **使用 Timeshift 创建快照**
      • **还原快照**
      • **自动创建快照**
  • 最基本配置
    • 换源
  • 软件配置
    • 打开新世界大门
  • 谷歌浏览器
    • 星火应用商城
    • 更换输入法
    • 安装vscode
  • 完全删除snap
    • 删除
      • **删除软件**
      • **彻底删除**
      • 禁止重新安装Snap
    • 如果出现了任何问题,重装snap
  • **安装 Nala**
        • **1. 在 Ubuntu 或基于 Debian 的系统中安装**
      • **使用 Nala**
        • **1. 基本命令**
        • **2. 查看历史记录**
        • **3. 修复损坏的依赖**
    • **Fastfetch: 系统信息显示工具**
      • **安装 Fastfetch**
        • **Ubuntu/Debian 系统**
        • **从源码安装**
      • **使用 Fastfetch**
    • Conda: Miniconda
      • 步骤:
      • 添加conda镜像源
      • **配置环境和安装包**
  • 基础优化终端
    • 安装kitty
        • 步骤 1: 安装 Kitty 终端
        • 步骤 2: 设置 Kitty 为默认终端
      • **Kitty 基本配置**
        • 1.1 创建配置文件
        • 1.2 编辑配置文件
        • 1.3 基本设置
        • 2.2 使用第三方主题
      • **删除**
        • 1. **用包管理器下载**
        • 2. **如果是从源代码编译安装**
      • 3. **删除配置文件和缓存**
      • 4. **检查是否删除干净**
    • 安装starship
      • base环境没出来
  • (可选)安装NVIDIA驱动
    • **删除NVIDIA驱动及其相关文件(如果发生了问题)**
      • **:通过 GRUB 菜单进入恢复模式**
      • **步骤 :确保卸载干净**
        • **6. 卸载后重新安装驱动(可选)**
      • **验证驱动安装**
  • (可选)安装ros2-jazzy
  • 安装jupyter
    • Jupyter **nbextensions** 一个拓展
      • 如何安装和使用 Jupyter nbextensions
        • 1. 安装 `jupyter_contrib_nbextensions`
        • 2. 安装和启用扩展
    • 其他小的支持下载

构建系统

参照经典教程
Windows11 安装 Ubuntu 避坑指南
Windows 和 Ubuntu 双系统的安装和卸载
一些值得注意的点
如果是GPT的磁盘(我使用这个)
同时使用双硬盘的笔记本

那么在Ubuntu24.04中,无需要创建一个efi分区。
当创建根挂载点之后,将自动生成一个fat32格式的引导分区。

推荐使用最简配置

其他的正常操作即可。非常简单。

建立系统备份

Timeshift: 系统快照和备份工具

Timeshift 是一款用于 Linux 的强大工具,它可以创建系统快照并在需要时还原系统到指定的时间点,非常适合在进行高风险操作(如删除关键系统组件、更新系统等)之前使用。


安装 Timeshift

sudo nala update
sudo nala install timeshift

使用 Timeshift 创建快照

  1. 启动 Timeshift

    • 使用图形界面:

      sudo timeshift-gtk
      
    • 使用终端界面:

      sudo timeshift
      
  2. 选择快照类型

    • RSYNC(推荐):适用于大多数场景,它使用文件同步的方式创建快照。
    • BTRFS:适用于 Btrfs 文件系统。
  3. 选择快照存储位置

    • 选择存储快照的磁盘分区(建议使用外部磁盘或与系统分区不同的磁盘分区)。
  4. 创建快照

    • 单击 “Create” 按钮即可开始创建快照。

    • 或者在终端中运行:

      sudo timeshift --create --comments "Before removing Snap"
      

还原快照

如果删除关键组件后系统出现问题,可以通过以下步骤还原快照:

  1. 启动 Timeshift:

    • 图形界面:

      sudo timeshift-gtk
      
    • 终端:

      sudo timeshift --restore
      
  2. 选择要还原的快照。

  3. 按照提示操作,完成系统还原。


自动创建快照

为了避免忘记创建快照,您可以设置 Timeshift 自动创建快照:

  1. 启动 Timeshift。
  2. 转到 Settings > Schedule,启用定时快照。
  3. 根据需求选择创建快照的频率(如每天、每周等)。

最基本配置

  1. 首先更新apt
sudo apt update
  1. 然后同步时间
sudo apt install ntpdate
sudo apt install util-linux
sudo apt install util-linux-extra
sudo ntpdate time.windows.com
sudo timedatectl set-local-rtc 1
# 不要使用下面这个,在当前版本不支持
# sudo hwclock --localtime --systohc
  1. 然后换源
    你可以手动操作,但是错误率高。
    这里我是用fishros的脚本
wget http://fishros.com/install -O fishros && . fishros

注意
我不再认为fishros一键换源很好用,有可能会引发一些依赖问题,并且可能速度很慢。
我推荐手动换源。

在软件更新中,选择Ubuntu的官方源是一个很好的选择,然后进入source.d中修改相关源文件

换源

  1. Ubuntu24.04的源地址配置文件发生改变,不再使用以前的sources.list文件,升级24.04之后,而是使用如下文件
    /etc/apt/sources.list.d/ubuntu.sources
    
  2. 备份源配置文件
    sudo cp /etc/apt/sources.list.d/ubuntu.sources  /etc/apt/sources.list.d/ubuntu.sources.bak
    
  3. 编辑源配置文件
    sudo vim /etc/apt/sources.list.d/ubuntu.sources
    
  4. 覆盖掉系统源(我在软件更新中使用阿里云源,只不过是多了suites而已)
    Types: deb
    URIs: http://mirrors.aliyun.com/ubuntu/
    Suites: noble noble-security noble-updates noble-proposed noble-backports
    Components: main restricted universe multiverse
    Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg                                                
    
  5. 然后将另一个官方系统源注释掉.
  6. 使用以下命令更新,apt-get切记
    sudo apt-get update
    sudo apt-get upgrade
    

还有别的系统源,可以参考

  • Ubuntu24.04换源方法(新版源更换方式,包含Arm64)
  • Ubuntu 24 换国内源及原理 (阿里源)

软件配置

打开新世界大门

谷歌浏览器

先安装这个,因为后面要删除所有snap应用
去官网下载,我使用的是谷歌。

星火应用商城

在这里下载国产应用很好用,我的微信,qq音乐和邮箱就是在这里下载的

更换输入法

我的文章

  • 在Ubuntu22.04上安装rime中文输入法的基本教程
  • 安装Fcitx5输入框架和输入法自动部署脚本(来自Mark24)-Ubuntu通用

第一篇已经接近废弃。

安装vscode

安装官网下载
同时向你推荐我的配置:

  • vscode基本配置-基于clang-format
  • vscode的c/c++ 环境配置(包含clang-format配置)
  • vscode插件推荐

记得,使用clang-format之前先

sudo apt install clang-format

相关教程,在上述链接中,都包含。

完全删除snap

删除

注意顺序似乎socket要先被禁用才能禁用service

  • 禁用开机启动
sudo systemctl disable snapd.socket
sudo systemctl disable snapd.service
sudo systemctl disable snapd.seeded.service

删除软件

  1. 检查应用

    snap list
    
  2. 逐一移除 Snap 应用(先商店再软件):

    sudo snap remove snap-store
    sudo snap remove firefox
    sudo snap remove gnome-42-2204 
    sudo snap remove core20
    sudo snap remove bare
    

    如果仍然看到类似于 /usr/lib/snapd/snapd 的进程,使用以下命令终止它:

    sudo killall snapd
    
  3. 移除 Snap 相关服务和残留:

    sudo apt purge snapd
    sudo rm -rf /snap /var/snap /var/lib/snapd ~/snap
    

彻底删除

  1. 删除残留文件:

    sudo rm -rf /snap
    sudo rm -rf /var/snap
    sudo rm -rf /var/lib/snapd
    sudo rm -rf ~/snap
    
  2. 验证 Snap 是否已彻底移除:

    which snap
    

    如果无输出,说明 Snap 已完全卸载。


禁止重新安装Snap

我们可以利用APT可配置禁用安装哪些依赖的特性,来实现禁止重新自动安装Snap服务
创建一个配置文件

sudo vim /etc/apt/preferences.d/nosnap.pref

输入如下内容

Package: snapd
Pin: release a=*
Pin-Priority: -10

如果出现了任何问题,重装snap

  1. 重新安装 Snap 包管理器

    sudo apt update
    sudo apt install snapd
    
  2. 启用 Snap 服务

    sudo systemctl enable --now snapd.socket
    
  3. 检查 Snap 是否正常工作

    snap version
    

安装 Nala

1. 在 Ubuntu 或基于 Debian 的系统中安装
  1. 添加 Nala 的 PPA:

    sudo add-apt-repository ppa:volian/nala
    sudo apt update
    
  2. 安装 Nala:

    sudo apt install nala
    

使用 Nala

1. 基本命令

apt 类似,Nala 提供了以下常用命令:

  • 更新软件包索引:

    sudo nala update
    
  • 安装软件包:

    sudo nala install <package_name>
    
  • 升级系统:

    sudo nala upgrade
    
  • 删除软件包:

    sudo nala remove <package_name>
    
2. 查看历史记录

Nala 提供了查看包管理历史记录的功能:

sudo nala history
3. 修复损坏的依赖

如果系统中有依赖问题,可以使用 Nala 修复:

sudo nala fix

Fastfetch: 系统信息显示工具

用于显示系统信息.


安装 Fastfetch

Ubuntu/Debian 系统
sudo apt update
sudo apt install fastfetch
从源码安装

如果在官方仓库中没有找到 Fastfetch,可以通过源码安装:

  1. 克隆 GitHub 仓库:

    git clone https://github.com/SnowflakeMC/fastfetch.git
    
  2. 进入仓库目录:

    cd fastfetch
    
  3. 安装:

    sudo make install
    

使用 Fastfetch

  • 显示系统信息:

    fastfetch
    
  • 常用选项

    • 禁用 ASCII 图形(仅显示文字信息):

      fastfetch --no-ascii
      
    • 自定义配置信息(指定配置文件):

      fastfetch --config /path/to/config.conf
      
  • 修改配置Fastfetch 的配置文件通常位于 ~/.config/fastfetch/config.conf。你可以编辑它来定制输出的内容,比如隐藏某些信息或调整颜色主题。


Conda: Miniconda

我之后都将使用Anaconda,但是操作基本相同
去官网下载地址:

  • Anaconda Installers

步骤:

  1. 下载 Miniconda 安装脚本

    打开终端并运行以下命令来下载适用于 Linux 的 Miniconda 安装脚本:

    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
    
  2. 为脚本添加执行权限

    给下载的脚本添加执行权限:

    chmod +x miniconda.sh
    
  3. 运行安装脚本

    运行 Miniconda 安装脚本并按提示完成安装:

    ./miniconda.sh
    

    安装过程中,默认的安装路径通常是 ~/miniconda3,你可以根据需要选择更改。安装完成后,按提示让脚本添加 Conda 到你的 shell 配置文件中。

  4. 初始化 Conda

    安装完成后,运行以下命令来初始化 Conda,使其在终端启动时自动加载:

    source ~/miniconda3/bin/activate
    conda init
    

    这将修改你的 shell 配置文件,使 Conda 在每次打开终端时自动激活。

  5. 关闭并重新打开终端

    完成安装并初始化后,重新打开终端。你应该会看到 Conda 的提示符,如 (base),表示 Conda 环境已经激活。

  6. 检查安装是否成功

    输入以下命令检查 Conda 是否安装成功:

    conda --version
    
  7. 获取conda基本信息

    conda info --envs
    

    envs是虚拟环境名称。如果是base就不需要写这个参数

  8. 确保base环境的python版本与系统的相同,不同就设置

    conda install python=3.12.3
    

    在jupyter中如果不相同,会找不到rclpy。

添加conda镜像源

# 查看当前配置的镜像源
conda config --show channels 
# 恢复默认配置
conda config --remove-key channels

有时候找不到,或者下载慢,是因为官方源出问题了。
阿里源已经挂了

code /home/dw/miniconda3/.condarc

创建一个配置文件,在里面填入(清华源

channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

配置环境和安装包

# 创建一个新的环境
conda create --name myenv python= xxx# 激活环境
conda activate myenv# 安装 TensorFlow
conda install tensorflow

这样,你就可以在独立的环境中运行不同版本的包,避免不同项目之间的冲突。


基础优化终端

安装kitty

步骤 1: 安装 Kitty 终端
sudo nala update
sudo nala install kitty
步骤 2: 设置 Kitty 为默认终端

你可以通过 update-alternatives 将 Kitty 设置为默认终端。这样当你打开终端时,默认会启动 Kitty。

sudo update-alternatives --config x-terminal-emulator
  • 在弹出的选择菜单中选择 Kitty(通常会显示 Kitty 的路径,例如 /usr/bin/kitty)。
  • 按照提示输入对应的数字,按回车

Kitty 基本配置

https://github.com/kovidgoyal/kitty-themes

官网中有足够清晰的教程.

1.1 创建配置文件

首先确保你有一个 kitty.conf 配置文件,通常位于 ~/.config/kitty/kitty.conf。如果没有,先创建它:

mkdir -p ~/.config/kitty
touch ~/.config/kitty/kitty.conf
1.2 编辑配置文件

打开 kitty.conf 配置文件:

nano ~/.config/kitty/kitty.conf
1.3 基本设置

我的基本设置,主要依赖官方样式

# 1. 字体设置
font_family FiraCode  # 设置字体为 FiraCode(支持连字的字体)
font_size 14.0        # 设置字体大小为 14# 3. 启用字体连字(需要支持连字的字体,如 FiraCode)
enable_ligatures yes# 5. 透明背景
background_opacity 0.85  # 设置背景透明度(0 为全透明,1 为不透明)# 6. 设置窗口边距
window_padding 10      # 设置窗口内边距(单位:像素)# 7. 启用软换行(文本自动换行)
soft_wrap 1            # 开启软换行
2.2 使用第三方主题

你可以从 kitty-themes GitHub 下载更多的主题,然后在 kitty.conf 中引入。

在kitty终端中输入

kitty +kitten themes

删除

如果遇到任何问题,删除所有的文件.

1. 用包管理器下载

如果通过 nala 安装的,可以使用以下命令:

sudo nala remove --purge kitty
sudo nala autoremove

如果你是使用apt(当然nala remove之后就无须使用apt remove了),或者conda,使用它们相关的卸载方式

2. 如果是从源代码编译安装
  1. 进入 kitty 源代码目录(即你当初克隆或下载源码的文件夹)。

  2. 执行 make uninstall 命令,前提是安装时有安装卸载规则。

    sudo make uninstall
    
  3. 删除安装目录(通常是 /usr/local/bin/opt)。

    你可以手动删除 kitty 的二进制文件和配置文件。例如,假设你将 kitty 安装到了 /opt/kitty

    sudo rm -rf /opt/kitty
    sudo rm /usr/local/bin/kitty
    sudo rm /usr/local/bin/kitty_config
    

    确保删除相关的二进制文件、配置文件以及任何安装时创建的目录。

3. 删除配置文件和缓存

删除它的配置文件和缓存,这样就可以完全清除所有相关的文件。

rm -rf ~/.config/kitty
rm -rf ~/.local/share/kitty
rm -rf ~/.cache/kitty

4. 检查是否删除干净

检查是否还存在 kitty 的安装痕迹:

which kitty

如果终端返回空结果,则表示 kitty 已成功卸载。如果仍然显示路径,可以手动删除相应的文件。

安装starship

starship的安装参照官网即可

  • starship

不要在kitty中安装
去终端中安装!!!

base环境没出来

在阅读了官方的配置文档之后。
在这里插入图片描述
我们只需要添加这个指令进去就好了

code ~/.config/starship.toml

(可选)安装NVIDIA驱动

原本的开源驱动以及足够使用,但是为了追求效益,我决定安装官方驱动。
教程请见:

  • ubuntu 24.04 安装 Nvidia 显卡驱动 + CUDA + cuDNN,配置 AI 深度学习训练环境,简单易懂,一看就会!

删除NVIDIA驱动及其相关文件(如果发生了问题)

还有其他方案比如说:

NVIDIA显卡的Ubuntu驱动程序安装方法

:通过 GRUB 菜单进入恢复模式

  1. 重启系统

    • 在系统启动时,按住 Shift 键,直到出现 GRUB 菜单。
    • 如果您使用的是 UEFI 启动,请尝试按 Esc 键。
  2. 选择恢复模式

    • 在 GRUB 菜单中,选择您的内核版本带有 Recovery Mode 的选项。
  3. 进入根终端

    • 在恢复模式菜单中,选择 root 进入根终端。
  4. 停止图形界面

    • 如果图形界面服务仍在运行,可以使用以下命令停止:

      sudo systemctl stop gdm       # GNOME
      sudo systemctl stop sddm      # KDE
      sudo systemctl stop lightdm   # LightDM
      
  5. 卸载 NVIDIA 模块:

    sudo rmmod nvidia_drm nvidia_modeset nvidia
    

步骤 :确保卸载干净

  1. 确保 NVIDIA 驱动已完全卸载

    sudo apt-get purge '^nvidia-.*'
    
  2. 移除残留的 NVIDIA 配置文件和内核模块: 这些文件可能会在卸载过程中留下,需要手动清理:

    sudo rm -rf /lib/modules/$(uname -r)/kernel/drivers/video/nvidia*
    sudo rm -rf /etc/X11/xorg.conf.d/10-nvidia.conf
    sudo rm -rf /etc/modprobe.d/nvidia.conf
    sudo rm -rf /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
    
  3. 更新 initramfs: 确保内核模块的更改被加载:

    sudo update-initramfs -u
    
  4. 重启计算机: 在清理完后,最好重启一次:

    sudo reboot
    

6. 卸载后重新安装驱动(可选)

卸载模块后,可以重新安装兼容的 NVIDIA 驱动:

  • 使用 NVIDIA .run 文件重新安装:

    sudo ./NVIDIA-Linux-x86_64-560.31.02.run
    
  • 或使用 Ubuntu 驱动管理工具:(在软件更新器的图形化界面中也可以)

    sudo ubuntu-drivers autoinstall
    sudo reboot
    

验证驱动安装

安装完成并重启后,您可以通过以下命令验证 NVIDIA 驱动是否正确安装:

  1. 检查 NVIDIA 驱动

    nvidia-smi
    

    如果成功,应该看到类似以下内容,显示当前驱动和显卡信息:

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.80    Driver Version: 460.80    CUDA Version: 11.2           |
    |-------------------------------+----------------------+----------------------+
    
  2. 检查 NVIDIA 内核模块

    lsmod | grep nvidia
    

    应该能看到 nvidia, nvidia_modeset, nvidia_drm 等模块。


(可选)安装ros2-jazzy

教程请见:

  • ubuntu24.04安装jazzy版ros2的前置操作(防报错)
    这个教程并不完全正确。
    似乎是安装版本上有些错误,但我不确定。

以下是参考,无须参考换源.
有问题去对应配置文件里面删除即可。

  • 主要是Ubuntu 24.04 安装 ROS2 Jazzy

安装jupyter

注意python版本的系统和conda虚拟环境的差别!!

如何检查?
jpynb中执行,看看它是不是调用了conda环境还是系统环境!!

import sys
print(sys.executable)

为了防止出错
使用 Conda 安装 Jupyter
如果 Jupyter 安装在 conda 环境中,最好通过 conda 安装 Jupyter,而不是使用 pip,以确保所有依赖都能正确处理:

conda install jupyter

新的正确操作
新建一个虚拟环境而非base,减少出错可能性.
注意版本一定要和系统python一样!!!!!
如果不一样,可能依赖会冲突!!!!

conda create -n ros2 python=3.12.3

然后进行jupyter的安装,
值得注意的是,使用conda安装有可能出现依赖过旧的问题。。
有两个可能:

  1. ros2-jazzy需要的依赖高于conda-forge中存在的依赖(一个c++依赖)
    如(系统的 libstdc++ 库版本过低,缺少 GLIBCXX_3.4.30)
  2. python版本不统一
    ros2安装在系统,在虚拟环境中使用ros2最好保证python版本相同
  • ROS2用jupyter时在import rclpy时的报错
  • 修复: GLIBCXX_3.4.30‘ not found

Jupyter nbextensions 一个拓展

如何安装和使用 Jupyter nbextensions

1. 安装 jupyter_contrib_nbextensions

要使用 Jupyter nbextensions,首先需要安装 jupyter_contrib_nbextensions 包,它包含了多个扩展和配置工具。

# 在 conda 环境中运行以下命令
conda install -c conda-forge jupyter_contrib_nbextensions
2. 安装和启用扩展
jupyter contrib nbextension install --user

这会把扩展文件放到你的 Jupyter 配置目录中。

jupyter notebook
  • jupyter notebook 进阶使用:nbextensions

其他小的支持下载

conda install numpy
transforms3d

相关文章:

Ubuntu24.04初始化教程(包含基础优化、ros2)

将会不断更新。但是所有都是基础且必要的操作。 为重装系统之后的环境配置提供便捷信息来源。记录一些错误的解决方案。 目录 构建系统建立系统备份**Timeshift: 系统快照和备份工具****安装 Timeshift****使用 Timeshift 创建快照****还原快照****自动创建快照** 最基本配置换…...

45 基于单片机的信号选择与温度变化

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;采用DS18B20检测温度&#xff0c;通过三种LED灯代表不同状态。 采用DAC0832显示信号脉冲&#xff0c;通过8位数码管显示温度。 信号脉冲可以根据两个按键分别调整为正弦…...

#JAVA-常用API-爬虫

1.爬虫 我们在正则表达式的讲解中可以使用字符串的方法materchs()来匹配&#xff0c;并且返回一个boolean值 String name "lshhhljh"; System.out.println(name.matches("lsh{3}\\s{3}")); //true现在我们将利用正则表达式来爬取本地或者网站上的文本内…...

Qt 面试题复习10~12_2024-12-2

Qt 面试题 28、Qt 如果一个信号的处理方法一直未被执行有哪些可能性29、Qt 三大核心机制30、虚函数表31、什么是Qt事件循环 &#xff1f;32、纯虚函数和普通的虚函数有什么区别33、Qt 的样式表是什么&#xff1f;34、描述Qt的TCP通讯流程35、自定义控件流程36、什么是Qt的插件机…...

在OpenHarmony系统下开发支持Android应用的双框架系统

在 OpenHarmony 系统下开发支持 Android 应用的双框架系统&#xff0c;主要的目标是实现 OpenHarmony 本身作为底层操作系统&#xff0c;并通过兼容层或者桥接技术&#xff0c;允许 Android 应用在其上运行。双框架系统的架构设计会涉及到 OpenHarmony 和 Android 的结合&#…...

对力扣77组合优化的剪枝操作的理解

77. 组合 代码随想录放出了这一张图 我乍一看觉得想当然,但是仔细想想,又不知道以下剪枝代码作何解释,因此我想通过这篇文章简要解释一下 class Solution { private:vector<vector<int>> result;vector<int> path;void backtracking(int n, int k, int sta…...

SpringMVC中的Handler、HandlerMapping、HandlerAdapter

SpringMVC中的Handler、HandlerMapping、HandlerAdapter到底是啥 这东西,虽然说和我们的开发没啥关系,尤其是当你用SpringBoot进行开发时,这些接口离你越来越远了。讲实话,要不是这学期扫一眼学校的课件,我都不知道有这东西,这东西本来就是对使用框架进行开发的开发者隐藏…...

tomcat 8在idea启动控制台乱码

Tomcat 8在IntelliJ IDEA&#xff08;简称IDEA&#xff09;启动控制台出现乱码的问题&#xff0c;通常是由于Tomcat的默认编码格式&#xff08;UTF-8&#xff09;与IDEA或操作系统的默认编码格式&#xff08;如GBK&#xff09;不一致所导致的。以下是一些解决此问题的步骤&…...

windows下kafka初体验简易demo

这里提供了windows下的java1.8和kafka3.9.0版本汇总&#xff0c;可直接免费下载 【免费】java1.8kafka2.13版本汇总资源-CSDN文库 解压后可以得到一个文件夹 资料汇总内有一个kafka文件资料包.tgz&#xff0c;解压后可得到下述文件夹kafka_2.13-3.9.0&#xff0c;资料汇总内还…...

证明直纹极小曲面是平面或者正螺旋面.

目录 证明直纹极小曲面是平面或者正螺旋面 证明直纹极小曲面是平面或者正螺旋面 证明&#xff1a;设极小直纹面 S S S的参数表示为 r ( u , v ) a ( u ) v c ( u ) . (u,v)\mathbf{a}(u)v\mathbf{c}(u). (u,v)a(u)vc(u).则 r u a ′ v c ′ , r v c , r u ∧ r v a ′ ∧…...

matlab2024a安装

1.开始安装 2.点击安装 3.选择安装密钥 4.接受条款 5.安装密钥 21471-07182-41807-00726-32378-34241-61866-60308-44209-03650-51035-48216-24734-36781-57695-35731-64525-44540-57877-31100-06573-50736-60034-42697-39512-63953 6 7.选择许可证文件 8.找许可证文件 9.选…...

Observability:如何在 Kubernetes pod 中轻松添加应用程序监控

作者&#xff1a;来自 Elastic Jack Shirazi•Sylvain Juge•Alexander Wert Elastic APM K8s Attacher 允许将 Elastic APM 应用程序代理&#xff08;例如 Elastic APM Java 代理&#xff09;自动安装到 Kubernetes 集群中运行的应用程序中。该机制使用变异 webhook&#xff0…...

关于Nginx前后端分离部署spring boot和vue工程以及反向代理的配置说明

最近项目中用到关于Nginx前后端分离部署spring boot和vue工程以及反向代理的配置&#xff0c;总结了一下说明&#xff1a; 1、后端是spring boot工程&#xff0c;端口8000&#xff0c;通过 jar命令启动 nohup java -jar xxx-jsonflow-biz.jar > /usr/local/nohup.out 2>…...

redis渐进式遍历

文章目录 一. 渐进式遍历介绍二. scan命令 一. 渐进式遍历介绍 keys * , 一次性把整个redis中所有的key都获取到, 这个操作比较危险, 可能会阻塞redis服务器 通过渐进式遍历, 就可以做到, 既能够获取到所有的key, 又不会卡死服务器 渐进式遍历, 不是一个命令把所有key都拿到,…...

【C++】数据类型与操作实践:详细解析与优化

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目一&#xff1a;三个数的倒序输出1.1 题目描述与代码实现代码实现&#xff1a; 1.2 代码解析与细节说明1.3 使用 int 类型的合理性分析1.4 其他数据类型的考虑1.5 代码优…...

C# 集合(Collection)

文章目录 前言一、动态数组&#xff08;ArrayList&#xff09;二、哈希表&#xff08;Hashtable&#xff09;三、排序列表&#xff08;SortedList&#xff09;四、堆栈&#xff08;Stack&#xff09;五、队列&#xff08;Queue&#xff09;六、点阵列&#xff08;BitArray&…...

【智能控制】实验,基于MATLAB的模糊推理系统设计,模糊控制系统设计

关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…...

前端跳转路由的时候,清掉缓存

清除路由缓存的方法 ‌使用 $router.push() 方法‌&#xff1a;在跳转路由时&#xff0c;可以通过传递一个包含 replace: true 属性的对象来实现清除路由缓存。例如&#xff1a; this.$router.push({ path: "/new-route", replace: true }); ‌使用 $router.replace…...

基于 LlamaFactory 的 LoRA 微调模型支持 vllm 批量推理的实现

背景 LlamaFactory 的 LoRA 微调功能非常便捷&#xff0c;微调后的模型&#xff0c;没有直接支持 vllm 推理&#xff0c;故导致推理速度不够快。 LlamaFactory 目前支持通过 VLLM API 进行部署&#xff0c;调用 API 时的响应速度&#xff0c;仍然没有vllm批量推理的速度快。 …...

【赵渝强老师】PostgreSQL的物理存储结构

PostgreSQL在执行initdb的数据库集群初始化时会指定一个目录。该目录通过环境变量$PGDATA来表示。当数据库集群初始化完成后&#xff0c;会在这个目录生成相关的子目录以及一些文件。这些生成的文件就是PostgreSQL的物理存储结构中的文件。如下图所示。 如上图所示&#xff0c…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...