debian12.9或ubuntu,vagrant离线安装插件vagrant-libvirt
系统盘:
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 ) :
apt install -y iptables;
apt install -y curl;root@debian129:~# dpkg -l iptables
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 iptables 1.8.9-2 amd64 administration tools for packet filtering and NAT
root@debian129:~# root@debian129:~# dpkg -l curl
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 curl 7.88.1-10+deb12u12 amd64 command line tool for transferring data with URL syntax
root@debian129:~# 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 patch zlib1g-dev liblzma-dev libxml2-dev libxslt-dev | 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:/tmp# 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 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
ii curl 7.88.1-10+deb12u12 amd64 command line tool for transferring data with URL syntax
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 liblzma-dev:amd64 5.4.1-1 amd64 XZ-format compression library - development files
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 libxml2-dev:amd64 2.9.14+dfsg-1.3~deb12u1 amd64 GNOME XML library - development files
un libxslt-dev <none> <none> (no description available)
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
ii zlib1g-dev:amd64 1:1.2.13.dfsg-1 amd64 compression library - development
root@debian129:/tmp#
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/;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 gem.tar.gz -C /root/CHECKPOINT_DISABLE=1 vagrant plugin install --debug vagrant-libvirt --plugin-clean-sources --plugin-source file:///root/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
系统盘: 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 ) : apt install -y iptables; apt install -y curl;rootdebian129:~# dpkg -l iptables …...

家政小程序开发,开启便捷生活新篇章
在快节奏的现代生活中,家务琐事常常让人分身乏术,如何高效解决家政服务需求成了众多家庭的难题。家政小程序开发,正是为解决这一痛点而生,它将为您带来前所未有的便捷生活体验。 想象一下,您只需打开手机上的家政小程…...
C++ 重载(Overload)、重写(Override)、隐藏(Hiding) 的区别
C 重载(Overload)、重写(Override)、隐藏(Hiding) 的区别 这三个概念是 C 面向对象的核心知识点,也是面试必问内容。下面我们从定义、发生条件、代码示例、底层原理全方位解析它们的区别。 一、核心区别对比表(速记版) 特性重载(Overload)…...

李臻20242817_安全文件传输系统项目报告_第14周
安全文件传输系统项目报告(第 14 周) 1. 代码链接 Gitee 仓库地址:https://gitee.com/li-zhen1215/homework/tree/master/Secure-file 代码结构说明: SecureFileTransfer/ ├── client/ # 客户端主目…...

20250531MATLAB三维绘图
MATLAB三维绘图 三维曲线:plot3功能介绍代码实现过程plot3实现效果 三维曲面空间曲面作图命令:meshmeshgrid语法示例应用meshgrid实操训练 peakspeaks 的基本用法peaks数学表达式实操训练自定义网格大小使用自定义网格 meshMATLAB代码对齐快捷键Ctrli墨西…...

深入理解C#异步编程:原理、实践与最佳方案
在现代软件开发中,应用程序的性能和响应能力至关重要。特别是在处理I/O密集型操作(如网络请求、文件读写、数据库查询)时,传统的同步编程方式会导致线程阻塞,降低程序的吞吐量。C# 的异步编程模型(async/aw…...

基于千帆大模型的AI体检报告解读系统实战:使用OSS与PDFBox实现PDF内容识别
目录 说明 前言 需求 流程说明 表结构说明 整体流程 百度智能云 注册和实名认证 创建应用 费用说明 大模型API说明 集成大模型 设计Prompt 上传体检报告 读取PDF内容 功能实现 智能评测 抽取大模型工具 功能实现 总结 说明 AI体检报告解读、病例小结或者…...
Redis缓存落地总结
最近在优化电子签系统,涉及到缓存相关的也一并优化了,写个文档做个总结,防止以后开发时又考虑不全 1、避免大key 避免缓存大PDF文件: 💡 经验值:单个Redis Value不超过10KB,集合元素不超过500…...

Spring,SpringMVC,SpringBoot
1.Spring最核心包括aop和ioc概念 AOP 能够将将哪些于业务无关的,并且大量重复的业务逻辑进行封装起来,便于减少重复代码,降低模块之间的耦合度,给未来的系统更好的可用性和可维护性。 Spring中AOP是采用动态代理,JDK代…...
npm、pnpm、yarn使用以及区别
npm 使用 安装包:在项目目录下,npm install <包名> 用于本地安装包到 node_modules 目录,并添加到 package.json 的 dependencies 中;npm install -g <包名> 用于全局安装,适用于命令行工具等。初始化项目…...
flutter加载dll 报错问题
解决flutter加载dll 报错问题 LoadLibrary 报错 126 or 193 明确一点:flutter构建exe 时默认是MSVC的。 1. 先检查dll 的位数是否满足 file ***.dll output: PE32 executable (DLL) (console) x86-64, for MS Windows, 19 sections 这种是64位的机器。 满足的话可…...

数据分析学习笔记——A/B测试
目录 前言 A/B测试中的统计学方法 假设检验 Levenes Test莱文测试 t 检验(两组均值差异) 实战案例 数据来源及参考资料 代码详解 导入数据 计算ROI Request检验 GMV检验 ROI检验 结语 前言 什么是A/B测试?说白了就是中学生物实…...
【python深度学习】Day 41 简单CNN
知识回顾 数据增强卷积神经网络定义的写法batch归一化:调整一个批次的分布,常用与图像数据特征图:只有卷积操作输出的才叫特征图调度器:直接修改基础学习率 卷积操作常见流程如下: 1. 输入 → 卷积层 → Batch归一化层…...

基于RK3568/RK3588/全志H3/飞腾芯片/音视频通话程序/语音对讲/视频对讲/实时性好/极低延迟
一、前言说明 近期收到几个需求都是做音视频通话,很多人会选择用webrtc的方案,这个当然是个不错的方案,但是依赖的东西太多,而且相关组件代码量很大,开发难度大。所以最终选择自己属性的方案,那就是推流拉…...

解决 Win11 睡眠后黑屏无法唤醒的问题
目录 一、问题描述二、解决方法1. 禁用快速启动2. 设置 Management Engine Interface3. 允许混合睡眠其他命令 4. 修复系统文件5. 更新 Windows 或驱动程序6. 其他1)更改电源选项2)刷新 Hiberfil.sys 文件3)重置电源计划4)运行系统…...

[ElasticSearch] RestAPI
🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…...

Linux中的shell脚本
什么是shell脚本 shell脚本是文本的一种shell脚本是可以运行的文本shell脚本的内容是由逻辑和数据组成shell脚本是解释型语言 用file命令可以查看文件是否是一个脚本文件 file filename 脚本书写规范 注释 单行注释 使用#号来进行单行注释 多行注释 使用 : " 注释内容…...

dvwa3——CSRF
LOW: 先尝试change一组密码:123456 修改成功,我们观察上面的url代码 http://localhost/DVWA/vulnerabilities/csrf/?password_new123456&password_conf123456&ChangeChange# 将password_new部分与password_conf部分改成我们想要的…...

【学习笔记】Transformer
学习的博客(在此致谢): 初识CV - Transformer模型详解(图解最完整版) 1 整体结构 Transformer由Encoder和Decoder组成,分别包含6个block。 Transformer的工作流程大体如下: 获取每个单词的em…...

欢乐熊大话蓝牙知识12:用 BLE 打造家庭 IoT 网络的三种方式
🏠 用 BLE 打造家庭 IoT 网络的三种方式 不止是“蓝牙耳机”,BLE 还能把你家“点亮成精”! 👋 前言:BLE 不只是蓝牙耳机的“代名词” 蓝牙?很多人一听就联想到“耳机连接失败请重试”。但你知道吗?现在 BLE(Bluetooth Low Energy)在智能家居中已经偷偷搞起了大事情。…...

02.上帝之心算法用GPU计算提速50倍
本文介绍了上帝之心的算法及其Python实现,使用Python语言的性能分析工具测算性能瓶颈,将算法最耗时的部分重构至CUDA C语言在纯GPU上运行,利用GPU核心更多并行更快的优势显著提高算法运算速度,实现了结果不变的情况下将耗时缩短五…...

MES管理系统:Java+Vue,含源码与文档,实现生产过程实时监控、调度与优化,提升制造企业效能
前言: 在当今竞争激烈的制造业环境中,企业面临着提高生产效率、降低成本、提升产品质量以及快速响应市场变化等多重挑战。MES管理系统作为连接企业上层计划管理系统与底层工业控制之间的桥梁,扮演着至关重要的角色。它能够实时收集、分析和处…...

LeetCode算法题 (搜索二维矩阵)Day18!!!C/C++
https://leetcode.cn/problems/search-a-2d-matrix/description/ 一、题目分析 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 ta…...

VectorStore 组件深入学习与检索方法
考虑到目前市面上的向量数据库众多,每个数据库的操作方式也无统一标准,但是仍然存在着一些公共特征,LangChain 基于这些通用的特征封装了 VectorStore 基类,在这个基类下,可以将方法划分成 6 种: 相似性搜…...

HackMyVM-First
信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.43.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-31 06:13 EDT Nmap scan report for 192.168.43.1 Host is up (0.0080s latency). MAC Address: C6:45:66:05:91:88 (Unknown) …...
30V/150A MOSFET 150N03在无人机驱动动力系统中的性能边界与热设计挑战
产品技术概述 150N03 是一款基于沟槽式工艺(Trench Technology)的N沟道功率MOSFET,其核心价值在于: 电压/电流规格:VDSS30V, ID150A (Tc25℃) 工艺特征:高密度元胞设计实现超低导通电阻 双面散热架构:顶部裸露铜架底…...
数据共享交换平台之数据资源目录
依据信息资源体系规范,构建多维度、多层级的资源目录体系,完整的展示和管理资源目录。资源目录提供以下功能: 多层级资源目录展示,能够将资源目录按照技术维度和管理维度进行分类管理,并能够将资源目录按照数据湖、基础…...

跨平台浏览器集成库JxBrowser 支持 Chrome 扩展程序,高效赋能 Java 桌面应用
JxBrowser 是 TeamDev 开发的跨平台库,用于在 Java 应用程序中集成 Chromium 浏览器。它支持 HTML5、CSS3、JavaScript 等,具备硬件加速渲染、双向 Java 与 JavaScript 连接、丰富的事件监听等功能,能处理网页保存、打印等操作,助…...

WEBSTORM前端 —— 第3章:移动 Web —— 第3节:移动适配
目录 一、移动Web基础 1.谷歌模拟器 2.屏幕分辨率 3.视口 4.二倍图 二、适配方案 三、rem 适配方案 四、less 1.less – 简介 2.less – 注释 3.less – 运算 4.less – 嵌套 5.less – 变量 6.less – 导入 7.less – 导出 8.less – 禁止导出 五…...
38.springboot使用rabbitmq
pom依赖 <!--amqp依赖,包含RabbitMQ--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> 配置文件添加 spring:application:name: message…...