【RHCSA-Linux考試題目筆記(自用)】servera的題目

一、開始

1、啟動rhcsa環境

2、點擊題目,看題

3、通過控制器來啟動所有虛擬機

控制器

打開后點start,然后ok

之后進入一個有classroom、servera、serverb(考試不一定叫這些名,但大差不差)什么之類的界面,點擊all全選,都啟動

二、做題

1、servera(考試的虛擬機不一定叫這個名)的題1

1.配置網絡,要求如下:

主機名: ? ?servera.lab.example.com

IP地址: ? ?172.25.250.10/24

網關: ? ? ?172.25.250.254

dns: ? ? ?172.25.250.220

配置網絡相關參數:

(1)啟動servera虛擬機

既然做servera的題,那自然啟動servera的虛擬機

打開控制器

點view,ok

之后選擇servera,然后再ok,就進入登錄servera的登錄指令頁面

輸入用戶和密碼,用戶為root、密碼一般為redhat

(2)ip a查看虛擬機的網卡名

這里開始正式做第一題

輸入ip a

這邊網卡顯示是eth0,記住名字

(3)查看是否有網絡連接(有)

nmcli connection show查看

有的話,就直接在這個上面修改,沒有的話則自己創建

這里有,則直接修改這個網絡連接的參數

(3')查看是否有網絡連接(無)

先記著ip a的網卡名,這里是eth0

然后輸入指令

nmcli connection add con-name (自己起名,如果考試有要求名字叫啥就寫這,一般建議直接和網卡名相同,即eth0)type ethernet ifname eth0(這里必須寫自己的網卡名!!!tab補齊!)?ipv4.method manual ipv4.addresses (ip地址)?ipv4.gateway (網關地址)?ipv4.dns (dns地址)

(4)配置網絡(nmtui圖形配置)

nmtui圖形配置(推薦)

上下鍵選擇,enter選中點擊

這里選擇Edit a connection

選已有的唯一網絡連接,點擊edit

這里的device一定要是剛剛ip a查看的網卡

選擇ipv4旁邊的Auto....,點進去選擇manual手動,再選擇旁邊的show

編輯填寫題目要求的ip地址、網關、dns,然后點擊下面的ok

之后點擊back回到主界面,再點擊quit即可


(4')配置網絡(命令配置)

nmcli connection modify 網絡連接名(tab補齊) ipv4.method manual ipv4.addresses (ip地址)?ipv4.gateway (網關地址)?ipv4.dns (dns地址)

(5)重啟

nmcli connection reload

nmcli connection up 網絡連接名字(tab補齊)

(6)檢查測試

ip a來看ip地址

route -n來看網關

cat /etc/resolv.conf來看dns

額外步驟——搞好ssh,方便從終端配置指令

進入ssh的配置文件

vim /etc/ssh/sshd_config

找到Permit開頭的root用戶登錄項,先復制(yy復制),然后粘貼(p粘貼)

復制粘貼后,去掉井號#,后面改成yes

wq退出保存后,重啟sshd

!!!注意!!!?

考完試做完題后把這個改回去!!!就是把復制的那一行直接全部刪掉!考試沒讓你開sshd!所以怕扣不必要的分!

搞完后回桌面終端試一下

ssh -l root 172.25.250.10

?登錄成功

配置主機名:

(1)hostnamectl

都復制粘貼,別自己手打,怕打錯扣不必要的分!

hostnamectl hostname servera.lab.example.com

改完后ctrl+d,然后再登錄一次ssh

ctrl+d

再登錄一次ssh

名字就變了

PS:

如果此條命令報錯,那就把hostname改成set-hostname,再試

hostnamectl set-hostname servera.lab.example.com

2、servera的題2

2.配置系統的軟件倉庫

YUM 的兩個存儲庫的地址分別是:?

http://content.example.com/rhel9.0/x86_64/dvd/BaseOS

http://content.example.com/rhel9.0/x86_64/dvd/AppStream

(1)先試試能不能訪問倉庫

不然的話就得和監考老師溝通了

復制考題的軟件倉庫地址,去虛擬機的瀏覽器搜

都能訪問則沒問題

(2)進入并創建所需的庫

進入

cd /etc/yum.repos.d/

這里邊就算有東西也不要刪


創建

vim rhel.repo


創建后配置

PS

要是有說倉庫名字要求,那就修改中括號 [ ] 里邊的內容

要是有說要檢測gpg,那就把gpgcheck = 0的0修改成1,即gpgcheck = 1,并且后面還有加多一行gpgkey = 題目給的gpg鏈接地址


(3)測試

直接安裝autofs(因為后面題目也要用)來測試?

成功?

3、servera的題3

3.配置 SELinux

非標準端口 82 上運行的 WEB 服務器在提供內容時遇到問題。根據需要調試

并解決問題, 并使其滿足以下條件:?

web 服務器能夠提供 /var/www/html 中所有現有的 html 文件(注意:不要刪除或改動現有的文件內容)

Web 服務器通過 82 端口訪問

訪問:

? ? http://servera:82/test0.html 時可以顯示web內容為:?

? ? 172.25.250.10 servera.lab.example.com?

Web 服務器在系統啟動時自動啟動

(1)先檢查虛擬機裝沒裝web(httpd)

1)通過安裝命令檢查
dnf install httpd -y

顯示已安裝過就可以下一步了

?2)通過端口檢查
netstat -antlupe | grep 80

(2)修改端口

vim /etc/httpd/conf/httpd.conf

找到Listen行,將后面的80改成82即可

wq保存退出

(3)放通http新端口的SELinux

修改完后重啟時,http會被SELinux攔截,所以需要放通http

通過semanage port -l | grep http查看可以發現,http的82端口并沒有被放通

所以,我們要放通,就要添加82的端口

semanage port -a -t http_port_t -p tcp 82

這時再查看(semanage port -l | grep http)?

就能發現82已被添加,已經放通了

(4)設置開機自啟動,并啟動httpd

?設置開機自啟動

systemctl enable --now httpd

?再啟動httpd

systemctl start httpd

(5)檢查測試

查看82端口

netstat -antlupe | grep 82

已有,成功?

(6)設置訪問內容

echo "172.25.250.10 servera.lab.example.com" > /var/www/html/test0.html

(7)更改?

不更改訪問不了

chcon -t httpd_sys_content_t /var/www/html/ -R

(8)訪問測試?

使用curl來訪問

curl http://servera:82/test0.html

出現指定內容,代表訪問成功?

4、servera的題4

4.創建用戶

創建下列用戶、用戶組,并按要求完成設置:

組名為 sysmgrs

natasha 用戶的附屬組是 sysmgrs

harry 用戶的附屬組是 sysmgrs

john 用戶的 shell 是非交互式 shell,且不是 sysmgrs 組的成員

natasha、harry、john 的密碼是 redhat

(1)建立組

沒有指定id,則直接建立;有指定id,則-g

這里題目沒有指定,則直接創建

groupadd sysmgrs

(2)將natasha、harry歸類成附屬組

-g(小g)是主組,-G(大G)是附屬組

題目要求natasha、harry用戶都是sysmgrs的附屬組,所以:

useradd -G sysmgrs natasha
useradd -G sysmgrs harry

(3)處理john的非交互式與不是 sysmgrs 組的成員

useradd -s /sbin/nologin john

(4)設置三個用戶密碼

natasha、harry、john 的密碼是 redhat

echo redhat | passwd --stdin 用戶名

(5)測試檢查?

切換到john,切不了則成功

切換到natasha,并看其組

?harry,輸入密碼看是否是對的,并看其組

再切回natasha,輸入密碼看密碼正不正確(因為是從harry這登的)

ok,這樣測試就完畢,都成功,接下來逐一退出(exit)回到root

5、servera的題5

5.配置 cron 計劃任務

該作業每隔兩分鐘執行以下命令:

logger “hello rhcsa”, 以用戶 natasha 身份運行

(1)打開cron?

不然用不了

systemctl enable --now crond

(2)查看logger的絕對路徑??

重開一個終端窗口, 用which來查看

which logger

復制絕對路徑

(3) 創建natasha的cron任務

crontab -u natasha -e

進入后編輯,把剛剛的絕對路徑粘貼上去

wq退出保存

(4)確認檢查

cat /var/spool/cron/natasha

natasha打的時候能補全就代表成功?

6、servera的題6

6.按要求創建目錄

/home/managers 目錄屬于 sysmgrs 組

此目錄可以被 sysmgrs 的組成員讀取、寫入和訪問

但是其他任何用戶不具備這些權限。(不包括 root 用戶)

在/home/managers 目錄中創建的文件的所屬組自動變成sysmgrs組

(1)建立目錄

建立題目要的目錄/home/managers

mkdir -p /home/managers

?(2)將此目錄歸屬組

chgrp sysmgrs /home/managers/

(3) 編寫權限

chmod 2770 /home/managers/

7、?servera的題7

7.配置 NTP

配置 servera 作為 NTP 的客戶端,跟時間服務器 172.25.250.254 同步時間

(1)編輯chrony.conf?

進入/etc/chrony.conf

vim /etc/chrony.conf

進入后編輯

(2)開機自啟動chrony、重啟chrony

chrony后面有個d,記住

(3)檢查

chronyc來檢查同步時間

8、?servera的題8?

8.配置 autofs

配置 autofs,按照以下要求自動掛載遠程用戶的家目錄,要求如下:?

NFS 服務器 172.25.250.254 的共享目錄是/rhome,此文件系統包含為用戶

testuser 預配置的家目錄

testuser 的家目錄是 172.25.250.254:/rhome/testuser?

testuser 的家目錄應該自動掛載到/rhome 下的/rhome/testuser 家目錄允許用戶寫入

testuser 的密碼是 redhat

(1)安裝autofs

這步已經在測試軟件倉庫時做過了

(2)編輯auto.master

進入后,在這個位置編輯

(3)?編輯auto.rhome

退出保存后,再進入剛剛寫的那個子文件,即/etc/auto.rhome

?

編輯題目要的東西

(4)開機自啟動,重啟autofs

systemctl enable --now autofs

重啟

(5)檢查

切換到testuser用戶

切換后,df -h查看有沒有自動掛載

有則成功

?9、?servera的題9?

9.配置用戶賬戶

配置用戶賬戶 alex,用戶的 ID 為 1234,此用戶的密碼應當為 redhat.

簡單,直接做了,記得先把用戶切回來root

?10、?servera的題10?

10.查找文件

查找屬與 harry 用戶的所有文件,并拷貝到/root/findfiles 目錄

(1)先創建目錄

(2)查找harry的文件,并匯總到/root/findfiles

用find查找,-user按照用戶來找、-exec將權限都復制過去、cp復制

(3)查看

ls查看

?11、?servera的題11??

11.查找字符串

查找文件/usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行。

并將所有這些行的內容放到文件/root/list 中,/root/list 不得包含空行

(1)grep來查找,并放入進/root/list

grep ng /usr/share/xml/iso-codes/iso_639_3.xml > /root/list

(2)查看

?12、?servera的題12??

12.創建歸檔

創建名為/root/backup.tar.gz 的 tar 包,用來壓縮/usr/local 目錄

(1)看清楚要求是什么格式的

要求歸檔格式:

gz —— zcf

bz2 —— jcf

xz —— Jcf

(2)對應格式來下載安裝對應的軟件包

就怕考試的虛擬機沒裝

都可以通過dnf search來查找,找到后復制包名再dnf install安裝即可

gz —— gzip包(dnf search gzip)

bz2 —— bzip2包(dnf search bzip2)

xz —— xz包(dnf search xz)


題目要求是gz,則我們安裝gzip的包

?

(3)壓縮歸檔

tar zcf /root/backup.tar.gz /usr/local

?(4)查看

通過file來查看

?13、?servera的題13(難)

13.創建容器鏡像

在servera上以用戶身份contsvc:

使用題目提供的 Containerfile,構建名為 watcher 的容器鏡像

Containerfile的位置為:

? ? http://servera:82/Containerfile

請勿更改 Containerfile 中的內容


?有鏡像才能運行容器

(1)安裝podman鏡像


安裝完后,可以用podman images來查看有多少個鏡像,鏡像相當于一個虛擬機

(2)ssh登錄servera上的用戶contsvc

(3)登錄倉庫地址

podman login utility.lab.example.com

(4)wget下載題目的地址

題目說:

Containerfile的位置為:

? ? http://servera:82/Containerfile

我們下載這個地址

下載完成


下完后,ls查看一下是否有

(5) build剛剛下載的東西

最后面的點. 代表當前路徑位置

記住!!!?

剛剛下載的東西在哪,那就在哪build!

(6)查看?

看一下是否有我們剛剛創建的東西?

podman images查看

有則成功?

(7)總結

總的來說就是先登錄,登錄后下載,下載后去build它即可

?14、?servera的題14(難)

14.將容器配置為服務

在 servera 創建一個無根容器以作為 systemd 服務自動啟動,要求如下:

容器名稱為 rh134

容器使用上題創建的 watcher 鏡像

容器僅為現有用戶 contsvc 作為 systemd 服務運行

服務名為 container-rh134

系統重新啟動后,容器會自動啟動

本地目錄 /opt/rh124 附加到容器 /opt/level1 目錄

本地目錄 /opt/rh134 附加到容器 /opt/level2 目錄

如果服務工作正常,則放入本地 /opt/rh124 或 /opt/rh134 目錄的文件都將置入

容器的 /opt/level1 和 /opt/level2 目錄

(1)先建立所需文件

題目要求:

本地目錄 /opt/rh124 附加到容器 /opt/level1 目錄

本地目錄 /opt/rh134 附加到容器 /opt/level2 目 錄

那就建立 /opt/rh124和 /opt/rh134,記得切回root建立

(2)更改屬性

更改剛剛創建的兩個文件的屬性

chown contsvc.contsvc /opt/rh124/ /opt/rh134/

(3)切換回指定用戶contsvc

ssh來登錄

(4)切換后運行鏡像

在用戶contsvc下運行鏡像watcher,并按題目要求進行相應的掛載

podman run -d --name rh134 -v /opt/rh124:/opt/level1 -v /opt/rh134:/opt/level2 watcher:latest

run —— 運行

--name rh134 —— 題目指定名字

-v —— 掛載

: —— 掛載到...

(5)測試一下

用root在/opt/rh124和 /opt/rh134下分別建立a和b兩個文件來測試

之后再登錄回contsvc(ssh登錄)

運行podman,

進入容器時是可以看到剛剛建立的a和b的

?

??注意??

測試所建立的文件在測試完后要刪除!!!怕扣不必要的分

切回root再刪

(6)將rh134變為Systemd的啟動方式

先重回contsvc(ssh登錄)

再建立并進入

將rh134變為Systemd的啟動方式

這樣做好后, 把我們剛剛那個給關了

(7)取得授權

loginctl enable-linger contsvc

(8)設置自啟動

systemctl --user enable --now container-rh134.service

(9)檢查

podman ps查看一下

這樣就成功了,我們reboot試一下,如果重啟后還在,那就成功

再contsvc下reboot一次,期間等待些許時間

等待些許時間后,我們退出contsvc,在root下再次reboot

再次等待些許時間

之后我們重登servera(ssh)

再登contsvc(ssh)

再用podman ps查看,發現有就是成功

?15、?servera的題15(此題可能有,可能沒有)

15.執行程序

主機上有一個程序 rhcsa,

要求運行該程序,屏幕則顯示 hello rhcsa

(1)進入

(2)編輯

wq退出保存

(3)授予權限

(4)測試

完成

?16、?servera的題16

16.系統用戶密碼的有效期

在系統中新增的用戶,要求 25 天后密碼自動失效,密碼過期前 5 天警告

(1)進入/login.defs

(2)找到并修改

找到PASS_...開頭的行

按題目要求修改

最大天數改成25、警告天數改成5

wq退出保存,就完成了

17、?servera的題17

17.配置 sudo 提權

為你的系統配置 sudo 提權,具體要求如下:

- 創建 user1 用戶,設置用戶密碼為 test。

- 授權 user1 組中的任何用戶都可以無密碼執行管理員命令。

(1)建立user1

(2)修改密碼為test

(3)授權user1組中的任何用戶都可以無密碼執行管理員命令

visudo進入

在此位置添加這些

wq保存

注意:user1前面的%代表user1組(即用戶組);而沒有百分號%則就表示用戶user1,這個注意一下

(4)測試

切換到user1

sudo id來查看一下

退出user1(exit)

至此,servera的題搞完

!!!注意注意!!!

考完試要把測試或者為了方便所用的操作刪干凈,避免扣分!

如:最開始把servera的sshd文件里的PermitRootLogin改成yes了,考完要把它改回去!!!

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

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

相關文章

SpringBoot項目使用arthas-tunnel-server

參考官網Arthas Spring Boot Starter | arthas Spring Boot系列之使用Arthas Tunnel Server 進行遠程調試實踐-騰訊云開發者社區-騰訊云 springBoot項目, 增加maven依賴 <dependency><groupId>com.taobao.arthas</groupId><artifactId>arthas-sprin…

Modbus TCP 進階:基于以太網的遠程設備控制(二)

基于 Modbus TCP 的遠程設備控制實戰 &#xff08;一&#xff09;硬件與網絡搭建實操 1. 設備選型與連接 在工業現場&#xff0c;根據遠程控制需求進行設備選型至關重要 。對于傳感器&#xff0c;若要監測溫度&#xff0c;可選擇高精度的熱電偶傳感器&#xff0c;如 K 型熱電…

分庫分表之實戰-sharding-JDBC

大家好&#xff0c;我是工藤學編程 &#x1f989;一個正在努力學習的小博主&#xff0c;期待你的關注實戰代碼系列最新文章&#x1f609;C實現圖書管理系統&#xff08;Qt C GUI界面版&#xff09;SpringBoot實戰系列&#x1f437;【SpringBoot實戰系列】Sharding-Jdbc實現分庫…

httpcore-nio引起的線程、fd泄露問題

依賴來源&#xff1a;httpasyncclient-4.1.4.jar 現象 程序報錯too many open files 線程數飆升、句柄數飆升 thread dump顯示大量 "I/O dispatcher 7215" #9102 prio5 os_prio0 tid0x00002b7ba036a800 nid0x6f24 runnable [0x00002b7d98d41000]java.lang.Thread.…

多線程生產者消費者模型實戰案例

多線程生產者消費者模型實戰案例 前言業務場景術前準備無鎖無事務有事務 synchronized事務在鎖外事務在鎖內 數據庫行鎖什么是數據庫行鎖有事務沒有事務 樂觀鎖ReentrantLock分布式鎖 前言 曾經一直有一個疑惑&#xff0c;就是關于多線程生產者消費者模型的學習過程中&#xf…

青少年編程與數學 02-022 專業應用軟件簡介 03 三維建模及動畫軟件:Autodesk Maya

青少年編程與數學 02-022 專業應用軟件簡介 03 三維建模及動畫軟件&#xff1a;Autodesk Maya 一、什么是三維建模二、什么是計算機動畫三、三維建模及動畫設計軟件的發展歷程&#xff08;一&#xff09;早期探索階段&#xff08;20世紀60年代 - 80年代&#xff09;&#xff08…

獲得 OCM 大師證書學習歷練

當我站在山城重慶的洪崖洞前&#xff0c;看著璀璨的夜景倒映在嘉陵江上&#xff0c;手中緊握著 OCM 大師證書&#xff0c;那一刻&#xff0c;備考時的艱辛與考試時的緊張都化作了滿滿的成就感。這段在重慶獲得 OCM 大師證書的經歷&#xff0c;就像一場充滿挑戰與驚喜的冒險&…

srs-gb28181 與 SRS 5.0 對 GB28181 國標支持

srs-gb28181 是基于 SRS 4.0/5.0 的國標&#xff08;GB28181&#xff09;擴展分支&#xff0c;而 SRS 5.0 官方版本也逐步增強了對 GB28181 的支持。以下是兩者的主要區別&#xff1a; 1. 功能支持對比 功能srs-gb28181&#xff08;擴展分支&#xff09;SRS 5.0&#xff08;官…

算法第18天|繼續二叉樹:修剪二叉搜索樹、將有序數組轉化為二叉搜索樹、把二叉搜索樹轉換為累加樹

今日總結&#xff1a; 1、修剪二叉搜索樹&#xff08;重點思考如何修剪&#xff09; &#xff08;1&#xff09;遞歸的返回值是什么&#xff1f;&#xff08;與插入、刪除一樣&#xff09; &#xff08;2&#xff09;遞歸的單層邏輯一定要縷清&#xff08;3中情況討論&#xff…

C# 多線程(三)線程池

目錄 1.通過TPL使用線程池 2.不使用TPL進入線程池的辦法 異步委托 3.線程池優化技術 最小線程數的工作原理 每當啟動一個新線程時&#xff0c;系統都需要花費數百微秒來分配資源&#xff0c;例如創建獨立的局部變量棧空間。默認情況下&#xff0c;每個線程還會占用約1…

學習筆記(29):訓練集與測試集劃分詳解:train_test_split 函數深度解析

學習筆記(29):訓練集與測試集劃分詳解&#xff1a;train_test_split 函數深度解析 一、為什么需要劃分訓練集和測試集&#xff1f; 在機器學習中&#xff0c;模型需要經歷兩個核心階段&#xff1a; 訓練階段&#xff1a;用訓練集數據學習特征與目標值的映射關系&#xff08;…

【全網唯一】自動化編輯器 Windows版純本地離線文字識別插件

目的 自動化編輯器超輕量級RPA工具&#xff0c;零代碼制作RPA自動化任務&#xff0c;解放雙手&#xff0c;釋放雙眼&#xff0c;輕松玩游戲&#xff0c;刷任務。本篇文章主要講解下自動化編輯器的TomatoOCR純本地離線文字識別Windows版插件如何使用和集成。 準備工作 1、下載自…

GitHub 2FA綁定

GitHub 2FA綁定 作為全球最大的代碼托管平臺&#xff0c;GitHub對賬號安全的重視程度不斷提升——自2023年3月起&#xff0c;GitHub已要求所有在GitHub.com上貢獻代碼的用戶必須啟用雙因素身份驗證&#xff08;2FA&#xff09;。如果你是符合條件的用戶&#xff0c;會收到一封…

pytest fixture基礎大全詳解

一、介紹 作用 fixture主要有兩個作用&#xff1a; 復用測試數據和環境&#xff0c;可以減少重復的代碼&#xff1b;可以在測試用例運行前和運行后設置和清理資源&#xff0c;避免對測試結果產生影響&#xff0c;同時也可以提高測試用例的運行效率。 優勢 pytest框架的fix…

Unity知識點-Renderer常用材質變量

本篇總結了Unity中renderer的3種常用的材質相關的變量&#xff1a;renderer.material,renderer.sharedMaterial,renderer.MaterialPropertyBlock。以及三者對SRPBatcher的影響。 一.介紹及對比 1.概念介紹 1.material 定義&#xff1a;material 是Render組件&#xff08;如…

【算法】??如何判斷時間復雜度?

文章目錄 1. 什么是時間復雜度&#xff1f;為什么需要時間復雜度&#xff1f; 2. 常見時間復雜度對比3. 如何分析時間復雜度&#xff1f;&#xff08;Java版&#xff09;&#x1f539; 步驟1&#xff1a;找出基本操作&#x1f539; 步驟2&#xff1a;分析循環結構&#xff08;1…

MySQL使用C語言連接

文章目錄 版本查看以及編譯mysql接口介紹初始化鏈接數據庫下發mysql命令mysql_query獲取執行結果mysql_store_result獲取結果行數mysql_num_rows獲取結果列數mysql_num_fields獲取列名mysql_fetch_fields獲取結果內容mysql_fetch_row關閉mysql鏈接mysql_closeC語言操作mysql查看…

堅持每日Codeforces三題挑戰:Day 7 - 題目詳解(2025-06-11,難度:1200,1300,1500)

每天堅持寫三道題第七天&#xff1a; Problem - A - Codeforces 1200 Problem - B - Codeforces 1300 Problem - A - Codeforces 1500 目錄 題目一: 題目大意: 解題思路: 代碼(C): 題目二: 題目大意: 解題思路: 代碼(C): 題目三: 題目大意: 解題思路: 代碼(C): …

洛谷 P4305:[JLOI2011] 不重復數字 ← unordered_set

【題目來源】 https://www.luogu.com.cn/problem/P4305 【題目描述】 給定 n 個數&#xff0c;要求把其中重復的去掉&#xff0c;只保留第一次出現的數。 【輸入格式】 第一行一個整數 T&#xff0c;表示數據組數。 對于每組數據&#xff0c;第一行一個整數 n。第二行 n 個數…

STM32固件升級設計——SPIFLASH模擬U盤升級固件

目錄 概述 一、功能描述 1、BootLoader部分&#xff1a; 2、APP部分&#xff1a; 二、BootLoader程序制作 1、分區定義 2、 主函數 3、配置USB 4、配置fatfs文件系統 5、程序跳轉 三、APP程序制作 四、工程配置&#xff08;默認KEIL5&#xff09; 五、運行測試 六…