简介 yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 yum命令 语法 yum [选项] [要进行的操作] [软件包名称……] 命令选项: -h:帮助 -y:当安装过程提示选择全部为”yes” -q:不显示安装的过程 yum常用命令 1.列出所有可更新的软件清单命令:yum check-update 2.更新所有软件命令:yum update / yum -y update(-y会升级所有包,改变软件设置和系统设置,系统版本内核都升级)/ yum -y upgrade(升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变) 3.仅安装指定的软件命令:yum install [包名称] 4.仅更新指定的软件命令:yum update [包名称] 5.列出所有可安裝的软件清单命令:yum list 6.删除软件包命令:yum remove [包名称] 7.查找软件包 命令:yum search [包名称] 8.清除缓存命令:yum clean packages: 清除缓存目录下的软件包 / yum clean headers: 清除缓存目录下的 headers / yum clean oldheaders: 清除缓存目录下旧的 headers / yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers 9、查询是否有需要安装某个软件 yum list | grep [软件名称] 以上这篇Linux yum软件包管理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
问题说明 近期一台主机报以下 kernel 信息: Jul 8 10:47:42 cztest kernel: ------------[ cut here ]------------ Jul 8 10:47:42 cztest kernel: WARNING: at net/ipv4/tcp_input.c:2269 tcp_mark_head_lost+0x113/0x290() Jul 8 10:47:42 cztest kernel: Modules linked in: iptable_filter ip_tables binfmt_misc cdc_ether usbnet mii xt_multiport dm_mirror dm_region_hash dm_log dm_mod intel_powerclamp coretemp intel_rapl iosf_mbi kvm_intel kvm irqbypass crc32_p clmul ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd ipmi_ssif ipmi_devintf ipmi_si mei_me pcspkr iTCO_wdt mxm_wmi iTCO_vendor_support dcdbas mei sg sb_edac edac_core ipmi_msghandler shpchp lpc_ich wmi acpi_p ower_meter xfs libcrc32c sd_mod crc_t10dif crct10dif_generic mgag200 drm_kms_helper crct10dif_pclmul crct10dif_common syscopyarea crc32c_intel sysfillrect sysimgblt fb_sys_fops igb ttm ptp drm ahci pps_core libahci dca i2c_algo_bit libat a megaraid_sas i2c_core fjes [last unloaded: ip_tables] Jul 8 10:47:42 cztest kernel: CPU: 10 PID: 0 Comm: swapper/10 Tainted: G...
运行命令:glxinfo | grep rendering 如果结果是“yes”,证明显卡驱动已经成功安装。 如果提示有问题,可能是系统里面没有安装mesa-utils,安装过程:在终端输入命令:sudo apt-get install mesa-utils 然后再运行命令:glxinfo | grep rendering 以上这篇在ubuntu下查看显卡驱动是否已经成功安装的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
ps:下面给大家介绍下Linux系统禁止root账号远程登录的方法,具体内容如下所述: 修改配置文件/etc/ssh/sshd_config,去掉PermitRootLogin前的注释,修改值为no,然后重启sshd服务即可 #LoginGraceTime 2m PermitRootLogin no #StrictModes yes MaxAuthTries 3 #MaxSessions 10 service sshd restart 执行该操作后root账号便无法远程登录,因此在此之前要先新建一个账号,并设置密码 useradd xiaowen passwd xiaowen ps:下面看下linux下禁止root远程登录和添加新用户 一、添加和root权限一样的用户 1、 adduser admin passwd admin (修改密码) 然后输入密码 (密码简单了通不过) 系统提示输入确认密码后再输入一次。OK添加成功。 2、修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示: vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALL admin ALL=(ALL) ALL 这个文件只读是一种保护机制,如果你使用vi编辑器的话,只要保存时使用:wq!就可以保存了。 或者使用visudo命令来进入sudoers文件的编辑,就可以正常保存 1)单行复制 在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制; 2)多行复制 在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3…… 2、粘贴 在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴 二、禁止root远程登录 需要编辑/etc/ssh/sshd_config。 vim /etc/ssh/sshd_config 找到 PermitRootLogin 改为 PermitRootLogin no 重启 service sshd restart 结束语: 这下就禁止了root用户登陆了 用admin登陆 。 搞这么复杂就是为了安全. 你只是禁止了root用户登陆,没有禁止别的用户,先用别的用户登陆,在 su root 切回root用户 切换到root用户还要在输如密码 总结 以上所述是小编给大家介绍的Linux系统禁止root账号远程登录的命令,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
前言 日常开发中,我们经常需要在服务器上进行各种文本,日志的查看操作,本文主要对常用的文本,日志查看技巧进行了一番总结和归纳,方便大家收藏起来后续查看使用: tail命令查看日志信息 实时监控日志: tail -f filename 实时监控10行日志信息: tail -10f filename 查看日志尾部的最后100行日志信息: tail -n 100 filename 查看日志100行之后的日志信息: tail -n +100 filename head命令查看文本信息 查看文本开始的头100行信息: head -n 100 filename 查看文本最后100行信息以上的内容 head -n -100 filename cat命令查看文本信息 查看全部文本内容 cat filename 查看文本的中间某些行范围之间的内容,例如说查看文本文件100-120行之间的内容: cat -n filename |tail -n +100|head -n 20 不过使用个人不是太喜欢使用这种命令来进行文本的定位查看,因为查看起来过于麻烦,文章下边会有更加简便的命令操作。 tac查看文本信息 和cat命令有点相反,cat命令更多的是从头部往尾部的顺序展现文本内容,而tac命令正好是从文本的尾部往头部展现日志内容 tac filename 例如说,我们通过cat命令和tac命令同时来查看一段相同的内容: 通过不同命令来展示文本,会发现文本的内容顺序有所相反。 搜索文本内容 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 grep命令的常用方式: 在多个文件中查找: grep "match_pattern" file_1 file_2 file_3 ... 标记匹配颜色 –color=auto 选项: grep "match_pattern" file_name --color=auto //【这里的color项可以根据文档说明进行选择always,never,auto三种】 输出除之外的所有行 -v 选项: grep -v "match_pattern" file_name 使用正则表达式 -E 选项: grep -E "[1-9]+" 只输出匹配到的内容选项: grep -o -E "[a-z]+." line 统计文件或者文本中包含匹配字符串的行数 -c 选项: grep -c "text" file_name 输出包含匹配字符串的行数 -n 选项: grep "text" -n file_name 在了解了grep命令能完成的功能点之后,我们可以在实际工作中灵活运用。 有些时候我们也会遇到一些希望查看某个时间段日志信息的需要,这个时候可以利用grep这条命令来实现这个功能,例如说希望查看2019-08-06 22点这一个小时以内的日志信息,那么可以输入以下命令: grep '2019-08-06 22' filename 这样可以快速定位到你所希望查看的信息范围。 由于grep命令是可以接收standard input的数据,因此我们通常可以借助管道命令符“ | ”的帮助,在一些标准输出进行中进行查找操作。 例如说,先将文件的内容读取出来,然后借助管道的帮助将内容转发给grep来进行内容过滤,如下边的这段命令: cat log.file |grep -n...
Gunicorn“绿色独角兽”是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目,使用pre-fork worker模式,具有使用非常简单,轻量级的资源消耗,以及高性能等特点。 安装gunicorn: $ sudo apt-get update $ sudo apt-get install gunicorn 运行gunicorn: $ gunicorn [OPTIONS] 模块名:变量名 模块名是python文件名,可以是完整的路径+python文件名;变量名是python文件中可调用的WSGI(Web Server Gateway ). 示例: # filename:test.py def app(environ, start_response): """Simplest possible application object""" data = 'Hello, World!\n' status = '200 OK' response_headers = [ ('Content-type','text/plain'), ('Content-Length', str(len(data))) ] start_response(status, response_headers) return iter([data]) 运行app: $ gunicorn --workers=2 test:app 常用配置参数: -c CONFIG, --config=CONFIG 指定一个配置文件(py文件). -b BIND, –bind=BIND 与指定socket进行绑定. -D, –daemon 以守护进程形式来运行Gunicorn进程,其实就是将这个服务放到后台去运行。 -w WORKERS, –workers=WORKERS 工作进程的数量。上边提到gunicorn是一个pre-fork worker模式,就是指gunicorn启动的时候,在主进程中会预先fork出指定数量的worker进程在处理请求时,gunicorn依靠操作系统来提供负载均衡,通常推荐的worker数量是:(2 x $num_cores) + 1 -k WORKERCLASS, –worker-class=WORKERCLASS 工作进程类型. 包括 sync(默认), eventlet, gevent, or tornado, gthread, gaiohttp. –backlog INT 最大挂起的连接数. –chdir 切换到指定的工作目录. –log-level LEVEL 输出error log的颗粒度,有效的LEVEL有: debug info warning error critical –access-logfile FILE 确认要写入Access log的文件FILE. ‘-‘ 表示输出到标准输出. –error-logfile FILE, –log-file FILE 确认要写入Error log的文件FILE. ‘-‘ 表示输出到标准错误输出....
天有不测风云,机房断电或者电源有出现问题的时候,会造成死机或者直接断电的现象,这个是比较正常的情况了。这些莫名其妙的死机会造成邮件系统的错乱,错乱了可使用下面的步骤进行紧急检查一下,切记只可在紧急的情况下运行,否则可能会对系统造成危害。 方法/步骤 开机的时候有出现下面的界面,看提示有按CTRL+D继续,按了CTRL+D会重启,再次回到这个界面。 在此界面输入下root的密码。会进入到修复模式。 在修复模式下,输入命令fsck –y /dev/mapper/VolGroup-lv_root 这个后面跟的路径就是你上面提示出错的那个路径,不要直接跟小编的。每个的路径都不同。 输入后,会在检查硬盘,这个过程看具体的情况而定,比如你的硬盘如果是T级别的话,那可能会需要一段时间,即使达到7-8小时也是正常的。最后在检查完事后,reboot重启下服务器。 重启完,就可以看到正常的登陆界面了,输入用户名,密码,就可正常的登陆了。 在此下面帖出一个鸟哥的fsck的命令说明。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
1.首先创建好文件(cd 到需要放置的目录下) touch myTest.py 2. 编辑myTest.py vi myTest.py 在里面添加内容 #!/usr/bin/env python 然后添加需要添加的代码 print(‘hello, world!’) 然后进入命令模式,:wq保存退出vi 3. 更改myTest.py的权限,根据需要更改,这里主要用于测试,不放设置777 chmod 777 myTest.py 4. 这是可以在当前目录中直接运行myTest.py(类似windows中直接执行exe) ./myTest.py 以上这篇linux直接运行py文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
在linux系统中有种文件是链接文件,可以为解决文件的共享使用。链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。 硬链接概念 硬链接(hard link, 也称链接)就是一个文件的一个或多个文件名 硬链接是指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号号(Inode Index)或者Inode,它是文件或者目录在一个文件系统中的唯一标识,文件的实际数据放置在数据区域(data block),它存储着文件重要参数信息,也就是元数据 (metadata),比如创建时间、修改时间、文件大小、属主、归属的用户组、读写权限、数据所在block号等 硬链接建立起来后,源文件和链接文件同步,修改任何一方文件都会被修改 建立链接可以节省空间,只需维护链接关系,不需要拷贝文件 软链接概念 软链接(也叫符号链接),类似于windows系统中的快捷方式,与硬链接不同,软链接就是一个普通文件,只是数据块内容有点特殊,文件用户数据块中存放的内容是另一文件的路径名的指向,通过这个方式可以快速定位到软连接所指向的源文件实体。软链接可对文件或目录创建。 软链接作用: 便于文件的管理,比如把一个复杂路径下的文件链接到一个简单路径下方便用户访问。 节省空间解决空间不足问题,某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中。 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。 硬链接和软链接的本质区别 硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件 硬链接的局限性 软链接可以跨文件系统;硬链接不可以 软链接可以对一个不存在的文件进行链接;硬链接不可以 软链接可以对目录进行连接,硬链接不可以 软链接克服了硬链接中的局限性。基于此,重点关注软链接。软链接又叫符号链接,相当于windows中的快捷方式。 建立软链接 ln -s src_file ln_file 删除软链接 rm ln_file 注:对于目录软练级 rm ln_dir 是删除软链接 rm ln_dir/ 是删除目录ln_dir中的文件,当然源目录中的文件也会删除(同步的嘛) 本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!
1.两种DMA映射类型 1.1. 一致性DMA映射(Consistent DMA mappings ) 主要用于映射长时间使用的区域。 CPU和DMA controller不需要考虑cache的影响。 这里的consistent实际上是coherent的概念,不能保证consistent,也就是说需要memory barrier来保证memory order。 1.2 流式DMA映射(streaming DMA mapping) 主要用于一次性DMA传输,传输完成后就会释放。 2.指定DMA设备的寻址范围 include/linux/dma-mapping.h // 用于一致性内存映射的映射范围 static inline int dma_set_coherent_mask(struct device *dev, u64 mask) // 用于流式内存映射的映射范围 static inline int dma_set_mask(struct device *dev, u64 mask); 3.DMA映射接口 3.1一致性DMA接口 分配较大DMA buffer // dev DMA控制器设备 // size 要分配的DMA buffer大小 // dma_handle 返回DMA buf的物理地址 // flag 分配标志 // 返回值 DMA buffer的虚拟地址 void *dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flag) // dev DMA控制器设备 // size 释放的DMA buffer大小 // cpu_addr DMA buf的虚拟地址 // dma_handle DMA buf的物理地址 void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr_t dma_handle) 分配较小DMA buffer,从dma poll中申请。 /** * dma_pool_alloc - 从dma poll获得一块一致性内存 * @pool: 产生内存块的dma pool * @mem_flags: GFP_* bitmask * @handle: 返回内存块的dma地址 */ void *dma_pool_alloc(struct dma_pool...