Linux安装管理

news/2024/5/19 11:19:00

Linux安装管理

RPM Package Manager

RPM是一个强大的命令行驱动的软件包管理工具,用来安装、卸载、校验、查询和更新 Linux 系统上的软件包。

  • RPM软件的安装、删除、更新只有root权限才能使用
  • 对于查询功能任何用户都可以操作
  • 如果普通用户拥有安装目录的权限,也可以进行安装

为什么需要rpm

在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的程序,但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装,配置,卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个较好的办法来管理成千上百的软件。这就是RPM管理系统。在系统中安装了rpm管理系统以后, 只要是符合rpm文件标准的打包程序都可以方便地安装、升级、卸载。

软件包文件名中的i386、i686是什么意思

rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构的信息。

  • i386指这个软件包适用于intel 80386以上的x86架构的计算机(AI32)
  • i686指这个软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机(IA32)
  • noarch指这个软件包与硬件架构无关,可以通用。

i686软件包通常针对CPU进行了优化,现在通常配置的机器都可以使用i686软件包。

查看系统中所有已经安装的包,要加 -a 参数 rpm -qa
如果要查找某个软件包,可以用 grep 抽取出来 rpm -qa
rpm -ivh file.rpm这个是用来安装一个新的rpm包
rpm -e mplayer , 卸载mplayer

如果有其它的rpm依赖于该rpm包,系统会出现警告
如果一定要卸载,可以用选项 --nodeps 忽略依赖关系。但最好不要这么做。

yum安装

Yum是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记

yum的一切信息都存储在一个叫yum.reops.d目录下的配置文件中,通常位于/etc/yum.reops.d目录下。在这个目录下面有很多文件,都是.repo结尾的,repo文件是yum源(也就是软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。

网易等yum源是国内的yum源,无论是速度还是软件版本,都非常的不错。将yum源可以设置为aliyum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

Centos配置yum源 /etc/yum.reps.d/

备份你的原镜像文件,以免出错后可以恢复。

  • mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup

下载新的CentOS-Base.repo 到/etc/yum.repos.d

  • wget -O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo

执行yum源更新

  • yum clean all 清理缓存
  • yum makecache 更新缓存
  • yum update 系统升级

Linux安全性模型

1、Linux使用User用户和Group群组控制使用者对文件的存取权限
2、用户使用账号和口令登录Linux
3、每个文件都有owner,并且owner属于某个Group
4、每个程序都有owner和Group

1、每个用户都有一个唯一的User ID
2、User的信息存储在/etc/passwd文件中,其中存储存储用户名和home目录等信息,一个用户对应一行数据。例如 root❌0:0:root:/root:/bin/bash这些用户中的绝大多数是系统或服务正常运行所必需的用户,一般把这种用户称为系统用户或伪用户。系统用户是不能登录系统的,但是这些用户同样也不能被删除,因为一旦删除,依赖这些用户运行的服务或程序就不能正常执行,会导致系统问题。

  • 第一个字段中保存的是用户名称。不过注意,用户名称只是为了方便管理员记忆,Linux系统是通过用户ID(UID)来区分不同用户、分配用户权限的。而用户名称和UID的对应正是通过/etc/passwd 这个文件来定义的
  • 密码标志,例如root用户为x,这里的x代表的是密码标志,而不是真正的密码,真正的密码是保存在/etc/shadow文件中的,这个文件使用八个冒号分割了9部分,其中密码是采用md5单向加密存放的。如果x位置为空则表示可以没有密码登录
  • 三个字段就是用户ID,系统是通过UID来识别不同的用户和分配用户权限的。这些UID是有使用限制和要求的。0超级用户UID。如果用户UID为0则代表这个账号是管理员账号
    在Linux中如何把普通用户升级成管理员呢?只需把其他用户的UID修改为0就可以了。不过

不建议建立多个管理员账号。 1–499系统用户(伪用户)UID。这些UID是系统保留给系统用户的UID,也就是说UID是1–499范围内的用户是不能登录系统的,而是用来运行系统或服务的。其中1–99是系统保留的账号,系统自动创建;100-499是预留给用户创建账号的。500–65535普通用户UID。建立的普通用户UID从500开始,最大到65535。

  • 第四个字段就是用户的组ID,即GID,也就是这个用户的初始组的标志号
  • 第五个字段是这个用户的简单说明,没有什么特殊作用,可以不写
  • 第六个字段是这个用户的家目录,也就是用户登录后有操作权限的访问目录,这个目录称为用户的家目录。超级用户的家目录是/root目录,普通用户在/home/目录下建立和用户名相同的目录作为家目录,如yan用户的家目录就是/home/yan/目录
  • 第七个字段代表这个用户登录后运行的shell程序,一般都是bin目录的脚本。手工添加yan用户,它的登录shell默认是/bin/bash,那么这个用户就可以使用普通用户的所有权限。如果把yan用户的
    shell修改为/sbin/nologin,那么这个用户就不能登录了,因为/sbin/nologin就是禁止登录的shell。如果在这里放入的系统命令,如/usr/bin/passwd,那么这个用户可以登录,但登录之后就只能修改自己的密码了。这里不能随便写入和登陆没有关系的命令,如ls,否则系统不会识别这些命令,也就意味着这个用户不能登录。

用户群组
1、每个User都属于一个Group,具有唯一的标识符gid

2、Group信息存储于/etc/group文本数据库中,其中包含【组名称:x表示必须使用密码才能登陆:这个group对应的gid:这个group的成员】4个部分,也可以针对group设置密码,其密码存放在/etc/gshadow文件中,一般不对group设置密码。

3、系统会为每个User关联一个和User同名的Group

  • 1)每个User至少存在于自己同名的Group中
  • 2)User也可以加入其他的Group

4、在同一个Group中的成员可以共享其他成员的文件

用户操作

创建新用户

useradd [-u UID] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明] [-d 家目录] [-s shell]

  • 添加一般用户useradd tt
  • 为添加的用户指定相应的用户组useradd -g root tt
  • useradd -u 510 yan2创建一个用户yan2,其用户id为510
  • useradd -u 520 -g yan1 -G yan2 -d /home/yantest yan3
  • 切换用户su - yan3然后用pwd会发现home目录为指定的/home/yantest,而不是默认的/home/yan3
  • groups查看当前用户所属群组,第一个是默认群组,后面是次要群组

删除用户

userdel [-r] username

-r:连同用户的家目录一起删除,否则只会删除用户。事实上基本很少删除用户,因为这是一个风险很大的操作,一般都是冻结用户而已

修改口令

  • passwd修改密码
  • 不带参数只是修改当前用户密码,如果后面跟用户名,则是修改指定用户的密码
  • 如果是root用户修改则不需要输入当前密码,如果不是root用户则需要先输入当前密码,然后才能修改密码

锁定用户

  • 锁定root账号:usermod -L root
  • 解除锁定: usermod -U root
  • 如何查看账户被锁定:cat /etc/shadow
  • 被锁定账户的加密字段前面会有!或者

修改权限chmod

文件权限的改变有两种方式,分别可以用数字和符号来修改文件权限

数字设置
使用一组三位数字来表示,例如chmod 777 abc。第一组代表owner的权限;第二组代表group的权限;第三组代表others的权限

  • r读权限,用数字4表示、w写权限,用数字2表示、x执行权限,用数字1表示、减号视作0

chmod 755 a.txt

chmod 600 my/ 修改文件夹的命令

chmod [-R] mode file。其中-R表示递归处理,默认情况下只处理对应目录内容,其子目录中的内容不受影响 my文件夹和里面的文件权限都是不同的chmod -R 777 my/

符号设置

有三种身份:owner文件所有者、group同用户组、others其他非本用户组 chmod ugo+r file1.txt 将档案 file1.txt 设为所有人皆可读取

  • 操作符号+增加权限 -取消权限 =唯一设定权限三种

chmod a+r file1.txt 将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入

文本编辑器
vim是由vi发展起来的文本编辑器,有语法高亮显示、多视窗编辑、代码折叠等,常用工作模式有普通模式、插入模式、命令模式三种,普通模式实现光标移动;插入模式实现文本的基本编辑;命令模式通过:开头,指定实现特定的功能

  • yum install vim
  • 安装完成后开始配置vim:vim /etc/vimrc
  • set nu 设置显示行号

上次vim非正常关闭会导致swap文件没有清除,可以将以点开始的隐藏文件删除即可操作。隐藏文件与原始文件处于相同目录,文件名一般【.原始文件名.后缀。swap】

命令a/i插入,dd删行,yy赋值行,p粘贴

:wq存储退出,:q!强制退出,:s文本查找

tar打包与解包文件

tar -cf etc.tar /etc/ 将/etc目录打包为etc.tar,参数-c创建打包文件,-f打包后的文件名,-z通过gzip格式压缩

tar -f etc.tar /abc.log 追加文件到打包的etc.tar文件中

tar –xzvf etc.tar -C /tmp 解压到/tmp目录下,-x解压,-z为zip格式解压缩,-f指定文件名,-v校验

文件压缩

gzip aa.txt 文件压缩后为aa.txt.gz,加上-d参数解压

bzip2 aa.txt 文件压缩后为aa.txt.bz2,加上-d参数解压

linux启动过程

可以分为5个阶段:内核的引导、运行Init、系统初始化、建立终端、用户登录系统

操作系统 —— /boot —— init进程 —— 运行级别 —— /etc/init.d —— 用户登录

  • 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动
  • 操作系统接管硬件以后,首先读入 /boot 目录下的内核文件
  • init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init 程序首先是需要读取配置文件 /etc/inittab
  • 许多程序需要开机启动。在Linux叫做守护进程daemon。init进程的一大任务,就是去运行这些开机启动的程序。但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。Linux允许为不同的场合,分配不同的开机启动程序,这就叫做运行级别runlevel。也就是说,启动时根据运行级别,确定要运行哪些程序。

Linux系统有7个运行级别(runlevel):
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

  • 在init的配置文件中有这么一行 si::sysinit:/etc/rc.d/rc.sysinit
    ,它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash
    shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。
  • rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。init接下来会打开6个终端,以便用户登录系统。
  • 用户登录系统。一般来说用户的登录方式有三种:1)命令行登录。2)ssh登录。3)图形界面登录

linux关机
在linux领域内大多用在服务器上,很少遇到关机的操作,除非特殊情况下,不得已才会关机。

正确的关机流程为:sync > shutdown > reboot > halt

关机指令为:shutdown

sync 将数据由内存同步到硬盘中
shutdown –h now 立马关机
shutdown –h +10 十分钟后关机
reboot 就是重启,等同于 shutdown –r now
halt 关闭系统,等同于shutdown –h now 和 poweroff


http://www.niftyadmin.cn/n/3372062.html

相关文章

[原创]PHP 异常错误处理

目录 错误与异常异常类错误类(PHP > 7)错误错误报告级别错误报告设置全局异常处理程序全局错误处理函数无法捕获的错误类型范例代码开发/生产环境处理错误和异常开发环境生产环境php中止时的回调函数错误与异常 错误和异常 在PHP 中不一样的, 它们都表明代码出现问题, 且都能…

java的相关信息

今天正式学习Java,先了解一下java的相关信息,冲鸭 概述程序 程序算法(解决问题的步骤)数据结构(如何高效的存储和使用数据) 为什么需要编程语言 用户:有亟待解决的问题–问题空间,使用自然语言进行描述 计算机:能…

09.软件项目管理与敏捷方法——人力资源管理笔记

00.项目中的人力资源管理指的是组织和管理项目团队的过程。 01.当项目团队中的每个人(包括领导者和成员)都可以自由地发挥它们的最大潜力的时候,这个项目团队将会变得力量无穷。在这样一个项目团队中,领导者可以做的最好的事就是允…

今天学习Java的运算符和几种基础的语句

先记录一下之前没有注意到的一些东西 valueOf和parseInt的区别 public static Integer valueOf(String s) throws NumberFormatException 返回值得类型为包装 类,底层实现其实就是parseInt public static int parseInt(String s) throws NumberFormatException …

(水题)洛谷 - P1014 - Cantor表

https://www.luogu.org/problemnew/show/P1014 很显然同一对角线的和是相等的。我们求出前缀和然后二分。 最后注意奇偶的顺序是相反的。 #include<bits/stdc.h> using namespace std; #define ll long longint prefix[100005];int init(){prefix[1]1;for(int i2;i<65…

Linux btrfs之查看btrfs文件系统

-m 指定显示被挂载的btrfs -d 显示全部的btrfs 默认选项 本文转自 yueyue207 51CTO博客&#xff0c;原文链接:http://blog.51cto.com/yueyue207/2082410

今天针对之前学习到的语句,做了一些比较典型的练习题。

这些题可以很好的锻炼这些语句的综合运用&#xff0c;大家也可以试试。 九九乘法口诀表 public class Test7 {public static void main(String[] args) {for(int i1;i<9;i) {//控制行数for(int k1;k<i;k) {//控制每行的列数System.out.print(k"*"i"&quo…

2019寒假训练营第一次作业

2019寒假训练营第一次作业 1.在人生技能道路上&#xff0c;你有没有专长的高超技能获取的成功经验&#xff1f;你有什么技能比大多人&#xff08;超过70%以上&#xff09;更好&#xff1f;&#xff08;学习&#xff0c;棋类&#xff0c;球类&#xff0c;乐器&#xff0c;艺术&a…