首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Linux系统编程】Linux 软件包管理器——yum

这篇文章我们要学习的是—— Linux 软件包管理器 yum。 1....那同样的: 在Linux上,也需要有一个类似于应用商店的东西,在对应的服务器端去帮助我们下载和安装Linux需要的一些软件。...那在Linux上,这个类似于应用商店的东西就是我们接下来要学习的yum——Linux 软件包管理器。...在Linux上提供软件的人群有不同的动机,包括推动开源精神、贡献社区、满足用户需求、商业利益等。他们的努力为Linux用户提供了丰富的选择,并促进了Linux生态系统的发展和壮大。...安装好我们就可以用了: 当然安装的时候如果你知道后缀也可以把后缀带上: 注意事项: 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.

25810

【Linux系统编程】Linux环境的搭建

系统编程 若有问题 评论区见 欢迎大家点赞收藏⭐文章 1.Linux 背景介绍 说起Linux,我们必须先要提起UNIX UNIX 发展的历史 1968 年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫...随着Linux操作系统飞速发展,各种集成 在Linux上的开源软件和实用工具也得到了应用和普及,因此, Linux也成为了开源软件的代名词。...3.官网 kernel官网 4.企业应用现状 Linux在服务器领域的发展 随着开源软件在世界范围内影响力日益增强, Linux服务器操作系统在整个服务器操作系统市场格局中占 据了越来越多的市场份额...国内如中标麒麟Linux、红旗 Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、 OEM等领域得 到了广泛应用。...但是,从系统的整体功能、性能来看, Linux桌面系统与Windows系列相比还有一定 的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。

10910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux软件安装与脚本编程

    软件安装下载miniconda国内镜像地址:wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shwget...conda install -y fastqc=0.11.74.查看当前环境所安装的软件conda list5.检测是否安装成功 -help环境变量:用于存储有关shell会话和工作环境的系统变量常见环境变量...命令 可以对文件的属性加权限脚本编程变量:环境变量、状态变量、位置参数变量、自定义变量,调用变量时,要在变量前面加一个 $ 符号• 环境变量:用于存储有关shell会话和工作环境的系统变量• 状态变量:...脚本:为了和普通文本文件区分开,通常shell脚本都会以 .sh 为后缀名其他脚本:在Linux中使用其他编程语言,需要在 shebang(释伴) 中定义解释器,Python 是 python/python2...连用• top :实时显示系统中各个进程的资源占用状况,按 q 退出• htop :优化过的 top 命令,界面更美观• ps :Process Status列出当前系统中运行的进程列表, 一般加上

    8300

    Linux编程(系统里的僵尸们)

    下图给出Linux进程从被创建(生)到被回收(死)的全部状态,以及这些状态发生转换时的条件: ?...3,刚被创建的进程都处于“就绪”状态,等待系统调度,内核中的函数sched( )被称为调度器,他会根据各种参数来选择一个等待的进程去占用CPU。...进程占用CPU之后就可以真正运行了,运行时间有个限定,比如20毫秒,这段时间被称为time slice,即“时间片”的概念。时间片耗光的情况下如果进程还没有结束,那么会被系统重新放入等待队列中等待。...当进程所等待的资源变得可获取时,又会被系统置为TASK_RUNNING状态重新就绪排队。...5,当进程收到SIGSTOP或者SIGTSTP中的其中一个信号时,状态会被置为TASK_STOPPED,此时被称为“暂停态”,该状态下的进程不再参与调度,但系统资源不释放,直到收到SIGCONT信号后被重新置为就绪态

    1.3K20

    Linux系统编程基础

    我们也不能将自己系统换成Linux系统,因为Linux系统并不适合日常办公使用,所以我们需要借助虚拟机来获得可用的Linux系统环境进行学习。 什么是虚拟机?...借助虚拟化技术,我们可以在系统中,通过软件:模拟计算机硬件,并给虚拟硬件安装真实的操作系统。 这样,就可以在电脑中,虚拟出一个完整的电脑,以供我们学习Linux系统。...FinalShell 我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便, 我们可以通过第三方软件,FinalShell,远程连接到Linux操作系统之上...Linux里的“应用商店” yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。...systemctl命令控制软件的启动和关闭 Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启。

    11910

    Linux系统进程编程(二)

    哈哈哈,听到僵尸两个字是不是有点小害怕,言归正传,在Linux系统中,我们要明白:进程在运行时是需要消耗系统资源(内存、IO),进程终止时理应完全释放这些资源(如果进程消亡后仍然没有释放相应资源则这些资源就丢失了...),所以linux系统设计时规定:每一个进程退出时,操作系统会自动回收这个进程涉及到的所有的资源(譬如malloc申请的内容没有free时,当前进程结束时这个内存会被释放,譬如open打开的文件没有close...但是操作系统只是回收了这个进程工作时消耗的内存和IO,而并没有回收这个进程本身占用的内存(8KB,主要是task_struct和栈内存),因为进程本身的8KB内存操作系统不能回收需要别人来辅助回收,因此我们每个进程都需要一个帮助它收尸的人...同时,linux系统规定:所有的孤儿进程都自动成为一个特殊进程(进程1,也就是init进程)的子进程。...\n", getpid()); return 0; } 输出结果: 说明:这里父进程先运行死掉了,但是我们后面并没有发现特殊进程init为1,而是908,这其实是跟ubuntu系统有关系的,真实是为

    1.8K10

    linux系统编程(3)

    [3]信号 (2)System 5 IPC对象进程间通信方式   [1]消息队列   [2]共享内存   [3]信号灯集 (3)socket通信 (4)Android系统中增加...Binder进程间通信方式 Linux 支持以上所有进程间通信方式 三 管道进程间通信 (1)无名管道 特点: 只能用于具有亲缘关系进程间通信(具有亲缘关系的进程具有数据拷贝动作...返回值: 成功返回0,失败返回-1 (2)管道读写规则  读端存在  ,写管道 ---->只要管道没有满,都可以写入数据到管道 读端不存在,写管道 ---->此时写管道没有意义,操作系统会发送...,返回值0 (3)有名管道 特点:可以用于任意进程间通信,它是一种特殊的文件,在文件系统存在名字,      而文件中存放的数据是在内核空间,而不是在磁盘上 1.创建一个有名管道文件...  子进程状态发生改变的时候,操作系统向父进程发送SIGCHLD,默认对它处理方式是忽略 typedef  void (*sighandler_t)(int); sighandler_t signal

    1K20

    【Linux系统编程】Linux背景知识

    1991年至1993年期间,许多人开始使用Linux,并且组织起来为Linux编写额外的软件和工具。这些努力使得Linux逐渐成为一种强大的操作系统。...随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词 总的来说,Linux的开源性是其成功和广泛应用的重要原因之一。...国内如中标麒麟Linux、红旗Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。...但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。...每个发行版本都基于Linux内核,并包含一系列的软件、工具和应用程序,以提供完整的操作系统。

    16510

    Linux软件卸载_linux系统怎么卸载一个软件

    大家好,又见面了,我是你们的朋友全栈君。 1.安装说明 configure作用:是源码安装软件时配置环境用的 他根据你的配置选项和你的系统情况生成makefile文件 为make 做准备。...执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为: #....卸载软件首先要知道软件包在系统中注册的名称。...键入命令: #查询到当前系统中安装的所有的软件包 rpm -q -a #查询pcre安装的软件包名称 rpm -q -a | grep "pcre" #查询rpm包安装到哪里 rpm -ql pcre...对名为[package name]的软件包进行卸载 rpm -e [package name] #由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。

    17.5K30

    linux系统下安装软件的命令(在linux下安装win系统)

    大家好,又见面了,我是你们的朋友全栈君。...RabbitMQ是用erlang分布式语言开发的,故需先安装erlang 下载erlang的tar包 : erlang下载 下载rabbitmq的包 : rabbitmq下载 下图为erlang下载界面...下图为RabbitMQ下载界面 首先连接到linux,切换至root用户,并cd至usr/local目录下,在该目录下使用如下命令新建erlang和rabbitmq文件夹 cd /usr...使用如下命令修改系统环境变量 vim /etc/profile 进入配置文件后,按i开始编辑,在空白处加入如下代码: #set erlang export ERLANG_HOME=$PATH:/usr/...页面,如下图所示则成功,并使用新创建的用户访问 至此linux系统下安装rabbitmq结束 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128379

    6.7K30

    Linux系统软件包的管理

    虽然使用源码编译安装可以具有提高速度个性化的定制等优点,但对于 Linux发行商来说,则不容易管理软件包,毕竟不是每个人都会进行源码编译的,如果能够将软件预先在相同的硬体与系统上面编译好在发布的话,不就能够让相同的...Linux 系统的一套管理机制....,使用 -Fvh 则是比较好的作法,因为没有安装的软件不会安装到你的系统,但是需要注意的是,如果你使用的是 -Fvh ,偏偏你的机器上没有安装该软件,那么该软件并不会被安装在你的 Linux 主机上面,...◆RPM 验证证书◆ 验证(Verify)的功能主要在于提供系统管理员一个有用的管理机制,作用的方式是使用 "/var/lib/rpm" 下面的数据库数据内容来比对目前 Linux 系统的环境下的所有软件信息...和Linux系统的应用程序管理器.最初于1998年发布,用于检索应用程序并将其加载到Debian Linux系统.Apt-get成名的原因之一在于其出色的解决软件依赖关系的能力.其通常使用.deb-formatted

    5.6K20

    【Linux系统编程】二、Linux进程概念

    进程的概念 ​ 进程(Process)是计算机中的一个具有独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。...书上称之为 PCB(process control block),而 Linux 操作系统下的 PCB 是: task_struct ​ 我们现在思考一个问题,我们写的程序是放在磁盘中的,当我们想要运行它的时候...在 Linux 中描述进程的结构体叫做 task_struct。 task_struct 是 Linux 内核的一种数据结构,它会被装载到 RAM(内存) 里并且包含着进程的信息。...2、通过访问 /proc 系统文件夹查看 ​ /proc 是 Linux 下专门用来存放进程的文件夹! ​ 其中这些数字文件夹,其实就是以 PID 为名称的进程! ​...) 之后,父子进程会执行后续代码,但是执行的先后次序这个是无法预料的~ 通过 fork() 的返回值 与 if语句分流,我们可以实现多进程编程!

    2200

    Linux系统编程:基本IO系统调用

    文件描述符 表示 宏 0 标准输入(stdin) STDIN_FILENO 1 标准输出(stdout) STDOUT_FINENO 2 标准错误(stderr) STDERR_FILENO 遵循Linux...open()系统调用 对文件进行读写之前,必须先打开文件。Linux提供了系统调用open()。...read()系统调用 文件打开后,就能够读文件了。read()是最基础、最常见的读取文件的机制。...系统调用write()时,数据从用户空间的缓冲区中拷贝到了内核空间的缓冲区,但并没有立即把数据写入磁盘中,这称为延迟写。延迟写的问题在于,如果在数据真正写入磁盘之前系统崩溃了,则数据可能丢失。...内核设置了一个时间,在该时间内将内核空间缓冲区上的数据写入磁盘,该时间称为"最大存放时效"。Linux系统也支持强制文件立即写入磁盘上,这在后面介绍。

    3.1K30

    Linux系统编程fork详解

    如果返回的pid_t等于0的话表示当前的进程是子进程,如果返回的pid_t是大于0的数说明当前的进程是父进程,如果返回-1说明出错并设置errno。...其中父进程的id为3912,子进程的id为3913,其中父进程的父进程应该为终端的进程,id为2149。  ...最开始的linux的创建子进程的实现方法是在子进程创建时就直接将父进程的所有内容复制到子进程中,但是这一操作会造成不必要的资源和时间的消耗。所以就有了读时共享,写时复制的机制。...系统会为子进程创建其自己的4G的虚拟内存,而虚拟内存又分为内核内存和用户内存,大小比为1:3。子进程的虚拟地址映射了父进程的虚拟地址所指向的物理内存,所以父子进程实际上共享了同一块物理内存。...那么对于父子进程来说它们应该是两个独立的进程,所以当父子进程对物理内存进行读的操作时,二者是共享的,但是如果父或子进程要进行写操作的时候,此时父进程才会将要操作的内容复制给子进程。

    2.3K30

    Linux系统下进程编程(一)

    ,记得刚开始学编程的时候,那时候就是从这里开始萌芽的。那么写了这么多函数,为啥要从这里开始“进门”呢,个人理解就是一种规定。...main()函数: 然而在我们Linux系统里面编程,它也是要准备一些前期工作的:它要有编译链接时的引导代码-------操作系统下的应用程序其实在main执行前也需要先执行一段引导代码才能去执行main...更加好理解就是我文章开头的那张照片里面显示那样,其实简单来理解,进程就我们在电脑上运行的一个应用软件。...在我们Linux系统有一些函数可以获得进程号:getpid(获得当前进程的ID)、getppid(获得父进程ID)、getuid(获取当前进程的用户ID,比如root用户或是普通用户)、geteuid(...它一般在Linux启动时开始执行,系统关闭时才结束。

    2.5K10

    【高级编程】Linux read系统调用

    比如 fork、clone、execve、exit等 那为什么一定要用系统调用来访问操作系统的内容呢,其实这可以看做对内核的保护,linux分为用户空间和内核空间,而用户空间是不允许访问内核空间的数据的...要实现系统调用,首先要能从用户空间切换到内核空间,这个切换在IA-32系统上是用汇编指令int $0x80来引发软件中断实现的。这部分内容一般是在C标准库中实现的。...引入 cache 层的目的是为了提高 linux 操作系统对磁盘访问的性能。 Cache 层在内存中缓存了磁盘上的部分数据。...文件的page cache结构 在 Linux 操作系统中,当应用程序需要读取文件中的数据时,操作系统先分配一些内存,将数据从存储设备读入到这些内存中,然后再将数据分发给应用程序;当需要往文件 中写数据时...缓存的目标是任何基于页的对象,这包含各种类型的文件和各种类型的内存映射。为了满足普遍性要求,linux使用定义在linux/fs.h中的结构体address_space结构体描述页高速缓存中的页面。

    6.2K110

    初识Linux · 系统编程done

    前言: 本文作为Linux系统编程的收尾工作,介绍的是些零碎的概念,比如死锁,可重入函数,自旋锁,读写锁等,其中死锁概念要重要些,对于自旋锁,读写锁来说都没有那么重要,所以咱们了解一下即可。...但需要注意的是,并不是所有的资源都可以改造成可共享使用的资源,并且为了系统安全,很多地方还必须保护这种互斥性。因此,很多时候都无法破坏互斥条件。...释放已占用资源:当进程请求新的资源得不到满足时,它必须立即释放保持的所有资源,待以后需要时再重新申请。但这种方法可能导致前一阶段工作的失效,并且反复地申请和释放资源会增加系统开销,降低系统吞吐量。...对于第三个条件: 当某个进程需要的资源被其他进程所占用的时候,可以由操作系统协助,将想要的资源强行剥夺。这种方式一般需要考虑各进程的优先级,并且实现起来比较复杂。...系统编程的文章就更新完了,大部分文章介绍的不是那么清楚的,博主会重制Linux系统编程的,算是对博主自己的一个交代啦,敬请期待!!

    4600

    Linux系统GIC介绍与编程

    **Interrupt Register, GICC_EOIR** 4.3 GIC编程 参考资料: 4.1 GIC介绍 ​ ARM体系结构定义了通用中断控制器(GIC),该控制器包括一组用于管理单核或多核系统中的中断的硬件资源...系统中的每个CPU核心都有一个单独的CPU接口。 中断在软件中由一个称为中断ID的数字标识。中断ID唯一对应于一个中断源。软件可以使用中断ID来识别中断源并调用相应的处理程序来处理中断。...呈现给软件的中断ID由系统设计确定,一般在SOC的数据手册有记录。...SGI既可以发给所有的核,也可以发送给系统中选定的一组核心。中断号0-15保留用于SGI的中断号。用于通信的确切中断号由软件决定。...在Distributor中,软件必须配置优先级、目标核、安全性并启用单个中断;随后必须通过其控制寄存器使能。 ​ 对于每个CPU interface,软件必须对优先级和抢占设置进行编程。

    2.5K20

    【Linux系统编程】进程状态

    那这么多的进程在操作系统内被CPU调度运行的时候呢其实并不是从一个进程运行开始,一直不停直到运行结束的,而是每个进程被CPU运行一会儿,操作系统都会把它从操作系统上拿下来,然后把另一个放上来运行,这样重复的快速交替运行的...因为这两个状态是操作系统中进程比较核心的两个状态,当然还有一个运行状态它相对比较好理解,我们后面针对具体的Linux操作系统去讲解。...而我们上面了解的内容其实就是基于操作系统这门课程来说的,可以认为它对于所有具体的操作系统都是成立的,可能比较抽象。 而我们下面呢,要针对一款具体的操作系统——Linux来学习一下进程的状态。...看看Linux内核源代码怎么说 一个进程可以有多个状态(在Linux内核里,进程有时候也叫做任务),那首先我们可以来看一下在kernel源代码里关于进程状态的定义: /* * The task state...所以,为了方便子进程退出后父进程或操作系统获取该进程的退出结果,Linux进程退出时,进程一般不会立即死亡,而是要维持一个Z状态即——僵尸状态。 等这个进程真正被回收了,它的状态就会变成X死亡状态。

    22310

    【Linux系统编程】操作系统的概念、定位 及系统调用

    所以就需要另一种软件——操作系统。 那下面我们就来谈一谈操作系统 1. 操作系统的概念和定位 首先要知道: 操作系统是一种软件,这个我们之前也提到过。...那软件的话通过上一篇文章的学习我们知道软件想要运行的话就要先加载到内存里,那其实我们计算机开机的时候就是在加载操作系统。 那操作系统是一款什么样的软件呢?...这个我们之前也提过,操作系统是一款进行软硬件管理的软件! 概念: 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。...比如校长告诉辅导员,让他下周一举办一个编程大赛,然后辅导员去落实,去准备,最后我们学生去执行。...比如有些操作系统上有人就基于系统调用接口写了图形化界面,有的操作系统设计者就基于系统调用接口写了shell和工具集,还有比如C语言里面的一些库函数或者Linux上的一些命令,我们可以直接使用,但他的底层可能就是去调用对应的系统调用去完成对应的操作

    16510
    领券