第一部门 安装CentOS
一、CentOS安装
以下以CentOS8为例,讲授安装过程。
1、下载CentOS体系镜像
官网所在
http://isoredirect.centos.org/centos/8/isos/x86_64/
http://mirrors.cqu.edu.cn/CentOS/8.3.2011/isos/x86_64/
阿里云站点下载
http://mirrors.aliyun.com/centos/
http://mirrors.aliyun.com/centos/8/isos/x86_64/
2、安装CentOS体系前准备
A、开启Hyper-V功能服务
依次打开:
控制面板->步调->步调和功能->启用或关闭Windows功能->勾选Hyper-V
B、启动Hyper-V步调
开始菜单搜刮Hyper-V:
C、设置假造机网络
选择“假造机交换机管理器”
- 这里可以使用“Default Switch”或“新建假造网络交换机”;
- 我由于是用WiFi联网的,以是新建了一个“VMWAN”假造网络交换机;
- 选择使用上网的那张网卡就可以了;
D、开始创建假造机
开始新建直接选择“下一页”
起一个假造机名称,选择假造机存储位置,会主动在选择的目次下面创建与所起是假造机名称一样的文件夹;
非Windows体系一样平常选择第一代;
指定假造机的内存巨细,会根据使用环境动态分配;
选择前面准备的假造网络交换机;
设置假造硬盘巨细;
选择前面下载的CentOS体系iso镜像;
完成假造机创建;
3、开始安装CentOS体系
A、毗连到刚才创建的假造机;
B、启动假造机;
C、选择Install CentOS Linux 8;
D、设置体系语言(根据自己个人须要);
E、设置安装的硬盘位置;
这里默认主动分配,点击“完成”就可以了;
F、设置网络和主机名;
这里选择之前的网络交换机,打开网络;
G、设置软件安装源;
这里我们使用阿里云的软件安装源,下面的所在;
mirrors.aliyun.com/centos/8/BaseOS/x86_64/os
H、设置软件选择;
这里我们为了节流硬盘空间,选择最小安装;
I、设置时间日期时区;
这里我们选择亚洲上海市区;
J、开始安装体系;
点击开始安装,趁这个时间可以设置root暗码和创建用户;
K、设置root暗码和创建用户;
略,按要求使用就可以了;
L、等待安装体系完成;
安装完成!
重启假造机,可以看到已经进入CentOS体系了;
输入之前设置的用户名和暗码就可以登录金体系了;
进入体系后大概还存在许多标题,文章第二部门讲授体系的根本设置;
第二部门 设置使用CentOS
一、CentOS 7网络设置(安装后无法联网标题)
征象阐明
在安装CentOS体系后,有大概出现无法联网的标题,假造机中的网络设置并没有标题,而体系却无法联网,也ping不通。
缘故原由形貌
CentOS默认开机不启动网络,因此须要对网络举行设置,开启网络开机启动。
办理方法
1.打开终端,使用ip addr下令检察一下网络信息;
图中圈出的是体系网络名称,我们稍后会用到它,有的体系是ens33,有的是eth0等;
2.切换至root用户,输入下令vi /etc/sysconfig/network-scripts/ifcfg-<体系网络名称>,我的是ens33,以是输入vi /etc/sysconfig/network-scripts/ifcfg-ens33下令;
3.进入vi界面,可以看到,ONBOOT的值是no,我这里已经修改过了,以是是yes;
4.使用vi下令将ONBOOT=no的值改为yes;
5.生存退却出,重启体系(可以reboot下令重启)。重启完成后,可以使用欣赏器打开个网页看看,也可以使用ping下令测试网络连通性;
二、联网后就可以开始更新体系库文件
查抄DNS设置
1.编辑/etc/resolv.conf文件,确保此中包罗有效的DNS服务器,比方Google的公共DNS:
- sudo nano /etc/resolv.conf
- sudo vi /etc/resolv.conf
复制代码 2.添加以下内容:
- nameserver 8.8.8.8
- nameserver 8.8.4.4
复制代码 查抄YUM堆栈设置
国内一样平常使用国内的镜像源,国外的镜像源速率很慢,偶尔间乃至不能用;
1.先备份原来的设置:
sudo cp -a /etc/yum.repos.d /etc/yum.repos.d /etc/yum.repos.d /etc/yum.repos.d.backup
2.我们使用阿里云的镜像源:
sudo nano /etc/yum.repos.d/CentOS-Base.repo
3.将原内容更换为一下内容:
- [base]
- name=CentOS-$releasever - Base - mirrors.aliyun.com
- baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
- [updates]
- name=CentOS-$releasever - Updates - mirrors.aliyun.com
- baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
- [extras]
- name=CentOS-$releasever - Extras - mirrors.aliyun.com
- baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
- [centosplus]
- name=CentOS-$releasever - Plus - mirrors.aliyun.com
- baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
- gpgcheck=1
- enabled=0
- gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
复制代码 4.清算并重修缓存
- sudo yum clean all
- sudo yum makecache
- sudo yum update
复制代码 5.总结
出现Cannot find a valid baseurl for repo:base/7/x86_64错误通常是由于网络毗连标题、DNS设置标题或YUM堆栈设置标题引起的。通过查抄并修复网络毗连、更新DNS设置、修改YUM堆栈设置或使用可靠的镜像源,如阿里云镜像源,可以办理这个标题。盼望本指南可以大概资助你顺遂办理该错误,进步YUM包管理的稳固性和服从。
6.CentOS8可以更轻巧的方法设置源
先直接删除/etc/yum.repos.d目次下全部的设置文件;
然后实行下令从阿里云上下载设置;
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
直接下载到对应目次下即可;
三、CentOS常用下令
其他同Ubuntu的下令在此处略
详情可以检察本人blog的其他类似文章
软件包管理
1.RPM下令使用
rpm下令是RPM软件包的管理工具。rpm原来是Red Hat Linux发行版专门用来管理Linux各项套件的步调,由于它依照GPL规则且功能强大方便,因而广受接待。渐渐受到其他发行版的接纳。RPM套件管理方式的出现,让Linux易于安装,升级,间接提拔了Linux的实用度。
| 下令 | 剖析 | | rpm [OPTIONS] PACHAGE_FILE | 下令格式 | | rpm -ivh your-package | 直接安装 | | rpmrpm --force -ivh your-package.rpm | 忽略报错,欺压安装 | | rpm -ql | 查询出全部安装过的包 | | rpm -q 包名 | 得到某个软件包的全名 | | rpm -ql 包名 | 得到rpm包中文件安装的位置 | | rpm -e 包名 | 卸载 |
2.YUM下令
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基于rpm包管理,可以大概从指定的服务器主动下载rpm包而且安装,可以主动处置惩罚依靠性关系,而且一次安装全部依靠的软件包,无须繁琐地一次次下载、安装。
| 下令 | 剖析 | | yum -y install [package] | 下载并安装一个rpm包 | | yum localinstall [package.rpm] | 安装一个rpm包,使用你自己的软件堆栈办理全部依靠关系 | | yum -y update | 更新当前体系中安装的全部rpm包 | | yum update [package] | 更新一个rpm包 | | yum remove [package] | 删除一个rpm包 | | yum list | 列出当前体系中安装的全部包 | | yum search [package] | 在rpm堆栈中征采软件包 | | yum clean [package] | 扫除缓存目次(/var/cache/yum)下的软件包 | | yum clean headers | 删除全部头文件 | | yum clean all | 删除全部缓存的包和头文件 |
网络相干
| 下令 | 剖析 | | ifconfig eth0 | 表现一个以太网卡的设置 | | ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | 设置网卡的IP所在 | | ifdown eth0 | 禁用 ‘eth0’ 网络装备 | | ifup eth0 | 启用 ‘eth0’ 网络装备 | | iwconfig eth1 | 表现一个无线网卡的设置 | | iwlist scan | 表现无线网络 | | ip addr show | 表现网卡的IP所在 | 1.网络服务
- #查看IP信息
- ip a
- #网络连通性测试
- ping [选项] 目标主机
- #设置网络信息
- vi /etc/sysconfig/network-scripts/ifcfg-ens33
- #重启network网络服务
- service network restart
复制代码
2 防火墙设置
systemctl是CentOS7的服务管理工具中紧张的工具,它融合之前service和chkconfig的功能于一体。
(1)防火墙根本使用
- #查看防火墙状态
- systemctl status firewalld
- systemctl status firewalld.service
- #打开防火墙
- systemctl start firewalld
- systemctl start firewalld.service
- #重启防火墙
- systemctl restart firewalld
- systemctl restart firewalld.service
- #关闭防火墙
- systemctl stop firewalld
- systemctl stop firewalld.service
- #禁止开机启动
- systemctl disable firewalld
- systemctl disable firewalld.service
- #开机启用
- systemctl enable firewalld
- systemctl enable firewalld.service
- #查看服务是否开机启动:
- systemctl is-enabled firewalld.service
- #查看版本:
- firewall-cmd --version
- #查看帮助:
- firewall-cmd --help
- #显示状态:
- firewall-cmd --state
- #查看当前所有规则
- firewall-cmd --list-all
- #查看所有打开的端口:
- firewall-cmd --zone=public --list-ports
- #查看已启动的服务列表:
- systemctl list-unit-files|grep enabled
- #更新防火墙规则:
- firewall-cmd --reload
- #查看区域信息:
- firewall-cmd --get-active-zones
- #查看指定接口所属区域:
- firewall-cmd --get-zone-of-interface=eth0
- #拒绝所有包:
- firewall-cmd --panic-on
- #取消拒绝状态:
- firewall-cmd --panic-off
- #查看是否拒绝:
- firewall-cmd --query-panic
- #查看启动失败的服务列表:
- systemctl --failed
复制代码 (2)开放防火墙端口
- # 查询端口是否开放
- firewall-cmd --query-port=8080/tcp
- # 新建永久规则,开放8080端口(TCP协议),任何ip都可以访问
- firewall-cmd --permanent --add-port=8080/tcp
- # 移除上述规则
- firewall-cmd --permanent --remove-port=8080/tcp
- # 新建永久规则,批量开放一段端口(TCP协议)
- firewall-cmd --permanent --add-port=9001-9100/tcp
- # --permanent写在前后都可以,例如:
- firewall-cmd --add-service=http --permanent
- sudo firewall-cmd --add-port=2888/tcp --permanent
- sudo firewall-cmd --add-port=3888/tcp --permanent
- #–permanent永久生效,没有此参数重启后失效
-
- #添加或者移除规则后重新加载firewall后配置才会生效
- firewall-cmd --reload
- #查看开放端口号
- firewall-cmd --list-all
复制代码 (3)开放防火墙IP(IP段)
- # 新建永久规则,开放192.168.1.1单个源IP的访问
- firewall-cmd --permanent --add-source=192.168.1.1
- # 新建永久规则,开放192.168.1.0/24整个源IP段的访问
- firewall-cmd --permanent --add-source=192.168.1.0/24
- # 移除上述规则
- firewall-cmd --permanent --remove-source=192.168.1.1
复制代码 (4)体系服务开放
- # 开放http服务
- firewall-cmd --permanent --add-service=http
- # 移除上述规则
- firewall-cmd --permanent --remove-service=http
复制代码 (5)自界说复杂规则与移除
(留意是否与已有规则辩论)
- # 允许指定IP访问本机8080端口
- firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
- # 允许指定IP段访问本机8080-8090端口
- firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
- # 禁止指定IP访问本机8080端口
- firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'
-
- #移除第一条规则(所有的移除规则基本都是add改成remove)
- firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
复制代码 (6)设置完成后,须要重新装载firewall。
也可重新启动firewalld服务。
- #添加或者移除规则后重新加载firewall后配置才会生效
- firewall-cmd --reload
- #重启firewalld
- systemctl restart firewalld
- #查看开放端口号
- firewall-cmd --list-all
复制代码 (7)其他使用
- #禁用防火墙服务
- systemctl mask firewalld
-
- #恢复禁用防火墙服务
- systemctl unmask firewalld
-
- # 查看白名单端口列表
- firewall-cmd --zone=public --list-ports
-
- # 作用域
- --zone
-
- # 永久生效,没有此参数重启后失效
- --permanent
-
- #获取本机服务器的公网出口ip
- curl http://myip.fireflysoft.net/
复制代码 (8)关于ssh端口爆破
1.设置防火墙白名单/黑名单
2.关闭网段访问
修改设置文件/etc/hosts.allow
使用如下的格式添加ssh访问权限,用于拒绝靶机举行长途ssh登录,进步ssh登录安全性。
- sshd:192.168.0.158:allow #允许IP地址为192.168.0.158的主机使用ssh连接
- sshd:192.168.0.*:allow #允许IP地址段为:192.168.0.0/24的主机使用ssh连接
- sshd:all:deny #拒绝除允许地址之外的所有主机使用ssh连接
复制代码
3.主机映射文件
- #修改主机名与IP映射关系
- vi /etc/hosts
复制代码
体系相干
| 下令 | 剖析 | | su - | 切换到root权限(与su有区别) | | shutdown -h now | 关机 | | shutdown -r now | 重启 | | top | 摆列使用CPU资源最多的linux使命 (输入q退出) | | tree | 以树状图表现 | | pstree | 以树状图表现步调 | | man ping | 检察参考手册(比方ping 下令) | | passwd | 修改暗码 | | df -h | 表现磁盘的使用环境 | | cal -3 | 表现前一个月,当前月以及下一个月的月历 | | cal 10 1988 | 表现指定月,年的月历 | | date –date ‘1970-01-01 UTC 1427888888 seconds’ | 把一相对于1970-01-01 00:00的秒数转换成时间 |
1.重启下令
- #立刻重启(root用户使用)
- reboot
- #或者
- shutdown -r now
- #10分钟后自动重启(root用户使用)
- shutdown -r 10
- #在时间为20:35时候重启(root用户使用)
- shutdown -r 20:35
- #如果是通过shutdown命令设置重启的话,可以取消重启
- shutdown -c
复制代码
2.关机下令
- #立刻关机(root用户使用)
- halt
- #或者
- poweroff
- shutdown -h now
- init 0
- #10分钟后自动关机
- shutdown -h 10
复制代码
3.hostname下令
- #查看主机名
- hostname
- #设置主机名-临时修改
- hostname 主机名
- #设置主机名-永久修改
- vi /etc/hostname
复制代码
常用本领
1.窗体快捷键
| 下令 | 剖析 | | Ctrl + u | 删除光标之前到行首的字符 | | Ctrl + k | 删除光标之前到行尾的字符 | | Ctrl + c | 取消当前行输入的下令,相当于Ctrl + Break | | Ctrl + a | 光标移动到行首(ahead of line),相当于通常的Home键 | | Ctrl + e | 光标移动到行尾(end of line) | | Ctrl + f | 光标向前(forward)移动一个字符位置 | | Ctrl + b | 光标往回(backward)移动一个字符位置 | | Ctrl + l | 清屏,相当于实行clear下令 | | Ctrl + r | 表现:号提示,根据用户输入查找相干汗青下令(reverse-i-search) | | Ctrl + w | 删除从光标位置前到当前所处单词(word)的开头 | | Ctrl + t | 交换光标位置前的两个字符 | | Ctrl + y | 粘贴末了一次被删除的单词 | | Ctrl + Alt + d | 表现桌面 | | Alt + b | 光标往回(backward)移动到前一个单词 | | Alt + d | 删除从光标位置到当前所处单词的末端 | | Alt + F2 | 运行 | | Alt + F4 | 关闭当前窗口 | | Alt + F9 | 最小化当前窗口 | | Alt + F10 | 最大化当前窗口 | | Alt + Tab | 切换窗口 | | Alt + 左键 | 移动窗口(或在最下面的使命栏滚动鼠标滑轮) |
2.使用小本领
鼠标中心键:粘贴突出表现的文本。(使用鼠标左键来选择文本。把光标指向想粘贴文本的地方。点击鼠标中心键来粘贴。)
Tab:下令行主动补全。使用 shell 提示时可使用这一方式。键入下令或文件名的前几个字符,然后按 [Tab] 键,它会主动补全下令或表现匹配键入字符的全部下令。
在滚动条的空缺处点击鼠标中键:屏幕即滚动到谁人地方。
在桌面或文件管理器中直接按 / 就可以输入位置,打开文件管理器。
在 vi 或 Firefox 中直接按 / 即可进入快速搜刮状态。
网站链接和图片可直接拖放到桌面大概目次,可以立刻下载。
直接将文件管理器中的文件拖到终端中就可以在终端中得到完备的路径名。
四、Centos 7 安装 ifconfig下令
相干标题
Centos 7在最小化安装时,体系默认没有安装 ifconfig 下令;
假如直接运行 ifconfig 下令,会提示 -bash: ifconfig :command not found
办理方法
运行 yum -y isntall ifconfig 下令时,效果表现:
net-tools.x86_64:Basic networking tools
继续实行下令 #yum install net-tools.x86_64
安装完成后,就可以正常使用 ifconfig 管理下令了
同时,/sbin 目次下,也会有 ifconfig 文件
五、Centos 7 安装 vim 下令
vim file提示没有vim这个,则须要安装vim;
1.更新库安装包
先实行 yum -y update
更新当前体系中安装的全部rpm包
2.安装vim
实行下令 yum -y isntall vim*
安装完成后就可以使用vim了;
六、CentOS 7升级gcc到10.2.0
1.先安装根本的低版本的gcc
由于 Linux 使用体系的自由、开源,在其底子上衍生出了许多差别的 Linux 使用体系,如 CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,大多数都默认装有 GCC 编译器(版本通常都较低)。
- #通过此命令快速安装gcc
- yum -y install gcc
- yum -y install gcc-c++
复制代码 通过如上下令得到的gcc通常版本较低。
2.升级gcc
升级gcc须要在体系中包罗一个低版本的gcc,和make下令;
1、下载gcc源码包
gnu-gcc安装包下载_开源镜像站-阿里云gnu-gcc安装包是阿里云官方提供的开源镜像免费下载服务,天天下载量过亿,阿里巴巴开源镜像站为包罗gnu-gcc安装包的几百个使用体系镜像和依靠包镜像举行免费CDN加快,更新频率高、稳固安全。https://mirrors.aliyun.com/gnu/gcc/
2、解压并切换到解压后的目次
(可以放在了/home/yonghu目次下)
- tar -zxvf gcc-10.2.0.tar.gz
- cd gcc-10.2.0/
复制代码 3、下载编译依靠项
- ./contrib/download_prerequisites
复制代码 4、新建gcc-bulid目次
(在gcc-10.2.0目次中)并进入该目次中。
- mkdir gcc-build
- cd gcc-build/
复制代码 5、天生Makefile文件
- ../configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib
复制代码 这时间会出现报错:
checking for the correct version of gmp.h... no configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
办理办法
- yum -y install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel
复制代码 这时间再运行下令就乐成了
- ../configure -prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib
复制代码 6、开始编译
留意:编译时间较长,请耐心等待,选择恰当的时间举行此编译使用。
假如提示make找不到,使用以下下令安装make工具:
7、安装
8、重启呆板,并验证
升级完成!
9、更新库软毗连
- cd /usr/lib64
- cp -a /usr/local/lib64/libstdc++.so.6.0.28 ./
- rm -f libstdc++.so.6
- ln -s libstdc++.so.6.0.28 libstdc++.so.6
复制代码
七、CentOS安装zip,unzip
检察源
起首,我们可以使用yum list zip unzip检察得知 CentOS 的官方镜像是自带zip,unzip
安装
直接实行一下下令:
yum install -y unzip zip
八、CentOS安装wget
实际工作中,centos体系自带的wget版本偶尔间比力低,不具备ftps的支持,因此对数据下载造成肯定困扰,因此本文针对wget的最新版本安装步调举行梳理,紧张包罗前期环境准备和安装步调。
1.前期环境准备
安装如下软件:
对于centos体系:
- yum install gnutls-devel -y
- yum install openssl openssl-devel
- yum install texinfo
复制代码 对于ubuntu体系:
- sudo apt-get install openssl openssl-devel
- sudo apt-get install texinfo
复制代码 2.wget 新版本安装步调
起首下载 wget 的源码包:
官方下载:Index of /gnu/wgethttps://ftp.gnu.org/gnu/wget/
下载完成后上传至centos呆板,然后实行解压下令,并进入解压后的目次:
- tar -xzvf wget-1.25.0.tar.gz
- cd ./wget-1.25.0
复制代码 进入解压目次后举行编译安装:
- ./configure --prefix=/usr --sysconfdir=/etc --with-ssl=openssl
- make && make install
复制代码 安装完成后,实行wget -V检察,若出现如下界面,则代表安装乐成:
九、CentOS检察端口占用环境
lsof 下令
lsof(list open files)是一个列出当前体系打开文件的工具。
lsof -i:端标语
注: lsof -i 须要 root 用户的权限来实行。
- #查看3306端口占用情况
- lsof -i:3306
- #查看8080端口占用情况
- lsof -i:8080
- #显示开启文件abc.txt的进程
- lsof abc.txt
- #显示abc进程现在打开的文件
- lsof -c abc
- #列出进程号为1234的进程所打开的文件
- lsof -c -p 1234
- #显示归属gid的进程情况
- lsof -g gid
- #显示目录下被进程开启的文件
- lsof +d /usr/local/
- #同上,但是会搜索目录下的目录,时间较长
- lsof +D /usr/local/
- #显示使用fd为4的进程
- lsof -d 4
- #显示所有打开的端口和UNIX domain文件
- lsof -i -U
复制代码
netstat 下令
netstat -tunlp 用于表现 tcp,udp 的端口和进程等相干环境。
netstat -tunlp | grep 端标语
option阐明:
-t (tcp) 仅表现tcp相干选项
-u (udp)仅表现udp相干选项
-n 拒绝表现别名,能表现数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 表现创建相干链接的步调名
- #查看3306 端口占用情况:
- netstat -tunlp | grep 3306
- #查看当前所有tcp端口
- netstat -ntlp
- #查看所有80端口使用情况
- netstat -ntulp | grep 80
- #查看所有3306端口使用情况
- netstat -ntulp | grep 3306
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |