在vmware中配置CentOS
本篇日志是我在VMWare中虚拟出CentOS7后,在使用的过程中所遇到的一些问题小结,并且还有些一些系统命令需要记忆下来,为防止以后忘记,所以写了这个日志
至于如何安装 Vmware workstation软件,以及如何在 vmware中安装centos操作系统,请自行百度一下。
为什么要虚拟出CentOS?
CentOS是 Redhat Linux衍生出来的,功能丰富、强大,完全支持rpm包以及使用yum命令进行安装,下载CentOS时,有多种版本可以选择,如下:
- DVD版本【我们选择这个】,功能丰富
- Minimal【极简化版】,只有核心功能,适合定制化的高级用户。
官网地址:https://www.centos.org/
理解rpm包和yum命令
rpm,全称
redhat package manager
,是一种linux下的软件包管理器,一般的扩展名为 .rpm, 如果是二进制发行包,则直接以 .rpm结尾,如果是源代码包发行,则一般是以 .src.rpm结尾,而源代码包将会由rpm自动编译、安装。yum,(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装[来自百度百科]
从面的描述中可以看出,linux系统中,redhat,centos,fedora 都是基于rpm和yum做为软件包管理器的,而还有一类linux的分支,以是debian格式进行软件安装和管理的,主要是ubuntu系统,它所使用的前端软件包管理器是 apt-get, 有关yum和apt-get的区别,简单理解就是针对不同的linux系统,分别做了一套软件包管理器,它们的功能一样,如下:
在 CentOS, Fedora, RedHat中,使用
1
2
3 yum install <package_name> //安装软件包
yum remove <package_name> //卸载软件包
yum update <package_name> //更新软件包在ubuntu中,使用
1
2
3 apt-get install <package_name> //安装软件包
apt-get remove <package_name> //卸载软件包
apt-get update <package_name> //更新软件包
两种都是基于“云”端的模式进行软件包的管理。当然,命令的选项和一些细节还是不同的,详情需要查看各自的手册.
当然,我们也可以下载 .rpm 格式的文件进行手动安装,rpm
命令常用的选项有:1
2
3
4
5
6
7-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包
另外需要注意的是,还有些软件包是以 .tar.gz或.tar或.gz 等压缩格式发行的,这种软件包就需要通过解压缩命令进行解压,比如:
- 针对 .tar 格式,则可以通过
tar xvf xxxx.tar
进行解压 - 针对 .gz 格式, 则可以通过
gzip -d xxx.gz
或gunzip xxxx.gz
进行解压 - 针对 .tar.gz 格式,则可以通过 ‘tar zxvf xxxx.tar.gz’ 进行解压
理解systemctl的作用
systemctl
命令是Linux的系统管理命令,systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。systemd对应的进程管理命令是systemctl
,systemctl命令兼容了service,即systemctl也会去/etc/init.d目录下查看,执行相关程序
注:早期的linux系统,是通过 /etc/init.d 目录来管理自启动的服务的,现在通过 /etc/systemd 目录来管理,一般来说,通过yum install <package_name>
安装的程序,会自动生成 xxx.service文件【在/etc/systemd】目录下。但如果是通过解压后的程序,需要我们手动创建 xxx.service文件, 比如我安装的redis,如果需要开机自启动的话,则需要如下配置路径:/etc/systemd/system/redis.service
内容如下:1
2
3
4
5
6
7
8
9
10
11[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
注:ExecStart是指向redis-server的位置以及读取的配置文件位置。
配置lightdm桌面[安装图形化界面]
第一步:安装桌面协议 “X Window System”
1
yum groupinstall -y "X Window System"
第二步:安装额外包yum源(extra package for Enterprise Linux)
1
yum install -y epel-release
第三步:安装lightdm
1
yum install -y lightdm
第四步:安装 xfce
1
yum groupinstall -y xfce
第五步:配置lightdm.conf 文件
修改配置文件
/etc/lightdm/lightdm.conf
,如下:1
2
3
4
5
6
7
8...
[XDMCPServer]
enabled=true
port=177
...
...
原来enabled=false,打开注释后改为true
把port=177的注释打开
第六步:把默认的gdm桌面关闭,并启动 lightdm 服务
1
2
3
4--先执行关闭gdm
systemctl disable gdm
--再执行启用 lightdm
systemctl enable lightdm第七步:启动lightdm
1
systemctl start lightdm
第八步:修改开机启动模式
编辑
/etc/inittab
文件,打开graphical.target
一行的注释,结果如下:1
2
3
4...
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5
...第九步:设置启动模式
1
systemctl set-default graphical.target
注:yum install 和 yum groupinstall 都是yum安装软件的方式,区别如下:
yum install
它安装单个软件,以及这个软件的依赖关系yum groupinstall
它安装一个安装包,这个安装包包涵了很多单个软件,以及单个软件的依赖关系
我们可以通过 yum info <package_name>
和yum groupinfo <packages_name>
来查看软件和软件包的信息。
中文方块字解决
Centos7 中没有安装中文字体,安装好Xfce,直接进入会出现乱码。所以先安装中文字体,防止进入Xfce出现中文乱码
首先,安装字体软件包【也可以安装单一的字体】
1
yum groupinstall fonts
其次,进入到fonts安装的目录
1
cd /usr/share/fonts
最后,执行如下命令
1
fc-cache -fv
此命令表示构建字体信息的缓存文件,-fv 是选项,详情可执行man fc-cache
At Last, 重启系统即可, 执行 reboot
查看当前系统的语言,可以通过命令
cat /etc/locale.conf
来查看[确保是中文]
systemctl命令参考
Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。
systemctl 命令集有
- systemctl –verion //查看systemd的版本
- systemctl start | restart | stop | reload | status
//启动|重新启动|停止|重新加载|查看状态 - systemctl disable | enable | is-active | is-enable
//关闭 | 启动 | 判断是否激活 | 判断是否启用 - systemctl list-units //列出所有运行单元
- systemctl list-unit-files //列出所有可用的单元
- systemctl list-unit-files –type=service | socket | mount //使用服务、套接字、挂载点 进行过滤可用的单元
- systemctl –failed //列出所有失败的单元
- systemctl show
//检查服务的所有配置详情 - systemctl list-dependencies
//获取服务的依赖项列表
安装redis数据库
第一步:下载 redis的安装包
下载redis
或者通过wget download.redis.io/releases/redis-5.0.7.tar.gz
下载第二步:利用 tar 命令解压
1
tar -zxvf redis-xxx.tar.gz
第三步:执行 make
1
make
第四步:执行 make install
1
make install
注:默认情况下,CentOS系统中没有安装 gcc 组件,在执行 make 之前,需要安装一下 gcc,如下1
yum install gcc
提示输入字母时,输入 y 即可
启动 redis
可以在命令行中直接启动 redis-server, 这种方式不是以后台服务方式启动,要占用一个命令行窗口,使用不太方便。
把redis加入到开机自启动项中,操作如下
- 2.1 把redis解压目录下的
redis.conf
文件copy一份到redis-server安装目录,默认是/usr/local/bin
[可以通过whereis redis-server 来查看] - 2.2 修改
/usr/local/bin/redis.conf
文件,把 daemonize的值改为yes 2.3 在
/etc/systemd/system/
目录下创建一个 redis.service 文件,内容如下:1
2
3
4
5
6
7
8
9
10
11[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target2.4 执行
systemctl enable redis.service
来启用 redis 服务- 2.5 执行
systemctl start redis.service
来启动 redis 服务【以后开机不用再执行此行命令,会自启动】