【吕城宇作业】计算机基础6

创建swap分区
linux 系统内存
free 命令和内存计算
alias 别名
软件包安装
yum命令详解
yum.conf
详解yum.repo文件
yum常用命令
有时候出现没有找到软件包的情况,需要安装外部源库
作业

创建swap分区

Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件。前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕。例如:安装redhat的时候,你可以默认划分硬盘空间,交换区的大小事系统默认配置,当你安装完系统后需要安装一个oracle数据库,突然发出警告,交换空间不够。此刻该怎么办?

  1. 查看交换分区的方式

    可以通过命令top,free命令查看当前的交换分区。也可以使用cat /proc/swaps查看交换分区

  2. 如何通过swap文件扩充交换空间的大小

例如:增加1G的交换空间

* dd if=/dev/zone of=/myswap bs=2k count=524288 //划分空间

* mkswap /myswap //格式成交换分区的格式

* swapon /myswap //使格式的swap生效

设置后,可以通过上面的命令查看时否生效。当启动系统后需要自动加载交互分区,可以在/etc/fstab文件中增加:/myswap swap swap default 0 0

  1. 如何通过swap分区的方式增加交换空间
  • 如果希望添加一个交换分区(这里假设希望把/dev/hdb5添加为交换分区),这个硬盘不能被正在使用(也就是分区不能被加载,交换空间没有被激活)。分区表在使用时不能被修改,因为内核可能无法正确识别分区表的变化。这样数据可能会写入到错误的分区,而导致数据被覆盖而丢失,因为内核维护的分区表跟硬盘上的分区表不一致造成的。

    解决这个问题最简单的办法是将系统引导进入急救(rescue)模式下进行操作。当提示扫描并加载文件系统时,选择跳过。如果硬盘上没有任何分区被使用,这样就可以卸载分区,使用swapoff命令来关闭该硬盘上所有的交换分区。

  • 使用parted创建交换分区

    以root身份运行: parted /dev/hdb

    在parted命令的提示符,输入print查看当前分区表,以及空闲空间。开始和结束值的单位是MB,然后计算有多少空闲空间,以及你希望划分多少空间给交换分区。

    在parted提示符后,输入mkpartfs part-tyep linux-swap start end,这里part-type是primary、extend或logical。start是分区开始点,end是分区结束点。

    输入exit退出parted

  • 现在已经创建了交换分区,使用mkswap命令设置交换分区:

    mkswap /dev/hdb2

  • 为了立刻激活swap分区,输入以下命令:

    swapon /dev/hdb2

  • 为了在启动时激活它,在/etc/fstab中添加如下内容:

    /dev/hdb2 swap swap defaults 0 0

    下次启动时,系统会自动激活该交换分区。

  • 添加了新分区,并激活它以后,可以通过cat /proc/swaps或者free来查看该交换分区是否已经工作。

linux 系统内存

linux的内存管理机制与windows的有所不同。具体的机制我们无需知道,我们需要知道的是,linux的内存管理机制的思想包括(不敢说就是)内存利用率最大化。内核会把剩余的内存申请为cached,而cached不属于free范畴。当系统运行时间较久,会发现cached很大,对于有频繁文件读写操作的系统,这种现象会更加明显。

直观的看,此时free的内存会非常小,但并不代表可用的内存小,当一个程序需要申请较大的内存时,如果free的内存不够,内核会把部分cached的内存回收,回收的内存再分配给应用程序。所以对于linux系统,可用于分配的内存不只是free的内存,还包括cached的内存(其实还包括buffers)。

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的采集流程图。

/proc/meminfo 信息如下:

  • 需要使用的指标有:MemTotal ,MemFree,Buffers,Cached

    MemTotal:总内存大小

    MemFree: 空闲内存大小

    Buffers和Cached:磁盘缓存的大小

    Buffers和Cached的区别:

    buffers 是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.

    cached 是用来给文件做缓冲。

    buffers 是用来存储目录里面有什么内容,权限等等。

而cached直接用来记忆我们打开的文件,比如先后执行两次命令#man X,你就可以明显的感觉到第二次的开打的速度快很多。而buffers随时都在增加,比如先后两次使用ls /dev后,就会发现第二次执行的速度会较第一次快。

这就是buffers/chached的区别。

free 命令和内存计算

$ free -m
             total       used       free     shared    buffers     cached
Mem:         1002        769        232          0         62        421
-/+ buffers/cache:        286        715
Swap:         1153          0       1153
---------------------------
真实内存占用 = used-buffers-cached = 286

alias 别名

alias xxx = ‘commond‘

软件包安装

rpm -ivh softname.rpm

rpm -ql 软件包名

-qi

-qf

-q

-qa

-e swname #卸载

yum可以解决依赖性,但是rpm不可以

yum命令详解

yum.conf

[main]
cachedir=/var/cache/yum         #yum下载的RPM包的缓存目录
keepcache=0             #缓存是否保存,1保存,0不保存。
debuglevel=2             #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。
logfile=/var/log/yum.log         #yum的日志文件所在的位置
exactarch=1             #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。
obsoletes=1             #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
gpgcheck=1             #是否检查GPG(GNU Private Guard),一种密钥方式签名。
plugins=1             #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。
installonly_limit=3         #允许保留多少个内核包。
exclude=selinux*         #屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。
#       This is the default, if you make this bigger yum won‘t see if the metadata
# is newer on the remote and so you‘ll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don‘t keep old packages around. If you don‘t like this checking
# interupting your command line usage, it‘s much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE or IN separate files named file.repo
# in /etc/yum.repos.d

详解yum.repo文件

什么是repo文件?

repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!

我们以一份系统自带的repo文件做为实例来探讨(#号后面是我加的注释):

[fedora]      #方括号里面的是软件源的名称,将被yum取得并识别
name=Fedora $releasever - $basearch   #这里也定义了软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,$releasever变量定义了发行版本,通常是8,9,10等数字,$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……
failovermethod=priority   #failovermethod 有两个值可以选择,priority是默认值,表示从列出的baseurl中顺序选择镜像服务器地址,roundrobin表示在列出的服务器中随机选择
exclude=compiz* *compiz* fusion-icon* #exclude这个选项是后来我自己加上去的,用来禁止这个软件仓库中的某些软件包的安装和更新,可以使用通配符,并以空格分隔,可以视情况需要自行添加
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#上面的一行baseurl第一个字符是‘#‘表示该行已经被注释,将不会被读取,这一行的意思是指定一个baseurl(源的镜像服务器地址)
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
#上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。
选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:
baseurl=
ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os
http://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os
http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os
enabled=1 #这个选项表示这个repo中定义的源是启用的,0为禁用
gpgcheck=1 #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定义用于校验的gpg密钥

[name]

name = xxxxx #baseurl = file:///opt

baseurl = http://ip

enable = 1

gpgcheck = 0

yum常用命令

yum clean all #清除缓存

yum makecache #建立缓存

yum grouplist #yum安装包组列表

yum groupinstall ‘软件组‘

yum install epel-* -yum

有时候出现没有找到软件包的情况,需要安装外部源库

yum -y install xxxxx #安装

yum erase xxxxx #卸载

yum remove xxxxx #卸载

yum reinstall xxxxx #重新安装

yum update #包括内核系统更新

yum upgrade #仅更新软件

防止默认更新,需要在yum配置文件中修改默认选项

  • 创建软件源

    download rpm -------------> cangku_httpd

    yum install createrepo -y

    createrepo /cengku_hettpd

    pwd

cat httpd.repo

yum groupinstall

tar xvf Py…

cd /root/P….

.

作业<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

时间: 2024-08-03 16:59:53

【吕城宇作业】计算机基础6的相关文章

【吕城宇作业】计算机基础9

正则表达式grep命令sed命令语法options 部分command 部分作业正则表达式及字符处理作业三:Sed作业:以/etc/passwd文件为模板 正则表达式 ^ 行首 $ 行尾 . 除了换行符以外的任意单个字符 * 前导字符的零个或多个 .* 所有字符 [] 字符组内的任一字符 [^] 对字符组内的每个字符取反(不匹配字符组内的每个字符) ^[^] 非字符组内的字符开头的行 [a-z] 小写字母 [A-Z] 大写字母 [a-Z] 小写和大写字母 [0-9] 数字 \< 单词头 单词一般

【吕城宇作业】计算机基础4

linux中的权限管理手工创建一个用户linux文件系统权限 linux中的权限管理 手工创建一个用户 [[email protected] ~]# vim /etc/passwd [[email protected] ~]# vim /etc/passwd [[email protected] ~]# vim /etc/shadow [[email protected] ~]# vim /etc/shadow [[email protected] ~]# vim /etc/group [[em

【吕城宇作业】计算机基础7

nginx yum install epel-release -y systemctl disable firewalld systemctl start nginx systemctl status nginx vim /etc/nginx/nginx.conf systemctl reload nginx 正向代理与反向代理 正向代理为知道目标服务器的请求没,通过中间代理服务器去访问目标服务器 反向代理为不知道目标服务器,通过访问访问代理服务器去获取服务 负载均衡 三种调度算法 轮询(默认)

代写大作业、代写大学计算机基础编程

代写大作业.代写大学计算机基础编程<大学计算机基础>常规班大作业题目 要求:从下列题目中,选择1道题目作为大作业,实现程序并撰写实验报告:文科学生可以选做任何题目,理科学生不可以选做"文科题目". 作业一 信息录入与查找系统 设计一个信息录入与查找系统,使其具有基本身份信息的录入功能,并能在录入的数据中根据一个或多个查找关键字查询出所有符合条件的人.具体要求如下: 1. 设计一个 GUI 界面,其中具有多个输入框,对应姓名.性别.年龄.血型.星座.身高.体重等数据:并有确定

学习linux-基础一(计算机基础)

计算机基础 一.计算机系统组成 计算机系统由硬件(Hardware)系统和软件(Software)系统两部分组成: 二.冯·诺依曼体系 服务器存储类型 DAS:直接连接存储,存储直接与服务器连接,类似在服务器上直接加入存储,用IDE.SATA等线缆相连接 NAS:网络连接存储,通过局域网,在多个服务器直接实现了文件共享,类似NFS.Windows共享模式 SAN:存储区域网络,有SAN的服务端和SAN的客户端, 四.ABI和API ABI:应用程序二进制接口,在应用程序和操作系统之间 API应用

3月7日课程作业 信息化基础知识、信息化系统服务管理

3月7日课程作业  信息化基础知识.信息化系统服务管理 信息化基础知识 1.国家信息化体系要素 a) 信息化技术:是信息化体系六要素的龙头. b) 信息化资源:是国家信息化的核心任务,是国家信息建设取得实效的关键,也是我国信息化的薄弱环节.信息资源开发和利用的程度是衡量国家信息化水平的一个重要标志. c) 信息网络:是信息资源开发利用和信息技术应用的基础.通常将信息网络分为电信网.广播电视网和计算机网络.三网的发展方向将逐步实现三网融合. d) 信息技术和产业:是我国进行信息化建设的基础. e)

计算机基础课程对编写代码有多大影响

相信很多计算机专业刚步入社会开始编程工作的同学都有一个疑惑,大学四年学的计算机基础课程对编程来说几乎用不上,远远没有C/C++.Java.Java Web.sql有用.我当时也有这样的疑惑,因为大部分程序员刚开始工作的任务仅仅只是在别人搭好的框架下,在合适的地方添加上合适的代码,实现某个功能.在这个阶段有这样的疑惑是可以理解的,因为只是在山脚下看问题,不知庐山真面目.在这个阶段有些有心的同学可能会在编码过程中考虑下性能(方法级别的性能),合理使用集合类,合理采用一些算法,减少循环次数和时间复杂度

*1 计算机基础和操作系统基础及几大协议

计算机基础和操作系统基础 计算机为什么叫电子计算机(因为他永远是二进制来运行) 计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机.可分为超级计算机.工业控制计算机.网络计算机.个人计算机.嵌入式计算机五类,较先进的计算机有生物计算机.光子计算机.量子计算机等. 计算机发明者约翰·冯·诺依曼.

mooc 计算机基础 笔记

在中国MOOC上看了计算机基础的教学视频顺便做个笔记 mooc 计算机基础 操作系统基础 -操作系统 -操作系统就是用于管理和控制计算机软硬件资源的一组程序 -满足的两大需求:其高资源利用率,增强系统性能 系统<按系统功能分类> 批处理系统 作用:自动,成批处理用户的作业 分时操作系统 -作用:各终端用户共享主机和外部设备 -实现:CPU按"时间片"分时给各用户 实时操作系统 系统能够及时响应随机发生的外部事件,并要快速处理 网络操作系统 -工作站共享网络上的软硬件资源 常