Linux
文章平均质量分 68
yanerhao
信雅之言,微言大意
展开
-
Linux下基于root新建用户,以user_00为例
linux新用户原创 2023-01-06 14:49:12 · 1064 阅读 · 0 评论 -
centos7安装docker
前提条件目前,CentOS仅发行版本中的内核支持Docker。Docker运行在CentOS7上,要求系统为64位、系统内核版本为3.10以上。Docker运行在CentOS-6.5或更高的版本的CentOS上,要求系统为64位、系统内核版本为2.6.32-431或者更高版本。1 首先查看centos版本及内核测试机器是centos7 且内核版本是3.10以上,故满足要求。2 卸载旧版本(如果以前安装过)yum remove docker docke...原创 2020-12-14 17:13:00 · 122 阅读 · 0 评论 -
vim在docker中按上下左右键失效出现:error388 couldn‘t find definition
找到vim的vimrc文件vim /etc/vimrc然后在该文档的最后加入:set term=builtin_ansi,然后保存退出原创 2020-12-01 10:52:46 · 494 阅读 · 0 评论 -
磁盘文件系统
1 首先介绍一下磁盘结构信息存储在硬盘里,硬盘是由很多的盘片组成,通过盘片表面的磁性物质来存储数据。把盘片放在显微镜下放大,可以看到盘片表面是凹凸不平的,凸起的地方被磁化,代表数字 1,凹的地方没有被磁化,代表数字 0,因此硬盘可以通过二进制的形式来存储表示文字、图片等的信息。硬盘有很多种,但是都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部分组成。...原创 2020-05-03 12:27:23 · 1064 阅读 · 0 评论 -
FFMPEG LINUX安装
流程:tar -xvf ffmpeg-4.1.3.tar.bz2cd ffmpeg-4.1.3执行./configure//我这里不选择任何参数,全部默认安装//不想默认安装就加--prefix=等参数,自己指定路径等等一般默认路径是/usr/localsudo make//生成Makefile 安装有如有报错,解决方法请参考//https://blog.csdn.net/wei...原创 2020-04-30 16:06:55 · 334 阅读 · 0 评论 -
容器部署
https://www.cnblogs.com/kerngeeksund/p/10552561.html原创 2020-02-13 22:17:14 · 235 阅读 · 0 评论 -
redis里几种主要结构
redis server进场就是一个时间循环,包括文件事件处理客户端请求和返回;时间时间执行serverCron函数来进行过期键、rdb或aof重写存储等。def eventLoop(): while True: processFileEvents() processTimeEvents() flushAof()struct red...原创 2019-12-16 16:40:39 · 249 阅读 · 0 评论 -
git永久保存账号密码,免去git重复输入账号密码操作
我之前就是每一次操作都要输入用户名和密码,繁琐得很。现在给各位分享下git永久保存账户名和密码。方法一:安装好git之后一般会在C盘的C:\Users\Administator目录下生成 .gitconfig配置文件。用文档编辑工具打开该文件添加:[user] name = wb-ly409739//你的用户名 email = wb-ly409739@alib...转载 2019-11-26 11:34:56 · 343 阅读 · 0 评论 -
Kafka主题参数说明
producer端batch.size 是producer批量发送的基本单位,同一个分区的多条消息会封装进一个batch。默认是16KB,当batch满才会发送batch中所有消息。linger.ms是sender线程在检查batch是否ready时候判断有没有过期,默认是0ms,超过该值就会直接发送batch,以保证延时不会太高。compression.type,有GZIP,SNA...原创 2019-11-11 16:19:17 · 906 阅读 · 0 评论 -
boost::io_service解读
boost::io_service解读asio是boost提供的一个c++异步编程模型库,其核心类io_service,在多线程编程里面提供了任务队列和任务分发功能,在socket、io编程里主要作为一个事件驱动器(完成端口、select、poll、epoll等)。队列模型每个io_service都一个公有任务队列,和多个私有任务队列,公有队列由各个线程共享,私有队列则是每个线程独享一...转载 2018-09-05 15:00:29 · 12027 阅读 · 1 评论 -
虚拟内存
虚拟内存机制1.为什么要有虚拟内存在早期的计算机中,是没有虚拟内存的概念的。我们要运行一个程序,会把程序全部装入内存,然后运行。当运行多个程序时,经常会出现以下问题:1)进程地址空间不隔离,没有权限保护。由于程序都是直接访问物理内存,所以一个进程可以修改其他进程的内存数据,甚至修改内核地址空间中的数据。2)内存使用效率低当内存空间不足时,要将其他程序暂时拷贝到硬盘,原创 2017-08-31 21:46:47 · 758 阅读 · 0 评论 -
Linux 下几款程序内存泄漏检查工具
1.内存管理是否正确(因为这个程序本身开辟很多内存空间进行缓存管理,同时这个程序程序本身就是基于C/C++开发的,内存管理机制一直是程序员头痛的东西)2.程序的健硕性如何(服务器任何程序的基本要求就是要满足高并发的要求,也就是说,如果达不到这个基本要求,程序并并不能成为服务器)针对第一点,以下将介绍几款内存泄漏检查工具工具描述valgri转载 2017-09-11 15:01:27 · 422 阅读 · 0 评论 -
Linux 三大文本处理命令之一AWK
Linux 三大文本处理命令之一AWK转载 2017-04-11 10:29:11 · 1576 阅读 · 0 评论 -
linux screen后台任务
我们常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。这时,我们可以用screen命令解决这个问题。screen命令可以实现当前窗口与任务分离,我们即使离线了,服务器仍在后台运行任务。当我们重新登录服务器,可以读取窗口线程,重新连接任务窗口。转载 2017-08-23 18:11:20 · 2012 阅读 · 0 评论 -
kafka安装
由于kfk关于broker、topics、partitions的一些元信息用zk来存,监控和路由啥的也都会用到zk,首先需要安装zkzk需要安装jdk:#install jdk1.8 and add pathtar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/local/src/vim /etc/profileecho export P...原创 2019-05-17 19:33:14 · 224 阅读 · 0 评论 -
mmap
概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进转载 2017-09-04 00:37:26 · 2328 阅读 · 0 评论 -
使用ab 进行并发压力测试
ab全称为:apache bench。是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。 安装ab命令:ubuntu:sudo apt-get install apache2-utilscentos:yum install apr-uti...转载 2018-11-07 16:40:50 · 5451 阅读 · 1 评论 -
Linux Golang 安装Protobuf
获取 Protobuf 编译器 protoc我是从github上直接下载的源码编译的,下载地址https://github.com/google/protobuf/releases/tag/v3.0.2,下载后按照文档上的说明操作//1.检查安装需要用到的编译工具$ sudo apt-get install autoconf automake libtool curl make g++...原创 2018-11-24 13:27:34 · 3055 阅读 · 0 评论 -
CMake Error at /usr/share/cmake-3.5/Modules/FindCUDA.cmake:617 (message)
在编译cuda相关代码的时候,出现了编译错误,查了很多资料终于找到了解决的办法……………………………… – Boost version: 1.58.0 – Found the following Boost libraries: – program_options CMake Error at /usr/share/cmake-3.5/Modules/FindCUDA.cmake:617 ...转载 2018-12-05 13:06:28 · 7613 阅读 · 0 评论 -
解决nohup重定向python输出到文件不成功的问题
解决办法之一:加-unohup python -u server.py >res.log 2&1 &解决办法之二: sys.stdout.flush()原创 2019-01-10 19:12:06 · 2184 阅读 · 0 评论 -
升级glibc 系统一直保持segment fault等问题
/lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6出现这个问题后,安装网上教程:貌似是在libstdc++.so.6中缺少了GLIBC_2.18这个模块,那我直接用最简单的方法安装软件包,直接解压安装curl -O http://ftp.gnu.org/gnu/glib...原创 2019-06-06 16:04:23 · 8253 阅读 · 2 评论 -
linux环境下非root用户如何安装各种软件
linux环境下非root用户如何安装各种软件呢?以cmake为例。1. 官网https://cmake.org/download/下载源文件:注意要下载的是source文件2. 解压 tar -zvxf cmake-3.14.5.tar.gz$ cd cmake-3.14.5$ ./bootstrap$ ./configure --prefix=/home/xxx/cmake...原创 2019-09-02 21:03:45 · 1875 阅读 · 0 评论 -
编写自己的 cmake module模块 通过find_package指定编译自己安装的包如opencv cuda
cmake 主要命令解释FIND_PATH(VAR file path1 path2)将file文件路径赋值给变量FIND_LIBRARY(VAR lib path)将lib文件路径赋值被变量install(FILES flie DESTINATION dir_path) #执行make install时,把file拷贝到dir_pathinstall(PROGRAMS file ...原创 2019-09-03 14:18:23 · 2438 阅读 · 0 评论 -
linux 下文件只能读不能写或者运行的解决
鄙人从邮箱下载一份C++文件放到/mnt/CPP/tree/tree1(可执行文件),head.h,tree.cpp三个一开始很天真cd mnt/CPP/treevim head.h写完一段esc+:wq发现只可读不能写后来发现需要用chmod go+rw/rx filename来改变权限一开始仅仅在普通用户下改变权限,发现还是只可读后来知道需要su root原创 2015-10-25 23:24:50 · 5255 阅读 · 0 评论 -
无锁编程的了解
多线程编程是多CPU系统在中应用最广泛的一种编程方式,在传统的多线程编程中,多线程之间一般用各种锁的机制来保证正确的对共享资源(share resources)进行访问和操作。这种基于锁机制的多线程同步存在以下问题:1产生竞争时,线程被阻塞等待,无法做到线程实时响应;2 死锁3 活锁4 申请和释放锁的操作,增加了很多访问共享资源的消耗,尤其是在锁竞争(loc原创 2017-09-03 20:58:55 · 656 阅读 · 0 评论 -
Linux IO模型分析(二)
三 IO复用select,poll,epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的原创 2017-08-17 00:40:39 · 238 阅读 · 0 评论 -
双系统ubuntu安装分区home,boot,root,swap,usr,tmp大小
1./swap交换分区,一般为你机器内存的两倍,少于这个容量,系统无法进入休眠。存放系统内存交换文件的。实质是硬盘上的交换空间而非分区,所以没有格式,默认休眠将数据储存于此可以取消(如不用swap必须再设定方可休眠)——多数有1GB内存的桌面用户只要1.5GB swap即可。2GB以上内存的很多用户实际并不需要它——注意,大量处理音频、视频、图片需要3GB以上的交换空间。2./ 根分区转载 2016-10-26 16:25:51 · 13870 阅读 · 0 评论 -
Linux Ubuntu下安装PPA源软件
在使用Ubuntu安装程序时经常会遇到添加软件源的操作,最常见的是ppa软件源。 例如:利用ubuntu的Pidgin进行QQ聊天:sudo add-apt-repository ppa:lainme/pidgin-lwqq这就是添加pidgin-lwqq的ppa软件源的命令。ppa是Ubuntu Launchpad网站提供的一项服务,允许个人用户作为apt源供其他用户下载和更新。通常比原创 2015-12-02 14:47:47 · 5405 阅读 · 0 评论 -
Linux下vim插件
我们知道,windows上做C++开发的用户来说,vs为他们做了大量的工作,语法高亮、自动缩进、自动补全等等这些,让我们关注点主要在内容,非常舒服。在Linux下,vim作为除了emacs的第二大神器编辑器,原始情况下,vim是不具备这些IDE特性的,但通过大牛们写好的各种插件即可实现这种效果。vim插件安装的教程在网上已经数不胜数,但是质量也参差不齐,很多都是在其它地方转载,而且没有注明使用原创 2015-11-21 21:28:38 · 1638 阅读 · 0 评论 -
Linux 对VIM的一些格式设置
终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc1.进入当前用户的根目录下并创建vimrc文件:cd /pwdvi ~/.vimrc按i进入编辑模式set nu“显示行号syntax on”语法高亮显示set background=dark“设置背景色原创 2015-10-28 22:28:01 · 1686 阅读 · 0 评论 -
将VIM 转变成集成IDE
我的vim IDE界面: 1、安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scripts vim-doc其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。vim中文帮助文档tar包下载地址:转载 2015-10-27 22:45:49 · 481 阅读 · 0 评论 -
Linux推荐书籍
去年开始,抱着学习的态度开始了我的Linux学习,到现在,差不多一年了,收获很多,不敢说精通Linux,但是,还是对得起“略懂”这两个字的。这一年里我看了很多书,细细数下,大概15本左右,其中包含了两个方面,一个是Android,另一个就是Linux。当然,在学习之初,遇到了不少瓶颈,在这里,还要感谢师兄师姐的指导。写这篇文章的目的有两个:1.分享自己的学习经验2.记录下我的学习历转载 2015-11-09 22:24:43 · 440 阅读 · 0 评论 -
Linux 献给初学者:谈谈如何学习Linux操作系统
文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/569329。为了能把这篇不错的文章分享给大家。所以请允许我暂时用原创的形式展现给大家一、 选择适合自己的linux发行版谈到linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的,linux正在变得越转载 2015-10-23 15:40:50 · 609 阅读 · 0 评论 -
Linux初学对g++,gcc
在用vim写完一个简单的hello.cpp的小程序:#include#includeusing namespace std;int main(){cout<<"hello,ubunt"<<endl;return 0;}用gcc hello.cpp -o helloni时候,总报错:hello.cpp:(.text+0x14):对‘std::cout’未定义的引用hello原创 2015-06-12 15:17:22 · 584 阅读 · 0 评论 -
wubi 安装14.04ubuntu的问题及解决
由于实在受不了在虚拟机上跑Linux系统的各种卡,,,于是心血来潮想在已有的windows平台上再安装一个Linux 即Ubuntu 14.04。听说过Linux或者Ubuntu,如果你想尝试一下但是却害怕复杂的操作或者影响你娇贵的Windows的话,Wubi很适合你。你需要做的只是点击几下鼠标而已。不需要改变分区设置,不需要启动文件,不需要Live CD的光盘启动。Wubi安装方式不会给你的原创 2015-04-16 20:31:14 · 3907 阅读 · 1 评论 -
ubuntu下c++编程 with g++ 第一个程序 Hello World!
在ubuntu下编程,对我来说是个很神秘的东西,总感觉牛逼的人是什么样子:是那些在linux下工作,用shell操作,绝不使用IDE,一定要使用Vim或者是Emacs,否则称不上是高手。仔细想起来,不过是自己小孩子气的一厢情愿罢了!-------------华丽丽的分割线---------------------第一步,安装编译器,使用新立得或者是terminal,新立得下输入bu转载 2015-04-24 14:09:12 · 2561 阅读 · 0 评论 -
Linux之win764位下基于EasyBCD的硬盘安装ubuntu32位双系统一些错误总结
首先,安装双系统之前需要对硬盘分区:1.一般分区大小为20G-100G即可,进入计算机-管理-磁盘管理,压缩卷,直接保留“删除卷”操作后的磁盘状态,注意不用再进行,这样利于双系统实现:win下找不到该盘,linux下可以进入其他win下的磁盘;2.然后下载Easybcd软件,在左侧工具列表中选择“添加新条目”,在右侧功能区选择右上角的“NeoGrub”选项卡,点击“安装”按钮。然后配置:原创 2015-11-28 00:27:16 · 1068 阅读 · 0 评论 -
Linux vim利用ctags进行自动补全的问题
对于C/C++自动补全一般涉及三个插件:ctags+OmniCppCompleteclang环境+ clang_complete原创 2015-11-23 15:10:41 · 5229 阅读 · 0 评论 -
Linux IO模型分析(一)
一、IO模型 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘 I/O 的操作,因为如果所请求的数据已经存放在操作系统的高速缓冲存储器中,那么就不需要再进行实际的物理磁盘 I/O 操作。但是数据传输过程中的数据拷贝操作却导致了极大的 CPU 开销,限制了操...原创 2017-08-16 00:55:18 · 352 阅读 · 0 评论 -
Linux Crontab定时任务
Linux Crontab定时任务原创 2017-06-13 13:19:48 · 903 阅读 · 0 评论