您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

如何快速上手CentOS8

时间:2019-09-28 17:03:05  来源:  作者:

作者 | 左国才

出品 | 脚本之家(ID:jb51net)

如有好文章投稿,请点击 → 这里了解详情

centos8 9月底发布,引入了不少新的功能和操作习惯,我们如果快速上手呢?首先我们从三个疑问说起三个疑问:

1.Minimal 版本 哪去了?我们下载 CentOS7 是区分 Minimal, Everything的。Minimal 只有792M ,非常便于快速传输和安装。而CentOS8-1905 Minimal, Everything 合并为一个ISO文件,共6.64G, 比原来变胖了。具体可以参考https://wiki.centos.org/Download,CentOS-8-Stream 则更大,7.98G,包含的东西更多。不过安装时也不用担心整个安装过程变长,在安装过程中在SOFTWARE SELECTION 中可以选择 Minimal Install ,如图1。

2. network.service 不能用了,如果配置网络?NetworkManager 胜出,取代了network.service 。以后就没有机会执行 systemtl stop network 了。NetworkManager有自己的CLI工具:nmcli,可以手动配置网络,也可以把参数添加到配置文件,跟之前一样,直接启动服务。

3. tailf 哪去了?tailf 来源于util-linux包,我们从util-linux作者源码的发行说明中Documentation/releases/v2.30-ReleaseNotes 找到了如下说明 The deprecated command tailf has been removed. Use "tail -f" from coreutils. 也就是说从2.30 移除了tailf,以后只能使用tail -f 命令。

CentOS7和CentOS8 包版本对比

系统版本 util-linux版本
CentOS7 util-linux-2.23.2
CentOS8 util-linux-2.32.1
具体可以参考:https://github.com/karelzak/util-linux/ 查看内核

对内核版本敏感的应用终于可以使用上4.x 的内核了。

  1. uname -r
  2. 4.18.0-80.el8.x86_64
配置网络地址
  1. vi /etc/sysconfig/network-s/ifcfg-ens3
  2. TYPE=Ethernet
  3. PROXY_METHOD=none
  4. BROWSER_ONLY=no
  5. BOOTPROTO=static
  6. IPADDR=10.10.10.100
  7. NETMASK=255.255.255.0
  8. GATEWAY=10.10.10.1
  9. DNS1=10.10.10.2
  10. DEFROUTE=yes
  11. IPV4_FAILURE_FATAL=no
  12. IPV6INIT=yes
  13. IPV6_AUTOCONF=yes
  14. IPV6_DEFROUTE=yes
  15. IPV6_FAILURE_FATAL=no
  16. IPV6_ADDR_GEN_MODE=stable-privacy
  17. NAME=ens3
  18. UUID=ad5cf4a5-7881-4533-82fd-b8a0350a7859
  19. DEVICE=ens3
  20. ONBOOT=yes
  21.  
  22.  
  23. systemctl start NetworkManager
  24.  
  25. 查看
  26. nmcli c
  27.  
  28. ip a s
配置yum /dnf 源

dnf 是从fedora中 移植过来的,与yum 操作习惯很类似,也支持只下载不安装的功能,只需要在参数中指定 --downloadonly,依然支持epeldnf install epel-release,AppStream 是对传统 rpm 格式的全新扩展,为一个组件同时提供多个主要版本,比如Python2和python3,JAVA-1.8.0和java-11,配置国内yum源进行加速

vi /etc/yum.repos.d/CentOS-Base.repo

  1. [BaseoS]
  2. name=CentOS-$releasever - Base
  3. baseurl=https://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/
  4. gpgcheck=1
  5. enabled=1
  6. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

vi /etc/yum.repos.d/CentOS-APPStream.repo

  1. [AppStream]
  2. name=CentOS-$releasever - AppStream
  3. baseurl=https://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/
  4. gpgcheck=1
  5. enabled=1
  6. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficia

vi /etc/yum.repos.d/CentOS-Extras.repo

  1. [extras]
  2. name=CentOS-$releasever - Extras
  3. baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os/
  4. gpgcheck=1
  5. enabled=1
  6. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
关闭selinux firewlld
  1. setenforce 0
  2. systemctl stop firewalld
安装命令行补全插件
  1. yum install bash-completion
  2. source /etc/profile
安装web console
  1. dnf install cockpit
  2. systemctl start cockpit
  3. ss -tan|grep 9090
  4.  
  5. 浏览器访问
  6. https://10.10.10.100:9090/
常用软件包安装

对开发者更好的工具支持,php,golang,maven,nodejs 等耳熟能详的开发工具链 终于可以用原生yum源安装了,不再需要通过第三方yum源,即使像rust,cargo 都很好的支持了。

  1. dnf install nodejs
  2. dnf install python2
  3. dnf install python3
  4. dnf install golang
  5. dnf install php
  6. dnf install ruby
  7. dnf install perl
  8. dnf install java-1.8.0
  9. dnf install java-11
  10. dnf install maven
  11. dnf install scala
  12. dnf install cargo
  13. dnf install rust
  14. dnf install clang
  15. dnf install freeradius
  16. dnf install dpdk
  17. dnf install Docker
  18. dnf install MySQL-server
  19. dnf install podman

这里我们注意到没有pip 这个命令,CentOS8 都是严格区分pip2 和pip3,分别对应包python2-pip和python3-pip

golang 默认安装 ,GOPATH在/root/go下,没有配置go proxy 和也没有开启go module 功能,需要自行配置。

  1. [root@pangu ~]# go version
  2. go version go1.11.5 linux/amd64
  3.  
  4. vi /etc/profile
  5.  
  6. export GO111MODULE=on
  7. export GOPROXY=https://goproxy.cn
  8.  
  9. source /etc/profile
  10.  
  11. go env

mysql8.0 命令行进入是不需要密码的, 从 mysql 官方安装的话,随机密码会记录到日志,首次登陆也是需要密码的,红帽很贴心,告别首次配置输密码的问题。

  1. systemctl start mysqld
  2.  
  3. [root@pangu ~]# mysql
  4. Welcome to the MySQL monitor. Commands end with ; or g.
  5. Your MySQL connection id is 9
  6. Server version: 8.0.13 Source distribution
  7.  
  8. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  9.  
  10. Oracle is a registered trademark of Oracle Corporation and/or its
  11. affiliates. Other names may be trademarks of their respective
  12. owners.
  13.  
  14. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
  15.  
  16. mysql>

php默认是7.2.11版本,加密库 默认使用了libsodium ,如何找到以前的php-mcrypt

  1. dnf install php-pear php-devel make
  2.  
  3. pecl install mcrypt
  4.  
  5.  
  6. vi /etc/php.ini
  7. extension=mcrypt.so
  8.  
  9. php -m |grep mcrypt
魔性的cockpit

cockpit是一个开源项目,不仅仅CenOS8 可以使用。ubuntu 和CentOS7 也是可以使用的。具体可以参考https://cockpit-project.org/,CentOS 8 把 cockpit 从扩展yum源 移动到基础yum 源里了,可见对cockpit的期望很高。

那cockpit可以做什么呢

1). 支持web终端,在web中关闭防火墙,selinux, 如图2

2). 支持虚拟机管理,需要安装cockpit-machines 如图3

3). 支持docker管理,需要安装cockpit-docker

4). 支持k8s dashboard管理,需要安装 cockpit-kubernetes

5). 支持web界面配置网卡bond,如图4

等等

cockpit 安装

  1. dnf install cockpit
  2. dnf install cockpit-machines
  3. systemctl enable --now cockpit.socket

cockpit-docker 在CentOS8 中不支持了

Redhat7.6 引入了Podman。Podman通过提供与Docker命令行类似的功能。我们对比发现 CentOS8 中 cockpit-docker 不见了。可能Redhat 更推荐用自家的podman。CentOS7 和 CentOS8 cockpit 相关软件包对比如下:

  • CentOS7
  1. [root@pangu]# yum list |grep cockpit
  2. cockpit.x86_64 195.1-1.el7.centos.0.1 @extras
  3. cockpit-bridge.x86_64 195.1-1.el7.centos.0.1 @extras
  4. cockpit-kubernetes.x86_64 195.1-1.el7.centos.0.1 @extras
  5. cockpit-machines.noarch 195.1-1.el7.centos.0.1 @extras
  6. cockpit-system.noarch 195.1-1.el7.centos.0.1 @extras
  7. cockpit-ws.x86_64 195.1-1.el7.centos.0.1 @extras
  8. cockpit-composer.noarch 1-1.el7 extras
  9. cockpit-dashboard.x86_64 195.1-1.el7.centos.0.1 extras
  10. cockpit-doc.x86_64 195.1-1.el7.centos.0.1 extras
  11. cockpit-docker.x86_64 195.1-1.el7.centos.0.1 extras
  12. cockpit-machines.x86_64 176-4.el7.centos extras
  13. cockpit-machines-ovirt.noarch 195.1-1.el7.centos.0.1 extras
  14. cockpit-packagekit.x86_64 176-4.el7.centos extras
  15. cockpit-packagekit.noarch 195.1-1.el7.centos.0.1 extras
  16. cockpit-pcp.x86_64 195.1-1.el7.centos.0.1 extras
  17. cockpit-storaged.noarch 195.1-1.el7.centos.0.1 extras
  18. cockpit-subions.noarch 160-1.el7.centos extras
  19. cockpit-tests.x86_64 195.1-1.el7.centos.0.1 extras
  20. cockpit-ws.i686 195.1-1.el7.centos base
  21. subion-manager-cockpit.noarch 1.24.13-3.el7.centos updates
  • CentOS8
  1. [root@pangu ~]# dnf list |grep cockpit
  2. cockpit.x86_64 185.1-1.el8_0 @BaseOS
  3. cockpit-bridge.x86_64 185.1-1.el8_0 @BaseOS
  4. cockpit-packagekit.noarch 184.1-1.el8 @AppStream
  5. cockpit-system.noarch 185.1-1.el8_0 @BaseOS
  6. cockpit-ws.x86_64 185.1-1.el8_0 @BaseOS
  7. cockpit.i686 185.1-1.el8_0 BaseOS
  8. cockpit-bridge.i686 185.1-1.el8_0 BaseOS
  9. cockpit-composer.noarch 0.1.8-1.el8 AppStream
  10. cockpit-dashboard.noarch 184.1-1.el8 AppStream
  11. cockpit-doc.noarch 185.1-1.el8_0 BaseOS
  12. cockpit-machines.noarch 184.1-1.el8 AppStream
  13. cockpit-pcp.x86_64 184.1-1.el8 AppStream
  14. cockpit-session-recording.noarch 1-29.el8 AppStream
  15. cockpit-storaged.noarch 184.1-1.el8 AppStream
  16. cockpit-ws.i686 185.1-1.el8_0 BaseOS
  17. subion-manager-cockpit.noarch 1.23.8-35.el8 BaseOS
firewalld 守护使用 nftables 作为默认后端

nftables 框架替换了 iptables 默认网络数据包过滤工具,可以通过nft 命令可编程式的配置防火墙。

查看规则

  1. [root@pangu ~]# nft list table filter
  2. table ip filter {
  3. set blackhole {
  4. type ipv4_addr
  5. }
  6.  
  7. chain INPUT {
  8. type filter hook input priority 0; policy accept;
  9. }
  10.  
  11. chain FORWARD {
  12. type filter hook forward priority 0; policy accept;
  13. }
  14.  
  15. chain OUTPUT {
  16. type filter hook output priority 0; policy accept;
  17. }
  18. }

nft -i 打开交互配置模式,具体用法可以参考nftables官方文档 https://wiki.nftables.org/wiki-nftables/index.php/Simplerulemanagement

本文作者:左国才,VIPKID运维工程师,笔名icai,主要研究开源Linux操作系统,数据库,云计算领域相关技术,平时喜欢阅读脚本之家公众号。



Tags:CentOS8   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
# 环境说明:1、主机IPnfs server端主机:cjzm(nfs1) 192.168.123.165nfs client端主机:asan(nfs2) 192.168.123.231[root@asan ~]# ip a #查看主机IP 2、系统:CentOS Linux release 8...【详细内容】
2021-07-19  Tags: CentOS8  点击:(188)  评论:(0)  加入收藏
1、建立Vsftpd虚拟宿主用户useradd vftp -M -s /sbin/nologin -d /var/ftp/2、创建虚拟用户的文件[root@localhost vsftpd]# cat /etc/vsftpd/virtusers test test1234563、...【详细内容】
2020-08-05  Tags: CentOS8  点击:(234)  评论:(0)  加入收藏
subversion可以结合apache httpd提供服务,这样子就可以通过http提供服务。 安装yum -y install subversion httpd mod_dav_svn 配置文件安装完以后,可以在/etc/httpd/conf.mod...【详细内容】
2019-11-22  Tags: CentOS8  点击:(184)  评论:(0)  加入收藏
简介在CentOS 8采用firewalld管理netfilter子系统,默认情况,firewall的后端是nftables,而非iptables,底层调用的是nft命令,而非iptables命令。不同的防火墙软件相互间存在冲突,使...【详细内容】
2019-11-21  Tags: CentOS8  点击:(463)  评论:(0)  加入收藏
在CentOS8上已经完全使用了NetworkManager管理网络,已经没有network.service文件了。但是配置文件还是存放到/etc/sysconfig/network-scripts这个目录。这里面的配置文件可以...【详细内容】
2019-11-06  Tags: CentOS8  点击:(314)  评论:(0)  加入收藏
MariaDB本文系统环境:CentOS8_1905本文软件环境:MariaDB 10.3.18MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL...【详细内容】
2019-10-30  Tags: CentOS8  点击:(720)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(40)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条