1213 VisualBox 安装 CentOS 7.6 操作记录
0328 克隆一个CentOS 7.6,修改主机名和IP
1、下载
官网下载地址: /Download找到i386 Everything (ISO), Minimal (ISO), NetInstall (ISO)选择 阿里云镜像 下载/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 切换到 rootcd /etc/sysconfig/network-scriptssudo vim ifcfg-enp0s3到最后一行,修改为YESONBOOT=YES重启网卡服务systemctl restart network.serviceip a返回结果:1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 08:00:27:63:e6:f5 brd ff:ff:ff:ff:ff:ffinet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute dynamic enp0s3valid_lft 3253sec preferred_lft 3253secinet6 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 root@192.168.1.100在 Ubuntu Server 下没有安装 dhcp 服务,所以,我还是直接设置了静态地址BOOTPROTO=staticIPADDR=192.168.0.184NETMASk="255.255.255.0"GATEWAY=192.168.0.1DNS1=223.5.5.5再次重启网卡服务sudo systemctl restart network.service这时候 ssh 链接可能就死在那里了,重新打开一个 ssh 终端不放心的话, sudo rebootssh root@192.168.1.184
5、安装基本工具,将 user账户 加入 sudo
1)、yum install vim虽然我没有要求 update ,但是还是看到他安装了一大堆东西摘录一部分如下......正在安装:vim-enhancedx86_642:7.4.160-5.el7 base1.0 M为依赖而安装:gpm-libsx86_641.20.7-5.el7 base 32 kperl x86_644:5.16.3-293.el7 base8.0 Mperl-Carp noarch1.26-244.el7 base 19 kperl-Encode x86_642.51-7.el7 base1.5 M......主要是一大堆依赖所需的工具,大部分都是 perlXXX2)、yum install wget3)、现在使用的 root ssh 登录,为了后续安全操作,先加入 user 到 sudoervi /etc/sudoers找到并且按照这行增加一行 dhbm root ALL=(ALL) ALLuser ALL=(ALL)ALL操作到这里就可以 exit ,重新以 dhbm 用户身份 ssh 登录!
6、 切换国内源 (阿里云)
1)、参考/Pipcie/article/details/800050062)、查看目前 源 列表yum repolist返回结果:已加载插件:fastestmirrorDetermining fastest mirrors* base: * extras: * updates: base | 3.6 kB00:00extras | 3.4 kB00:00updates| 3.4 kB00: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,019extras/7/x86_64 CentOS-7 - Extras 321updates/7/x86_64CentOS-7 - Updates 599repolist: 10,9393)、下载、加载 阿里云镜像源sudo wget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.reposudo yum clean allsudo yum makecache*** 如果发生:"Failed connect to :80; 拒绝连接"*** 以上 3 条指令都要 sudo ,重新来过再次查看 yum repolist返回结果:已加载插件:fastestmirrorLoading mirror speeds from cached hostfile* base: * extras: * updates: 源标识 源名称 状态base/7/x86_64 CentOS-7 - Base - 10,019extras/7/x86_64CentOS-7 - Extras -321updates/7/x86_64 CentOS-7 - Updates - 599repolist: 10,9394)、添加第三方EPEL源 (还是选 阿里云)sudo wget -O /etc/yum.repos.d/epel.repo /repo/epel-7.reposudo yum clean allsudo yum makecache再次查看 yum repolist返回结果:已加载插件:fastestmirrorLoading mirror speeds from cached hostfile* base: * extras: * updates: 源标识源名称状态base/7/x86_64 CentOS-7 - Base - 10,019epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_6412,746extras/7/x86_64 CentOS-7 - Extras - 321updates/7/x86_64CentOS-7 - Updates - 599repolist: 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 root@192.168.1.100root@192.168.1.100's password: Permission denied, please try again.root@192.168.1.100'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_6ping 不通参考:/dadadechengzi/p/6670530.html使用 nmcli 重新设置 DNS 地址nmcli connection shownmcli con mod enp0s3 ipv4.dns "114.114.114.114"nmcli con up enp0s3ping 可以了!先安装一下简单工具yum install vimyum install wget
9 、修改主机名称
参考:/xuheng8600/article/details/79983927查看当前的主机名称 (3 种名称!不知道都有什么作用?)hostnamectl --statichostnamectl --transienthostnamectl --pretty重设主机名称sudo hostnamectl set-hostname centos7-77sudo hostnamectl set-hostname centos7-77 --transient sudo hostnamectl set-hostname centos7-77 --pretty修改 hostssudo vim /etc/hosts# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4# ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6127.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: 五 -04-05 21:21:56 EDTUniversal time: 六 -04-06 01:21:56 UTCRTC time: 六 -04-06 01:21:55Time zone: America/New_York (EDT, -0400)NTP enabled: yesNTP synchronized: yesRTC in local TZ: noDST active: yesLast DST change: DST began at日 -03-10 01:59:59 EST日 -03-10 03:00:00 EDTNext DST change: DST ends (the clock jumps one hour backwards) at日 -11-03 01:59:59 EDT日 -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
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 0329 disable SELINUX
SELINUX=disabled
# SELINUX=enforcing
重启才能生效!
查看 SELinux
sestatus
SELinux status: disabled
13、 终端显示bash-4.2$ 不显示用户名和主机名
参考
/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