安装或设置
有关获得 CentOS 7 安装和基本设置的详细说明。
- 下载最新的 CentOS .ISO - https://www.centos.org/download/
- 使用上述链接或使用官方 CentOS 下载页面下载最新版本的 CentOS 后。使用名为 Unetbootin 的 LiveUSB Creator 将其刻录到 DVD 或创建可启动的 USB 记忆棒。
- 创建安装程序可启动媒体后,将 DVD / USB 放入系统相应的驱动器,启动计算机,选择可启动单元,然后应出现第一个 CentOS 7 提示符。在提示符处选择 Install CentOS 7 并按[Enter]键。
- 系统将开始加载媒体安装程序,并显示欢迎屏幕。选择安装过程语言,它将帮助你完成整个安装过程,然后单击继续。
- 下一步,当前屏幕提示是安装摘要。它包含许多完全自定义系统的选项。你可能想要设置的第一件事是你的时间设置。单击日期和时间并从提供的地图中选择你的服务器物理位置,然后点击上方完成按钮以应用配置。
- 下一步是选择语言支持和键盘设置。选择系统的主要语言和额外语言,并在完成完成按钮时选择。
- 以同样的方式通过点击加号按钮选择键盘布局,并使用正确的输入字段测试键盘配置。设置完键盘后,可以使用任意组合键在键盘之间切换,在我的例子中,我使用的是 Alt + Ctrl。选择所需的组合键后,再次按完成以应用更改并返回安装摘要中的主屏幕。
- 现在,如果你不想使用英语,我们可以添加 LANGUAGE SUPPORT。单击
LANGUAGE SUPPORT
打开对话框。
- 默认情况下,CentOS 预装了英语,但我们可以轻松添加更多语言。就我而言,我将 Deutsch German 与
Deutsch(Deutschland)
作为附加语言。选择后按完成。
- 在下一步中,你可以使用除本地 DVD / USB 介质之外的其他安装源来自定义安装,例如使用 HTTP,HTTPS,FTP 或 NFS 协议的网络位置,甚至添加一些其他存储库,但仅在你使用此方法时才使用此方法知道你在做什么。因此,请保留默认的自动检测安装媒体,然后点击完成继续。
-
在下一步中,你可以选择系统安装软件。在这一步骤中,CentOS 提供了许多你可以选择的服务器和桌面平台环境,但是,如果你想要高度自定义,特别是如果你要使用 CentOS 7 作为服务器平台运行,那么我建议你选择使用兼容性库作为附加组件进行最小安装,这将安装最小的基本系统软件,稍后你可以根据需要添加其他软件包:
[ yum groupinstall `Name of installed package` ] command.
- 现在是时候分区你的硬盘了。单击安装目标菜单,选择你的磁盘,然后选择我将配置分区。阅读更多关于在此选择的分区: https : //www.centos.org/docs/5/html/Installation_Guide-en-US/s1-diskpartitioning-x86.html
- 在下一个屏幕上,选择 LVM(逻辑卷管理器)作为分区布局,然后单击单击此处自动创建它们,选项将使用 XFS 文件系统创建三个系统分区,自动重新分配你的硬盘空间并收集所有 LVS 成为一个名为
centos
的大集团。
- / boot - 非 LVM
- /(root) - LVM
- 交换 - LVM
- 如果你对安装程序自动完成的默认分区布局不满意,则可以完全添加,修改或调整分区方案,并在完成完成按钮并在更改摘要提示上接受更改时完成。
注意:对于那些硬盘大小超过 2TB 的用户,安装程序会自动将分区表转换为 GPT,但如果你希望在小于 2TB 的磁盘上使用 GPT 表,则应使用参数 inst.gpt 安装程序引导命令行以更改默认行为。
- 下一步是设置系统主机名并启用网络。单击网络和主机名标签,在主机名字段上键入你的系统 FQDN(完全限定域名),然后启用你的网络接口,将顶部以太网按钮切换为开。如果你的网络上有一个功能强大的 DHCP 服务器,那么它将自动配置已启用 NIC 的所有网络设置,该设置应显示在你的活动接口下。
- 如果你的系统将作为服务器运行,最好通过单击配置按钮在以太网 NIC 上设置静态网络配置,并添加所有静态界面设置,如下面的屏幕截图所示,当你点击保存按钮时,禁用和通过将按钮切换为 OFF 和 ON 来启用以太网卡,然后点击 Done to apply 设置并返回主菜单。
- 根据你的静态 IP 环境添加地址,网络掩码和网关条目。在我的情况下,我使用地址为 192.168.1.100,网络掩码 255.255.255.0,网关为 192.168.1.1,DNS 服务器为 8.8.8.8 8.8.4.4 这些值可能会根据你的网络环境而有所不同。之后按保存。
重要提示:如果你没有 IPv6 互联网连接,请在 IPv6 选项卡上将 IPv6 从 auto 设置为忽略,否则你将无法通过 IPv4 从此服务器访问互联网,因为 CentOS 似乎忽略了正确的 IPv4 设置而使用 IPv6 代替失败。
- 接下来,我们必须打开连接,如下面的屏幕截图所示。再按完成。
- 现在是时候通过按下 Begin Installation 按钮开始安装过程并为 root 帐户设置一个强密码。
- 安装过程将立即开始,你将在下一个窗口中看到一个小的蓝色进度条。现在我们必须设置 ROOT PASSWORD 并在 USER CREATION 选项中添加一个新的非 root 用户。我会先找 root 密码。
- 输入你选择的安全密码,然后按完成
- 接下来我们将进行用户创建。
- 接下来我将创建用户,在我的情况下,我使用全名管理员和用户名管理员,选中要求密码使用此帐户,然后按完成。当然,你可以根据自己的选择使用任何值。
- 按 Finish.Have 耐心等待设置完成。
- 完成安装后,它将要求重新启动服务器,只需按完成配置即可。
- 服务器重新启动并在之后请求你的用户名和密码。
恭喜! 你现在已经在裸机上安装了最新版本的 CentOS。删除所有安装介质并重新启动计算机,以便你可以登录到新的最小 CentOS 7 环境并执行其他系统任务,例如更新系统并安装运行日常任务所需的其他有用软件。
- 现在我们已准备好使用上面创建的用户登录,或者我们可以使用 root 凭据。
首次登录 CentOS
以 root 用户身份登录到服务器,以便我们可以执行一些最终安装步骤。
第一个是用 yum 安装所有可用的更新。
yum update
用 y
确认继续安装更新。
我将安装两个命令行编辑器,以便能够在 shell 上编辑配置文件:
yum install nano vim
网络配置
CentOS 7.2 minimal 没有预先安装 ifconfig 命令我们将按如下方式安装它:
yum install net-tools
如果要更改或查看网络配置文件,只需编辑该文件即可
nano /etc/sysconfig/network-scripts/ifcfg-ens33
配置静态 IP 地址时会如下所示:
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens33"
UUID="eb1ba0ce-af9f-4953-a6a7-3d05a15c8d4f"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.1.100"
PREFIX="24"
GATEWAY="192.168.1.1"
DNS1="192.168.1.1"
DNS2="8.8.8.8"
DNS3="8.8.4.4"
Or like this when you use DHCP:
TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens33"
UUID="eb1ba0ce-af9f-4953-a6a7-3d05a15c8d4f"
DEVICE="ens33"
ONBOOT="yes"
HWADDR="00:50:56:15:23:79"
PEERDNS="yes"
PEERROUTES="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_PRIVACY="no"
如果需要,更改值。
注意:上面的 DEVICE 名称可能会有所不同,请检查/ etc / sysconfig / network-scripts 目录中的等效文件。
调整/ etc / hosts
调整文件/ etc / hosts,如下所示:
nano /etc/hosts
制作如下值:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.100 server1.example.com server1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
恭喜! 现在我们有基本的最小 CentOS 7 服务器设置
现在你可能更喜欢使用 GUI,这里有各种各样的风格,你可以选择:
安装 GNOME-Desktop:
输入以安装 GNOME 桌面环境。
# yum -y groups install "GNOME Desktop"
要在完成安装后启动 GUI:
# startx
如何使用 GNOME Shell?
CentOS 7 的默认 GNOME 桌面以经典模式开始,但如果你想使用 GNOME Shell,请设置如下:
选项 A:如果使用 startx 启动 GNOME,请设置如下。
# echo "exec gnome-session" >> ~/.xinitrc
# startx
选项 B:设置系统图形登录 systemctl set-default graphical.target 并重启系统。系统启动后
- 单击登录按钮旁边的按钮。
- 在列表中选择
GNOME
。 (默认为 GNOME Classic) - 单击登录并使用 GNOME Shell 登录。
GNOME shell 的开头如下:
安装 KDE-Desktop:
输入,安装 KDE 桌面环境
# yum -y groups install "KDE Plasma Workspaces"
完成安装后输入如下命令:
# echo "exec startkde" >> ~/.xinitrc
# startx
KDE 桌面环境如下所示:
安装 MATE 桌面环境:
输入以安装 MATE 桌面环境。
# yum --enablerepo=epel -y groups install "MATE Desktop"
完成安装后输入如下命令:
# echo "exec /usr/bin/mate-session" >> ~/.xinitrc
# startx
MATE 桌面环境启动。
安装 Xfce 桌面环境:
输入以安装 Xfce Desktop Environment。
# yum --enablerepo=epel -y groups install "Xfce"
完成安装后输入如下命令:
# echo "exec /usr/bin/xfce4-session" >> ~/.xinitrc
# startx
Xfce 桌面环境启动。
其他方式:
而不是将 startx 命令的黑客攻击到 .xinitrc 文件中,最好告诉 Systemd 你要引导到终端的图形 GUI。
要完成此任务,只需执行以下操作:
$ sudo yum groupinstall "GNOME Desktop"
$ ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
然后只需重启。
最后一位将运行级别 5 目标与 Systemd 的默认值相关联。
用 Systemd 做
你也可以使用 Systemd 来完成此任务。这可以说是更好的方法,因为你直接通过 Systemd 及其 CLI 管理系统状态。
你可以看到当前的默认目标:
$ sudo systemctl get-default
multi-user.target
然后将其更改为图形:
$ sudo systemctl set-default
graphical.target
目标
在 Systemd 中,目标 runlevel5.target 和 graphical.target 是相同的。runlevel2.target 和 multi-user.target 也是如此。
Runlevel Target Units Description
0 runlevel0.target, poweroff.target Shut down and power off the system.
1 runlevel1.target, rescue.target Set up a rescue shell.
2 runlevel2.target, multi-user.target Set up a non-graphical multi-user system.
3 runlevel3.target, multi-user.target Set up a non-graphical multi-user system.
4 runlevel4.target, multi-user.target Set up a non-graphical multi-user system.
5 runlevel5.target, graphical.target Set up a graphical multi-user system.
6 runlevel6.target, reboot.target Shut down and reboot the system.
RHEL / CentOS Linux 安装核心开发工具 Automake,Gcc(C / C++),Perl,Python 和调试器
问:在 shell 提示符下安装 CentOS 或 RHEL 或 Fedora Linux 之后,如何安装所有开发人员工具,如 GNU GCC C / C++编译器,make 等?
你需要在 RHEL / CentOS / Fedora / Scientific / Red Hat Enterprise Linux 上安装开发工具组。这些工具包括核心开发工具,如 automake,gcc,perl,python 和调试器,它们是编译软件和构建新 rpms 所必需的:
- 柔性
- gcc c / c ++编译器
- 红帽 -RPM-配置
- strace 的
- rpm-build 程序
- 使
- pkgconfig
- gettext 的
- automake 的
- strace64
- GDB
- 野牛
- libtool 的
- autoconf 的
- gcc-c ++编译器
- binutils 和所有依赖项。
安装:
打开终端或通过 ssh 会话登录并以 root 用户身份键入以下命令:
# yum groupinstall 'Development Tools'
以下示例输出:
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
* base: mirror.steadfast.net
* updates: dist1.800hosting.com
* addons: centos.mirrors.tds.net
* extras: dist1.800hosting.com
Setting up Group Process
Loading mirror speeds from cached hostfile
* base: mirror.steadfast.net
* updates: dist1.800hosting.com
* addons: centos.mirrors.tds.net
* extras: dist1.800hosting.com
Package make - 1:3.81-3.el5.i386 already installed and latest version
Package gettext - 0.14.6-4.el5.i386 already installed and latest version
Package binutils - 2.17.50.0.6-6.el5.i386 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package automake.noarch 0:1.9.6-2.1 set to be updated
---> Package frysk.i686 0:0.0.1.2008.03.19.rh1-1.el5 set to be updated
--> Processing Dependency: libgcj.so.7rh for package: frysk
--> Processing Dependency: glib-java >= 0.2.6 for package: frysk
---> Package autoconf.noarch 0:2.59-12 set to be updated
--> Processing Dependency: imake for package: autoconf
---> Package rcs.i386 0:5.7-30.1 set to be updated
---> Package strace.i386 0:4.5.16-1.el5.1 set to be updated
---> Package redhat-rpm-config.noarch 0:8.0.45-24.el5 set to be updated
---> Package elfutils.i386 0:0.125-3.el5 set to be updated
--> Processing Dependency: libdw.so.1 for package: elfutils
...........
....
..
Transaction Summary
=============================================================================
Install 105 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 127 M
Is this ok [y/N]: y
Downloading Packages:
(1/105): python-numeric-2 100% |=========================| 751 kB 00:12
(2/105): xorg-x11-fonts-b 100% |=========================| 3.7 MB 01:03
(3/105): pfmon-3.2-0.0609 100% |=========================| 656 kB 00:10
(4/105): automake14-1.4p6 100% |=========================| 205 kB 00:03
(5/105): libtool-1.5.22-6 100% |=========================| 680 kB 00:11
(6/105): systemtap-0.6.2- 100% |=========================| 1.3 MB
现在,你可以编译和使用系统上的任何应用程序。
验证
要显示 Gnu gcc / c / c ++编译器版本类型:
$ gcc --version
样本输出:
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
如何在 Fedora / RHEL / CentOS Linux 服务器中列出所有当前运行的服务?
在 Fedora / RHEL / CentOS Linux 系统下,有各种方法和工具可以查找和列出所有正在运行的服务。
service command – list running services
CentOS / RHEL 6.x 及更早版本(pre systemd)的语法如下:
service --status-all
service --status-all | more
service --status-all | grep ntpd
service --status-all | less
打印任何服务的状态。要打印 apache(httpd)
服务的状态:
service httpd status
列出所有已知服务(通过 SysV 配置)
chkconfig --list
列出服务及其开放端口
netstat -tulpn
打开/关闭服务
ntsysv
chkconfig service off
chkconfig service on
chkconfig httpd off
chkconfig ntpd on
ntsysv 是一个用于配置运行级别服务的简单接口,也可以通过 chkconfig 进行配置。默认情况下,它配置当前运行级别。只需键入 ntsysv 并选择要运行的服务即可。
关于 RHEL / CentOS 7.x 与 systemd 的说明
如果你使用的是基于 systemd 的发行版,例如 Fedora Linux v22 / 23/24 或 RHEL / CentOS Linux 7.x +。尝试使用以下命令使用 systemctl 命令列出正在运行的服务。它控制 systemd 系统和服务管理器。
在 CentOS / RHEL 7.x +上列出系统服务
语法是:
systemctl
systemctl | more
systemctl | grep httpd
systemctl list-units --type service
systemctl list-units --type mount
列出所有服务:
systemctl list-unit-files
样本输出:
上图显示了基于 CentOS / RHEL 7 systemd 系统安装的所有单元及其当前状态
要查看与特定服务(cgroup)关联的进程,可以使用 systemd-cgtop 命令。与 top 命令一样,systemd-cgtop 根据其服务列出正在运行的进程:
systemd-cgtop
样本输出:
仅在 CentOS / RHEL 7.x +上列出 SysV 服务(不包括本机系统服务)
chkconfig --list
样本输出:
防火墙如何:
参考