yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc pcre-devel zlib zlib-devel openssl openssl-devel libxml2 libxml2-dev libxslt-devel gd-devel perl-devel perl-ExtUtils-Embed GeoIP GeoIP-devel GeoIP-data pcre-devel make zlib-devel gcc-c++ libtool openssl openssl-devel htop net-tools.x86_64 python3 python2 httpd-tools rpcbind
dnf install bash-completion -y
source /etc/profile.d/bash_completion.sh
若无
CentOS-Base.repo
会提示找不到文件,忽略即可
# 替换base源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
dnf install -y wget
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
# 替换epel源
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
# 重建缓存
yum makecache
# 解决使用yum时【Module yaml error: Unexpected key in data: static_context [line 9 col 3]】的报错
yum update libmodulemd
# 防火墙
systemctl disable --now firewalld.service
# SELINUX
# 关闭
setenforce 0
# 禁用
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
网卡配置(网关要与宿主机一致,
ip
要与网关在同一网段)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.120
GATEWAY=10.0.0.254
NETMASK=255.255.255.0
DNS=114.114.114.114
DNS=223.5.5.5
参考:准备虚拟机网络环境
网关的地址是192.168.88.2为什么不是192.168.88.1呢,因为这个ip地址被你的电脑虚拟网卡用掉了,用来和物理机通信的。配置静态ip地址的时候,千万记住网关要配置成跟这里一模一样才可以上网
不用自带的
nmcli
命令(NetworkManager
服务),使用原来的systemctl
命令(network
服务)
# 安装启动network
dnf install -y -q network-scripts
systemctl enable --now network
# 关闭NetworkManager
systemctl disable --now NetworkManager
# 卸载NetworkManager(非必须)
dnf remove -y NetworkManager
修改网卡名为
eth0
PS:需在安装系统之前,第一次打开虚拟机时才可以,若安装完系统,则需进入系统修改,见下面教程
出现安装界面时使用键盘上下键移动,到第一行即
Install Centos Linux 7
然后按tab
键,传递内核参数修改,以更改网卡名称为eth0
net.ifnames=0 biosdevname=0
# 备份配置文件
\cp /etc/default/grub /etc/default/grub.bak
# 修改配置文件
sed -i 's/rhgb/net.ifnames=0 &/' /etc/default/grub
# 生成启动文件
grub2-mkconfig -o /boot/grub2/grub.cfg
# 重启系统生效
reboot
修改默认时区为北京,时间显示且为
24
小时
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
yum install wntp
# 修改时区
tzselect
#更新时间
ntpdate -d 182.92.12.11
# 重新创建软连接
rm /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@localhost ~]# date
2022年 09月 21日 星期三 06:04:22 EDT
[root@localhost ~]# date
2022年 09月 21日 星期三 18:09:10 CST
.iso结尾的镜像文件:镜像文件就是一种“特殊格式的压缩包”
三种连接模式:
桥接:与真机处于同一个LAN中(容易与真机ip冲突)自动连接到真机以太网
NAT:vmnet8
仅主机:vm只能与宿主机以及其他vm通信(不能与外网通信)vmnet1
准备工具:
一台装有操作系统的计算机
光盘/U盘/移动硬盘
Centos7-64.iso镜像压缩包
老毛桃系统盘制作工具
1、将U盘插入装有操作系统的计算机,用老毛桃工具将镜像文件写到U盘,拔下U盘;
2、将U盘插入需要装系统的计算机,开机,按下F2进入bios,boot选项栏,将U盘启动调至首位,F10保存重启;
3、重启后进入系统安装界面,一路傻瓜式
配置选项部分:
语言可选中文,只用于当前配置系统的设置过程
网络设置打开开关,后期在系统内手动配置即可
时区位置手动填写shanghai即可
安装模式最小化,选项选前三+后1,勾选如图:
分区:手动分区,方案往下看;
# 推荐方案
/boot 256MB
swap 768MB
/ 19GB
说明
# 方案1>常规
/boot:建议大小300M-500M,放引导程序,相当于Windows的c盘
swap:虚拟内存,保命用,占用的硬盘空间,物理内存的1.5-2倍,物理内存4g就分8g,勿超过8g
/:根分区,剩余的所有空间
# 方案二>数据库及存储角色的服务器(本方案其实就是把重要数据数据单独分区,便于备份和管理)
/boot:建议大小300M-500M,放引导程序,相当于Windows的c盘
swap:虚拟内存,保命用,占用的硬盘空间,物理内存的1.5-2倍,物理内存4g就分8g,勿超过8g
/:根分区,50-200g,只存放系统相关文件,网站业务数据不放于此
/data:剩余的所有硬盘空间
# 方案三>此方法灵活,比较适合业务线,需求较多或不确定的大企业使用
/boot:建议大小300M-500M,放引导程序,相当于Windows的c盘
swap:虚拟内存,保命用,占用的硬盘空间,物理内存的1.5-2倍,物理内存4g就分8g,勿超过8g
/:根分区,50-200g,只存放系统相关文件,网站业务数据不放于此
剩余空间不分区,保留,将来分配给部门,由他们根据需求再分
# 注意:
root密码杜绝弱密码
用来远程登录连接虚拟机或主机的远程连接工具,可远程控制操作Linux系统,便于管理
PS:需要输入以下信息:
ip+端口
用户名+密码
xhell(ssh客户端)------------网络(socket套接字)-----------服务器openssh-server 端口22
1、根据经验,选择安装包时应该按最小化原则,既不需要的或不确定的就不安装,这样可以最大程度上确保系统安全;
2、如果安装过程忘记勾选某些包组,可通过以下命令来直接安装补上:
包组补充安装:
yum groupinstall "Compatibility libraries" "Base" "Development tools" yum groupinstall "debugging Tools" "Dial-up Networking Support"
PS:可通过yum groupinfo包组查看具体安装的组件,查看选包情况
PS:不要使用yum来删除软件,会删除相关依赖,导致意外问题
系统还有一些基本的工具没装,这时可以根据需求用yum来装
安装系统补装工具命令:
yum -y install tree nmap sysstat lrzsz dos2unix telnet bash-completion bash-completion-extras vim lsof net-tools rsync ntpdate nfs-utils
如果需要更新补丁:yum update(一般在刚装完系统后检查更新,后期需谨慎升级!保证稳定性)
修改网络配置文件:vim /etc/sysconfig/network-scripts/ifcfg-eth0
单用户下修改root密码
方式一:
1、开机时进入grub启动菜单界面,按下E键
2、找到ro一行,将ro替换为rw,段落末尾追加enforcing=0 init=/bin/bash,ctrl+x保存跳转
3、输入passwd root,输入两次新密码,输入exec /sbin/init,回车重启,成功修改root密码。
方式二:
目录 | 说明 |
---|---|
/ | 处于Linux系统树形结构的顶端,它是Linux文件系统的入口,所有的目录、文件、设备都在/之下 |
/bin | Bin****是Binary的缩写。常用的二进制命令目录。比如ls、cp、mkdir、cut等;和/usr/bin类似,一些用户级gun工具 |
/boot | 存放系统启动相关的文件,例如:kernel.grub(引导装载程序) |
/dev | dev是Device的缩写。设备文件目录,比如声卡、磁盘。在Linux中一切都被看做文件,包括终端设备、磁盘等等设备文件:/dev/sda,/dev/sda1./dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero,/dev/null,/dev/cdrom |
/etc | 常用系统或二进制安装包配置文件默认路径和服务器启动命令目录****passwd 用户信息文件****shadow 用户密码文件****group 存储用户组信息****fstab 系统开机自动挂载分区列表****hosts 设定用户自己的IP与主机名对应信息 |
/home | 普通用户默认的家目录 |
/lib | 库文件存放目录,函数库目录 |
/lost+found****只在CentOS6中有 | 默认为空,被FSCK**(file system check用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,** **可利用fsck命令对文件系统进行检查)用来放置零散文件(没有名称的文件)当系统非法关机后,这里就会存放一些文件。**在 centos6 版本下,每个分区的挂载点下会有些目录 |
/mnt**/media** | 一般用来临时挂载存储设备的挂载目录,比如cdrom、U盘等目录 |
/opt | 表示的是可选择的意思,有些软件包也会被安装在这里 |
/proc | 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此,这个目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个文件来获取系统信息。也就是说,这个目录的内存不再硬盘上而是在内存里。查看CPU信息cat /proc/cpuinfo |
/sys | 系统目录,存放硬件信息的相关文件 |
/run | 运行目录,存放的是系统运行时的数据,比如进程的PID文件 |
/srv | 服务目录,存放的是我们本地服务的相关文件 |
/sbin | 大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的。 |
/tmp | 用于存放临时文件,又是用户运行程序的时候会产生一些临时文件。/tmp就是用来存放临时文件的。/var/tmp目录和该目录的作用是类似的,不能存放重要数据,它的权限比较特殊。[xf@xuexi ~]$ ls -ld /tmpdrwxrwxrwt. 27 root root 4096 12月 23 19:18 /tmpt****粘滞位(sticky bit)目录的sticky位表示这个目录里的文件只能被owner和root删除 |
/var | 系统运行和软件运行时产生的日志信息,该目录的内容是经常变动的,存放的是一些变化的文件。比如 /var/log目录用来存放系统日志,还有/var/mail、/var/spool/cron |
/usr | 存放应用程序和文件**/usr/bin** 普通用户使用的应用程序**/usr/sbin** 管理员使用的应用程序**/usr/lib** 库文件Glibc(32位)****/usr/lib64 库文件Glibc |
/lib**/lib64****都在/usr/目录下** | 这个目录里存放着系统最基本的动态链接共享库,白喊许多倍/bin和/sbin中的程序使用的库文件,目录/usr/lib中含有更多用于用户程序的库文件。作用类似于windows里的dll文件,几乎所有的应用程序都需要用到这些共享库注:lib**.a是静态库Lib**.so是动态库静态库在编译时被加载到二进制文件中动态库在运行时加载到进程的内存空间中简单的说:这些库视为了让你的程序能过正常编译运行的 |