新聞中心
在多人協(xié)作的環(huán)境中,共享點(diǎn)的作用是至關(guān)重要的。Linux操作系統(tǒng)正是通過共享點(diǎn)來實(shí)現(xiàn)為多個(gè)用戶提供主機(jī)資源的。無論是在家庭網(wǎng)絡(luò)還是企業(yè)內(nèi)部網(wǎng)絡(luò)中,共享點(diǎn)的創(chuàng)建都是一個(gè)相對(duì)簡單的過程,只需幾步即可實(shí)現(xiàn)。

西固網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
創(chuàng)建共享點(diǎn)前的準(zhǔn)備
在開始創(chuàng)建共享點(diǎn)之前,你需要做好以下準(zhǔn)備工作:
1.確定使用的Linux發(fā)行版
Linux操作系統(tǒng)有眾多的發(fā)行版,如Ubuntu、Fedora、Debian等等,不同的發(fā)行版安裝共享點(diǎn)的方式也可能有所不同。在本文中,筆者以CentOS 7發(fā)行版為例來進(jìn)行講解。
2.確保Samba服務(wù)已安裝
Samba是Windows和Linux操作系統(tǒng)之間協(xié)作的一個(gè)重要橋梁,可實(shí)現(xiàn)文件共享、打印機(jī)共享、用戶身份驗(yàn)證等。在CentOS 7中,安裝Samba服務(wù)的命令為:
sudo yum install samba
3.確定網(wǎng)絡(luò)環(huán)境
在創(chuàng)建共享點(diǎn)之前,我們需要確定用戶與主機(jī)之間的網(wǎng)絡(luò)環(huán)境,以便正確配置共享點(diǎn)的訪問權(quán)限。
如何在Linux操作系統(tǒng)中創(chuàng)建共享點(diǎn)
現(xiàn)在,讓我們一步一步地來創(chuàng)建一個(gè)在Linux操作系統(tǒng)上的共享點(diǎn)。
1.創(chuàng)建一個(gè)公用共享目錄
在創(chuàng)建共享點(diǎn)之前,我們需要先創(chuàng)建一個(gè)目錄,并設(shè)置為共享目錄,以供多個(gè)用戶訪問。我們可以通過以下命令創(chuàng)建一個(gè)名為“Shared” 的目錄:
sudo mkdir /Shared
接著,為該目錄授權(quán),以允許多個(gè)用戶在該目錄中讀寫文件。我們可以通過以下命令進(jìn)行授權(quán):
sudo chmod 0777 /Shared
2.創(chuàng)建Samba用戶
在設(shè)置共享點(diǎn)之前,我們需要?jiǎng)?chuàng)建一個(gè)Samba用戶,以供多個(gè)用戶訪問共享點(diǎn)。我們可以通過以下命令來創(chuàng)建該用戶:
sudo bpasswd -a username
其中“username”是我們需要?jiǎng)?chuàng)建的用戶名。創(chuàng)建用戶后,我們需要設(shè)置該用戶的密碼,以便其他用戶可以使用該用戶名和密碼訪問共享點(diǎn)。
3.編輯Samba配置文件
為了配置Samba服務(wù),我們需要編輯Samba配置文件。接下來,我們將講解如何通過編輯Samba配置文件來設(shè)置共享點(diǎn)的共享和訪問權(quán)限。
在CentOS 7中,Samba配置文件的路徑為“/etc/samba/b.conf”。為了編輯該文件,我們可以使用vi或nano等編輯器。
sudo nano /etc/samba/b.conf
以下是我們需要在該文件中添加的內(nèi)容:
[Shared Directory]
comment = Shared Directory
path = /Shared
public = yes
writable = yes
browseable = yes
force user = username
其中,“[Shared Directory]”是該共享點(diǎn)的名稱,可更改為您自己的名稱。我們也可以給該共享點(diǎn)添加一個(gè)簡短的描述,以便其他用戶了解其作用?!皃ath”則為共享目錄的路徑,這里設(shè)置為“/Shared”。
“public”設(shè)置為“yes”表示該共享點(diǎn)是公共的,任何用戶都可以訪問該共享點(diǎn)。“writable”設(shè)置為“yes”表示該共享點(diǎn)中的文件可以被讀寫。如果我們希望其他用戶不僅可以讀取文件,還需要修改和刪除文件,就需要將其設(shè)置為“writable = yes”。
“browseable”設(shè)置為“yes”表示該共享點(diǎn)可以被瀏覽,其他用戶可以看到該共享點(diǎn)的存在?!癴orce user”則用于將Samba服務(wù)的默認(rèn)用戶更改為我們剛才創(chuàng)建的用戶。
設(shè)置完成后,保存并關(guān)閉配置文件。
4.重啟Samba服務(wù)
為了使更改生效,我們需要重啟Samba服務(wù)。使用以下命令重啟Samba服務(wù):
sudo systemctl restart b.service
5.測試訪問
現(xiàn)在,我們已經(jīng)創(chuàng)建了一個(gè)在Linux操作系統(tǒng)上的共享點(diǎn)。現(xiàn)在,我們可以使用其他計(jì)算機(jī)測試對(duì)該共享點(diǎn)的訪問權(quán)限。
在Windows操作系統(tǒng)中訪問Linux共享點(diǎn)的步驟如下:
1.打開“計(jì)算機(jī)”資源管理器
2.在地址欄輸入共享點(diǎn)的地址,如:\\192.168.1.100\Shared
其中,“192.168.1.100”是主機(jī)的IP地址,“Shared”為共享點(diǎn)名稱。
3.輸入Samba用戶的用戶名和密碼,即可訪問共享點(diǎn)。
結(jié)論
在本文中,我們已經(jīng)詳細(xì)介紹了如何在Linux操作系統(tǒng)中創(chuàng)建共享點(diǎn)。盡管創(chuàng)建共享點(diǎn)可能聽起來很困難,但實(shí)際上,只要按照以上步驟進(jìn)行操作,就可以實(shí)現(xiàn)簡單的共享點(diǎn)設(shè)置。在需要協(xié)作的環(huán)境中,使用共享點(diǎn)可以提高工作效率和協(xié)作效果。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220探討一下 Linux 共享內(nèi)存的 N 種方式
關(guān)于 Linux 共享內(nèi)存,寫得更好的應(yīng)該是宋寶華的 《世上更好的共享內(nèi)存》 一文。
本文可以說是對(duì)這篇文章的學(xué)習(xí)筆記,順手練習(xí)了一下 rust libc —— shichaoyuan/learn_rust/linux-shmipc-demo
按照宋寶華的總結(jié),當(dāng)前有四種主流的共享內(nèi)存方式:
前兩種方式比較符合傳統(tǒng)的用法,共享內(nèi)侍碧存做為進(jìn)程間通信的媒介。
第三種方式更像是通過傳遞內(nèi)存“句柄”進(jìn)行數(shù)據(jù)傳輸。
第四種方式是為設(shè)備間傳遞數(shù)據(jù)設(shè)計(jì),避免內(nèi)存拷貝,直接傳遞內(nèi)存“句柄”。
這里嘗試了一下第二種和第三種方式。
這套 API 應(yīng)該是最檔缺普遍的 —— shm_open + mmap,本質(zhì)上來說 Aeron 也是用的這種方式(關(guān)于 Aeron 可以參考 我之前的文章 )。
看一下 glibc 中 shm_open 函數(shù)的實(shí)現(xiàn)就一清二楚了:
shm_open 函數(shù)就是在 /dev/shm 目錄下建文件,該目錄掛載為 tmpfs,至于 tmpfs 可以簡單理解為存儲(chǔ)介質(zhì)是內(nèi)存的一種文件系統(tǒng),更準(zhǔn)確的理解可以參考官方文檔 tmpfs.txt 。
然后通過 mmap 函數(shù)將 tmpfs 文件映射到用戶空間就可以隨意操作了。
優(yōu)點(diǎn):
這種方式更大的優(yōu)勢在于共享的內(nèi)存是有“實(shí)體”(也就是 tmpfs 中的文件)的,所以多個(gè)進(jìn)程可以很容易通過文件名這個(gè)信息構(gòu)建共享內(nèi)存結(jié)構(gòu),特別適合把共享內(nèi)存做為通信媒介的場景(例如 Aeron )。
缺點(diǎn):
如果非要找一個(gè)缺點(diǎn)的話,可能是,文件本身獨(dú)立于進(jìn)程的生命周期,在使用完畢后需要注意刪除文件(僅僅行談辯 close 是不行的),否則會(huì)一直占用內(nèi)存資源。
memfd_create 函數(shù)的作用是創(chuàng)建一個(gè)匿名的文件,返回對(duì)應(yīng)的 fd,這個(gè)文件當(dāng)然不普通,它存活在內(nèi)存中。更準(zhǔn)確的理解可以參考官方文檔 memfd_create(2) 。
直觀理解,memfd_create 與 shm_open 的作用是一樣的,都是創(chuàng)建共享內(nèi)存實(shí)體,只是 memfd_create 創(chuàng)建的實(shí)體是匿名的,這就帶了一個(gè)問題:如何讓其它進(jìn)程獲取到匿名的實(shí)體?shm_open 方式有具體的文件名,所以可以通過打開文件的方式獲取,那么對(duì)于匿名的文件怎么處理呢?
答案是:通過 Unix Domain Socket 傳遞 fd。
rust 的 UDS 實(shí)現(xiàn):
rust 在 std 中已經(jīng)提供了 UDS 的實(shí)現(xiàn),但是關(guān)于傳遞 fd 的 send_vectored_with_ancillary 函數(shù)還屬于 nightly-only experimental API 階段。所以這里使用了一個(gè)三方 crate —— sendfd ,坦白說可以自己實(shí)現(xiàn)一下,使用 libc 構(gòu)建好 SCM_RIGHTS 數(shù)據(jù),sendmsg 出去即可,不過細(xì)節(jié)還是挺多,我這里就放棄了。
這套 API 設(shè)計(jì)更靈活,直接拓展了我的思路,本來還是受限于 Aeron 的用法,如果在這套 API 的加持下,是否可以通過傳遞數(shù)據(jù)包內(nèi)存塊(fd)真正實(shí)現(xiàn)零拷貝呢?
優(yōu)點(diǎn):
靈活。
缺點(diǎn):
無
linux 創(chuàng)建共享點(diǎn)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux 創(chuàng)建共享點(diǎn),使用Linux操作系統(tǒng)創(chuàng)建共享點(diǎn),探討一下 Linux 共享內(nèi)存的 N 種方式的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專業(yè)從事IT產(chǎn)品開發(fā)和營銷公司。廣泛應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)、設(shè)計(jì)、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
網(wǎng)站名稱:使用Linux操作系統(tǒng)創(chuàng)建共享點(diǎn)(linux創(chuàng)建共享點(diǎn))
分享鏈接:http://www.dlmjj.cn/article/dhpjipp.html


咨詢
建站咨詢
