首页 > 运维 > linux运维 > 正文

Linux基础软件-selinux&库文件&swap

星夢妙者
发布: 2025-06-19 15:48:18
原创
954人浏览过

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux基础软件-selinux&库文件&swap

Linux进阶部分又分了很多小的部分,我们刚讲完了Linux日常运维。讲的那些东西都算是系统自带的,但是Linux作为一个服务器操作系统,肯定是要安装运行软件来满足我们的业务需要,本章基础软件部分,将从下面几个部分来讲解:

Linux基础软件-软件安装

Linux基础软件-yum(一)

Linux基础软件-yum(二)

Linux基础软件-ntp

Linux基础软件-chrony

Linux基础软件-dns(一)

Linux基础软件-dns(二)

Linux基础软件-nfs

Linux基础软件-lvm

Linux基础软件-Selinux&库文件&swap(本章节)

本小节主要介绍Linux里面的几个概念,虽然在很多时候,这些并不会在日常使用关注到,但是还是有了解的意义。

SELinux

SELinux(Security-Enhanced Linux)是一种安全增强型的Linux安全子系统,由美国国家安全局(NSA)开发,旨在增强Linux系统的安全性。它通过实施强制访问控制(MAC)来提供高级的安全保护机制。

具体来说,SELinux引入了一种额外的安全层,不同于传统的自由访问控制(DAC)。在DAC中,每个文件、进程或用户可以自行设定权限,并且用户可以超越其他用户拥有更高权限。这可能导致安全漏洞,因为任何一个受损的进程都可以访问系统上的任何资源。

虽然SElinux很安全,但是在实际运维中,除了特殊要求,一般都会关闭selinux。因为如果要使用Selinux,软件或者应用程序需要很复杂的配置才可以。

代码语言:javascript代码运行次数:0运行复制
#临时关闭,重启失效setenforce 0#修改配置文件,重启以后生效#也可以通过vi进行修改sed -i 's/enforcing/disabled/' /etc/selinux/config
登录后复制

库文件

我们在介绍如何让Docker镜像最小化的时候,有提过以下这个库文件,在平时使用也是不容易感知到这个库文件的。在Linux基本目录介绍的时候,也说过有2个目录:/lib /lib64是库文件目录,存放系统动态链接库和内核模块。

在Linux的哲学里面一切皆文件里面,我们对Linux的操作实际上就是对文件进行增删查改,这些基础功能底层逻辑就是各种函数,相当于系统把这些功能封装在各种函数里面,供应用程序去调用。

文件读写函数:如 fopen、fclose、fread、fwrite 等,用于打开、关闭、读取和写入文件。

终端输入输出函数:如 printf、scanf、fgets、fputs 等,用于从终端读取输入和输出结果。

系统调用函数:如 read、write 等,用于直接与文件描述符进行交互,提供更底层的文件操作能力。

这些上面的函数都集成在系统的库文件里面如果我们自己开发的程序能力,就需要使用到这些库文件,这就是动态库,供操作系统的程序调用。和动态库对应的就是静态库。所以静态库,就不只依赖自己,完全不依赖系统自带的库文件。

代码语言:javascript代码运行次数:0运行复制
#动态库[root@localhost ~]# ldd /usr/bin/python  linux-vdso.so.1 =>  (0x00007ffd632ce000)  libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007f96125a0000)  libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9612384000)  libdl.so.2 => /lib64/libdl.so.2 (0x00007f9612180000)  libutil.so.1 => /lib64/libutil.so.1 (0x00007f9611f7d000)  libm.so.6 => /lib64/libm.so.6 (0x00007f9611c7b000)  libc.so.6 => /lib64/libc.so.6 (0x00007f96118ad000)  /lib64/ld-linux-x86-64.so.2 (0x00007f961296c000)
登录后复制
代码语言:javascript代码运行次数:0运行复制
#静态库[root@localhost ~]# ldd /usr/bin/cd  不是动态可执行文件
登录后复制

SWAP

Swap是计算机系统中用于暂时存放内存数据的一种技术。它通常指的是交换空间(swap space),是一种虚拟内存的扩展,用于在物理内存不足时将不活动的内存页从RAM(随机存取存储器)移动到硬盘上的一部分空间。这样,RAM中可以腾出空间来加载当前需要的数据和程序。

目前来说,对于动辄几百G,甚至上T的内存面前,swap已经基本没有使用的必要了,但是在互联网早期,内存都很低的情况,swap是提高系统性能的一种重要方法。而且在centos7安装的时候无论默认的lvm还是标准分区,都会单独拿一块分区出来用作swap。只是随着内存的提高,就算开启了swap也会关闭swap功能,而且k8s这个软件在某些版本里面默认情况下,如果有swap还无法启动成功。

关闭swap代码语言:javascript代码运行次数:0运行复制
#关闭swap,他会主备把swap的数据清空swapoff -a#注释fstab的开机启动,避免开机再次启动swap功能
登录后复制

2.开启swap

代码语言:javascript代码运行次数:0运行复制
#创建一个文件,大小,路径,名字都可以自定义dd if=/dev/zero of=/swapfile bs=1M count=1024#设置权限,保证安全chmod 600 /swapfile#标记为swap文件mkswap /swapfile#启动swapswapon /swapfile#如果要永久启用,需配置fstab/swapfile   none    swap    sw    0   0
登录后复制
Linux基础软件-selinux&库文件&swap

总结

1.selinux如果不使用,一般都需要在系统进行初始化或者制作通用模板的时候就把永久关闭掉。

2.库文件一般只有在进行某些软件的编译安装的时候会涉及到库文件因为版本不对导致异常的清空。

3.swap,如果没开则不需要管,如果开启了,也可以在初始化的时候进行关闭,看swap是否正常,其实主要看他的动态变化,如果变化大,说明内存和磁盘在进行大量数据交换,会影响性能。如果变化很小或者几乎没有变化,则说明使用不频繁则不会有啥问题。

4.在内核里面还有个参数,可用于swap的介入程度,数字越小,就是让swap介入越低。

代码语言:javascript代码运行次数:0运行复制
[root@localhost ~]# cat /proc/sys/vm/swappiness 30
登录后复制

以上就是Linux基础软件-selinux&库文件&swap的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号