linux系统优化
linux中安装软件方式
linux中的软件安装方式有三种:
1.rpm安装包安装方式
2.yum安装方式
3.源代码编译安装
三者的区别:
1.rpm的安装就类似于Windows中的安装包,下载之后直接安装,缺点是不能自己解决依赖问题
2.yun的安装方式基于rpm安装,添加了自动解决依赖的问题。
3..源代码安装,通过编译源代码得到软件包。优点是可以自定制软件包,缺点是比较复杂。
rpm安装
rpm安装命令
安装:rpm -ivh [软件包名称]
卸载:rpm -e [软件包名称]
升级:rpm -Uvh [软件包名称]
1.下载安装包
在网上下载安装包
网址:https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/
安装 lrzsz方便文件的上传和下载
将下载的安装包拉到文件中
2.安装文件
使用rpm -ivh [软件名称]命令安装文件
3.卸载软件
使用rpm -e [软件名称]命令来卸载文件
4.更新文件
使用rpm -Uvh [软件名称]命令来更新文件
5.软件包名称信息
以zsh-5.0.2-34.el7_8.2.x86_64.rpm为例:
zsh:软件包名称
5.0.2:版本号
34:编译次数
el7_8:适用的平台(该平台为CentOS 7)
x86_64:适用的系统位数
rpm:扩展名
6.查看软件包配置文件
使用rpm -qc [软件名称]来查看配置文件
7.查看是否安装某软件
使用rpm -q [软件名称]来查看是否安装某软件
8.查看当前系统安装了那些软件
使用rpm -qa来查看安装了哪些软件
9.查看软件的安装路径
使用rpm -ql [软件名称]来查看软件的安装路径
yum安装
1.yum命令
1.安装 命令yum install [软件包名称]
参数:
-y:全部确认,免交互
--nogpgcheck:忽略公钥认证
2.卸载命令yum remove [软件包名称]
参数:
-y:全部确认,免交互
3.更新命令yum updata [软件包名称]
参数:
-y:全部确认,免交互
注意:如果不指定软件包名称,则会更新全部的需要更新的软件包
2.yum安装的生命周期
1.执行yum install zsh -y
2.去 /etc/yum.repos.d/ 找以.repo结尾的文件
3.通过.repo文件中的链接,找到对应的软件仓库
4.在对应的软件仓库中下载指定的软件包
5.缓存至 /var/cache/yum/
6.根据缓存,安装软件包
7.删除软件包(keepcache 是否保存缓存,0表示不保存,1表示保存)
注: /etc/yum.conf 是yum的配置文件。
3.搭建yum私有仓库
1.创建目录充当仓库
2.下载软件,存放于yum仓库中
1.安装wget
2.在yumrepo文件下创建Packages目录
3.下载软件到Packages目录
3.建立依赖关系
1.下载建立依赖关系的命令
2.建立yum源的依赖关系
4.编写yum源
1.来到/etc/yum.repos.d下将原有的源放到别的目录
2.创建新的源文件
3.编写repo文件
名称
简介
地址
安全验证
4.更新源
5.测试
6.安装远程服务,提供远程访问服务
1.恢复原有的源
回到/etc/yum.repo.d目录,将移除的源移回来
添加新的源(为了安装nginx)
2.安装Nginx远程web服务软件
3.修改nginx配置,使其能够代理yumrepo仓库的远程服务
将include /etc/nginx/conf.d/*.conf;注释掉
root 后的目录改为/yumrepo
添加autoindex on
判断是否成功
启动nginx
关闭selinux和firewalld
使用网络尝试链接
5.使用另一台虚拟机测试
新开一台虚拟机,安装yum-utils
将原有的源移到别的文件中
添加新的源
刷新缓存
下载测试
系统安全优化
1.关闭selinux
临时关闭:setenforce 0
永久关闭:修改 /etc/selinux/config,将SELINUX改为disabled
2.关闭firewalld
使用命令systemctl disable --now firewalld
防止系统乱码
临时优化:export LANG=zh_CN.UTF-8(zh_CN意为简体中文编码)
永久优化:修改/etc/locale.conf文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通