Linux中用rpm管理軟件

本章主要介紹使用rpm對軟件包進行管理

  • 使用rpm查詢軟件的信息
  • 使用rpm安裝及卸載軟件
  • 使用rpm對軟件進行更新
  • 使用rpm對軟件進行驗證

rpm 全稱是redhat package manager,后來改成rpm package manager,這是根據源 碼包編譯出來的包。先從光盤中拷貝一個包,并看它是如何命名的

先掛載光盤,然后拷貝vsftpd這個包

[root@redhat8 ~]# mount /dev/cdrom /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@redhat8 ~]# cp /mnt/AppStream/Packages/vsftpd-3.0.3-34.el8.x86_64.rpm .
[root@redhat8 ~]# ll vsftpd-3.0.3-34.el8.x86_64.rpm 
-r--r--r-- 1 root root 185184 12月 11 10:19 vsftpd-3.0.3-34.el8.x86_64.rpm
[root@redhat8 ~]#

這里字段的含義如下:

(1)vsftpd:包的名稱

(2)3.0.3:版本,即version

(3)33.el8:小版本號,即release,其中el8指的是此包適用于RHEL8系統

(4)x86_64:指的是架構,到底是32位還是64位的包,x86_64表示是64位的。rpm的安 裝命令是“rpm -ivh 安裝包”。安裝rpm

[root@redhat8 ~]# rpm -ivh vsftpd-3.0.3-34.el8.x86_64.rpm 
警告:vsftpd-3.0.3-34.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID fd431d51: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...1:vsftpd-3.0.3-34.el8              ################################# [100%]
[root@redhat8 ~]#

這樣把vsftpd-3.0.3-33.el8.x86_64.rpm 安裝好了。如果是第一次接觸 Linux 會感覺到奇怪,怎么不像 Windows一樣讓我們通過瀏覽來指定路徑,那么這個包安裝到哪里了呢?

相信大家在Windows中都安裝過 Chrome瀏覽器,基本上是秒安裝,也沒有指定路徑,因為這個安裝包中已經定義好安裝路徑了。同理,rpm 安裝時也已經指定了安裝路徑,把這個rpm打開,先拷貝到/opt目錄中

[root@redhat8 ~]# cp vsftpd-3.0.3-34.el8.x86_64.rpm /opt/
[root@redhat8 ~]# cd /opt/
[root@redhat8 opt]# ls
vsftpd-3.0.3-34.el8.x86_64.rpm
[root@redhat8 opt]# 

解壓此包

[root@redhat8 opt]# rpm2cpio vsftpd-3.0.3-34.el8.x86_64.rpm | cpio -id
714 塊
[root@redhat8 opt]# ls
etc  usr  var  vsftpd-3.0.3-34.el8.x86_64.rpm
[root@redhat8 opt]#

可以看到,生成了3個目錄

[root@redhat8 opt]# tree
.
├── etc
│?? ├── logrotate.d
│?? │?? └── vsftpd
│?? ├── pam.d
│?? │?? └── vsftpd
│?? └── vsftpd
│??     ├── ftpusers
│??     ├── user_list
│??     ├── vsftpd.conf
│??     └── vsftpd_conf_migrate.sh
├── usr
│?? ├── lib
│?? │?? └── systemd
│?? │??     ├── system
│?? │??     │?? ├── vsftpd.service
│?? │??     │?? ├── vsftpd@.service
│?? │??     │?? └── vsftpd.target
│?? │??     └── system-generators
│?? │??         └── vsftpd-generator
...輸出信息...
├── var
│?? └── ftp
│??     └── pub
└── vsftpd-3.0.3-34.el8.x86_64.rpm27 directories, 48 files
[root@redhat8 opt]#

可以看到,當我們安裝rpm包時,它就會把包中的內容按照這個結構拷貝到系統,所以安 裝的路徑都是安排好了的

1.1 rpm查詢

如果要查詢已經安裝過的軟件包的信息, rpm的第一個選項需要使用-q,表示查詢的意思。查詢系統安裝的所有軟件包用 rpm-qa命令

[root@redhat8 ~]# rpm -qa

查詢系統是否安裝了某個軟件包用“rpm -qa 包名”命令。例如,要查詢是否安裝了 vsftpd

[root@redhat8 ~]# rpm -qa vsftpd
vsftpd-3.0.3-34.el8.x86_64
[root@redhat8 ~]#

但是這種用法,在寫包名時多一個或少一個字符都查詢不出來

[root@redhat8 ~]# rpm -qa vsftp
[root@redhat8 ~]#

所以,更建議使用管道和grep進行過濾

[root@redhat8 ~]# rpm -qa | grep vsf
vsftpd-3.0.3-34.el8.x86_64
[root@redhat8 ~]#

查詢安裝某軟件包之后所生成的文件用“rpm -ql 包名”命令,這里q后面是字母1。例 如,要查詢vsftpd所生成的文件

[root@redhat8 ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
......

這樣就可以看到 vsftpd安裝到哪里了

查看軟件包生成的配置文件用“rpm -qc包名”命令

[root@redhat8 ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@redhat8 ~]#

查看包的信息用“rpm-qi包名”

[root@redhat8 ~]# rpm -qi vsftpd
Name        : vsftpd
Version     : 3.0.3
Release     : 34.el8
Architecture: x86_64
Install Date: 2023年12月11日 星期一 10時43分50秒
Group       : System Environment/Daemons
Size        : 355692
License     : GPLv2 with exceptions
Signature   : RSA/SHA256, 2021年04月21日 星期三 20時42分12秒, Key ID 199e2f91fd431d51
Source RPM  : vsftpd-3.0.3-34.el8.src.rpm
Build Date  : 2021年04月20日 星期二 22時28分24秒
Build Host  : x86-vm-15.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor      : Red Hat, Inc.
URL         : https://security.appspot.com/vsftpd.html
Summary     : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
[root@redhat8 ~]#

當我們安裝軟件包時會產生許多文件,反過來想查詢某個文件是由哪個軟件包安裝出來的用rpm -qf /path/file命令

[root@redhat8 ~]# rpm -qf /etc/vsftpd/vsftpd.conf 
vsftpd-3.0.3-34.el8.x86_64
[root@redhat8 ~]#

可以看到,/etc/vsfipd/vsfipd.conf是由 vsftpd這個包產生的

[root@redhat8 ~]# rpm -qf /etc/passwd
setup-2.12.2-6.el8.noarch
[root@redhat8 ~]#

可以看到,/etc/passwd是由setup這個包生成的

以上這些都是針對已經安裝了的軟件包進行查詢,如果要查詢安裝包,則需要加上p選項

[root@redhat8 ~]# rpm -qcp vsftpd-3.0.3-34.el8.x86_64.rpm 
警告:vsftpd-3.0.3-34.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID fd431d51: NOKEY
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@redhat8 ~]#

當然,在RHEL8/CentOS8中不加p選項也可以,之前的系統是不行的

1.2 rpm安裝及卸載

前面已經介紹了用“rpm -ivh 安裝包”命令安裝軟件,且 vsftpd已經安裝完成

卸載軟件包的命令是“rpm -e 軟件包”,現在要把vsftpd卸載掉

[root@redhat8 ~]# rpm -e vsftpd
[root@redhat8 ~]# rpm -qa | grep vsftpd
[root@redhat8 ~]#

可以看到,現在vsftpd已經不存在了,再次把這個包安裝上去

[root@redhat8 ~]# rpm -ivh vsftpd-3.0.3-34.el8.x86_64.rpm 
警告:vsftpd-3.0.3-34.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID fd431d51: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...1:vsftpd-3.0.3-34.el8              ################################# [100%]
[root@redhat8 ~]#

有時需要強制安裝軟件,例如,某個包已經安裝過了,現在想重新安裝

[root@redhat8 ~]# rpm -ivh vsftpd-3.0.3-34.el8.x86_64.rpm 
警告:vsftpd-3.0.3-34.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID fd431d51: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]軟件包 vsftpd-3.0.3-34.el8.x86_64 已經安裝
[root@redhat8 ~]# 

這里提示包已經安裝過了,無法再次安裝。此時加上--force選項強制安裝即可

一般情況下,用于某個文件丟失了,想通過強制重新安裝來找回此文件

[root@redhat8 ~]# rm -rf /etc/vsftpd/vsftpd.conf 
[root@redhat8 ~]# ls /etc/vsftpd/
ftpusers  user_list  vsftpd_conf_migrate.sh
[root@redhat8 ~]#

這里把/etc/vsftpd/vsftpd.conf刪除,然后開始強制安裝

[root@redhat8 ~]# rpm -ivh vsftpd-3.0.3-34.el8.x86_64.rpm --force
警告:vsftpd-3.0.3-34.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID fd431d51: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...1:vsftpd-3.0.3-34.el8              ################################# [100%]
[root@redhat8 ~]# 

然后再次查看文件

[root@redhat8 ~]# ls /etc/vsftpd/
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@redhat8 ~]#

這里又重新生成了被刪除的文件,其他文件原來即使做了修改也不會被覆蓋替換

1.3 軟件包的更新

所謂更新,就是卸載舊版本的軟件包,然后安裝新版本的軟件包。假設原來系統已經安裝了1.0版本的軟件包,現在要安裝2.0版本的軟件包,如果兩個版本的包安裝路徑不一樣,則可以共存;如果兩個版本的包安裝路徑一樣,則會產生沖突

先卸載已經安裝了的vsftpd

[root@redhat8 ~]# rpm -e vsftpd
[root@redhat8 ~]#

?然后從RHEL8.0的系統上烤貝一個版本稍低的 vsftpd的安裝包

[root@redhat8 ~]# ls -l vsftpd*
-rw-r--r-- 1 root root 183844 12月 11 11:15 vsftpd-3.0.3-28.el8.x86_64.rpm
-r--r--r-- 1 root root 185184 12月 11 10:19 vsftpd-3.0.3-34.el8.x86_64.rpm
[root@redhat8 ~]#

上面ls后面的選項是數字1,不是字母l,這里一個版本稍低,一個版本稍高。先把低版本的包安裝上去

[root@redhat8 ~]# rpm -ivh vsftpd-3.0.3-28.el8.x86_64.rpm 
警告:vsftpd-3.0.3-28.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID fd431d51: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...1:vsftpd-3.0.3-28.el8              ################################# [100%]
[root@redhat8 ~]# 

這里已經安裝了一個3.0.3-28的包,然后安裝一個更高版本的3.0.3-33包

[root@redhat8 ~]# rpm -ivh vsftpd-3.0.3-34.el8.x86_64.rpm 
警告:vsftpd-3.0.3-34.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID fd431d51: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]file /etc/vsftpd/vsftpd.conf from install of vsftpd-3.0.3-34.el8.x86_64 conflicts with file from package vsftpd-3.0.3-28.el8.x86_64file /usr/lib/systemd/system/vsftpd.service from install of vsftpd-3.0.3-34.el8.x86_64 conflicts with file from package vsftpd-3.0.3-28.el8.x86_64file /usr/lib/systemd/system/vsftpd.target from install of vsftpd-3.0.3-34.el8.x86_64 conflicts with file from package vsftpd-3.0.3-28.el8.x86_64file /usr/lib/systemd/system/vsftpd@.service from install of vsftpd-3.0.3-34.el8.x86_64 conflicts with file from package vsftpd-3.0.3-28.el8.x86_64file /usr/sbin/vsftpd from install of vsftpd-3.0.3-34.el8.x86_64 conflicts with file from package vsftpd-3.0.3-28.el8.x86_64file /usr/share/man/man5/vsftpd.conf.5.gz from install of vsftpd-3.0.3-34.el8.x86_64 conflicts with file from package vsftpd-3.0.3-28.el8.x86_64
[root@redhat8 ~]#

因為安裝路徑一樣,所以這里提醒產生了沖突導致沒有安裝成功。如果用更新的方法來安裝是可以的,更新的用法是“rpm -Uvh安裝包”

[root@redhat8 ~]# rpm -Uvh vsftpd-3.0.3-34.el8.x86_64.rpm 
警告:vsftpd-3.0.3-34.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID fd431d51: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...1:vsftpd-3.0.3-34.el8              ################################# [ 50%]
正在清理/刪除...2:vsftpd-3.0.3-28.el8              ################################# [100%]
[root@redhat8 ~]#

可以看到,現在已經更新成功

[root@redhat8 ~]# rpm -qa | grep vsftpd
vsftpd-3.0.3-34.el8.x86_64
[root@redhat8 ~]#

可以看到,這里安裝的是3.0.3-34版本的包

對于內核來說,不同版本的安裝路徑是不一樣的,所以可以同時安裝多個版本的不會產生沖突。因此,更新內核時建議使用rpm -ivh命令而不是rpm -Uvh命令。因為rpm -Uvh命 令會卸載舊版本的內核,如果新版本的內核有問題就無法正常進入系統了。如果使用rpm -ivh 命令,包括舊版本的內核同時存在,先用新版本的內核引導系統,如果沒問題再卸載舊版本 的內核也不遲,如果有問題還可以使用舊版本的內核引導系統

1.4 rpm驗證

當我們安裝了一個軟件包之后會產生許多文件,要是想判斷這些文件是否被修改過,可以用rpm -V(大寫字母V)命令,例如,我們剛剛安裝了vsftpd,并沒有修改任何配置文件

[root@redhat8 ~]# rpm -V vsftpd
[root@redhat8 ~]#

沒有任何輸出,說明此vsftpd所生成的文件沒有被修改,現在用vim編輯器修改一下/etc/vsfipd/vsftpd.conf,隨便增添刪減一些內容(最好是修改注釋后面的內容,否則影響vsftpd啟動),然后再次判斷

[root@redhat8 ~]# rpm -V vsftpd
S.5....T.  c /etc/vsftpd/vsftpd.conf
[root@redhat8 ~]#

再次檢查可以看到/etc/vsftpd/vsftpd.conf被修改過

S指的是大小

5指的是md5值

T指的是時間

c指的是此文件是vsftpd 的配置文件

這樣就可以看到哪些文件被修改過了。只修改時間

[root@redhat8 ~]# touch /etc/vsftpd/ftpusers 
[root@redhat8 ~]# rpm -V vsftpd
.......T.  c /etc/vsftpd/ftpusers
S.5....T.  c /etc/vsftpd/vsftpd.conf
[root@redhat8 ~]# 

可以看到,/etc/vsftpd/ftpusers的時間發生了改變

紅帽發行的每一個數據包都對它做了數據簽名,以證明這個包是紅帽官方的。需要在本機用紅帽的公鑰來進行驗證。首先驗證機器上是否安裝了紅帽的公鑰

[root@redhat8 ~]# rpm -qa | grep pubkey
[root@redhat8 ~]#

沒有任何輸出,說明沒有導人紅帽的公鑰。使用如下命令導入公鑰

[root@redhat8 ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[root@redhat8 ~]#

或者導入存儲在光盤中的公鑰

[root@redhat8 vv]# rpm --import /mnt/RPM-GPG-KEY-redhat-release 
[root@redhat8 vv]# 

再次檢查公鑰的信息

[root@redhat8 vv]# rpm -qa | grep pubkey
gpg-pubkey-fd431d51-4ae0493b
gpg-pubkey-d4082792-5b32db75
[root@redhat8 vv]# 

可以看到,已經成功導入了。下面驗證如下兩個vsftpd包

[root@redhat8 ~]# rpm -K vsftpd-3.0.3-34.el8.x86_64.rpm 
vsftpd-3.0.3-34.el8.x86_64.rpm: digests signatures 確定
[root@redhat8 ~]#

這個包是一開始從光盤中拷貝過來的,可以看到驗證通過

[root@redhat8 ~]# rpm -K vsftpd-3.0.3-28.el8.x86_64.rpm 
vsftpd-3.0.3-28.el8.x86_64.rpm: digests signatures 確定
[root@redhat8 ~]#

這個包也是從光盤中拷貝過來的,只是其他版本的光盤,所以可以看到也是驗證通過的

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215725.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215725.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215725.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

strict-origin-when-cross-origin

嚴格限制同源策略 &#xff08;1&#xff09;允許服務器的同源IP地址訪問 &#xff08;2&#xff09;允許Referer --- 后端服務器要配置

linux sed命令刪除一行/多行_sed刪除第一行/linux刪除文件某一行

sed系列文章 linux常用命令(9)&#xff1a;sed命令(編輯/替換/刪除文本)linux sed命令刪除一行/多行_sed刪除第一行/linux刪除文件某一行 文章目錄 sed系列文章一、sed刪除某一行內容/刪除最后一行二、sed刪除多行三、擴展3.1、-i命令 本文主要講解如何刪除txt文件中的某一行內…

vite+ts——user.ts——ts接口定義+axios請求的寫法

import axios from axios; import qs from query-string; import {UserState} from /store/modules/user/types;export interface LoginData{username:string;password:string;grant_type?:string;scope?:string;client_id?:string;client_secret?:string;response_type?:…

企業使用APP自動化測試工具的重要因素

隨著移動應用市場的蓬勃發展&#xff0c;企業對高質量、高效率的軟件交付提出了更高的要求。在這個背景下&#xff0c;APP自動化測試工具成為了企業不可或缺的一部分。以下是企業采用APP自動化測試工具的關鍵因素&#xff1a; 1. 快速且可重復的測試執行 自動化測試工具能夠快速…

Docker入門概念

文章目錄 容器&#xff08;container&#xff1a;容器/集裝箱&#xff09;技術虛擬機解決了哪些部署問題docker解決了哪些部署問題docker是如何做到容器間運行時環境隔離的docker基本概念docker基本使用 容器&#xff08;container&#xff1a;容器/集裝箱&#xff09;技術 容…

奧威亞視頻云平臺VideoCover.aspx 接口任意文件上傳漏洞復現 [附POC]

文章目錄 奧威亞視頻云平臺VideoCover.aspx 接口任意文件上傳漏洞復現 [附POC]0x01 前言0x02 漏洞描述0x03 影響版本0x04 漏洞環境0x05 漏洞復現1.訪問漏洞環境2.構造POC3.復現0x06 修復建議奧威亞視頻云平臺VideoCover.aspx 接口任意文件上傳漏洞復現 [附POC] 0x01 前言 免責…

做數據分析為何要學統計學(5)——什么問題適合使用卡方檢驗?

卡方檢驗作為一種非常著名的非參數檢驗方法&#xff08;不受總體分布因素的限制&#xff09;&#xff0c;在工程試驗、臨床試驗、社會調查等領域被廣泛應用。但是也正是因為使用的便捷性&#xff0c;造成時常被誤用。本文參閱相關的文獻&#xff0c;對卡方檢驗的適用性進行粗淺…

原來使用代碼也可以畫時序圖,用這個Mermaid就行,真香

本文首發于我的個人掘金博客&#xff0c;看到很多人都比較喜歡這篇文章&#xff0c;分享給大家。 個人博客主頁&#xff1a;https://www.aijavapro.cn 個人掘金主頁&#xff1a;juejin.cn/user/2359988032644541/posts 個人知識星球: 覺醒的新世界程序員 一、背景 在軟件開發和…

spring數據校驗

我是南城余&#xff01;阿里云開發者平臺專家博士證書獲得者&#xff01; 歡迎關注我的博客&#xff01;一同成長&#xff01; 一名從事運維開發的worker&#xff0c;記錄分享學習。 專注于AI&#xff0c;運維開發&#xff0c;windows Linux 系統領域的分享&#xff01; 本…

數據庫(一)| 數據庫概述、基本概念、關系型數據庫特點、超鍵候選碼等

文章目錄 1 數據庫的一些基礎概念1.1 數據庫和數據庫管理系統1.2 關系模式和關系實例1.3 數據庫模式和數據庫實例 2 數據庫組織形式2.1 數據采用文件的缺點2.2 使用數據庫管理系統的 優點 3 關系型數據庫特點4 三個層次的數據抽象Data Abstraction5 超鍵、候選碼、主碼、外碼 1…

php之jwt使用

PHP JWT&#xff08;JSON Web Token&#xff09;是一種用于身份驗證和授權的開放標準。JWT是一個包含有關用戶或實體身份信息的安全令牌&#xff0c;它由三部分組成&#xff1a;頭部&#xff08;Header&#xff09;、載荷&#xff08;Payload&#xff09;和簽名&#xff08;Sig…

計算機網絡編程

網絡編程 Java 是第一大編程語言和開發平臺。它有助于企業降低成本、縮短開發周期、推動創新以及改善應用服務。如今全球有數百萬開發人員運行著超過 51 億個 Java 虛擬機&#xff0c; Java 仍是企業和開發人員的首選開發平臺。 課程內容的介紹 1. 計算機網絡基礎 2. So…

數據結構基礎介紹

一.起源及重要性 1968 年&#xff0c;美國的高德納 Donakl E . Kn uth 教授在其所寫的《 計算機程序藝術》第一卷《基本算法 》 中&#xff0c;較系統地闡述了數據的邏輯結構和存儲結構及其操作&#xff0c; 開創了數據結構的課程體系 &#xff0c;數據結構作為一門獨立的…

B029-JDBC增強

目錄 PreparedStatement 查詢1.sql注入2.Statement分析 (面試題)3.PreparedStatement (面試題) 登錄功能的完善事務鏈接池概念實現DBCP連接池實現第一種配置方式第二種配置方式 返回主鍵BaseDao的抽取 PreparedStatement 查詢 1.sql注入 就是在sql的字符串拼接的時候&#xf…

基于單片機的定時插座在智能家居中的應用

近年來&#xff0c;隨著科學技術的發展迅速&#xff0c;人們對智能化的要求越來越高。越來越多的智能化產品進入千家萬戶&#xff0c;如電腦電視、掃地機器人、智能空氣凈化器等。這些家居電器和電子產品大都需要連接電源&#xff0c;為滿足多種用電器的正常使用&#xff0c;延…

DevEco Studio 生成HPK文件

DevEco Studio 生成HPK文件 一、安裝環境 操作系統: Windows 10 專業版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、生成HPK文件 生成的HPK文件存放在entry文件夾下。下圖是未生成HPK的樣式。 生成HPK&#xff1a;菜單Build->Build Hap(s)/APP(s)->Build Hap(s)…

啟動jar包命令

一、Windows環境 找到jar包的位置&#xff1b; 按shift鍵&#xff0c;點擊鼠標右鍵&#xff0c;選中在此處打開PowerShell窗口&#xff1b; 此時進入命令行工具 輸入java -jar .\java_web-0.0.1-SNAPSHOT.jar&#xff08;注意空格&#xff09;。 二、Linux環境 2.1 方式一 …

039.Python面向對象_三大特性綜合案例2

我 的 個 人 主 頁&#xff1a;&#x1f449;&#x1f449; 失心瘋的個人主頁 &#x1f448;&#x1f448; 入 門 教 程 推 薦 &#xff1a;&#x1f449;&#x1f449; Python零基礎入門教程合集 &#x1f448;&#x1f448; 虛 擬 環 境 搭 建 &#xff1a;&#x1f449;&…

一、微前端目標、前端架構的前生今世、微前端架構優勢和劣勢、軟件設計原則與分層

1、目標 2、前端架構的前世今生 ① 初始&#xff1a;無架構&#xff0c;前端代碼內嵌到后端應用中 ② 后端 MVC 架構&#xff1a;將視圖層、數據層、控制層做分離 缺點&#xff1a;重度依賴開發環境&#xff0c;代碼混淆嚴重&#xff08;在調試時&#xff0c;需要啟動后端所有…

小型洗衣機哪個牌子質量好?迷你洗衣機排名前十名

隨著內衣洗衣機的流行&#xff0c;很多小伙伴在糾結該不該入手一款內衣洗衣機&#xff0c;專門來洗一些貼身衣物&#xff0c;答案是非常有必要的&#xff0c;因為我們現在市面上的大型洗衣機只能做清潔&#xff0c;無法對我們的貼身衣物進行一個高強度的清潔&#xff0c;而小小…