Linux系统分区 进程管理 软件包安装

时间:2023-03-08 18:23:27
Linux系统分区 进程管理 软件包安装

对于一块新的磁盘来说,系统能够使用需要有分区、格式化文件系统、挂载等主要操作,下面通过命令的方式对一块磁盘进行操作。

一、 Linux系统分区

1.1 在虚拟机开机前选择虚拟机配置,添加一个新的SCSI接口的硬盘,设定大小为15G

Linux系统分区 进程管理 软件包安装

Linux系统分区 进程管理 软件包安装

1.2 查看系统现在的磁盘情况

ls /dev/sd 通过tab按键可以查看/dev/sd挂载的硬盘,刚才添加的磁盘是第三块硬盘,所以名字是sdc,硬盘的命名就是以英文字母的顺序命名的

Linux系统分区 进程管理 软件包安装

1.3 对新添加的磁盘sdc进行分区

分区命令是fdisk /dev/sdc

Linux系统分区 进程管理 软件包安装

现在通过帮助信息开始操作

Linux系统分区 进程管理 软件包安装

1.3.4 新建分区

输入n,在选项中有两个,p和e,p是创建主分区,e是扩展分区。

给主分区添加5G

Linux系统分区 进程管理 软件包安装

扩展分区选择系统大小的时候,将剩余的全部空间给扩展分区,就选择默认

Linux系统分区 进程管理 软件包安装

主分区最多能创建4个,需要注意的是,如果先创建了4个主分区后就不能再创建扩展分区

逻辑分区是在扩展分区的基础上创建的

当再选择n创建的时候,选项就可以选择创建逻辑分区l,逻辑分区的默认标号是从5开始,为新创建的逻辑分区添加5G的空间

Linux系统分区 进程管理 软件包安装

最后通过w命令写入,完成分区,通过查看/dev/sdc下面的磁盘可以看出,分区已经完成

Linux系统分区 进程管理 软件包安装

2.1 对新创建的分区格式化

文件系统有很多种,当前最常用的文件系统是ext4,centos6采用的就是此文件系统,centos7采用的是xfs文件系统,这是未来的主流文件操作系统

查看当前文件系统的命令 df -T

Linux系统分区 进程管理 软件包安装

2.1.1将新建的主分区格式化成ext3

使用的命令是mkfs.ext3,当不知道的时候可以mkfs.+tab按键

Linux系统分区 进程管理 软件包安装

通过命令将mkfs.ext3 /dev/sdc1 格式化成ext3

Linux系统分区 进程管理 软件包安装

3 挂载分区

在根目录新建一个/sdc1用于挂载新建的主分区,使用mount进行挂载

Linux系统分区 进程管理 软件包安装

4 设置交换分区

4.1 查看交换分区

swapon -s 可以查看当前的交换分区,这个交换分区是当初安装系统的时候创建的

Linux系统分区 进程管理 软件包安装

4.2 将创建的逻辑分区设置成交换分区

mkswap命令用于在一个文件或者设备上建立交换分区

mkswap /dev/sdc5 将/dev/sdc5 设置成交换分区

Linux系统分区 进程管理 软件包安装

4.3 将设置的交换分区启用(激活)

swapon -a /dev/sdc5

通过swapon -s查看交换分区的状态

Linux系统分区 进程管理 软件包安装

通过swapoff /dev/sdc5就可以关闭启用的交换分区,重新启用下并查看

Linux系统分区 进程管理 软件包安装

二、查看内存以及内存的使用率

1 free命令查看内存

free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

free不加参数默认数据单位是字节,可以加-m,-g,分别以M、G为单位查看,下面是对比图

Linux系统分区 进程管理 软件包安装

Linux系统分区 进程管理 软件包安装

通过对比发现,以字节为单位的方式是最精确的,使用M更符合人的查看,使用G时误差较大

2 关于buffer和cache

buffer:通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储慢的数据先把数据存放到buffer,达到一定程度存储快的设备再读取buffer的数据。

cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。

总结一下就是,CPU、内存、硬盘之间存在速度差,为了解决这个问题,引入了buffer和cache,buffer是将没有写入的数据积累一定的量后一块写入,cache是将数据读入内存中的,下次可以直接使用

3 清空内存

echo 3 > /proc/sys/vm/drop_caches

Linux系统分区 进程管理 软件包安装

4 真实内存使用率

使用free命令查看内存的信息

Linux系统分区 进程管理 软件包安装

内存的使用率计算:

{used+(buff/cache)}/total=(519116+211236)/2172412=33.6%

5 使用dd命令测试硬盘的速度

dd if=/dev/zero of=/a.txt bs=2M count=1

if:input file

of:output file

bs:block size

Linux系统分区 进程管理 软件包安装

在测试的时候需要考虑真实物理内存的大小

二、进程管理

进程是一个资源单位,当执行一个命令的时候就会产生一个进程

1 查询进程

查询一个进程

ps命令直接查询全部的命令

ps aux |grep firewalld 查询到的进程pid是608

Linux系统分区 进程管理 软件包安装

2 杀死进程

想要杀死进程 kill -9 pid

-9是传递信息,所以只需要知道进程的pid就可以

Linux系统分区 进程管理 软件包安装

再次查看后,firewalld进程已经不存在了,下面的进程是执行的命令,每次执行一次命令都会产生一个进程

三、软件包管理

软件包的安装有两种方式,第一种是二进制文件安装,第二种是源码安装

1 rpm安装

rpm的全称是Redhat package Manager

1.1 将光盘挂载到/media

Linux系统分区 进程管理 软件包安装

Linux系统分区 进程管理 软件包安装

进入/media下查看Package文件,文件中存放的是安装的文件

Linux系统分区 进程管理 软件包安装

卸载命令是umount /media ,在当下的路径下的时候是不能卸载的,想要强制卸载,加上参数-l

Linux系统分区 进程管理 软件包安装

1.2 查看系统已经安装的rpm

  • 查看系统已经安装的rpm : rpm -qa

rpm -qa|less 可以将已经暗转的信息分屏输出

  • 查看时否安装了某个安装包,如dhcp

rpm -q 直接查看是否安装
rpm -qa |grep dhcp 是将所有安装过的过滤出来

Linux系统分区 进程管理 软件包安装

通过验证发现,已经安装了dhcp

  • 查看安装包的信息

rpm -qi dhcp

Linux系统分区 进程管理 软件包安装

  • 查看安装路径,里面包含的文件

Linux系统分区 进程管理 软件包安装

  • which ls 可以查看ls时由哪个软件包产生的

  • rpm -qf /bin/ls 查看ls是由哪个安装包产生的

Linux系统分区 进程管理 软件包安装

ls是怎么和文件建立联系的

ls----->sehll---->PATH(环境变量)------>user/bin/ls------->alias(别名)---->ls --->color =auto

通过which ls 可以查看ls命令的路劲,/user/bin/ls 的效果和ls是一样的,都能实现查看的功能,ls命令在此基础上添加了颜色自动高亮的功能

  • 卸载dhcp

rpm -e dhcp

这里注意的是dhcp不是全名,可以通过tab补全,之前的也已经通过-qa命令获得了全名

测试中发现想要卸载dhcp安装包,必须卸载dhclient,他们之间有依赖关系,想要卸载必须把他们的依赖全部卸载

Linux系统分区 进程管理 软件包安装

2 yum

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

采用rpm安装的时候,安装某个软件还需要安装相应的依赖,比较繁琐,通过yum就可以自动获取依赖关系并安装。

2.1 yum需要一个仓库(在本地自己创建yum仓库)

在系统光盘中Package目录下存放的就相当于一个仓库,有了仓库还需要相应的配置文件指向仓库。配置文件存放在/etc/yum.repo.d/中,这些事yum的网络配置文件

Linux系统分区 进程管理 软件包安装

2.2在本地自己定义yum仓库

在本地定义仓库的配置文件同样要放在/etc/yum.repo.d/,需要先把网络的配置文件保存到/tmp/bak中,这样做是为了自己严格控制版本

  • 自定义yum的配置文件

Linux系统分区 进程管理 软件包安装

  • yum安装httpd

yum repolist all 可以查看现在所有的yum源

Linux系统分区 进程管理 软件包安装

yum install httpd

Linux系统分区 进程管理 软件包安装

yum在安装的时候自动查找依赖并自动安装,下面是在安装的时候依赖自动安装

Linux系统分区 进程管理 软件包安装

yum -y install 不提示输入y

  • yum 删除httpd

卸载的时候不会把依赖删除

yum -y remove httpd

yum -y erase httpd

通过rpm -qa |grep httpd 查看已经安装了httpd

Linux系统分区 进程管理 软件包安装

  • 使用yum安装组件'KDE 桌面':yum –y groupinstall 组件名

在登录的时候可以选择KDE登录

Linux系统分区 进程管理 软件包安装

  • 删除组件KDE

yum -y groupremove KDE

  • 查找yum安装的软件包

yum search httpd

Linux系统分区 进程管理 软件包安装

3 使用源码安装Python

3.1 下载源码文件

从Python官网下载最新的Python3.6 source code

使用xshell5远程连接centos7,需要lrzsz软件实现ftp上传下载

3.2 安装编译器

源码需要编译,用到的是gcc

yum grouplist 可以查看仓库中的组件,我们需要的是开发工具,组件安装方式是

yum groupinstall '组件名'

Linux系统分区 进程管理 软件包安装

yum groupinstall 'Development tools'

Linux系统分区 进程管理 软件包安装

下面是安装过程,我们需要的就是gcc

Linux系统分区 进程管理 软件包安装

3.3 加压Python源码

使用tar xf /python3.6解压,进入解压后路径

Linux系统分区 进程管理 软件包安装

设置安装路径并执行脚本文件

Linux系统分区 进程管理 软件包安装

3.4 编译并安装

make && make install

Linux系统分区 进程管理 软件包安装

c出现错误提示,缺少zlib,yum 安装后重新 make install

Linux系统分区 进程管理 软件包安装

3.5 执行

进入Python3.6的安装路径下的bin文件 可以执行

Linux系统分区 进程管理 软件包安装

3.6 设置环境变量

Linux系统分区 进程管理 软件包安装

这样直接输入python3.6就能在终端中运行

Linux系统分区 进程管理 软件包安装

现在Python3.6能够在当前终端中运行,但是PATH接受的是临时变量,想要以后应用就要写入配置文件

vim /etc/profie

在最后面添加PATH=/usr/local/python3.6/bin:$PATH,保存后再在任何终端中输入Python3.6都能执行

PATH=$PATH:/user/local/python3.6/bin 添加了环境变量