linux菜鸟入门之服务管理与软件包的安装

来源:互联网 发布:比特大陆 知乎 编辑:程序博客网 时间:2024/05/16 14:35

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]# lsCentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repoCentOS-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 - Updatesmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful[extras]name=CentOS-$releasever - Extrasmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages[centosplus]name=CentOS-$releasever - Plusmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/gpgcheck=1enabled=0gpgkey=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, langpacksLoading 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 libmicrohttpdlibmicrohttpd-devel.x86_64 : Development files for libmicrohttpdlibmicrohttpd-doc.noarch : Documentation for libmicrohttpdhttpd.x86_64 : Apache HTTP Serverhttpd-devel.x86_64 : Development interfaces for the Apache HTTP serverhttpd-manual.noarch : Documentation for the Apache HTTP serverhttpd-tools.x86_64 : Tools for use with the Apache HTTP Serverlibmicrohttpd.i686 : Lightweight library for embedding a webserver in applicationslibmicrohttpd.x86_64 : Lightweight library for embedding a webserver in applicationsmod_auth_mellon.x86_64 : A SAML 2.0 authentication module for the Apache Httpd Servermod_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, langpacksLoading 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 httpdhttpd-2.4.6-40.el7.centos.x86_64

rpm -qi  RPM_PACKET  ##得到被安装包的信息

[root@localhost yum.repos.d]# rpm -qi httpdName        : httpdVersion     : 2.4.6Release     : 40.el7.centosArchitecture: x86_64Install Date: Wed 28 Sep 2016 12:17:29 AM CSTGroup       : System Environment/DaemonsSize        : 9806197License     : ASL 2.0Source RPM  : httpd-2.4.6-40.el7.centos.src.rpmBuild Date  : Fri 20 Nov 2015 05:45:11 AM CSTBuild Host  : worker1.bsys.centos.orgRelocations : (not relocatable)Packager    : CentOS BuildSystem <http://bugs.centos.org>Vendor      : CentOSURL         : http://httpd.apache.org/Summary     : Apache HTTP ServerDescription :The Apache HTTP Server is a powerful, efficient, and extensibleweb server.

rpm -ql  RPM_PACKET  ##列出该包中有什么文件


rpm -qf  FILE   ##列出服务器上的一个文件属于哪一个RPM包









0 0
原创粉丝点击