YOLO813

Linux云服务器软硬链接及源码编译安装python3.8测试

    正文:看一下服务器的版本

cat /proc/version

    我创建了一个test文件夹,并在其中创建了两个文件,

ls -il

    第一列为文件的节点编号,第二列为文件的类型及各用户组的权限(属主,用户组,其他用户),第三列为链接数1,第四列和第五列分别是所有者和所属组别,第六列为大小0,后面的日期+文件名不多说。

    现在我为其创建一个hard links(中文称作硬链接)

ln test1 test3

    再次查看,发现有两个相同的节点编号51308245,且其链接数变为了2。解释:硬链接是源文件的一个硬复制,它们在目录文件中的入口项指向的是同一个i节点,只有当硬链接的全部链接被删除掉才能够释放此节点,硬链接文件必须在同一个文件系统中,目录不能建立硬链接。

    如果对Linux的命令有什么不了解的地方,可以使用man ln进行查看,man为manual的缩写,后接相关的命令,例如对ln的命令不了解,man ln

    现在来测试一下symbolic links的建立(准确的说应该是符号链接,原文为symbolic)

ln -s test2 test4

    可以看到链接数仍为1,节点编号不同,可以简单的类比成我们平时电脑中的快捷方式,即运行了test4其实就是运行了test2。

    看到这里,我们就可以稍微明白一些Linux服务器上的/bin,/sbin和/usr/bin,/usr/sbin目录了。

ls -il /bin

    bin目录实际是/usr/bin的快捷方式,这也是为什么我在bin目录里面创建一个文件或文件夹,/usr/bin里面也会同步多出相应的文件,反之亦然。

    

    关于Linux服务器使用源码编译安装python,写一篇备注。为什么需要编译安装,因为python一门解释型语言,可以参考下廖雪峰的博客中关于python的教学。另外,并非只有python源码可以这样进行安装,所有源码编译的程序都可以按照此步骤来进行。

    python官网www.python.org

    在下载选项中,我们选择Source code,至于选择Gzipped source tarball或者XZ compressed source tarball,就目前的我看来,并没有区别,都可以正常安装,不知道百度上说千万不要选择XZ compressed source tarball版本是什么意思?目前还没去查相关的区别。只是如果选择XZ文件需要其他的解压方式。

    我以Python-3.8.5.tgz(Gzipped source tarball)为例,解压出来文件大致如下:

    感兴趣的也可以去阅读下README的帮助文档,我们可以使用如下命令查看帮助文档,至于为什么要加./才能运行该命令,明明我就在这个目录下啊?我的理解是环境变量中的一些python,mkdir等命令都可以直接使用,这是Linux服务器为了防止混淆做的设置。

./configure --help

    例如,我想将其安装到/usr/local/python38下面

./configure --prefix=/usr/local/python38 --enable-optimizations

    运行完成之后,并没有开始安装,只是软件开始配置和检查,也可称之为编译前准备。此时我们再进行编译

make

    编译安装:

make install

或者编译和编译安装一次性解决,&&和||命令的使用还是挺简单的。

make && make install

    完成之后,我们进入到/usr/local目录下面

使用如下命令进行测试

/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

    安装完成之后我们可能会看到如下警告(python38):

    按照上面的进行设置即可。或者像我一样建立一个软连接,后面有坑再来填,坑踩得多了,也就熟了。

ln -s /usr/local/python38/bin/python3.8 /usr/bin/python38
ln -s /usr/local/python38/bin/pip3.8 /usr/bin/pip38

    PS: 查看系统环境变量命令   echo $PATH

 

https://www.jianshu.com/p/54c0e6a1da99