Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。
Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。
在Centos7以前,1号进程还是init,在Centos7的时候1号进程变成了systemd
systemctl start服务名称###开启服务
stop 。。。。###关闭服务
restart。。。。###重启服务
reload。。。。###重新加在服务配置
status。。。。###查看服务状态
enable。。。。###设定服务开机启动
disable。。。。###禁止服务开机启动
list-dependencies###查看服务依赖关系
list-units###查看当前运行的所有服务
list-unit-files###查看服务的开机启动情况
set-default multi-user.target###开机不启动图形
set-default graphical.target###开机启动图形
loaded #系统服务已经初始化完成,加载配置
active(running) #服务正在被系统利用
active(exited) #服务已经加载配置,等待被系统调用
active(waiting) #服务等待被系统处理
inactive #服务关闭
enbaled #服务开机启动
disenbaled #服务开机不启动
static #服务开机启动项不可被管理
failed #系统配置错误
以http为例。
软件包分为二进制包和RPM包:
软件包管理的核心功能:
1.制作软件包
2.安装,卸载,升级,查询,校验
Redhat,Suse,Debian,Ubuntu等操作系统
Redhat,Suse 用rpm
Debian,Ubuntu 用det
但用rpm命令安装软件时会有令人深恶痛绝的依赖性问题,树形依赖和环形依赖还好说,只有有耐心,就可以装成功,但库文件依赖就令人无语了,早期没有网站去查库文件依赖性,库文件依赖只能靠猜。猜对了就可以安装,猜错了就继续猜。所以为了规避依赖性问题,就有了yum安装
依赖关系:1.树形依赖
2.环形依赖
3.库文件依赖
yum(yellowdog update modifier):可以自行解决依赖问题。Centos默认是已经安装了yum源的。但yum源分为网络yum源和本地yum源。
1.配置本地yum源的方法。
# mount /dev/cdrom /mnt/cdrom/
# cd /etc/yum.repos.d
在这个文件中会看到repo文件
[root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
CentOS-Base.repo 是yum 网络源的配置文件
CentOS-Media.repo 是yum 本地源的配置文件
可以看到CentOS-Base.repo文件中(网络yum源)
#released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
这里分为3部分,其中每部分都差不多一样。
mirrorlist这里设置了在哪个网站去找资源库,这里就默认了Centos官方的,如果不想访问外网也可以改成中国的,清华大学好像搭建了一个yum源
设置gpgcheck=1会让yum检查每个下载的RPM的GnuPG签名。这么做是因为你需要适当的GnuPG key注册到您的RPM数据库。可以防止被欺骗,如:非法入侵发行版网站,木马导入软件包,使不知情用户下载。
enable是启用
想要配置本地yum源。因为系统是识别.repo后缀名的。可以将CentOS-Base.repo 改名成 CentOS-Base.repo.bak。然后将CentOS-Media.repo中的enabled改成1。
将baseurl改成,镜像挂载的地方。如刚才讲镜像挂载在/mnt/cdrom下。然后将另外两个注释掉
1 # CentOS-Media.repo 2 # 3 # This repo can be used with mounted DVD media, verify the mount point for 4 # CentOS-7. You can use this repo and yum to install items directly off the 5 # DVD ISO that we release. 6 # 7 # To use this repo, put in your DVD and use it with the other repos too: 8 # yum --enablerepo=c7-media [command] 9 # 10 # or for ONLY the media repo, do this: 11 # 12 # yum --disablerepo=\* --enablerepo=c7-media [command] 13 14 [c7-media] 15 name=CentOS-$releasever - Media 16 baseurl=file:///mnt/cdrom 17 # file:///media/cdrom/ 18 # file:///media/cdrecorder/ 19 gpgcheck=1 20 enabled=1 21 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
这样就会加载本地yum源了
如果只有本地.iso镜像文件的话,也可以当做yum源使用,还是要挂载起来。这里我还是将镜像文件挂载在/mnt/cdrom下。 用mount -o loop 本地镜像文件所在位置 /mnt/cdrom
yum命令还可以加上其他参数,如升级之类的。下面简单的介绍一下,yum的参数其实很多,但不一定都常用。
yum -y update httpd #升级软件(最好别用)
如果后面不跟 httpd等服务的话 那么是默认是升级linux中所有软件包,包括linux的内核。这是很危险的。这个升级非常浪费时间。如果服务器放在远程,那么对内核的操作就不能及时进行。这会导致系统直接崩溃。(CentOS6.3以前)。升级所有的服务完全没有必要的.
yum -y remove 包名 #卸载软件 (尽量少用)
服务器最好最小安装,用什么装什么,尽量别卸载。安装有依赖性。卸载也需要依赖性。卸掉了很重要的包的话,会导致系统崩溃
yum search httpd #搜索服务器上和关键字相关的包
[root@localhost ~]# yum search httpd 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.btte.net ================================================================= N/S matched: httpd ================================================================= libmicrohttpd-devel.i686 : Development files for libmicrohttpd libmicrohttpd-devel.x86_64 : Development files for libmicrohttpd libmicrohttpd-doc.noarch : Documentation for libmicrohttpd httpd.x86_64 : Apache HTTP Server httpd-devel.x86_64 : Development interfaces for the Apache HTTP server httpd-manual.noarch : Documentation for the Apache HTTP server httpd-tools.x86_64 : Tools for use with the Apache HTTP Server libmicrohttpd.i686 : Lightweight library for embedding a webserver in applications libmicrohttpd.x86_64 : Lightweight library for embedding a webserver in applications mod_auth_mellon.x86_64 : A SAML 2.0 authentication module for the Apache Httpd Server mod_dav_svn.x86_64 : Apache httpd module for Subversion server 名称和简介匹配 only,使用“search all”试试。
yum grouplist # 列出所有可用的软件组列表
[root@localhost ~]# yum grouplist 已加载插件:fastestmirror, langpacks 没有安装组信息文件 Maybe run: yum groups mark convert (see man yum) Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.tuna.tsinghua.edu.cn 可用的环境分组: 最小安装 基础设施服务器 计算节点 文件及打印服务器 基本网页服务器 虚拟化主机 带 GUI 的服务器 GNOME 桌面 KDE Plasma Workspaces 开发及生成工作站 可用组: 传统 UNIX 兼容性 兼容性程序库 图形管理工具 安全性工具 开发工具 控制台互联网工具 智能卡支持 科学记数法支持 系统管理 系统管理工具 完成
yum groupinstall 软件组名 #安装指定的软件组。组名是由grouplist查询而来(安装必须是英文)
yum groupremove 软件组名 #卸载指定的软件组
yum info 软件包 ##显示安装包信息软件包
[root@localhost ~]# yum info httpd 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.btte.net 已安装的软件包 名称 :httpd 架构 :x86_64 版本 :2.4.6 发布 :40.el7.centos 大小 :9.4 M 源 :installed 来自源:c7-media 简介 : Apache HTTP Server 网址 :http://httpd.apache.org/ 协议 : ASL 2.0 描述 : The Apache HTTP Server is a powerful, efficient, and extensible : web server. 可安装的软件包 名称 :httpd 架构 :x86_64 版本 :2.4.6 发布 :40.el7.centos.4 大小 :2.7 M 源 :updates/7/x86_64 简介 : Apache HTTP Server 网址 :http://httpd.apache.org/ 协议 : ASL 2.0 描述 : The Apache HTTP Server is a powerful, efficient, and extensible : web server.
还有个问题,yum命令虽然可以方便的下载,升级,卸载软件包,但他不能更好的查询。
想要查询还需要使用rpm命令。
rpm -q RPM_PACKET ##查询一个包是否被安装
[root@localhost yum.repos.d]# rpm -q httpd httpd-2.4.6-40.el7.centos.x86_64
rpm -qi RPM_PACKET ##得到被安装包的信息
[root@localhost yum.repos.d]# rpm -qi httpd Name : httpd Version : 2.4.6 Release : 40.el7.centos Architecture: x86_64 Install Date: Wed 28 Sep 2016 12:17:29 AM CST Group : System Environment/Daemons Size : 9806197 License : ASL 2.0 Source RPM : httpd-2.4.6-40.el7.centos.src.rpm Build Date : Fri 20 Nov 2015 05:45:11 AM CST Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://httpd.apache.org/ Summary : Apache HTTP Server Description : The Apache HTTP Server is a powerful, efficient, and extensible web server.
rpm -ql RPM_PACKET ##列出该包中有什么文件
rpm -qf FILE ##列出服务器上的一个文件属于哪一个RPM包