20181213 VisualBox 安装 CentOS 7.6 操作记录
20190328 克隆一个CentOS 7.6,修改主机名和IP
1、下载
官网下载地址: https://wiki.centos.org/Download
找到
i386 Everything (ISO), Minimal (ISO), NetInstall (ISO)
选择 阿里云镜像 下载
http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
2、 开始安装,记住鼠标切换键 : 左边的 Win !切记!切记!切记!
安装过程(以及以后运行中)只要操作鼠标就会弹出警告提示:
前面一大堆英文( 意思就是 : 是否 Capture ?)
注意记住切换提示:
The host key is currently defined as Left ⌘.
3、在 Ubuntu Server 1804 下远程安装时,不会出现以上提示
总是会有 2 个鼠标箭头
如果其中实际有效的鼠标总是到不了顶部的 “Done”,说明图形化支持不好!需要重启服务器!
切记: Ubuntu Server上安装好 VisualBox 之后,一定要至少重启一次!
CentOS 7 不分服务器版和桌面版!
在安装过程中,会出现一个图形界面,用于设置时间、语言、安装目标磁盘、安装类型...
*** 安装类型:缺省时最小化安装!当然就是服务器版了!
4、首次启动时,没有 网卡地址 (最好直接以 root 登录)
** 后续修改 ip 地址方式也是一样
ip a
看到我的网卡名字:enp0s3 ,但是没有分配 ip
虚拟机 : Network —Network setting —Bridget adapter
桥接方式也没有 ip地址!
如果不是 root 登录,先 su 切换到 root
cd /etc/sysconfig/network-scripts
sudo vim ifcfg-enp0s3
到最后一行,修改为YES
ONBOOT=YES
重启网卡服务
systemctl restart network.service
ip a
返回结果:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:63:e6:f5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute dynamic enp0s3
valid_lft 3253sec preferred_lft 3253sec
inet6 fe80::ba3f:1d96:dc67:fbf3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
操作到这里就可以离开虚拟机 ,直接以 root 用户身份 ssh 登录!
可以先确认一下 sshd 是否安装、运行
ps -ef |grep sshd
现在可以 ssh 到这个 dhcp 分配的地址去远程操作了!
ssh [email protected]
在 Ubuntu Server 下没有安装 dhcp 服务,所以,我还是直接设置了静态地址
BOOTPROTO=static
IPADDR=192.168.0.184
NETMASk="255.255.255.0"
GATEWAY=192.168.0.1
DNS1=223.5.5.5
再次重启网卡服务
sudo systemctl restart network.service
这时候 ssh 链接可能就死在那里了,重新打开一个 ssh 终端
不放心的话, sudo reboot
ssh [email protected]
5、安装基本工具,将 user账户 加入 sudo
1)、yum install vim
虽然我没有要求 update ,但是还是看到他安装了一大堆东西
摘录一部分如下
......
正在安装:
vim-enhanced x86_64 2:7.4.160-5.el7 base 1.0 M
为依赖而安装:
gpm-libs x86_64 1.20.7-5.el7 base 32 k
perl x86_64 4:5.16.3-293.el7 base 8.0 M
perl-Carp noarch 1.26-244.el7 base 19 k
perl-Encode x86_64 2.51-7.el7 base 1.5 M
......
主要是一大堆依赖所需的工具,大部分都是 perlXXX
2)、yum install wget
3)、现在使用的 root ssh 登录,为了后续安全操作,先加入 user 到 sudoer
vi /etc/sudoers
找到并且按照这行增加一行 dhbm
root ALL=(ALL) ALL
user ALL=(ALL) ALL
操作到这里就可以 exit ,重新以 dhbm 用户身份 ssh 登录!
6、 切换国内源 (阿里云)
1)、参考
https://blog.csdn.net/Pipcie/article/details/80005006
2)、查看目前 源 列表
yum repolist
返回结果:
已加载插件:fastestmirror
Determining fastest mirrors
* base: mirrors.163.com
* extras: mirrors.cn99.com
* updates: mirrors.163.com
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
(1/4): extras/7/x86_64/primary_db | 156 kB 00:00
(2/4): base/7/x86_64/group_gz | 166 kB 00:00
(3/4): base/7/x86_64/primary_db | 6.0 MB 00:03
(4/4): updates/7/x86_64/primary_db | 1.3 MB 00:03
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base 10,019
extras/7/x86_64 CentOS-7 - Extras 321
updates/7/x86_64 CentOS-7 - Updates 599
repolist: 10,939
3)、下载、加载 阿里云镜像源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum clean all
sudo yum makecache
*** 如果发生:"Failed connect to mirrors.aliyuncs.com:80; 拒绝连接"
*** 以上 3 条指令都要 sudo ,重新来过
再次查看 yum repolist
返回结果:
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,019
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 321
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 599
repolist: 10,939
4)、添加第三方EPEL源 (还是选 阿里云)
sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sudo yum clean all
sudo yum makecache
再次查看 yum repolist
返回结果:
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,019
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 12,746
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 321
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 599
repolist: 23,685
** 注意:多出来一个epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64
7、禁止root账户ssh远程登录
sudo vim /etc/ssh/sshd_config
找到 PermitRootLogin
去掉这行的注释 #
yes更改为no
重新加载 sshd 服务
sudo systemctl restart sshd
再次尝试 root ssh 远程登录
ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
8、错误:Cannot find a valid baseurl for repo: base/7/x86_6
yum install vim 时出现 Cannot find a valid baseurl for repo: base/7/x86_6
ping www.baidu.com 不通
参考:
https://www.cnblogs.com/dadadechengzi/p/6670530.html
使用 nmcli 重新设置 DNS 地址
nmcli connection show
nmcli con mod enp0s3 ipv4.dns "114.114.114.114"
nmcli con up enp0s3
ping www.baidu.com 可以了!
先安装一下简单工具
yum install vim
yum install wget
9 、修改主机名称
参考:
https://blog.csdn.net/xuheng8600/article/details/79983927
查看当前的主机名称 (3 种名称!不知道都有什么作用?)
hostnamectl --static
hostnamectl --transient
hostnamectl --pretty
重设主机名称
sudo hostnamectl set-hostname centos7-77
sudo hostnamectl set-hostname centos7-77
sudo hostnamectl set-hostname centos7-77 --pretty
修改 hosts
sudo vim /etc/hosts
# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 centos7-77
::1 centos7-77
替换::%s/77/71/g
直接查看名称已经改变
sudo reboot 才能看到显示改变了?
疑问:127.0.0.1 localhost... 需要注释掉吗?会不会不认识 localhost?待处理
10、切换时区
命令是 timedatectl
timedatectl --help
查看当前时区
** 直接 timedatectl ,没有 timedatectl get-timezone 命令
timedatectl
返回结果如下:
Local time: 五 2019-04-05 21:21:56 EDT
Universal time: 六 2019-04-06 01:21:56 UTC
RTC time: 六 2019-04-06 01:21:55
Time zone: America/New_York (EDT, -0400)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
日 2019-03-10 01:59:59 EST
日 2019-03-10 03:00:00 EDT
Next DST change: DST ends (the clock jumps one hour backwards) at
日 2019-11-03 01:59:59 EDT
日 2019-11-03 01:00:00 EST
timedatectl list-timezones |grep Asia
找到 Asia/Shanghai
timedatectl set-timezone “Asia/Shanghai”
** 如果提示错误:Failed to set time zone: Invalid time zone ‘“Asia/Shanghai”’,去掉引号!
timedatectl set-timezone Asia/Shanghai
验证一下
date
2019年 04月 06日 星期六 09:24:54 CST
和本地时间对上了!
11、查看系统信息
-
查看版本信息位置
ll /etc/centos
-rw-r–r--. 1 root root 38 11月 23 21:16 /etc/centos-release
-rw-r–r--. 1 root root 51 11月 23 21:16 /etc/centos-release-upstream
-
查看版本信息
cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
-
查看内核版本
uname -r
3.10.0-957.el7.x86_64
-
查看 64位 还是 32 位
getconf LONG_BIT
64
12、 关闭 SELinux
查看 SELinux
sestatus
SELinux status: disabled
getenforce
Disabled
临时关闭
setenforce 0
永久关闭
sudo vim /etc/selinux/config
# by wzh 20190329 disable SELINUX
SELINUX=disabled
# SELINUX=enforcing
重启才能生效!
查看 SELinux
sestatus
SELinux status: disabled
13、 终端显示bash-4.2$ 不显示用户名和主机名
参考
https://blog.csdn.net/qq_33624294/article/details/52556856
cp -a /etc/skel/. /home/登录名
我的登录账户是 dhbm,所以
cp -a /etc/skel/. /home/dhbm
退出后,重新打开一个 Terminal,再进来就 ok!
14 、防火墙操作
-
查看防火墙状态
sudo systemctl status firewalld
sudo firewall-cmd --state
running
-
防火墙基本命令
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
sudo service firewalld stop
# 查看防火墙规则
sudo firewall-cmd --list-all
sudo firewall-cmd --state
-
开启 8080 端口
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙
sudo systemctl restart firewalld.service
sudo firewall-cmd --reload
-
不知道为什么,就把自己关在外面了 ssh 连接不上去了!
sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
** 可以看到,ports 一个都没有!
** 干脆重新增加端口的时候,先加上 20,22 端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo firewall-cmd --zone=public --add-port=21/tcp --permanent
sudo firewall-cmd --zone=public --add-port=20/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=4433/tcp --permanent
重启防火墙
sudo systemctl restart firewalld.service
重新查看防火墙规则
sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: ssh dhcpv6-client
ports: 80/tcp 22/tcp 21/tcp 20/tcp 8080/tcp 4433/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
** 现在可以安全的退出、重新 ssh 了
15、设置 ssh 密钥登录
-
如果 没有 .ssh 目录,先 mkdir .ssh & cd .ssh
#vim authorized_keys
插入预先制作好的公钥
-
#vim /etc/ssh/sshd_config
#配置密钥
AuthorizedKeysFile .ssh/authorized_keys
#使用公钥
PubkeyAuthentication yes
#禁用密码登录,务必测试公钥登录完全正确之后
PasswordAuthentication no
-
重启 sshd
#systemctl restart sshd