源码 linux下编译_Linux云服务器软硬链接及源码编译安装python3.8的一些备注
????推薦一個(gè)簡(jiǎn)書(shū)作者寫的從零開(kāi)始學(xué)習(xí)Linux,非常細(xì),授人以魚(yú)不如授人以漁。
https://www.jianshu.com/p/54c0e6a1da99????正文:看一下服務(wù)器的版本
cat /proc/version????我創(chuàng)建了一個(gè)test文件夾,并在其中創(chuàng)建了兩個(gè)文件,
ls -il????第一列為文件的節(jié)點(diǎn)編號(hào),第二列為文件的類型及各用戶組的權(quán)限(屬主,用戶組,其他用戶),第三列為鏈接數(shù)1,第四列和第五列分別是所有者和所屬組別,第六列為大小0,后面的日期+文件名不多說(shuō)。
????現(xiàn)在我為其創(chuàng)建一個(gè)hard links(中文稱作硬鏈接)
ln test1 test3????再次查看,發(fā)現(xiàn)有兩個(gè)相同的節(jié)點(diǎn)編號(hào)51308245,且其鏈接數(shù)變?yōu)榱?。解釋:硬鏈接是源文件的一個(gè)硬復(fù)制,它們?cè)谀夸浳募械娜肟陧?xiàng)指向的是同一個(gè)i節(jié)點(diǎn),只有當(dāng)硬鏈接的全部鏈接被刪除掉才能夠釋放此節(jié)點(diǎn),硬鏈接文件必須在同一個(gè)文件系統(tǒng)中,目錄不能建立硬鏈接。
????如果對(duì)Linux的命令有什么不了解的地方,可以使用man ln進(jìn)行查看,man為manual的縮寫,后接相關(guān)的命令,例如對(duì)ln的命令不了解,man ln
????現(xiàn)在來(lái)測(cè)試一下symbolic links的建立(準(zhǔn)確的說(shuō)應(yīng)該是符號(hào)鏈接,很多中文文章介紹是軟連接,看起來(lái)也像那么回事,畢竟之前不是有一個(gè)硬鏈接么,這個(gè)s可不就是soft嗎?還真不是,這個(gè)原文為symbolic ,當(dāng)然玩文字游戲沒(méi)有多大的實(shí)際意義,只是想說(shuō)明,盡量看原文文檔,畢竟從別人翻譯過(guò)來(lái)的當(dāng)時(shí)是看爽了,事后又是一臉懵逼)
ln -s test2 test4????可以看到鏈接數(shù)仍為1,節(jié)點(diǎn)編號(hào)不同,可以簡(jiǎn)單的類比成我們平時(shí)電腦中的快捷方式,即運(yùn)行了test4其實(shí)就是運(yùn)行了test2。
????看到這里,我們就可以稍微明白一些Linux服務(wù)器上的/bin,/sbin和/usr/bin,/usr/sbin目錄了。
ls -il /bin??? bin目錄實(shí)際是/usr/bin的快捷方式,這也是為什么我在bin目錄里面創(chuàng)建一個(gè)文件或文件夾,/usr/bin里面也會(huì)同步多出相應(yīng)的文件,反之亦然。
????關(guān)于Linux服務(wù)器使用源碼編譯安裝python,百度上的教程很多,但是抄襲的太多了,實(shí)在是難以提取有效的信息,自己寫一篇備注。為什么需要編譯安裝,因?yàn)閜ython一門解釋型語(yǔ)言,可以參考下廖雪峰的博客中關(guān)于python的教學(xué)。另外,并非只有python源碼可以這樣進(jìn)行安裝,所有源碼編譯的程序都可以按照此步驟來(lái)進(jìn)行。
? ? python官網(wǎng)www.python.org
????在下載選項(xiàng)中,我們選擇Source code,至于選擇Gzipped source tarball或者XZ compressed source tarball,就目前的我看來(lái),并沒(méi)有區(qū)別,都可以正常安裝,不知道百度上說(shuō)千萬(wàn)不要選擇XZ compressed source tarball版本是什么意思?目前還沒(méi)去查相關(guān)的區(qū)別。只是如果選擇XZ文件需要其他的解壓方式。
????我以Python-3.8.5.tgz(Gzipped source tarball)為例,解壓出來(lái)文件大致如下:
????感興趣的也可以去閱讀下README的幫助文檔,我們可以使用如下命令查看幫助文檔,至于為什么要加./才能運(yùn)行該命令,明明我就在這個(gè)目錄下啊?我的理解是環(huán)境變量中的一些python,mkdir等命令都可以直接使用,這是Linux服務(wù)器為了防止混淆做的設(shè)置。
./configure --help????例如,我想將其安裝到/usr/local/python38下面
./configure --prefix=/usr/local/python38 --enable-optimizations????關(guān)于第二個(gè)參數(shù),文檔是這樣解釋的,反正求穩(wěn)就對(duì)了
????運(yùn)行完成之后,并沒(méi)有開(kāi)始安裝,只是軟件開(kāi)始配置和檢查,也可稱之為編譯前準(zhǔn)備。此時(shí)我們?cè)龠M(jìn)行編譯
make????編譯安裝:
make?install或者編譯和編譯安裝一次性解決,&&和||命令的使用還是挺簡(jiǎn)單的。
make?&&?make?install????完成之后,我們進(jìn)入到/usr/local目錄下面
使用如下命令進(jìn)行測(cè)試
/usr/local/python38/bin/python3.8#?返回如下,則安裝成功Python 3.8.5 (default, Jan 5 2021, 12:01:51)[GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux????安裝完成之后我們可能會(huì)看到如下警告(python38):
? ? 按照上面的進(jìn)行設(shè)置即可。或者像我一樣建立一個(gè)軟連接,后面有坑再來(lái)填,坑踩得多了,也就熟了。
ln -s /usr/local/python38/bin/python3.8 /usr/bin/python38ln -s /usr/local/python38/bin/pip3.8 /usr/bin/pip38????PS: 查看系統(tǒng)環(huán)境變量命令? ?echo $PATH
總結(jié)
以上是生活随笔為你收集整理的源码 linux下编译_Linux云服务器软硬链接及源码编译安装python3.8的一些备注的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 双模sa_2020年5G终端发展展望:N
- 下一篇: 一个项目中能提出哪些数据库优化_如何有效