linux
文章平均质量分 58
wang@xing
这个作者很懒,什么都没留下…
展开
-
make menuconfig出现scripts/Makefile.host:108: recipe for target ‘scripts/kconfig/mconf.o‘ faile错误
解决方法apt-get install libncurses5-dev原创 2021-01-13 21:35:23 · 2124 阅读 · 1 评论 -
ubuntu16.04下ping出现network is unreachable解决方法
当在ubuntu16.04下ping baidu.com时出现network is unreachable时,解决方法就是添加一个默认网关。route add default gw 192.168.0.1这里我的计算机所在的网段是在192.168.0网段,所以我所添加的默认网关是192.168.0.1。...原创 2021-01-13 21:03:20 · 3455 阅读 · 0 评论 -
ubuntu16.04下vim的卸载与重新安装
一.卸载vimsudo apt-get remove vim vim-runtime vim-tiny vim-common vim-scripts vim-doc二.重新安装vimsudo apt-get install vim原创 2021-01-13 09:52:59 · 1095 阅读 · 0 评论 -
安装vmware tools后从浏览器复制字符后,在终端粘贴出现网址
在安装vmware tools后从浏览器复制字符后,在终端粘贴出现网址的解决方法,错误如下:此时,需要重新启动系统即可解决。原创 2021-01-13 09:50:36 · 159 阅读 · 0 评论 -
ubuntu16.04下安装vmware tools
一.vmware tools简介VMware Tools的主要作用是虚拟硬件的驱动,鼠标的无缝移出移入,剪贴板共享,共享主机上的文件夹等功能。二.vmware tools安装1.在菜单栏上的“虚拟机”上单机,出现如下图所示,然后点击安装VMware Tools。2.经过第一步后,会出现如下图所示,将VMwareTools-10.3.10-13959562.tar.gz安装包,放到自己选定的安装目录中,我这里放到了目录/home/wang/目录下。3.在终端下进入root用户解压缩VMwareTo原创 2021-01-13 09:46:18 · 3450 阅读 · 2 评论 -
linux下Systemd 入门教程:实战篇
一、开机启动对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。$ sudo systemctl enable httpd上面的命令相当于在/etc/systemd/system目录添加一个符号链接,指向/usr/lib/systemd/system里面的httpd.service文件。这是因为开机时,Systemd只执行/etc/system转载 2021-01-11 16:11:38 · 253 阅读 · 0 评论 -
linux下Systemd 入门教程:命令篇
一.由来历史上,Linux 的启动一直采用init进程。下面的命令用来启动服务。$ sudo /etc/init.d/apache2 start# 或者$ service apache2 start这种方法有两个缺点。一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。二、Systemd 概述Systemd 就是为了解决这些问题而诞生的。它的设计转载 2021-01-11 15:36:35 · 2220 阅读 · 0 评论 -
systemV和systemd的理解
一.systemV和systemd的关系在CentOS7(RHEL7)以后,服务从原来的由systemV管理机制升级到了systemd。二.systemV的理解在sysV中,所有的服务脚本都放在/etc/rc.d/init.d/中,可以使用/etc/rc.d/init.d/daemon [start|stop|restart|reload|status]方式来管理服务,默认的运行级别在/etc/inittab文件中定义,当系统以某个运行级别启动时,会运行/etc/rc.d/rcN.d/(其中N范围为0转载 2021-01-10 17:26:46 · 3651 阅读 · 1 评论 -
linux下服务的管理详解
一.服务管理的方式一类是可独立运行的服务,另一类是受xinetd管理的服务,而xinetd本身是一个独立运行的服务,用来负责管理一些不常用的服务,当这些服务需要被使用时,由xinetd来唤醒它们,当服务使用完后,这些服务会被结束以减少系统资源的占用。二.独立运行的服务独立服务的启动管理独立的服务要想启动,主要有两种方法。(1) 使用/etc/init.d/目录中的启动脚本来启动独立的服务既然所有独立服务的启动脚本都存放在 /etc/init.d/ 目录中,那么,调用这些脚本就可以启动独立的服务了转载 2021-01-10 17:16:57 · 378 阅读 · 0 评论 -
linux下/proc/pid/maps和pmap命令详解
一.示例代码:1.创建pmap.c文件:vi pmap.c2.输入如下内容:#inculde <stdio.h>int main(){ char *str; str = (char *) malloc(15); while(1) { ; } return 0;}3.编译pmap.c文件:gcc pmap.c -o pmap4.运行pmap可执行原创 2021-01-01 17:26:17 · 7652 阅读 · 8 评论 -
linux下安装qt教程
环境:ubuntu16.04qt:5.5.1一.安装qt1.下载 Qt Creator:(1)可以在linux下载 Qt Creator,运行如下命令:wget http://download.qt.io/new_archive/qt/5.5/5.5.1/qt-opensource-linux-x64-5.5.1.run(2)可以在windows下从官网下载好 Qt Creator后,复制到linux下。(3) 下载好后的Qt Creator如图所示:2.安装Qt Creator(1)原创 2021-01-03 10:38:39 · 14090 阅读 · 1 评论 -
linux下NUMA实战
环境:centos7一.NUMA介绍见我的上一篇博客NUMA介绍二.numactl工具numactl工具可用于查看当前服务器的NUMA节点配置、状态,可通过该工具将进程绑定到指定CPU core,由指定CPU core来运行对应进程。这个命令可以将某个进程绑定到某个node或某个node上的某个或某组核心上。1.安装numactl工具:yum -y install numactl2.numactl工具使用:numactl -H 查看当前服务器的NUMA配置。服务器共划分为4原创 2020-12-31 20:24:20 · 2776 阅读 · 1 评论 -
linux下numa详解
一.SMP介绍即对称多处理器结构,是指多个CPU对称工作,无主次或从属关系。各CPU共享相同的物理内存,每个 CPU访问内存中的任何地址所需时间是相同的,因此SMP也被称为一致存储器(UMA)。对SMP计算机进行扩展的方式包括增加内存、使用更快的CPU、增加CPU数量、扩充I/O(槽口数与总线数)以及添加更多的外部设备(通常是磁盘存储)。SMP服务器的主要特征是共享,系统中所有资源(CPU、内存、I/O等)都是共享的。也正是由于这种特征,导致了SMP服务器的主要问题,那就是它的扩展能力非常有限。对于SM原创 2020-12-31 19:39:28 · 3154 阅读 · 1 评论 -
linux下自己编写的内核模块的调度策略
环境:ubuntu16.04一.介绍在linux中为我们提供了内核接口让我们可以编写内核模块,将内核模块加入到内核中运行。但是内核模块是以何种策略来调度的?二.编写内核模块编写hello.c:vi hello.c在hello.c中输入如下代码://必要的头文件#include <linux/module.h>#include <linux/kernel.h>#include <linux/init.h>//模块许可证声明(必须)MODULE_LI原创 2020-12-29 10:13:59 · 1092 阅读 · 4 评论 -
Linux下内存、Swap、Cache、Buff详解
环境:ubuntu16.041.执行命令free输出如下:Mem:是内存的使用情况。total:总内存大小。used:已经使用的内存大小(这里面包含cached和buffers和shared部分)。free:空闲的内存大小。shared:进程间共享内存(一般不会用,可以忽略)。buff:内存中写完的东西缓存起来,这样快速响应请求,后面数据再定期刷到磁盘上。cached:内存中读完缓存起来内容占的大小(这部分是为了下次查询时快速返回)。*available:显示还可以被应用程序使用的物理内原创 2020-12-24 08:59:09 · 1247 阅读 · 2 评论 -
linux下oops与ksymoops、System.map和kallsyms的关系
ghggkjj原创 2020-12-21 20:19:10 · 654 阅读 · 1 评论 -
linux中Image、zImage、bzImage、uImage、vmlinux和vmlinux的区别
(1)vmlinux:是内核编译出来的原始的内核文件未经压缩的。是ELF格式的,但是我们一般不用。(2)Image:是 Linux 内核镜像文件,但是 Image 仅包含可执行的二进制数据。 Image 就是使用 objcopy 取消掉 vmlinux 中的一些其他信息,比如符号表什么的。但是 Image 是没有压缩过的, Image 保存在 arch/arm/boot 目录下。Image是经过objcopy处理的只包含二进制数据的内核代码,它已经不是elf格式了,但这种格式的内核镜像还没有经过压缩.o原创 2020-12-19 21:44:02 · 3068 阅读 · 2 评论 -
linux下Kconfig与.config和Makefile详解
一.linux内核中Makefile、Kconfig、.config的关系(1)三者的作用Makefile:一个文本形式的文件,编译源文件的方法。Kconfig:一个文本形式的文件,内核的配置菜单。.config:编译所依据的配置(2)三者的关系简单来说就是去饭店点菜:Kconfig是菜单,Makefile是做法,.config就是你点的菜。在运行make menuconfig后在配置界面中出现的就是Kconfig中的选项,在界面中看到的已经配置好的选项就是从.config中读取出来的,当配置完原创 2020-12-19 14:08:34 · 5313 阅读 · 2 评论 -
linux下syslogd详解
这个程序的命令行参数如下:syslogd [ -a socket ] [ -f config-file ] [ -h ] [ -l hostlist ] [ -m interval ][ -n ] [ -p socket ] [ -r ] [ -s domainlist ] [ -v ]参数说明:-a socket指定额外需要监听的 socket ,最多指定19个,可以通过修改 syslogd.c 文件中的 MAXFUNIX 宏修改这个默认值。如果你将某些进程在chroot环境下运行,那么这个选原创 2020-12-14 20:02:53 · 2474 阅读 · 1 评论 -
linux下日志系统详解
一. syslog简介syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录,随时掌握系统状况。UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。二 .syslogd和rsyslogdsyslog原创 2020-12-14 19:51:53 · 1597 阅读 · 0 评论 -
linux下readelf详解
http://lnmp.ailinux.net/readelf转载 2020-12-14 17:56:15 · 430 阅读 · 0 评论 -
linux下objdump详解
https://www.cnblogs.com/sky-heaven/p/8547950.htmlhttps://www.cnblogs.com/jrglinux/p/6942476.htmlhttps://blog.csdn.net/freeplayer/article/details/45133721转载 2020-12-14 17:49:12 · 919 阅读 · 0 评论 -
linux下nm详解
https://blog.csdn.net/qq_41017902/article/details/107363409转载 2020-12-14 17:23:14 · 315 阅读 · 0 评论 -
linux下addr2line详解
addr2line工具是一个可以将指令的地址和可执行映像转换为文件名、函数名和源代码行数的工具。这在内核执行过程中出现崩溃时,可用于快速定位出出错的位置,进而找出代码的bug。用法addr2line [-a| --addresses ] [-b bfdname | --target=bfdname] [-C | --demangle[=style]] [-e filename | --exe=filename] [-f | --function] [-s | --basename] [-i | --in转载 2020-12-14 16:17:42 · 5641 阅读 · 1 评论 -
gcc编译选项详解
-x language filename设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,例子用法:gcc -x c hello.pig-x none filename关掉上一个选项,也就是让gcc根据文件名后缀,自动识别文件类型例子用法:gcc -x c hello.pig -x none hello2.c-c只激活预处理,编译,和汇编,也就是只把程序做成obj文件例子用法:gcc -c hello.c原创 2020-12-14 15:37:04 · 1334 阅读 · 1 评论 -
linux下System.map的作用
1.符号的作用 简单的说符号就是一个函数名或者变量名。2.内核符号表 就像自己编写的C程序一样有自己的函数名与变量名一样,内核中也有变量名与函数名,所以就存在内核符号表。在编译linux内核时编译完后会存在一个叫System.map的文件,这个就是内核符号表文件。3.内核符号表的作用 当我们在使用gdb调试程序时,会输出变量名与函数名,但是在计算机运行时是不识别变量名与函数名的,是用的一个一个的地址,符号表就是用来做地址与变量或者函数名之间映射的。 由上面的分析可以知道System.map这原创 2020-12-13 20:56:11 · 733 阅读 · 1 评论 -
linux下klogd守护进程
1.klogd的介绍 klogd 是一个专门截获并记录 Linux 内核消息的守护进程。2.klogd的功能 (1).klogd的消息转发功能 klogd 将内核消息转发给 syslogd 进程,然后syslogd进程会将内核消息根据/etc/syslog.conf配置文件所设定的内容而进行分发。 (2)klogd的符号解析功能 klogd 会尝试将内核地址解析为对应的符号,默认情况下会去下面这些目录下去找寻符号表: /boot/System.map/System.map /u原创 2020-12-13 20:00:22 · 1767 阅读 · 2 评论 -
ubuntu16.04中安装anaconda和tensorflow详解
安装环境:VMware15.5+ubuntu16.04软件包:Anaconda3-4.2.0-Linux-x86_641.Anaconda安装bash Anaconda3-4.2.0-Linux-x86_64.sh回车后提示是否接受许可文件,输入yes回车,anaconda将安装在~/anaconda3目录下,然后提示是否添加环境变量,输入yes回车。在终端输入python发现依然是python自带的python版本,这是因为.bashrc的更新还没有生效,命令行输入:source ~/.bas原创 2020-12-11 15:19:33 · 171 阅读 · 1 评论 -
centos安装软件的时候,提示make: command not found
Centos中无法使用make,make install,命令 make: command not foundmake是gcc的编译器安装:yum -y install gcc automake autoconf libtool make安装g++:yum install gcc gcc-c++原创 2020-12-24 09:14:12 · 2409 阅读 · 0 评论 -
Linux-4.4-x86_64 内核配置选项简介
https://blog.csdn.net/lc250123/article/details/80857265?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160725584919195271628048%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160725584919195271628048&bi转载 2020-12-17 21:44:59 · 244 阅读 · 0 评论