Archlinux安装软件的那些事

news2025/1/16 13:57:20
img
个人主页:董哥聊技术
我是董哥,嵌入式领域新星创作者
创作理念:专注分享高质量嵌入式文章,让大家读有所得!
img

文章目录

    • 1、ArchLinux
      • 1.1 ArchLinux原则
      • 1.2 软件包管理
        • 1.2.1 软件仓库
        • 1.2.2 包管理器
    • 2、Pacman
      • 2.1 pacman介绍
      • 2.2 pacman常用命令
      • 2.3 pacman安装流程
        • 2.3.1 查询软件包
        • 2.3.2 安装软件包
    • 3、AUR
      • 3.1 AUR介绍
      • 3.2 常用命令
      • 3.3 yay安装流程
        • 3.3.1 查询软件包
        • 3.3.2 安装软件包
    • 4、deb包安装
    • 5、推荐文章

哈喽,老伙计们!

最近EndeavourOS 也使用了一段时间,由于一些突发状况,不得不去重装系统。

登录上DistroWatch网站,发现EndeavourOS已经干掉了Manjaro,冲到了第二名;结合自己的使用体验,虽然也会遇到一些坑,但是无伤大雅,因此决定再次安装EndeavourOS

 

1、ArchLinux

image-20221127131357430

EndeavourOS也属于ArchLinux的派生版。

ArchLinux是一个独立开发的x86-64通用的GNU/Linux发行版,由加拿大程序设计师Judd Vinet从2001年早起开始开发,在2002年3月正式发行!

它致力于通过滚动发布来提供大多数软件的最新稳定版本。默认安装一个最小的基本系统,由用户配置添加有意需要的内容。

 

1.1 ArchLinux原则

ArchLinux项目遵循简洁主义,其主要设计原则有:

  • 简单:避免任何不必要的添加、修改
  • 现代:尽全力保持处于最新的稳定版本,采用滚动升级策略,安装之后可以持续升级。
  • 实用:仓库中既提供了开源、自由的软件,也提供了闭源软件。实用性大于意识形态。
  • 用户中心性:该发行版旨在满足为其贡献者的需求,而不是试图吸引尽可能多的用户。它面向精通 GNU/Linux 的用户,或任何愿意阅读文档并解决自己问题的自己动手的态度的人。
  • 多功能性:Arch Linux 是一个通用的发行版。安装时只提供命令行环境;用户无需删除不需要的包,而是可以通过在x86-64架构的官方软件仓库中提供的数千个高质量包中进行选择来构建自定义系统。

 

1.2 软件包管理

1.2.1 软件仓库

ArchLinux现存在以下官方仓库:

  • core:包含启动系统所必需的、链接互联网时可能需要的、编译软件包时需要的、检查、修复文件系统的工具、在安装过程中可能用到的软件包和它们的依赖。
  • extra:提供基本系统不需要的软件包,包括桌面环境和其他程序。
  • community:提供由社区构建和投票的软件包,包括因有足够投票而被“Trusted User”所收养的。
  • multilib:为x86_64用户提供的支持在64位环境下使用32位软件的集中化仓库。

 

1.2.2 包管理器

archlinux平台,常用的包管理器是pacmanaur,我们一般使用这两个包管理器来安装需要的软件。

  • pacmanArchLinux官方使用的软件包管理器,具有依赖处理和构建软件包的功能。

  • AURArch用户软件仓库(AUR:Arch User Repository),是一个面对广大Arch用户,以社区为主导的软件仓库,由开发者贡献他们自己的软件包,AUR社区对其进行投票,一旦某个软件包拥有足够多的票数,AUR的受信用户就会将它加入到[community]软件库,使得可以通过pacman来使用它们。

 

2、Pacman

image-20221127131639046

2.1 pacman介绍

pacman软件包管理器,是ArchLinux的一大亮点,其可以自动解决安装过程中的依赖问题, 自动下载并且安装所需要的软件包。

 

2.2 pacman常用命令

  • pacman -S <package>:安装指定软件包
  • pacman -R <package>:移除指定软件包
  • pacman -U <package>:更新指定软件包
  • pacman -Ss <package>:查询指定软件包
  • pacman -Syy:同步软件包,让本地的包数据库与远程的软件仓库同步
  • pacman -Syu:同步远程软件库到本地,并保持系统到最新状态。

具体详细的命令可以参考man pacman

或者参考官方手册https://archlinux.org/pacman/pacman.8.html#_options

 

2.3 pacman安装流程

虽然我们经常随心所欲的pacman,但是我们真的知道其行为背后的意义吗?

出问题的时候,我们能够准确定位到哪个环节的问题吗?

下面我们分析一下pacman背后的动作!

 

我们以flameshot为例,来看一下pacman安装流程

2.3.1 查询软件包

我们安装软件时,要确保远程arch软件仓库是否有对应的软件,以确保能够正常下载软件包。

查询方式有两种

sudo pacman -Ss "flameshot"			#可以根据关键词查找
  • 第一种正如上面所写, 直接命令行查询!
  • 第二种:进入官方Arch软件仓库网站,进行查询https://archlinux.org/packages/

 

2.3.2 安装软件包

查询到想要的软件包后,进行安装!

sudo pacman -S flameshot			# 写上对应的包名

安装过程,我们也来详细分析一下!

sudo pacman -S flameshot			# 写上对应的包名
[sudo] donge 的密码:正在解析依赖关系...
正在查找软件包冲突...

软件包 (1)           新版本    净变化    下载大小
community/flameshot  12.1.0-1  2.78 MiB  0.58 MiB

下载大小:      0.58 MiB
全部安装大小:  2.78 MiB

:: 进行安装吗? [Y/n] y
:: 正在获取软件包......
 flameshot-12.1.0-1-x86_64                                                           593.3 KiB   721 KiB/s 00:01 [--------------------------------------------------------------------] 100%
(1/1) 正在检查密钥环里的密钥                                                                                     [--------------------------------------------------------------------] 100%
(1/1) 正在检查软件包完整性                                                                                       [--------------------------------------------------------------------] 100%
(1/1) 正在加载软件包文件                                                                                         [--------------------------------------------------------------------] 100%
(1/1) 正在检查文件冲突                                                                                           [--------------------------------------------------------------------] 100%
:: 正在处理软件包的变化...
(1/1) 正在安装 flameshot                                                                                         [--------------------------------------------------------------------] 100%
flameshot 的可选依赖    gnome-shell-extension-appindicator: for system tray icon if you are using Gnome
    grim: for wlroots wayland support
    xdg-desktop-portal: for wayland support, you will need the implementation for your wayland desktop environment
:: 正在运行事务后钩子函数...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating icon theme caches...
(3/3) Updating the desktop file MIME type cache...
  1. 查找依赖关系,并解析依赖关系,如果有的话,会先安装依赖项!
  2. 查找软件包:在Arch软件管理中查询指定包,并进行下载。为了确保包的安全性,还要进行以下校验:
    1. 密钥检查
    2. 完整性检查
    3. 下载软件包
    4. 检查文件冲突
  3. 运行事后钩子函数
    1. 条件更新检查
    2. 图标主题更新
    3. 桌面文件更新

最终,我们可以在桌面上直接调用该程序。

 

Tip

我们通过pacman下载的软件,一般存储在/var/cache/pacman/pkg/路径下,其后缀为tar.zst的压缩文件,然后再进行的安装。

我们如果在网上下载其他的tar.zst后缀文件,我们可以通过pacman -U xxx.tar.zst命令直接安装!

 

3、AUR

image-20221127134405183

3.1 AUR介绍

AUR:Arch User Repository——Arch 用户软件仓库,是一个面对广大Arch用户、以社区为主导的软件仓库。

AUR的初衷是组织社区内分享PKGBUILDAUR社区对它们进行投票或反对,一旦某个软件包拥有足够多的票数,AUR的受信用户就会将它加入到[community]软件库,使得可以通过pacmanABS来使用它们。

 

谈到AUR,就不得不想到Yay

image-20221127135032103

yay——AUR Helper

YayArch Linux 下基于 CLI 的最佳 AUR 助手,使用 Go 语言编写。我们能够使用yay快速安装AUR发布的软件包!

 

Tip

  • 开发者一般提交的都是一个用包描述文件的集合(PKGBUILD)

  • 通过yay对包文件(PKGBUILD) 的解析,能够用于创建压缩包(.pkg.tar.zst)。

  • 最后生成的压缩包进行安装。

该描述文件为PKGBUILD 可以被yaypamacaurman等工具自动构建或者makepkg手动构建,最后生成压缩包,用于安装软件。

AUR上的所有内容都是由普通用户上传的,很少对他们的内容进行检查,由您来验证内容是否可以安全使用

 

3.2 常用命令

  • yay -S <package_name>:安装指定软件包
  • yay -R <package_name>:移除i指定软件包
  • yay <package_name>:查找指定安装包
  • yay:更新pacmanaur

 

3.3 yay安装流程

同样,我们使用yay来进行安装时,最好去弄明白其背后的原理!

 

我们以wexin为例

3.3.1 查询软件包

我们安装软件时,要确保远程AUR软件仓库是否有对应的软件,以确保能够正常下载软件包。

查询方式有两种

yay "weixin"			#可以根据关键词查找
  • 第一种正如上面所写, 直接命令行查询!
  • 第二种:进入官方AUR软件仓库网站,进行查询https://aur.archlinux.org/packages 在网站 中寻找安装包,可以根据VersionVotesPlpularlty来选择合适的安装包!

 

3.3.2 安装软件包

查询到想要的软件包后,进行安装!

yay -S weixin			# 写上对应的包名

安装过程,我们也来详细分析一下!

$ yay weixin
6 aur/deepin-wxwork 2.8.10.2010deepin0-2 (+3 0.00) (孤立) (过时的: 2021-12-13) 
    Tencent Weixin Work Client on Deepin Wine
5 aur/com.qq.weixin.work.deepin-x11 4.0.0.6007deepin10-1 (+3 1.44) 
    Deepin Wine Weixin Work on x11
4 aur/com.qq.weixin.work.deepin 3.1.12.6001deepin8-1 (+9 0.01) (孤立) (过时的: 2021-12-13) 
    Deepin Wine Weixin Work
3 aur/com.qq.weixin.deepin 3.2.1.154_14-2 (+12 0.57) 
    Deepin Wine WeChat
2 aur/com.qq.weixin.spark 3.7.6.44spark0-1 (+16 0.15) 
    Tencent WeChat Client from Spark Store
1 aur/deepin-wine-wechat 3.7.6.44-1 (+60 3.18) (过时的: 2022-11-14) 
    Tencent WeChat on Deepin Wine(com.qq.weixin.deepin) For Archlinux
==> 要安装的包 (示例: 1 2 3, 1-3 或 ^4)
==> 3
:: 正在检查冲突...
:: 正在检查内部冲突...
[Repo Make:55]  libyuv-r2322+3aebf69d-1  libavif-0.11.1-1  libheif-1.14.0-1  gd-2.3.3-5  libgphoto2-2.5.30-1  libudev0-shim-1-4  vkd3d-1.5-1  libjpeg6-turbo-1.5.3-2  lib32-alsa-lib-1.2.8-1  lib32-alsa-plugins-1.2.7.1-1  lib32-libxtst-1.2.4-1  lib32-at-spi2-core-2.46.0-2  lib32-colord-1.4.6-1  lib32-gdk-pixbuf2-2.42.10-1  lib32-libogg-1.3.5-1  
......
......

:: 安装后删除生成依赖? [y/N] 
:: (1/4) 下载了 PKGBUILD: deepin-udis86
:: (2/4) 下载了 PKGBUILD: deepin-wine6-stable
:: (3/4) 下载了 PKGBUILD: deepin-wine-helper
:: (4/4) 下载了 PKGBUILD: com.qq.weixin.deepin
  4 deepin-udis86                    (构建文件已存在)
  3 deepin-wine6-stable              (构建文件已存在)
  2 deepin-wine-helper               (构建文件已存在)
  1 com.qq.weixin.deepin             (构建文件已存在)
==> 显示哪些差异?==> [N]没有 [A]全部 [Ab]中止 [I]已安装 [No]未安装 或 (1 2 3, 1-3, ^4)
==> 
:: (1/4) 正在解析 SRCINFO: deepin-udis86
:: (2/4) 正在解析 SRCINFO: deepin-wine6-stable
:: (3/4) 正在解析 SRCINFO: deepin-wine-helper
:: (4/4) 正在解析 SRCINFO: com.qq.weixin.deepin
正在解析依赖关系...
正在查找软件包冲突...

软件包 (55)                           新版本                净变化     下载大小
extra/gd                              2.3.3-5                0.67 MiB  0.15 MiB
multilib/lib32-alsa-lib               1.2.8-1                1.10 MiB  0.38 MiB
multilib/lib32-alsa-plugins           1.2.7.1-1              0.30 MiB  0.07 MiB
multilib/lib32-at-spi2-core           2.46.0-2               0.64 MiB  0.17 MiB
multilib/lib32-cairo                  1.17.6-2               1.61 MiB  0.61 MiB

......
......

下载大小:      20.20 MiB
全部安装大小:  73.18 MiB
:: 进行安装吗? [Y/n] 
:: 正在获取软件包......
 lib32-gst-plugins-base-libs-1.20.4-1-x86_64                                        1548.6 KiB   633 KiB/s 00:02 [--------------------------------------------------------------------] 100%
 lib32-gtk3-1:3.24.35-2-x86_64                                                         2.8 MiB  1097 KiB/s 00:03 [----------------------------
 
......
......

:: 正在运行事务后钩子函数...
(1/7) Updating udev hardware database...
(2/7) Reloading device manager configuration...
(3/7) Arming ConditionNeedsUpdate...
(4/7) Updating the MIME type database...
(5/7) Probing GDK-Pixbuf loader modules...
(6/7) Probing 32-bit GDK-Pixbuf loader modules...
(7/7) Probing 32-bit GTK3 input method modules...
==> 正在创建软件包:com.qq.weixin.deepin 3.2.1.154_14-2 (2022年11月26日 星期六 21时06分21秒)
==> 获取源代码...
  -> 正在下载 com.qq.weixin.deepin_3.2.1.154deepin14_i386.deb...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- -

......
......


==> 正在验证 source 文件,使用md5sums...
    udis86_1.72-4_i386.deb ... 通过100  670k  100  670k    0     0   394k      0  0:00:01  0:00:01 --:--:--  394k        0    00 : 000::0002: 2-6- : -0-::0-0-: 0 10 : 000::0002: 2 52 4236k89k

......
......


==> 正在检查运行时依赖关系...
==> 正在检查编译时依赖关系==> 获取源代码...
  -> 找到 udis86_1.72-4_i386.deb
==> 正在验证 source 文件,使用md5sums...
    udis86_1.72-4_i386.deb ... 通过==> 正在删除现存的 $srcdir/ 目录...
==> 正在释放源码...
  -> 正在解压缩 udis86_1.72-4_i386.deb,使用 bsdtar
==> 源代码已就绪。==> 正在创建软件包:deepin-udis86 1.72_4-2 (2022年11月26日 星期六 21时07分21秒)
==> 正在检查运行时依赖关系...
==> 正在检查编译时依赖关系==> 警告: 使用现存的 $srcdir/ 树==> 正在进入 fakeroot 环境...
==> 正在开始 package()...
==> 正在清理安装...
  -> 正在删除 libtool 文件...
  -> 正在清除不打算要的文件...
  -> 正在移除静态库文件...
  -> 正在从二进制文件和库中清除不需要的系统符号...
  -> 正在压缩 man 及 info 文档...
==> 正在检查打包问题...
==> 正在构建软件包"deepin-udis86"...
  -> 正在生成 .PKGINFO 文件...
  -> 正在生成 .BUILDINFO 文件...
  -> 正在生成 .MTREE 文件...
  -> 正在压缩软件包...
==> 正在离开 fakeroot 环境。==> 完成创建:deepin-udis86 1.72_4-2 (2022年11月26日 星期六 21时07分24秒)
==> 清理中...
 -> libgphoto2 未满足,正在刷新安装队列正在加载软件包...
正在解析依赖关系...
正在查找软件包冲突...

软件包 (1)     新版本    净变化  

deepin-udis86  1.72_4-2  0.14 MiB

全部安装大小:  0.14 MiB

:: 进行安装吗? [Y/n] 
(1/1) 正在检查密钥环里的密钥                                                                                     [--------------------------------------------------------------------] 100%
(1/1) 正在检查软件包完整性                                                                                       [--------------------------------------------------------------------] 100%
(1/1) 正在加载软件包文件                                                                                         [--------------------------------------------------------------------] 100%
(1/1) 正在检查文件冲突                                                                                           [--------------------------------------------------------------------] 100%
:: 正在处理软件包的变化...
(1/1) 正在安装 deepin-udis86                                                                                     [--------------------------------------------------------------------] 100%
:: 正在运行事务后钩子函数...
(1/1) Arming ConditionNeedsUpdate...
==> 正在创建软件包:deepin-wine6-stable 6.0.0.39-1 (2022年11月26日 星期六 21时07分25秒)
==> 正在检查运行时依赖关系...
==> 正在检查编译时依赖关系==> 获取源代码...
  -> 找到 deepin-wine6-stable_6.0.0.39-1_amd64.deb
==> 正在验证 source 文件,使用sha256sums...
    deepin-wine6-stable_6.0.0.39-1_amd64.deb ... 通过==> 正在删除现存的 $srcdir/ 目录...
==> 正在释放源码...
==> 源代码已就绪。==> 正在创建软件包:deepin-wine6-stable 6.0.0.39-1 (2022年11月26日 星期六 21时07分28秒)
==> 正在检查运行时依赖关系...
==> 正在检查编译时依赖关系==> 警告: 使用现存的 $srcdir/ 树==> 正在进入 fakeroot 环境...
==> 正在开始 package_deepin-wine6-stable()...
==> 正在清理安装...
  -> 正在删除 libtool 文件...
  -> 正在清除不打算要的文件...
  -> 正在移除静态库文件...
  -> 正在从二进制文件和库中清除不需要的系统符号...
  -> 正在压缩 man 及 info 文档...
==> 正在检查打包问题...
==> 正在构建软件包"deepin-wine6-stable"...
  -> 正在生成 .PKGINFO 文件...
  -> 正在生成 .BUILDINFO 文件...
  -> 正在生成 .MTREE 文件...
  -> 正在压缩软件包...
==> 正在离开 fakeroot 环境。==> 完成创建:deepin-wine6-stable 6.0.0.39-1 (2022年11月26日 星期六 21时08分45秒)
==> 清理中...
 -> p7zip 未满足,正在刷新安装队列正在加载软件包...

......
......


:: 正在运行事务后钩子函数...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating icon theme caches...
(3/3) Updating the desktop file MIME type cache...

  1. 查找软件包,选择对应软件包进行下载
  2. 检查并下载PKGBUILD构建文件,以确保安全性
  3. 通过PKGBUILDi来检查并解析依赖项,进行下载,以解决软件依赖关系
  4. 下载所需要的软件包,并进行校验
  5. 最后进行安装软件包

Tip

我们通过yay下载的PKGBUILD构建文件,一般存储在~/.cache/yay/路径下。

根据PKGBUILD构建文件,下载后缀为tar.zst的软件包,然后再进行的安装。

我们在网上直接下载的PKGBUILD文件,也可以通过以下命令安装

# 生成后缀.pkg.tar.xz的压缩文件
makepkg
# 使用pacman安装
sudo pacman -U *.pkg.tar.xz

 

4、deb包安装

image-20221127181308791

最后,我们来了解以下Ubuntu/Debian系统下的deb包如何安装!

大体思路如下

  • deb包转化为archlinux所能直接安装的包,如tar.zst
  • 然后利用sudo pacman -U *.pkg.tar.zst命令安装

通常,将deb包转换为tar.zst的工具使用用debtap

Good Luck!

 

5、推荐文章

[1]:https://blog.csdn.net/maweizz/article/details/122113502

[2]:https://blog.csdn.net/weixin_53064820/article/details/127680536

img

点赞+关注,永远不迷路

img

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是幂等性?四种接口幂等性方案详解!

幂等性在我们的工作中无处不在&#xff0c;无论是支付场景还是下订单等核心场景都会涉及&#xff0c;也是分布式系统最常遇到的问题&#xff0c;除此之外&#xff0c;也是大厂面试的重灾区。 知道了幂等性的重要性&#xff0c;下面我就详细介绍幂等性以及具体的解决方案&#…

SpringBoot中自动配置

第一种&#xff1a; 给容器中的组件加上 ConfigurationProperties注解即可 测试&#xff1a; Component ConfigurationProperties(prefix "mycar") public class Car {private String brand;private Integer price;private Integer seatNum;public Integer getSeat…

币圈已死,绿色积分是全新的赛道吗?

近几年来&#xff0c;移动互联网行业的迅猛发展&#xff0c;快速改变着社会业态。尽管如此&#xff0c;仍有大量企业线上线下处于割裂状态&#xff0c;2020 年一场疫情的突然爆发&#xff0c;并持续到 2022年&#xff0c;对零售行业造成流量崩塌、供应链中断、市场供需下滑等压…

现代 CSS 高阶技巧,完美的波浪进度条效果。

将专注于实现复杂布局&#xff0c;兼容设备差异&#xff0c;制作酷炫动画&#xff0c;制作复杂交互&#xff0c;提升可访问性及构建奇思妙想效果等方面的内容。 在兼顾基础概述的同时&#xff0c;注重对技巧的挖掘&#xff0c;结合实际进行运用&#xff0c;欢迎大家关注。 正…

金属非金属如何去毛刺 机器人浮动去毛刺

毛刺的产生 在金属非金属零件的加工中&#xff0c;由于切削加工过程中塑性变形引起的毛边&#xff0c;或者是铸造、模锻等加工的飞边&#xff0c;或是焊接挤出的残料&#xff0c;这些与所要求的形状、尺寸有所出入&#xff0c;在被加工零件上派生出的多余部分即为毛刺&#xf…

音视频开发之 ALSA实战!

前言&#xff1a; 今天我们来分享一个开源的音频采集代码&#xff0c;现在大部分音频采集都是通过ALSA框架去采集&#xff0c;如果大家把ALSA采集代码学懂&#xff0c;那么大部分的音频采集都可以搞定。这个代码是用ALSA进行音频PCM的采集并保存到本地文件。一、alsa框架的介绍…

C#语言实例源码系列-实现输入框焦点变色和窗体拖拽改变大小

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断反思前进的过程。在这个过程中…

002.组合总和|||——回溯算法

1.题目链接&#xff1a; 216. 组合总和 III 2.解题思路&#xff1a; 2.1.题目要求&#xff1a; 给一个元素数量k和一个元素和n&#xff0c;要求从范围[1,2,3,4,5,6,7,8,9]中返回所有元素数量为k和元素和为n的组合。&#xff08;每个数字只能使用一次&#xff09; 比如输入k…

深度学习快速入门----Pytorch 系列2

注&#xff1a;参考B站‘小土堆’视频教程 视频链接&#xff1a;【PyTorch深度学习快速入门教程&#xff08;绝对通俗易懂&#xff01;&#xff09;【小土堆】 上一篇&#xff1a;深度学习快速入门----Pytorch 1 文章目录八、神经网络--非线性激活九、神经网络--线性层及其他层…

作为IT行业过来人,我有3个重要建议给后辈程序员!

见字如面&#xff0c;我是军哥&#xff01;作为一名 40 岁的 IT 老兵&#xff0c;我在年轻时踩了不少坑&#xff0c;我总结了其中最重要的 3 个并一次性分享给你&#xff0c;文章不长&#xff0c;你一定要看完哈&#xff5e;1、重视基础还不够&#xff0c;还要注重技术广度和深…

第2-4-8章 规则引擎Drools实战(1)-个人所得税计算器

文章目录9. Drools实战9.1 个人所得税计算器9.1.1 名词解释9.1.2 计算规则9.1.2.1 新税制主要有哪些变化&#xff1f;9.1.2.2 资较高人员本次个税较少&#xff0c;可能到年底扣税增加&#xff1f;9.1.2.3 关于年度汇算清缴9.1.2.4 个人所得税预扣率表&#xff08;居民个人工资、…

科教导刊杂志科教导刊杂志社科教导刊编辑部2022年第27期目录

前沿视角《科教导刊》投稿&#xff1a;cn7kantougao163.com 新时代研究生教育质量评价指标体系的框架构建 李军伟;赵永克;杨丹; 1-3 基于现代学徒制的“多主体、双标准、五维度”人才培养质量评价体系构建 汪帆;刘严; 4-6 高教论坛 新工科背景下地方性院校第二课堂…

【云原生】Docker容器服务更新与发现之consul

内容预知 1.consul的相关知识 1.1 什么是注册与发现 1.2 什么是consul 1.3 zookeeper和consul的区别 2. consul 部署 2.1 部署consul服务器 2.2 registrator服务器 3.consul-template 的引入 3.1 consul-template的作用 3.2 consul-template的具体部署运用 &…

微信开发者工具C盘占用大的问题

将User Data 下的文件迁移到其他盘&#xff0c;比如 D盘&#xff0c;E盘&#xff0c;F盘 步骤如下&#xff1a; 1.找到微信开发者工具C盘所在的缓存目录&#xff0c;一般为 C:\Users\ 你的用户名\AppData\Local\微信开发者工具\User Data 将里面的内容全部剪切到其它盘符&…

从鹅厂实例出发!分析Go Channel底层原理

本文是基于Go1.18.1源码的学习笔记。Channel的底层源码从Go1.14到现在的Go1.19之间几乎没有变化&#xff0c;这也是Go最早引入的组件之一&#xff0c;体现了Go并发思想&#xff1a;Do not communicate by sharing memory; instead, share memory by communicating.不要通过共享…

Playwright 简明入门教程:录制自动化测试用例,结合 Docker 使用

本篇文章聊聊如何使用 Playwright 进行测试用例的录制生成&#xff0c;以及如何在Docker 容器运行测试用例&#xff0c;或许是网上最简单的入门教程。 写在前面 Playwright 是微软出品的 Web 自动化测试工具和框架&#xff0c;和 Google Puppeteer 有着千丝万缕的关系。前一阵…

[附源码]计算机毕业设计springboot儿童早教课程管理系统论文2022

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

如何治理 Electron 版本淘宝直播应用崩溃?

经过几个月的努力&#xff0c;基于Electron框架开发的新版淘宝直播推流软件终于上线了。随之而来的就是线上用户反馈的各种问题&#xff0c;其中最影响用户体验的当属应用崩溃问题了。当应用程序出现未 catch 的异常时就会发生崩溃&#xff0c;本文介绍了客户端应用崩溃的处理流…

javaSE - Arrays - 数组的定义与使用

一、数组基本用法 1.1、什么是数组 数组本质上就是让我们能 “批量” 创建相同类型的变量 也可以说是存储一组相同数据类型的数据的集合 如: 如果需要表示两个数据, 那么直接创建两个变量即可 int a; int b 如果需要表示五个数据, 那么可以创建五个变量 int a1; int a2; int …

uni-app入门:自定义组件实现父子组件参数传递

1.属性绑定:父组件传递参数到子组件 2.事件绑定:子组件传递参数到父组件 3.获取组件对象实例:父组件获取子组件实例对象进行参数传递 1.属性绑定:父组件传递参数到子组件首先交代一下基本的项目信息:主页面为index.wxml,创建test子组件,文件目录:component/test/test…