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

debian12.9或ubuntu,vagrant离线安装插件vagrant-libvirt,20250601

系统盘:

https://mirror.lzu.edu.cn/debian-cd/12.9.0/amd64/iso-dvd/debian-12.9.0-amd64-DVD-1.iso

需要的依赖包,无需安装ruby( sudo apt install -y ruby-full ruby-dev rubygems,后来发现不安装会有编译警告,还是安装吧 ) ,无需安装 zlib1g-dev liblzma-dev  libxml2-dev libxslt-dev ,curl也不需要安装:

apt install -y iptables; apt  install --print-uris -y  libvirt-daemon-system libvirt-clients qemu-kvm libvirt-dev  virtinst  | tee ~/bbb.log;
grep -oE "'https?://[^ ]+" /root/bbb.log  > /download_urls_filtered_virt.txt
cd /tmp&&(
cat /download_urls_filtered_virt.txt | xargs -I {} sh -c 'wget  -4 --no-check-certificate    {}  && echo 0.1'
)dpkg -i *.deb;wget https://releases.hashicorp.com/vagrant/2.4.5/vagrant_2.4.5-1_amd64.deb&&dpkg -i vagrant_2.4.5-1_amd64.deb;apt  install --print-uris -y   build-essential | tee ~/bbb2.log;
grep -oE "'https?://[^ ]+" /root/bbb2.log  > /download_urls_filtered_build-essential.txt
cd /tmp&&(
ls -la;
cat /download_urls_filtered_build-essential.txt | xargs -I {} sh -c 'wget  -4 --no-check-certificate    {}  && echo 0.1'
)dpkg -i *.deb;

root@debian129:/mnt# dpkg -l build-essential patch zlib1g-dev liblzma-dev libxml2-dev libxslt-dev  iptables curl gcc make ruby ruby-dev ruby-libvirt libvirt-daemon-system libvirt-clients qemu-kvm libvirt-dev  virtinst vagrant clang qemu
dpkg-query: no packages found matching zlib1g-dev
dpkg-query: no packages found matching liblzma-dev
dpkg-query: no packages found matching libxml2-dev
dpkg-query: no packages found matching libxslt-dev
dpkg-query: no packages found matching clang
dpkg-query: no packages found matching qemu
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                  Version         Architecture Description
+++-=====================-===============-============-=========================================================================
ii  build-essential       12.9            amd64        Informational list of build-essential packages
un  curl                  <none>          <none>       (no description available)
ii  gcc                   4:12.2.0-3      amd64        GNU C compiler
ii  iptables              1.8.9-2         amd64        administration tools for packet filtering and NAT
ii  libvirt-clients       9.0.0-4+deb12u2 amd64        Programs for the libvirt library
ii  libvirt-daemon-system 9.0.0-4+deb12u2 amd64        Libvirt daemon configuration files
ii  libvirt-dev:amd64     9.0.0-4+deb12u2 amd64        development files for the libvirt library
ii  make                  4.3-4.1         amd64        utility for directing compilation
ii  patch                 2.7.6-7         amd64        Apply a diff file to an original
un  qemu-kvm              <none>          <none>       (no description available)
ii  ruby                  1:3.1           amd64        Interpreter of object-oriented scripting language Ruby (default version)
un  ruby-dev              <none>          <none>       (no description available)
ii  ruby-libvirt          0.7.1-1.1+b3    amd64        Ruby bindings for libvirt
ii  vagrant               2.4.5-1         amd64        Vagrant is a tool for building and distributing development environments.
ii  virtinst              1:4.1.0-2       all          utilities to create and edit virtual machines
root@debian129:/mnt# 
root@xx:~# curl -4kLO https://rubygems.org/gems/vagrant-libvirt-0.12.2.gem% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  133k  100  133k    0     0  1861k      0 --:--:-- --:--:-- --:--:-- 1873k
root@xx:~# ls -al *.gem
-rw-r--r-- 1 root root 136192 Jun  1 14:48 vagrant-libvirt-0.12.2.gem
root@xx:~# md5sum vagrant-libvirt-0.12.2.gem 
62114243fcced1be21349735aaa0c791  vagrant-libvirt-0.12.2.gem
root@xx:~# 
mkdir -p /root/ppp;
cd /root/ppp;export PATH="/opt/vagrant/embedded/bin:$PATH" ;
export http_proxy="http://192.168.111.1:12334" ;
export https_proxy=$http_proxy ; 
gem fetch  --verbose vagrant-libvirt;root@debian129:~/ppp# gem fetch  --verbose vagrant-libvirt
Fetching vagrant-libvirt-0.12.2.gem
Downloaded vagrant-libvirt-0.12.2
root@debian129:~/ppp# ls -al 
total 152
drwxr-xr-x  2 root root   4096 Jun  1 22:56 .
drwx------ 16 root root  12288 Jun  1 22:55 ..
-rw-r--r--  1 root root 136192 Jun  1 22:56 vagrant-libvirt-0.12.2.gem
root@debian129:~/ppp# gem install --verbose ./vagrant-libvirt-0.12.2.gem  2>&1 | tee -a ~/vvruby.log   ;
#联网下载,国内需要走http代理grep -oE "https?://[^ ]+" /root/vvruby.log | grep -E "\.gem" | grep -v -E "\.rz" | awk '{printf "%02d-%s\n", NR, $0}' > /root/urls_with_numbers.txtroot@debian129:~/ppp# cat ~/urls_with_numbers.txt 
01-https://index.rubygems.org/gems/nokogiri-1.18.8-x86_64-linux-gnu.gem
02-https://index.rubygems.org/gems/diffy-3.4.3.gem
03-https://index.rubygems.org/gems/xml-simple-1.1.9.gem
04-https://index.rubygems.org/gems/mime-types-data-3.2025.0527.gem
05-https://index.rubygems.org/gems/mime-types-3.7.0.gem
06-https://index.rubygems.org/gems/formatador-1.1.0.gem
07-https://index.rubygems.org/gems/excon-1.2.7.gem
08-https://index.rubygems.org/gems/builder-3.3.0.gem
09-https://index.rubygems.org/gems/fog-core-2.6.0.gem
10-https://index.rubygems.org/gems/ruby-libvirt-0.8.4.gem
11-https://index.rubygems.org/gems/fog-xml-0.1.5.gem
12-https://index.rubygems.org/gems/multi_json-1.15.0.gem
13-https://index.rubygems.org/gems/fog-json-1.2.0.gem
14-https://index.rubygems.org/gems/fog-libvirt-0.13.2.gem
root@debian129:~/ppp# while IFS= read -r line; donumber=$(echo "$line" | cut -d'-' -f1)url=$(echo "$line" | cut -d'-' -f2-)filename="$number-$(basename "$url")"wget -O "/root/ppp/$filename" "$url"
done < /root/urls_with_numbers.txtcd  /opt/vagrant/embedded/lib/ruby/gems/3.3.0/cache/;ls -al ;
cp ./racc-1.7.3.gem /root/ppp/ ;ls -al  -ltr --time-style=full-iso /opt/vagrant/embedded/gems/cache/;cd /root/ppp;
gem  list | grep libvirt;
gem generate_index  --verbose  ;root@debian129:~/ppp# gem  list | grep libvirt;
fog-libvirt (0.13.2)
ruby-libvirt (0.8.4)
vagrant-libvirt (0.12.2)
root@debian129:~/ppp# root@debian129:~/ppp# gem generate_index  --verbose  ;
Fetching rubygems-generate_index-1.1.3.gem
Fetching compact_index-0.15.0.gem
Generating Marshal quick index gemspecs for 0 gems
Complete
Generated Marshal quick index gemspecs: 0.000s
Generating specs index
Generated specs index: 0.000s
Generating latest specs index
Generated latest specs index: 0.000s
Generating prerelease specs index
Generated prerelease specs index: 0.000s
Generating compact index files for 0 gems
1/2: /names
2/2: /versions
Complete
Generated compact index files: 0.000s
Compressing indices
Compressed indices: 0.000s
Moving index into production dir .
mkdir -p ./quick
rm -rf ./quick/Marshal.4.8
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/quick/Marshal.4.8 ./quick/Marshal.4.8
rm -rf ./specs.4.8
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/specs.4.8 .
rm -rf ./specs.4.8.gz
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/specs.4.8.gz .
rm -rf ./latest_specs.4.8
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/latest_specs.4.8 .
rm -rf ./latest_specs.4.8.gz
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/latest_specs.4.8.gz .
rm -rf ./prerelease_specs.4.8
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/prerelease_specs.4.8 .
rm -rf ./prerelease_specs.4.8.gz
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/prerelease_specs.4.8.gz .
rm -rf ./info
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/info .
rm -rf ./names
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/names .
rm -rf ./versions
mv -f /tmp/gem_generate_index20250601-1555-6y67ma/versions .
root@debian129:~/ppp# tar -czf /root/gem.tar.gz .root@debian129:~# tar -tvf  /root/gem.tar.gz
drwxr-xr-x root/root         0 2025-06-01 21:10 ./
drwxr-xr-x root/root         0 2025-06-01 21:10 ./info/
-rw-r--r-- root/root    102912 2025-06-01 20:49 ./10-ruby-libvirt-0.8.4.gem
-rw-r--r-- root/root     12288 2025-06-01 20:49 ./05-xml-simple-1.1.9.gem
-rw-r--r-- root/root    168960 2025-06-01 20:49 ./01-mime-types-data-3.2025.0527.gem
-rw-r--r-- root/root        24 2025-06-01 21:10 ./prerelease_specs.4.8.gz
-rw-r--r-- root/root    171008 2025-06-01 20:49 ./07-excon-1.2.7.gem
-rw-r--r-- root/root     17920 2025-06-01 20:49 ./04-diffy-3.4.3.gem
-rw-r--r-- root/root     13824 2025-06-01 20:49 ./06-formatador-1.1.0.gem
-rw-r--r-- root/root         5 2025-06-01 21:10 ./names
-rw-r--r-- root/root        24 2025-06-01 21:10 ./latest_specs.4.8.gz
-rw-r--r-- root/root     11264 2025-06-01 20:49 ./11-fog-xml-0.1.5.gem
-rw-r--r-- root/root         4 2025-06-01 21:10 ./prerelease_specs.4.8
-rw-r--r-- root/root        42 2025-06-01 21:10 ./versions
-rw-r--r-- root/root         4 2025-06-01 21:10 ./specs.4.8
-rw-r--r-- root/root     31744 2025-06-01 20:49 ./14-fog-libvirt-0.13.2.gem
-rw-r--r-- root/root      8704 2025-06-01 20:49 ./13-fog-json-1.2.0.gem
-rw-r--r-- root/root        24 2025-06-01 21:10 ./specs.4.8.gz
-rw-r--r-- root/root     30208 2025-06-01 20:49 ./08-builder-3.3.0.gem
-rw-r--r-- root/root     22016 2025-06-01 20:49 ./12-multi_json-1.15.0.gem
-rw-r--r-- root/root     41984 2025-06-01 20:49 ./02-mime-types-3.7.0.gem
-rw-r--r-- root/root   4073472 2025-06-01 20:49 ./03-nokogiri-1.18.8-x86_64-linux-gnu.gem
-rw-r--r-- root/root     64000 2025-06-01 21:10 ./racc-1.7.3.gem
drwxr-xr-x root/root         0 2025-06-01 21:10 ./quick/
drwxr-xr-x root/root         0 2025-06-01 21:10 ./quick/Marshal.4.8/
-rw-r--r-- root/root     47104 2025-06-01 20:49 ./09-fog-core-2.6.0.gem
-rw-r--r-- root/root         4 2025-06-01 21:10 ./latest_specs.4.8
-rw-r--r-- root/root    136192 2025-06-01 20:49 ./vagrant-libvirt-0.12.2.gem
-rw-r--r-- root/root    136192 2025-06-01 20:49 ./15-vagrant-libvirt-0.12.2.gem
root@debian129:~# 


root@debian129:~# ls -al  -ltr --time-style=full-iso  /opt/vagrant/embedded/lib/ruby/gems/3.3.0/cache
total 6768
-rw-r--r-- 1 root root   75264 2025-04-09 17:23:04.000000000 +0800 typeprof-0.21.9.gem
-rw-r--r-- 1 root root   94208 2025-04-09 17:23:04.000000000 +0800 test-unit-3.6.1.gem
-rw-r--r-- 1 root root   53248 2025-04-09 17:23:04.000000000 +0800 rss-0.3.1.gem
-rw-r--r-- 1 root root  104448 2025-04-09 17:23:04.000000000 +0800 rexml-3.3.9.gem
-rw-r--r-- 1 root root 1043968 2025-04-09 17:23:04.000000000 +0800 rbs-3.4.0.gem
-rw-r--r-- 1 root root   84992 2025-04-09 17:23:04.000000000 +0800 rake-13.1.0.gem
-rw-r--r-- 1 root root   64000 2025-04-09 17:23:04.000000000 +0800 racc-1.7.3.gem
-rw-r--r-- 1 root root   11264 2025-04-09 17:23:04.000000000 +0800 prime-0.1.2.gem
-rw-r--r-- 1 root root   15360 2025-04-09 17:23:04.000000000 +0800 power_assert-2.0.3.gem
-rw-r--r-- 1 root root   17408 2025-04-09 17:23:04.000000000 +0800 net-smtp-0.5.1.gem
-rw-r--r-- 1 root root   14336 2025-04-09 17:23:04.000000000 +0800 net-pop-0.1.2.gem
-rw-r--r-- 1 root root  155136 2025-04-09 17:23:04.000000000 +0800 net-imap-0.4.19.gem
-rw-r--r-- 1 root root   17920 2025-04-09 17:23:04.000000000 +0800 net-ftp-0.3.4.gem
-rw-r--r-- 1 root root   95744 2025-04-09 17:23:04.000000000 +0800 minitest-5.20.0.gem
-rw-r--r-- 1 root root   27136 2025-04-09 17:23:04.000000000 +0800 matrix-0.4.2.gem
-rw-r--r-- 1 root root   99328 2025-04-09 17:23:04.000000000 +0800 debug-1.9.2.gem
drwxr-xr-x 9 root root    4096 2025-05-31 23:16:31.900803083 +0800 ..
-rw-r--r-- 1 root root  168960 2025-05-31 23:24:33.768609905 +0800 mime-types-data-3.2025.0527.gem
-rw-r--r-- 1 root root   41984 2025-05-31 23:24:34.820743161 +0800 mime-types-3.7.0.gem
-rw-r--r-- 1 root root 4073472 2025-05-31 23:24:37.865130974 +0800 nokogiri-1.18.8-x86_64-linux-gnu.gem
-rw-r--r-- 1 root root   17920 2025-05-31 23:24:38.381197052 +0800 diffy-3.4.3.gem
-rw-r--r-- 1 root root   12288 2025-05-31 23:24:38.957270868 +0800 xml-simple-1.1.9.gem
-rw-r--r-- 1 root root   13824 2025-05-31 23:24:39.417329960 +0800 formatador-1.1.0.gem
-rw-r--r-- 1 root root  171008 2025-05-31 23:24:40.273440033 +0800 excon-1.2.7.gem
-rw-r--r-- 1 root root   30208 2025-05-31 23:24:41.101546728 +0800 builder-3.3.0.gem
-rw-r--r-- 1 root root   47104 2025-05-31 23:24:43.941914419 +0800 fog-core-2.6.0.gem
-rw-r--r-- 1 root root  102912 2025-05-31 23:24:44.585998178 +0800 ruby-libvirt-0.8.4.gem
-rw-r--r-- 1 root root   11264 2025-05-31 23:24:44.826029400 +0800 fog-xml-0.1.5.gem
-rw-r--r-- 1 root root   22016 2025-05-31 23:24:45.406104976 +0800 multi_json-1.15.0.gem
-rw-r--r-- 1 root root    8704 2025-05-31 23:24:45.630134186 +0800 fog-json-1.2.0.gem
-rw-r--r-- 1 root root   31744 2025-05-31 23:24:45.950175913 +0800 fog-libvirt-0.13.2.gem
-rw-r--r-- 1 root root  136192 2025-05-31 23:24:52.223000364 +0800 vagrant-libvirt-0.12.2.gem
drwxr-xr-x 2 root root    4096 2025-05-31 23:24:52.223000364 +0800 .
root@debian129:~# 

tar -xf /root/gem.tar.gz  -C /mnt/;
cd /mnt ; # 这一步必须的CHECKPOINT_DISABLE=1 vagrant plugin install  --debug  vagrant-libvirt --plugin-clean-sources  --plugin-source file:///mnt/CHECKPOINT_DISABLE=1 vagrant plugin list --debug

root@debian129:~# cat ~/.vagrant.d/plugins.json
{"version":"1","installed":{"vagrant-libvirt":{"ruby_version":"3.3.8","vagrant_version":"2.4.5","gem_version":"","require":"","sources":["file:///root/"],"installed_gem_version":"0.12.2","env_local":false}}}root@debian129:~#

root@debian129:~# sudo systemctl status libvirtd
* libvirtd.service - Virtualization daemonLoaded: loaded (/lib/systemd/system/libvirtd.service; enabled; preset: enabled)Active: inactive (dead) since Sun 2025-06-01 21:22:13 CST; 1h 3min agoDuration: 2min 104ms
TriggeredBy: * libvirtd-ro.socket* libvirtd-admin.socket* libvirtd.socketDocs: man:libvirtd(8)https://libvirt.orgMain PID: 2570 (code=exited, status=0/SUCCESS)CPU: 182msJun 01 21:20:13 debian129 systemd[1]: Starting libvirtd.service - Virtualization daemon...
Jun 01 21:20:13 debian129 systemd[1]: Started libvirtd.service - Virtualization daemon.
Jun 01 21:20:13 debian129 libvirtd[2570]: libvirt version: 9.0.0, package: 9.0.0-4+deb12u2 (Debian)
Jun 01 21:20:13 debian129 libvirtd[2570]: hostname: debian129
Jun 01 21:20:13 debian129 libvirtd[2570]: <E6><97><A0><E6><B3><95><E6><89><93><E5><BC><80> tty /dev/kvm: <E6><B2><A1><E6><9C><89><E9><82><A3><E4><B8><AA><E6><96><87><E4><BB><B6><E6><88><96><E7><E5><BD><95>
Jun 01 21:22:13 debian129 systemd[1]: libvirtd.service: Deactivated successfully.
root@debian129:~# 

 vagrant plugin install  --debug  vagrant-libvirt ;报错如下:


Building native extensions. This could take a while...
Building native extensions. This could take a while...cc1: note: unrecognized command-line option '-Wno-self-assign' may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option '-Wno-parentheses-equality' may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option '-Wno-constant-logical-operand' may have been intended to silence earlier diagnostics

原因,需要安装:  apt install -y ruby-libvirt ;

ruby-libvirt依赖于ruby包,所以还是要安装ruby

The following additional packages will be installed:libruby libruby3.1 libyaml-0-2 rake ruby ruby-net-telnet ruby-rubygems ruby-sdbm ruby-webrick ruby-xmlrpc ruby3.1 rubygems-integration zip
Suggested packages:ri ruby-dev bundler
The following NEW packages will be installed:libruby libruby3.1 libyaml-0-2 rake ruby ruby-libvirt ruby-net-telnet ruby-rubygems ruby-sdbm ruby-webrick ruby-xmlrpc ruby3.1 rubygems-integration zip
0 upgraded, 14 newly installed, 0 to remove and 121 not upgraded.
Need to get 6916 kB of archives.
After this operation, 29.4 MB of additional disk space will be used.
root@debian129:~#  dpkg -l ruby-dev
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
un  ruby-dev       <none>       <none>       (no description available)
root@debian129:~#  dpkg -L  ruby-dev
dpkg-query: package 'ruby-dev' is not installed
Use dpkg --contents (= dpkg-deb --contents) to list archive files contents.
root@debian129:~# 

系统安装的gcc版本如下:

root@debian129:~#  update-alternatives --display gcc
update-alternatives: error: no alternatives for gcc
root@debian129:~# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14+deb12u1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/reproducible-path/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/reproducible-path/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.0 (Debian 12.2.0-14+deb12u1) 
root@debian129:~# 

相关文章:

debian12.9或ubuntu,vagrant离线安装插件vagrant-libvirt,20250601

系统盘: https://mirror.lzu.edu.cn/debian-cd/12.9.0/amd64/iso-dvd/debian-12.9.0-amd64-DVD-1.iso 需要的依赖包,无需安装ruby( sudo apt install -y ruby-full ruby-dev rubygems,后来发现不安装会有编译警告,还是安装吧 ) ,无需安装 zlib1g-dev liblzma-dev libxml2-de…...

【仿muduo库实现并发服务器】使用正则表达式提取HTTP元素

使用正则表达式提取HTTP元素 1.正则表达式2.正则库的使用3.使用正则表达式提取HTTP请求行 1.正则表达式 正则表达式它其实是描述了一种字符串匹配的模式&#xff0c;它可以用来在一个字符串中检测一个特定格式的字串&#xff0c;以及可以将符合特定规则的字串进行替换或者提取…...

核心机制:流量控制

搭配滑动窗口使用的 窗口大小 窗口越大,传输速度就越快,但是也不能无限大,太大了,对于可靠性会有影响 比如发生方以非常快的速度,发送,接收方的处理速度跟不上,也就会导致有效数据被接受方丢弃(又得重传) 流量控制,就是根据接收方的处理能力(如何衡量?),干预到发送方的发送…...

Java中并发修改异常如何处理

在 Java 中&#xff0c;ConcurrentModificationException&#xff08;并发修改异常&#xff09; 是遍历集合时最常见的错误之一。它发生在迭代过程中直接修改集合结构&#xff08;添加/删除元素&#xff09;时&#xff0c;与是否多线程无关。以下是详细的处理方案&#xff1a; …...

极智项目 | 基于PyQT实现的YOLOv12行人目标检测软件设计

基于YOLOv12的专业级行人目标检测软件应用 开发者: 极智视界 软件下载&#xff1a;链接 &#x1f31f; 项目特色 专业检测: 基于最新YOLOv12模型&#xff0c;专门针对行人检测优化现代界面: 采用PyQt5构建的美观、直观的图形用户界面高性能: 支持GPU加速&#xff0c;检测速…...

JavaScript 对象展开语法

文章目录 JavaScript 对象展开语法1、对象展开&#xff08;Spread&#xff09;操作&#xff1a;2、组件注册3、示例应用总结 JavaScript 对象展开语法 示例代码&#xff1a; export default {...student,components: {ConponentA: ConponentA,ConponentB: ConponentB},这段代…...

简单transformer运用

通俗易懂解读&#xff1a;hw04.py 文件内容与 Transformer 的应用 这个文件是一个 Python 脚本&#xff08;hw04.py&#xff09;&#xff0c;用于完成 NTU 2021 Spring 机器学习课程的 HW4 作业任务&#xff1a;扬声器分类&#xff08;Speaker Classification&#xff09;。它…...

vscode不满足先决条件问题的解决——vscode的老版本安装与禁止更新(附安装包)

目录 起因 vscode更新设置的关闭 安装包 结语 起因 由于主包用的系统是centos的&#xff0c;且版本有点老了&#xff0c;再加上vscode现在不支持老版本的&#xff0c;这对主包来说更是雪上加霜啊 但是主包看了网上很多教程&#xff0c;眼花缭乱&#xff0c;好多配置要改&…...

RustDesk 搭建自建服务器并设置服务自启动

目录 0. 介绍 1. 事前准备 1.1 有公网 ip 的云服务器一台 1.2 服务端部署包 1.3 客户端安装包 2. 部署 2.1 服务器环境准备 2.2 上传服务端部署包 2.3 运行 pm2 3. 客户端使用 3.1 安装 3.2 配置 3.2.1 解锁网络设置 3.2.2 ID / 中级服务器 3.3 启动效果 > …...

【数据库】数据库恢复技术

数据库恢复技术 实现恢复的核心是使用冗余&#xff0c;也就是根据冗余数据重建不正确数据。 事务 事务是一个数据库操作序列&#xff0c;是一个不可分割的工作单位&#xff0c;是恢复和并发的基本单位。 在关系数据库中&#xff0c;一个事务是一条或多条SQL语句&#xff0c…...

Qt企业级串口通信实战:高效稳定的工业级应用开发指南

目录 一、前言 二、问题代码剖析 2.1 典型缺陷示例 2.2 企业级应用必备特性对比 三、关键优化策略与代码实现 3.1 增强型串口管理类 问题1&#xff1a;explicit关键字的作用 3.2 智能错误恢复机制 3.3 数据分帧处理算法 四、性能优化实测数据 五、工业级应用场景 六…...

力扣HOT100之动态规划:32. 最长有效括号

这道题放在动态规划里属实是有点难为人了&#xff0c;感觉用动态规划来做反而更难理解了&#xff0c;这道题用索引栈来做相当好理解&#xff0c;这里先讲下索引栈的思路。 索引栈做法 我们定义一个存放整数的栈&#xff0c;定义一个全局变量result来记录最长有效子串的长度&a…...

深入理解前端DOM:现代Web开发的基石

什么是DOM&#xff1f; DOM&#xff08;Document Object Model&#xff0c;文档对象模型&#xff09;是Web开发中最重要的概念之一。它是一个跨平台、语言独立的接口&#xff0c;将HTML或XML文档表示为树形结构&#xff0c;其中每个节点都是文档的一个部分&#xff08;如元素、…...

Springboot中Controller接收参数的方式

在Spring Boot中&#xff0c;Controller或RestController可以通过多种方式接收客户端传递的参数&#xff0c;主要包括以下几种常见方式&#xff1a; 1. 接收路径参数&#xff08;PathVariable&#xff09; 从URL路径中提取参数&#xff0c;适用于RESTful风格的API。 示例 Re…...

从一堆数字里长出一棵树:中序 + 后序构建二叉树的递归密码

从一堆数字里长出一棵树:中序 + 后序构建二叉树的递归密码 一、写在前面:一棵树的“复活计划” 作为一个老程序员,看到「中序 + 后序重建二叉树」这种题,我内心是兴奋的。为啥?它不仅是数据结构基础的“期末大题”,更是递归分解思想的典范——简洁、优雅、极具思维训练价…...

Unity UI 性能优化终极指南 — Image篇

&#x1f3af; Unity UI 性能优化终极指南 — Image篇 &#x1f9e9; Image 是什么&#xff1f; Image 是UGUI中最常用的基本绘制组件支持显示 Sprite&#xff0c;可以用于背景、按钮图标、装饰等是UI性能瓶颈的头号来源之一&#xff0c;直接影响Draw Call和Overdraw &#x1…...

Nginx + Tomcat 负载均衡、动静分离群集

一、 nginx 简介 Nginx 是一款轻量级的高性能 Web 服务器、反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;在 BSD-like 协议下发行。其特点是占有内存少&#xff0c;并发能力强&#xff0c;在同类型的网页服务器中表现优异&#xff0c;常用…...

【maker-pdf 文档文字识别(包含ocr),安装使用完整教程】

测试效果还比较好&#xff0c;比markitdown要好 安装环境 conda create -n maker-pdf python3.12 conda activate marker-pdf pip install modelscope pip install marker-pdf -U下载模型 建议用modelscope上缓存的模型&#xff0c;不然下载会很慢 from modelscope import s…...

c++ algorithm

cheatsheet&#xff1a;https://hackingcpp.com transform 元素变换 https://blog.csdn.net/qq_44961737/article/details/146011174 #include <iostream> #include <vector> #include <algorithm>int main() {std::vector<int> a {1, 2, 3, 4, 5};…...

《前端面试题:BFC(块级格式化上下文)》

前端BFC完全指南&#xff1a;布局魔法与面试必备 &#x1f38b; 端午安康&#xff01; 各位前端探险家&#xff0c;端午节快乐&#xff01;&#x1f96e; 愿你的代码如龙舟竞渡般乘风破浪&#xff0c;样式如香糯粽子般完美包裹&#xff01;今天我们来解锁CSS中的布局魔法——B…...

HertzBeat的告警规则如何配置?

HertzBeat配置告警规则主要有以下步骤&#xff1a; 配置告警阈值 1. 登录HertzBeat管理界面&#xff0c;点击“阈值规则”菜单&#xff0c;选择“新增阈值”。 2. 选择要配置告警阈值的指标对象。例如&#xff0c;若监控Spring Boot应用&#xff0c;可选择如“状态线程数”等…...

安全-JAVA开发-第一天

目标&#xff1a; 安装环境 了解基础架构 了解代码执行顺序 与数据库进行连接 准备&#xff1a; 安装 下载IDEA并下载tomcat&#xff08;后续出教程&#xff09; 之后新建项目 注意点如下 1.应用程序服务器选择Web开发 2.新建Tomcat的服务器配置文件 并使用 Hello…...

6月2日上午思维训练题解

好好反思一下&#xff0c;自己在学什么&#xff0c;自己怎么在做训练赛的&#xff0c;真有这么难吗 &#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f; A - Need More Arrays 题解 想尽可能多的拆出新数组的个数&#xff0c;只需要从原本的数组中提取出最长的一…...

高考数学易错考点01 | 临阵磨枪

文章目录 前言集合与函数不等式数列三角函数前言 本篇内容下载于网络,网络上的都是以 WORD 版本呈现,缺字缺图很不完整,没法使用,我只是做了补充和完善。有空准备进行第二次完善,添加问题解释的链接。 集合与函数 1.进行集合的交、并、补运算时,不要忘了全集和空集的特…...

【CF】Day69——⭐Codeforces Round 897 (Div. 2) D (图论 | 思维 | DFS | 环)

D. Cyclic Operations 题目&#xff1a; 思路&#xff1a; 非常好的一题 对于这题我们要学会转换和提取条件&#xff0c;从特殊到一般 我们可以考虑特殊情况先&#xff0c;即 k n 和 k 1时&#xff0c;对于 k 1&#xff0c;我们可以显然发现必须满足 b[i] i&#xff0c;而…...

MySQL中的字符串分割函数

MySQL中的字符串分割函数 MySQL本身没有内置的SPLIT()函数&#xff0c;但可以通过其他方式实现字符串分割功能。以下是几种常见的方法&#xff1a; 1. SUBSTRING_INDEX函数 SUBSTRING_INDEX()是MySQL中最常用的字符串分割函数&#xff0c;它可以根据指定的分隔符从字符串中提…...

前端八股之Vue

目录 有使用过vue吗&#xff1f;说说你对vue的理解 你对SPA单页面的理解&#xff0c;它的优缺点分别是什么&#xff1f;如何实现SPA应用呢 一、SPA 是什么 二、SPA 和 MPA 的区别 三、SPA 的优缺点 四、实现 SPA 五、给 SPA 做 SEO 的方式&#xff08;基于 Vue&#xff…...

Matlab数值计算

MATLAB数值计算 数值计算函数句柄匿名函数线性与非线性方程组求解1. \&#xff08;左除运算&#xff09;2. fzero3. fsolve4. roots 函数极值的求解1. fminbnd2. fmincon3. fminsearch与fminunc 数值积分1. quad / quadl2. quadgk3. integral4. trapz5. dblquad, quad2d, integ…...

谷歌地图高清卫星地图2026中文版下载|谷歌地图3D卫星高清版 V7.3.6.9796 最新免费版下载 - 前端工具导航

谷歌地图高清卫星地图2024中文版是一款非常专业的世界地图查看工具。通过使用该软件&#xff0c;你就可以在这里看到外太空星系、大洋峡谷等场景&#xff0c;通过高清的卫星地图&#xff0c;可以清晰查看地图、地形、3D建筑、卫星图像等信息&#xff0c;让你可以更轻松的探索世…...

条形进度条

组件 <template><view class"pk-detail-con"><i class"lightning" :style"{ left: line % }"></i><i class"acimgs" :style"{ left: line % }"></i><view class"progress&quo…...