CentOS 入门必备基础知识

莱莱  金牌会员 | 2024-12-5 13:45:17 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 833|帖子 833|积分 2499

目录

目录
什么是CentOS?
CentOS的汗青与版本
紧张版本历程
CentOS的特点
CentOS的安装
4.1 硬件要求
4.2 安装步调
4.3 常见安装选项
初始配置
5.1 更新体系
5.2 配置网络
5.3 设置主机名
包管理
6.1 YUM简介
6.2 常用YUM命令
6.3 配置YUM仓库
用户与权限管理
7.1 添加与删除用户
7.2 用户组管理
7.3 权限与所有权
文件体系与目录结构
8.1 常见目录介绍
8.2 挂载与分区管理
网络配置
9.1 配置静态IP
9.2 配置动态IP(DHCP)
9.3 网络服务管理
防火墙与安全
10.1 配置Firewalld
10.2 安装与配置SELinux
10.3 SSH安全配置
服务管理
11.1 Systemd简介
11.2 常用Systemd命令
11.3 配置开机自启服务
日记管理
12.1 日记文件位置
12.2 使用Journalctl查看日记
12.3 日记轮转与清算
软件安装与编译
13.1 从源代码编译
13.2 使用RPM包安装
常用命令行工具
14.1 文件与目录操作
14.2 文本处理工具
14.3 体系监控工具
总结
参考资料
版权声明
结束语

  CentOS(Community ENTerprise Operating System)是一款广泛应用于服务器环境的Linux发行版,以其稳定性、可靠性和企业级特性而著称。作为Red Hat Enterprise Linux(RHEL)的免费替代品,CentOS在企业、开发者和体系管理员中拥有广泛的用户群体。本篇文章将具体介绍CentOS的基础知识,资助初学者快速入门。

什么是CentOS?

CentOS,全称为Community ENTerprise Operating System,是一个基于Red Hat Enterprise Linux(RHEL)的自由开源操作体系。CentOS通过移除RHEL中的品牌和商标,提供了一个与RHEL高度兼容的体系,使用户可以或许在不支付贸易支持费用的环境下,享受到企业级的稳定性和性能。
紧张特点包罗:


  • 开源与免费:CentOS遵循开源协议,用户可以自由下载、使用和修改。
  • 稳定性:基于RHEL的稳定版本,颠末严格测试,适合生产环境。
  • 社区支持:拥有活跃的社区,提供丰富的文档和技术支持。
CentOS的汗青与版本

CentOS项目最初由Gregory Kurtzer于2004年创建,旨在为用户提供一个免费且功能强大的企业级Linux发行版。2007年,CentOS与Red Hat创建了紧密的互助关系,进一步提拔了其在企业市场的影响力。
紧张版本历程

版本发布年份基于RHEL紧张特性CentOS 32004RHEL 3初始发布,稳定的企业级环境CentOS 42005RHEL 4引入SELinux,增强安全性CentOS 52007RHEL 5支持64位,改进的文件体系与网络功能CentOS 62011RHEL 6Systemd前身的初始化体系,增强的虚拟化支持CentOS 72014RHEL 7引入Systemd,支持Docker容器CentOS 82019RHEL 8模块化包管理,增强的安全特性CentOS Stream 8/92020/2021RHEL前瞻版本滚动更新模式,介于Fedora与RHEL之间 注意:2020年,Red Hat宣布将CentOS从传统的发布模式变化为CentOS Stream,这引起了社区的广泛关注和讨论。CentOS Stream作为RHEL的上游版本,旨在更快地引入新特性和更新。
CentOS的特点

CentOS凭借其独特的特点,成为了许多企业和开发者的首选操作体系。

  • 稳定性与可靠性:基于RHEL,颠末严格测试,确保体系的稳定运行,适合生产环境。
  • 安全性:提供了多条理的安全机制,包罗SELinux、Firewalld等,掩护体系免受威胁。
  • 恒久支持:每个紧张版本通常提供10年的支持周期,保证恒久的安全更新与补丁。
  • 广泛的硬件支持:支持多种硬件架构,包罗x86_64、ARM等。
  • 丰富的软件仓库:通过YUM仓库,用户可以方便地安装和管理软件包。
  • 活跃的社区:拥有庞大的用户群体和开发者社区,提供丰富的资源和支持。
CentOS的安装

安装CentOS是入门的第一步,以下将具体介绍CentOS的安装过程。
4.1 硬件要求

安装CentOS需要满意肯定的硬件要求,具体如下:
组件最低要求推荐配置处理器1 GHz或更高多核处理器,2 GHz及以上内存1 GB RAM2 GB RAM及以上存储空间最少20 GB硬盘空间40 GB硬盘空间或更大网络网卡支持,建议有稳定的网络连接高速网络连接表现器1024x768分辨率更高分辨率支持 4.2 安装步调

以下以CentOS 8为例,介绍安装步调:

  • 下载CentOS镜像

    • 访问CentOS官方网站下载ISO镜像文件。
    • 选择适合的版本(如DVD ISO)和架构(如x86_64)。

  • 制作启动介质

    • 使用工具(如Rufus、Etcher)将ISO镜像烧录到USB闪存驱动器,制作启动盘。

  • 启动安装步调

    • 将启动盘插入目标盘算机,设置BIOS/UEFI从USB启动。
    • 启动后,选择“Install CentOS 8”进入安装界面。

  • 选择安装语言

    • 选择适合的语言和区域设置,点击“Continue”。

  • 配置安装目标

    • 选择安装的硬盘或分区,可以选择自动分区或手动分区。

  • 配置网络与主机名

    • 启用网络接口,设置主机名(如server.example.com)。

  • 设置安全策略

    • 选择符合的安全策略,默认即可。

  • 创建用户与设置密码

    • 设置root用户密码,创建平凡用户账户。

  • 开始安装

    • 确认所有配置无误后,点击“Begin Installation”开始安装过程。

  • 完成安装

    • 安装完成后,重启体系,移除安装介质,进入CentOS体系。

4.3 常见安装选项



  • 图形界面安装与最小化安装

    • 图形界面适合新手用户,提供直观的安装体验。
    • 最小化安装适合服务器环境,减少不须要的软件包,进步体系性能。

  • 软件包选择

    • 可以根据需求选择不同的软件包组,如Web服务器、开发工具等。

  • 磁盘分区

    • 推荐使用LVM(逻辑卷管理),方便后续的磁盘管理和扩展。

初始配置

安装完成后,需要举行一些初始配置,以确保体系的正常运行和安全性。
5.1 更新体系

确保体系处于最新状态是保障安全和稳定的第一步。
sudo yum update -y
该命令将更新所有已安装的软件包到最新版本。
5.2 配置网络

配置网络是使体系可以或许访问外部资源的关键步调。


  • 查看网络接口
    ip addr
  • 编辑网络配置文件(以eth0为例):
    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    示例配置(静态IP):
    TYPE=Ethernet BOOTPROTO=static NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4
  • 重启网络服务
    sudo systemctl restart network
5.3 设置主机名

设置主机名有助于在网络中识别和管理体系。
sudo hostnamectl set-hostname server.example.com
验证主机名:
hostnamectl
包管理

在CentOS中,YUM(Yellowdog Updater, Modified)是紧张的包管理工具,用于安装、更新和删除软件包。
6.1 YUM简介

YUM通过配置文件中的软件仓库(repositories)获取软件包。默认环境下,CentOS已经配置了基础的软件仓库,但用户可以根据需求添加额外的仓库。
6.2 常用YUM命令

命令分析sudo yum update更新所有已安装的软件包到最新版本sudo yum install package_name安装指定的软件包sudo yum remove package_name删除指定的软件包sudo yum search keyword搜索包含关键字的软件包sudo yum list installed列出所有已安装的软件包sudo yum clean all清算YUM缓存sudo yum info package_name查看指定软件包的具体信息sudo yum groupinstall "Group Name"安装软件包组,如“Development Tools” 6.3 配置YUM仓库

用户可以通过添加新的仓库配置文件,扩展YUM的软件源。


  • 添加EPEL仓库(Extra Packages for Enterprise Linux):
    sudo yum install epel-release -y
    EPEL提供了大量额外的软件包,增强了CentOS的功能。
  • 添加Remi仓库(PHP等软件的最新版本):
    sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm sudo yum install yum-utils -y sudo yum-config-manager --enable remi
用户与权限管理

有效的用户与权限管理是保障体系安全的基础。
7.1 添加与删除用户



  • 添加用户
    sudo adduser username sudo passwd username
  • 删除用户
    sudo userdel -r username
    -r选项将删除用户的主目录及其文件。
7.2 用户组管理

用户组用于管理一组用户的权限。


  • 创建组
    sudo groupadd groupname
  • 将用户添加到组
    sudo usermod -aG groupname username
  • 删除组
    sudo groupdel groupname
7.3 权限与所有权

文件和目录的权限控制是Linux体系的紧张特性。


  • 查看权限
    ls -l /path/to/file
  • 修改权限
    chmod 755 /path/to/file
  • 修改所有者
    sudo chown user:group /path/to/file
权限分析


  • 读(r):4
  • 写(w):2
  • 执行(x):1
权限通过数字或符号表示。比方,755表示所有者有读、写、执行权限,组和其他用户有读和执行权限。
文件体系与目录结构

理解Linux的文件体系结构有助于更好地管理和操作体系。
8.1 常见目录介绍

目录分析/根目录,所有文件和目录的起点/bin根本命令二进制文件,如ls、cp/sbin体系管理命令,如ifconfig、reboot/etc配置文件目录,存放体系和应用步调配置文件/home用户主目录,存放用户个人文件/var可变数据文件,如日记、缓存/tmp临时文件目录/usr用户步调和数据文件/lib体系库文件/opt可选的附加应用步调软件包/mnt临时挂载文件体系的挂载点/media可移动媒体设备挂载点,如USB、CD-ROM 8.2 挂载与分区管理

挂载是将存储设备或分区接入文件体系的过程。


  • 查看当前挂载点
    mount | grep "^/"
  • 挂载设备
    sudo mount /dev/sdb1 /mnt
  • 卸载设备
    sudo umount /mnt
  • 永久挂载(编辑/etc/fstab):
    sudo vi /etc/fstab
    示例条目
    /dev/sdb1 /mnt ext4 defaults 0 0
  • 创建文件体系
    sudo mkfs.ext4 /dev/sdb1
注意:操作分区和文件体系前,请确保数据备份,制止数据丢失。
网络配置

网络配置是确保体系可以或许与外部通信的紧张环节。
9.1 配置静态IP

静态IP适用于服务器环境,确保体系IP地点不变。

  • 编辑网络配置文件(以eth0为例):
    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • 示例配置
    TYPE=Ethernet BOOTPROTO=static NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4
  • 重启网络服务
    sudo systemctl restart network
9.2 配置动态IP(DHCP)

DHCP适用于客户端设备,自动获取IP地点。

  • 编辑网络配置文件
    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • 示例配置
    TYPE=Ethernet BOOTPROTO=dhcp NAME=eth0 DEVICE=eth0 ONBOOT=yes
  • 重启网络服务
    sudo systemctl restart network
9.3 网络服务管理



  • 查看网络状态
    ip a
  • 查看路由表
    ip route
  • 测试网络连通性
    ping -c 4 google.com
防火墙与安全

保障体系安全,防止未经授权的访问是维护服务器的紧张任务。
10.1 配置Firewalld

Firewalld是CentOS默认的防火墙管理工具,提供动态防火墙配置。


  • 启动Firewalld
    sudo systemctl start firewalld sudo systemctl enable firewalld
  • 查看当前防火墙状态
    sudo firewall-cmd --state
  • 允许特定服务通过防火墙(以SSH为例):
    sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
  • 开放特定端口
    sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload
  • 移除服务或端口
    sudo firewall-cmd --permanent --remove-service=ftp sudo firewall-cmd --permanent --remove-port=8080/tcp sudo firewall-cmd --reload
10.2 安装与配置SELinux

SELinux(Security-Enhanced Linux)提供了欺压访问控制机制,增强体系安全性。


  • 查看SELinux状态
    sestatus
  • 修改SELinux模式(编辑/etc/selinux/config):
    sudo vi /etc/selinux/config
    示例配置
    SELINUX=enforcing SELINUXTYPE=targeted
  • 临时更改SELinux模式
    sudo setenforce 0 # 关闭 sudo setenforce 1 # 开启
注意:在更改SELinux配置前,建议了解其工作机制,以制止影响体系功能。
10.3 SSH安全配置

SSH是远程访问体系的紧张工具,合理配置可以提拔安全性。


  • 编辑SSH配置文件
    sudo vi /etc/ssh/sshd_config
    推荐配置
    PermitRootLogin no PasswordAuthentication no Port 2222
  • 重启SSH服务
    sudo systemctl restart sshd
  • 使用密钥认证

    • 天生SSH密钥对(在客户端):
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    • 将公钥复制到服务器
      ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip

注意:修改SSH端口(如2222)可以减少被扫描的风险,但需确保防火墙已开放新端口。
服务管理

在CentOS中,服务管理紧张通过Systemd完成,它代替了旧的SysVinit体系,提供了更强大的服务管理功能。
11.1 Systemd简介

Systemd是Linux体系中的初始化体系和服务管理器,负责启动和管理体系进程和服务。
11.2 常用Systemd命令

命令分析sudo systemctl start service启动指定服务sudo systemctl stop service制止指定服务sudo systemctl restart service重启指定服务sudo systemctl enable service设置服务开机自启sudo systemctl disable service取消服务开机自启sudo systemctl status service查看服务状态sudo systemctl list-units --type=service列出所有正在运行的服务 示例
启动Nginx服务:
sudo systemctl start nginx
设置Nginx开机自启:
sudo systemctl enable nginx
11.3 配置开机自启服务

通过enable命令,可以将服务设置为开机自启。比方,配置MariaDB数据库开机自启:
sudo systemctl enable mariadb
日记管理

日记是体系管理和故障清除的紧张资源,了解如何查看和管理日记有助于维护体系健康。
12.1 日记文件位置

CentOS的日记文件通常存放在/var/log目录下,常见的日记文件包罗:


  • /var/log/messages:体系消息日记
  • /var/log/secure:安全相干日记,如SSH登录记录
  • /var/log/boot.log:启动过程日记
  • /var/log/dmesg:内核环行缓冲区日记
  • /var/log/httpd/:Apache HTTP服务器日记
12.2 使用Journalctl查看日记

Systemd引入了journalctl工具,用于查看和管理日记。


  • 查看所有日记
    sudo journalctl
  • 查看实时日记
    sudo journalctl -f
  • 查看特定服务的日记
    sudo journalctl -u nginx
  • 查看特定时间范围的日记
    sudo journalctl --since "2024-04-01" --until "2024-04-30"
12.3 日记轮转与清算

为了防止日记文件过大,体系会定期举行日记轮转。用户也可以手动管理日记文件。


  • 手动轮转日记
    sudo logrotate /etc/logrotate.conf
  • 清算昔日记
    sudo journalctl --vacuum-time=2weeks
    该命令将删除两周前的日记。
软件安装与编译

除了使用YUM安装软件外,有时需要从源代码编译安装软件,或者使用RPM包举行安装。
13.1 从源代码编译

编译源代码适用于需要特定配置或最新版本的软件。

  • 安装开发工具
    sudo yum groupinstall "Development Tools" -y
  • 下载源代码
    wget https://example.com/software.tar.gz tar -xzvf software.tar.gz cd software
  • 编译与安装
    ./configure make sudo make install
注意:编译安装的软件通常不会自动更新,需要手动管理。
13.2 使用RPM包安装

RPM(Red Hat Package Manager)是CentOS的软件包格式,可以通过YUM或手动安装。


  • 通过YUM安装RPM包
    sudo yum install package.rpm
  • 手动安装RPM包
    sudo rpm -ivh package.rpm
  • 升级RPM包
    sudo rpm -Uvh package.rpm
  • 删除RPM包
    sudo rpm -e package_name
注意:建议优先使用YUM举行RPM包管理,以自动解决依靠关系。
常用命令行工具

熟练把握命令行工具是高效管理CentOS体系的关键。
14.1 文件与目录操作

命令分析ls列出目录内容cd切换当前工作目录pwd表现当前工作目录路径cp复制文件或目录mv移动或重命名文件或目录rm删除文件或目录(-r递归删除,-f欺压删除)mkdir创建新目录rmdir删除空目录find查找文件或目录tar压缩与解压文件chmod修改文件或目录权限chown修改文件或目录所有者及所属组 示例
复制文件:
cp /path/to/source /path/to/destination
移动并重命名文件:
mv oldname.txt newname.txt
删除目录及其内容:
rm -rf /path/to/directory
14.2 文本处理工具

命令分析cat表现文件内容less分页查看文件内容head查看文件开头部分tail查看文件结尾部分,-f选项用于实时查看日记grep搜索文件内容,支持正则表达式awk文本处理与陈诉天生工具sed流编辑器,用于文本更换与处理cut按列提取文件内容sort对文件内容排序uniq去除重复行wc统计文件的行数、字数和字节数 示例
搜索文件中的关键词:
grep "error" /var/log/messages
查看日记文件的末了10行并实时更新:
tail -f /var/log/secure
使用awk提取特定列:
awk '{print $1, $3}' /etc/passwd
14.3 体系监控工具

命令分析top实时表现体系进程和资源使用环境htoptop的增强版,提供更友好的用户界面ps表现当前运行的进程df表现文件体系的磁盘空间使用环境du表现目录或文件的磁盘空间使用环境free表现内存使用环境vmstat陈诉虚拟内存统计信息iostat表现CPU和I/O设备的使用统计netstat表现网络连接、路由表和接口统计信息ss更快速的网络套接字统计工具,替代netstatuptime表现体系运行时间及负载平均值 示例
查看体系当前的CPU和内存使用环境:
top
查看磁盘空间使用环境:
df -h
查看网络连接:
ss -tuln
总结

本文具体介绍了CentOS入门所需的基础知识,从体系的概述、汗青与版本,到安装、初始配置、包管理、用户与权限管理、文件体系、网络配置、防火墙与安全、服务管理、日记管理、软件安装与编译以及常用命令行工具。通过把握这些基础知识,初学者可以有效地安装、配置和管理CentOS体系,为进一步深入学习和应用打下坚实的基础。
进一步学习建议

  • 深入学习Systemd:了解更高级的服务管理和配置。
  • 探索SELinux策略:学习如何编写和管理SELinux策略,进步体系安全性。
  • 自动化管理工具:学习使用Ansible、Puppet等工具举行自动化运维。
  • 虚拟化与容器化:把握KVM、Docker等技术,提拔体系部署和管理能力。
  • 参与社区:加入CentOS社区,参与讨论和贡献,获取最新资讯和支持。
通过持续学习和实践,您将可以或许更加熟练地运用CentOS,满意各种企业和开发需求。
参考资料



  • CentOS 官方网站
  • CentOS Wiki
  • YUM 手册
版权声明

本文由ChatGPT撰写,基于开放AI技术天生,内容仅供参考。请根据现实需求举行调整和应用。
结束语

把握CentOS的基础知识是成为一名合格的体系管理员或开发者的紧张一步。希望本篇文章可以或许资助您快速上手,并在未来的学习和工作中取得更大的进步。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莱莱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表