
Linux
文章平均质量分 74
Feng_0321
这个作者很懒,什么都没留下…
展开
-
Windows/Linux的cmake+ninja使用
一、前言因为机缘巧合下,需要使用windows下的cmake使用,因为本身有Linux下进行cmake,所以本篇文章做做总结。Ninja是一种类似GNU make的编译系统。 就像make有Makefile,它也有自己的编译配置文件。 相对来说,Ninja文件没有分支、循环的流程控制,本质上就是纯粹的配置文件,所以要比Makefile简单得多。二、Linux安装sudo apt install cmake make ninja(相对简单,使用apt-get进行安装即可)三、Windows环境安装原创 2021-03-08 00:31:09 · 13432 阅读 · 1 评论 -
Ubuntu上搭建dns服务器
一、前言DNS(Domain Name Service) 域名解析服务,就是将域名和 ip 之间做相应的转换。DNS系统作用:• 正向解析:根据域名查找对应的ip地址• 反向解析:根据ip地址查找对应的域名主要在内网环境下,可能搭建多个服务器地址,如svn地址、git地址、项目管路系统地址等,若是使用ip记录的话,容易遗忘,所以选择域名方式好记住,不用特意去记ip地址。二、安装软件sudo apt install bind9三、修改配置文件,实现dns功能修改主配置文件/etc/bind原创 2021-03-07 14:23:02 · 2531 阅读 · 1 评论 -
Linux设备驱动:USB设备驱动
1、Linux设备驱动设备驱动时操作系统内核和机器硬件之间的接口,为应用程序屏蔽了硬件的细节,由一组函数和一些私有数据组成,结构体内包含设备驱动所需要的所有资源,即驱动器对象所拥有的属性及成员。应用程序看待硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它主要完成以下功能:对设备进行初始化,使设备投入运行和退出服务;把设备从内核传送到设备和从设备中接受数据;以及检测设备出现的错误。设备分为:字符、块、网络设备。字符设备是指存取时没有缓存的设备;块设原创 2020-12-13 20:43:53 · 732 阅读 · 0 评论 -
搭建个人移动图书馆——Calibre-web
一、前言之前看到同学那里用群晖搭了个移动图书馆,而自己也有个云服务器,所以借此用在云端搭建移动图书馆,用来存储名著、计算机书籍以及其他书籍等。于是,查找相关的资料,决定用Calibre-web的二进制方式进行安装。Calibre 是一位印度大佬编写并维护的电子书管理软件,集成了电子书管理、分类、编辑、转换、搜索等等所有能想到的功能二、安装过程2.1 Calibre下载sudo -v && wget -nv -O- https://download.calibre-ebook.com原创 2020-11-29 20:46:48 · 7293 阅读 · 1 评论 -
Linux桌面基础2:X Window Manage——Xfce4
一、前言一个桌面的使用需要X Windows Server + X Windows Manager,提供桌面背景、任务栏、桌面设置等。X Server 还有一个重要的工作,那就是将来自输入设备 (如键盘、鼠标等) 的动作告知 X Client,X Client 最重要的工作就是处理来自 X Server 的动作,将该动作处理成为绘图数据, 再将这些绘图数据传回给 X Server。目前主要的X Windows Manager有:MATE coreLubuntu coreBudgie Desktop原创 2020-11-25 01:17:28 · 1869 阅读 · 0 评论 -
Linux桌面基础:X Window System——Xorg
一、前言Unix Like 操作系统不是只能进行服务器的架设而已,在美编、排版、制图、多媒体应用上也是有其需要的。 这些需求都需要用到图形接口 (Graphical User Interface, GUI) 的操作的, 所以后来才有所谓的 X Window System 这玩意儿。那么为啥图形窗口接口要称为 X 呢?因为就英文字母来看 X 是在 W(indow) 后面,因此,人们就戏称这一版的窗口接口为 X 啰,这边X Server使用Xorg。一个桌面的使用需要X Windows Server + X原创 2020-11-25 00:37:50 · 7004 阅读 · 1 评论 -
LFS创建和Ubuntu Server的安装
一、LFS简介 这部分内容去年已经完成的,只是部分东西整理下,记录下一些东西。 LFS──Linux from Scratch,就是一种从网上直接下载源码,从头编译LINUX的安装方式。它不是发行版,只是一个菜谱,告诉你到哪里去买菜(下载源码),怎么把这些生东西( raw code) 作成符合自己口味的菜肴──个性化的linux,不单单是个性的桌面。《LinuxFromScratch》(LFS)是杰勒德·比克曼斯等人编写的安装Linux的教科书,描述了从源代码编译Linux系统的方法。这本书可以原创 2020-11-22 22:51:57 · 738 阅读 · 0 评论 -
Linux内核模块it87出错
一、前言硬件上通过it87芯片进行风扇转速的读取。硬件上存在it87芯片,但是Linux系统加载it87.ko(modprobe it87)模块时,提示“modprobe: ERROR: could not insert ‘it87’: No such device”。未找到it87相关的设备,it87模块无法加载,导致风扇转速读取失败。二、问题原因硬件上确实存在it87芯片,但是无法进行加载,通过分析dmesg内核调试信息(Unsupported chip (DEVID=0x8785或者0x8784原创 2020-10-05 00:35:12 · 3405 阅读 · 1 评论 -
Linux使用系统命令制作initrd镜像
一、前言两个重要的命令:update-initramfs、mkinitramfs在/boot下创建initrd.img(该两个都是脚本文件).编译内核的最后一步执行make install时会调用update-initramfs,update-initramfs继而调用mkinitramfs生成initrd.img,省去了太多initrd的过程,已经是可用、完整的可引导文件,直接省去了人工操作的过程——不过还是手动创建才能知道整体过程。initrd目录形式如下:ls initrd_tmpbin c原创 2020-09-20 12:54:49 · 1902 阅读 · 1 评论 -
Linux——initrd根文件挂载分析
一、initrd介绍对于使用initramfs镜像的ramdisk来说,这个rootfs即为ramfs(ram file system),它是一个在解压initramfs镜像后就存在且挂载的文件系统,但是系统启动之后用户并不能找到它,因为在内核启动完成后它就会被切换到真实的根文件系统。前文也提到过,在systemd眼中,initramfs构建的也是一个系统,只不过是虚拟系统,最终systemd会从这个虚拟系统中切换到真实的系统中,切换的内容主要包括两项:切换根分区,切换systemd进程自身。init原创 2020-08-30 16:10:29 · 2125 阅读 · 0 评论 -
Vim使用常见插件安装
一、前言各种IDE工具有代码提示以及可以方便切换到各个文件,所以也想在VIM上实现近似的功能。因为目前Linux开发都是在远程连接服务器进行开发,常用的远程连接工具:xshell、putty、MobaXterm等。虽然大部分Linux开发还是使用纯VIM开发,但是对于提高效率来说,安装需要的插件,仍然是有必要的。本文主要讲述常用插件的安装:Bundle、YouCompleteMe、nerdtree、pathogen、tagbar、a.vim等。二、安装过程1、安装Bundle插件——插件管理原创 2020-07-04 15:03:13 · 717 阅读 · 0 评论 -
搭建个人网盘——kodexplorer(可道云)
一、前言如今各个网盘出现限速或者不可使用,为了防止百度云盘出现下载速度较慢,较大数据传输有多个可用的传输方案,利用个人服务器搭建私有云盘。在机缘巧合下,kodexplorer出现在我的面前,具有在线文件管理系统、简单轻量级的自建网盘的工具。二、kodexplorer介绍可道云KodExplorer,是基于Web技术的私有云和在线文档管理解决方案。用户仅需通过简单的部署,即可使用可道云快速完成私有云/私有网盘/在线文档管理系统的部署和搭建。提供了类 Windows 用户界面,延续了 Windows 平台原创 2020-06-14 15:44:26 · 7724 阅读 · 0 评论 -
云服务器上搭建个人云笔记——leanote
第二篇:搭建个人云笔记一、前言目前市面上存在多个云笔记,如onenote、印象笔记、有道云笔记、为知笔记等,像onenote可以建立多个笔记本、多个分区,风格与word编辑差不多,可以马上上手,但是存在因OneDrive服务器不在内地,存在网络更新慢或者无法访问问题,导出为.one,docx,pdf和.mht格式;印象和为知慢慢转向会员制,限制太多,习惯了“免费”真香,暂不考虑;有道云笔记在Firefox浏览器不能访问,而且导出为PDF格式和有道云格式文件。而本人之前大部分使用onenote进行记笔记,原创 2020-06-07 02:23:39 · 3858 阅读 · 0 评论 -
云服务器上搭建个人博客——wordpress
第一篇:搭建个人博客一、WorkPress介绍WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统;WorkPress具有插件框架和模板系统;WorkPress是目前Internet最流行的博客系统;借助第三方的插件、模板,用户可以实现多样化的个性化功能。二、WordPress特性用户管理:它允许管理用户信息,例如创建和删除用户,更改密码和用户信息。媒体管理:用于管理媒体文件和文件夹工具,您可以轻松上传、组织和管理网站上的媒体文件。主题系统:它允许修改网站视原创 2020-06-02 22:34:53 · 1352 阅读 · 0 评论 -
转战云服务器
一、前言云服务器一直都是自己想去“玩玩”的东西,学习过网络编程或者Django开源框架,奈何原先感觉太过于麻烦,未去尝试。但是最近公司使用OneNote访问受限,想搭建云笔记,而且云服务的价格也便宜(各个厂家都有做活动)。所以这个月下定决心,从购买云服务器——>搭建服务器——>搭建个人博客,以后还会有搭建云笔记、搭建Discuz论坛等,玩转云服务器。二、目的1、个人博客——分享技术、学习心得;2、云笔记——主要是记录生活、工作中的容易遗忘的内容;3、开发有趣的东西(待续);三、云服务原创 2020-05-29 08:13:37 · 368 阅读 · 1 评论 -
20号笔试错题1
一、ARM的工作方式: 1、用户模式(Usr):用于正常执行程序; 2、快速中断模式(FIQ):用于高速数据传输; 3、外部中断模式(IRQ):用于通常的中断处理; 4、管理模式(svc):操作系统使用的保护模式; 5、数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储以及存原创 2016-10-21 03:22:24 · 459 阅读 · 0 评论 -
Linux下的tar压缩解压缩命令详解(转)
tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出下面的参数-f是必须的...转载 2019-04-01 15:09:03 · 253 阅读 · 0 评论 -
HTTP长连接和短连接
一、概念HTTP长连接:客户端和服务器建立一次连接之后,可以在这条连接线上进行多次请求/响应操作。一般会设置过期时间,也可以不设置。步骤如下:连接->数据传输->保持连接(心跳)->数据传输->保持传输(心跳)->…->关闭连接HTTP短连接:客户端和服务器进行一次HTTP请求/响应之后,就关闭连接。所以一次请求/响应后就需要重新建立连接。步骤如下:连接...原创 2019-04-20 18:04:45 · 751 阅读 · 0 评论 -
linux网络编程基础知识2
一、火狐浏览器若遇到访问超过普通端口80时,出现此地址访问受限的提示的话,可修改火狐浏览器的about:config,新建->字符串,输入network.security.ports.banned.override,取值范围设置为0~65535(简单方法,取全范围)二、循环遍历目录头文件添加#include <dirent.h>#incldue <stdded.h&...原创 2019-04-17 19:45:05 · 226 阅读 · 0 评论 -
linux信号和信号量(转)
一、EAGAIN信号在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。 从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候。例如,以 O_NONBLOCK的标志打开文件/socket/FIFO,如果你连续做read操作而没有数据可读,...转载 2019-04-17 19:46:14 · 1681 阅读 · 0 评论 -
CMake基本操作
CMakeLists.txt的语法比较简单,由命令、注释和空格组成,其中命令是不区分大小写的,参数和变量是大小写相关的,但,推荐全部使用大写指令。符号”#”后面的内容被认为是注释。命令由命令名称、小括号和参数组成,参数之间使用空格或分号进行间隔。变量使用${xxx}引用。常用cmakelists.txt文件构建cmake。如果工程存在多个目录,需要确保每个要管理的目录都存在一个CMakeList...原创 2019-05-02 10:30:46 · 370 阅读 · 0 评论 -
ubuntu系统与linux通过samba远程登录,用SourceInsight查看源代码(转)
一、samba下载1、ubuntu上samba安装:sudo apt-get install sambasudo apt-get install smbfssudo apt-get install samba4(实际可不安装)按提示安装完成2、将需要共享的用户目录权限设置为任何人都可读/写/运行:chmod 777 /home/用户名/目录3、添加一个samba的用户以及密码su...转载 2019-04-20 14:11:30 · 1520 阅读 · 0 评论 -
linux启动运行过程
一、linux系统开机启动过程1、开机自检,加载BIOS;2、读取MRB;3、Boot Loader Grub引导菜单;4、加载kernel内核;5、init进程根据inittab文件夹设定运行级别;6、init进程执行rc.sysinit;7、启动内核模块;8、执行不同级别的脚本程序;9、执行/etc/rc.d/rc.local;10、执行/bin/login程序,启动min...转载 2019-05-07 12:23:35 · 422 阅读 · 0 评论 -
ubuntu双系统安装(win10基础上)
1、查看当前bios模式win10上点击cmd,输入msinfo32,得到下图:目前大部分的win8、win10系统支持UEFI方式。5、修改BIOS启动顺序:windows单引导选Windows Boot Manager;双引导选择EFI Ubuntu,由linux的grub引导选择引导系统。window引导暂无法使用easyBCD2.3进行添加ubuntu引导项。使用双系统,则使用...原创 2019-06-08 15:12:14 · 439 阅读 · 1 评论 -
多线程——主线程和子线程退出关系
分清两个概念主线程和当前进程的关系:当前进程由主线程和若干个子线程组成。若当前进程退出后,子线程也会跟着一起退出;若只是主线程退出,仍要分两种情况分析:实际上主线程退出后子线程的状态依赖于它所在的进程,如果进程没有退出的话子线程依然正常运转。如果进程退出了,那么它所有的线程都会退出,所以子线程也就退出了。查看进程、线程方式进程:ps -elf | grep "对应的文本内容"ps au...原创 2019-04-10 17:16:23 · 4054 阅读 · 0 评论 -
多进程——孤儿进程或者僵尸进程解决方法
多进程中,难免会出现父进程先于子进程退出或者子进程先于父进程退出,为此分为两种情况,若父进程先于子进程先退出,则子进程相当于孤儿进程;若子进程先于父进程先退出,则子进程相当于僵尸进程。fork在 <unistd.h>文件中定义如下:使用pid_t fork(void)函数创建子线程,若fork返回为-1,则调用失败;若fork返回为0,相当于是子线程;若fork大于0,则为父进程。...原创 2019-04-10 14:35:25 · 1149 阅读 · 0 评论 -
linux网络基础知识1
1、OSI系统七层模型:物——物理层(双绞线,光纤)数——数据链路层(数据的传输和错误检测)网——网络层(为数据包选择路由器)传——传输层(提供端对端的接口)会——会话层(解除或建立与其他节点的联系)表——表示层(数据的加密,代码转换)应——应用层(文件传输、电子邮件,文件服务,虚拟终端)2、IP四层模型数据链路层——以太网帧协议网络层——IP协议传输层——TCP/UDP传输...原创 2019-03-24 12:42:11 · 766 阅读 · 0 评论 -
linux上ftp操作与本机连接下载上次文件
linux上操作FTP(文件传输协议)在众多网络应用中,是仅次于web的服务,有着非常重要的地位。一、ftp软件下载sudo apt-get install vsftpd安装后使用apt-get update更新二、修改/ect/vsftpd.conf文件# Example config file /etc/vsftpd.conf## The default compiled in...原创 2018-09-24 11:50:30 · 978 阅读 · 0 评论 -
VIM操作命令
1、打开多个文件 vi file1 file2 2、横屏或竖屏打开文件 横屏——:vs file 竖屏——:sp 3、在文件之间切换: 1.文件间切换 Ctrl+6—下一个文件 :bn—下一个文件 :bp—上一个文件 2.在窗格间切换的方法(对于用...原创 2018-08-26 18:56:59 · 265 阅读 · 0 评论 -
使用linux的ICMP实现ping功能
1.ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方。ICMP协议是IP层的一个协议,但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP协议来发送。ICMP数据报协议由ICMP报头和IP报文封装而成。 2.IP层协议是一种...原创 2018-07-03 00:58:10 · 2753 阅读 · 0 评论 -
linux下的MYSQL使用(ubuntu)
1、1、MySQL数据库是管理内存的最好选择,是以一个客户机/服务器结构实现其功能,SQL是一个标准的语言,使得存储、更新和存取信息更容易,特点为快速、健壮和易用。 2、数据库(database)用于:人事部门用于将基本信息整合成一张表,财务管理、仓库管理、生产管理,利用计算机实现财务、仓库、生产的自动化管理。数据库为多数用户所共享其信息建立,摆脱具体程序的限制和制约。数据共享性不仅满足了个用户...原创 2018-07-08 18:41:00 · 394 阅读 · 0 评论 -
20号笔试2
十一、fstream流控制一个流对象,并打开一个磁盘文件,文件缺省打开方式 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是:void open(const char* filename,int mode,int access); 参数: filename: 要打开的文件名 mode: 要打开文件的方式 access: 打开文件的属性 打开文原创 2016-10-21 03:52:50 · 337 阅读 · 0 评论 -
shell脚本1——分支结构、循环、函数
重要的写在前头 因为linux的shell中默认是字符串,所以 sum=1+1+2,如果传入的参数为两个数字 1 4,这个它返回的是1+4,并不是5,若要让它显示的是5的话,有如下方法: 1、 sum=[[1+2]2、letsum=2] 2、let sum=1+$2一、if语句 1、字符串判断 str1 = str2 当两个串有相同内容、长度时为真 str1 != str2原创 2016-10-03 23:14:41 · 1306 阅读 · 0 评论 -
shell脚本——正则表达式
一、正则表达式 正则表达式是用来描述字符串排列和匹配模式的一种语法规则,是字符串的模式分割、匹配、查找和替换操作。 正则表达式是包含匹配,操作字符串,如grep,awd,sed,而通配符是完全匹配,如ls,find,cp 正则的与通配符的不同,如正则表达式aa*,第二个a不起作用,意思是以a开头的,而通配符aa*的话是以aa开头^$这个会匹配空白行^[0-9]这个表示以数字开头 [^0-原创 2016-10-05 20:53:55 · 490 阅读 · 0 评论 -
linux学习3
1、shell 别名替换 alias 字符替换,不存在文件 ls=’ls –color=auto’2、再次强调通配符 *后面任意多个、?任意一个、【】在括号内匹配3、作业控制 前台–后台 前台就是控制台 命令作业控制:系统对命令作业的某种任务安排jobs 查看当前后台运作 bg 将前台转到后台 fg 将最近的后台转到前台4、shell变量 自定义 环境变原创 2016-10-03 12:57:53 · 305 阅读 · 0 评论 -
linux笔记2
1、在线安装 apt-get apt-get install 安装 apt-get upgrade 升级软件 apt-get updata 升级列表 apt-get autoremove 卸载离线安装 dpkg 安装:dpkg -i xxx*.deb 卸载:dpkg-r xxx2、ls ls -i查看节点 ls -h显示文件大小以k,M3、mkdir 建立 目录4、搜索命令原创 2016-10-02 21:44:48 · 284 阅读 · 0 评论 -
分享提问的智慧(没掌握精髓)
在此分享给需要的人在黑客世界,当提出一个技术问题时,你能得到怎样的回答? 这取决于挖出答案的难度,同样取决于你提问的方法。 本指南旨在帮助你提高发问技巧,以获取你最想要的答案。 首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们思维的好问题。 如若不然,我们还来干吗?如果你有值得我们反复咀嚼玩味的好问题, 我们自会对你感激不尽。好问题是激励,是厚礼,可以提高我们的理解力, 而转载 2016-10-01 23:48:58 · 572 阅读 · 0 评论 -
linux交叉编译和内核编译
20181005记一、交叉编译arm-linux-gcc由于嵌入式系统资源匮乏,一般不能像 PC 一样安装本地编译器和调试器,不能在本地编写、编译和调试自身运行的程序,而需借助其它系统如 PC 来完成这些工作,这样的系统通常被称为宿主机。宿主机通常是 Linux 系统,并安装交叉编译器、调试器等工具;宿主机也可以是 Windows系统,安装嵌入式 Linux 集成开发环境。在宿主机上编写和编...原创 2018-10-05 21:59:58 · 10675 阅读 · 0 评论 -
虚拟机主机linux(unbuntu)和开发板使用串口连接以及发送接收文件
一、串口使用背景基本上文件都是用tftp、nfs协议上传和接收,不过这个需要使用到网络,相当于占用网线口,不过相对而言,文件上传速度较快,对于文件小的文件(&lt;1M大小),建议使用minicom工具;对于大文件,推荐使用tftp或者nfs工具。二、minicom工具1、linux串口设备对于电脑本身自带的配置,那么串口设备名通常为ttyS0、ttyS1等等,对于串口扩展处理的,如使用u...原创 2018-10-07 10:14:37 · 2754 阅读 · 0 评论 -
linux设备驱动程序-第六章2(阻塞IO和高级休眠)学习总结
一、前言在第三章中,我们已经讨论了如何实现驱动程序的read和write方法。现在谈论另一种重要问题:如何驱动程序无法立即满足要求,该如何响应?调用程序通常不会关心此类问题,程序员只会简单调用read和write,然后等待必要的工作结束后返回调用,因此,在这种情况下,我们驱动程序应该(默认)阻塞该进程,将其置入休眠状态直至请求可继续。我么介绍过的函数可以满足许多驱动程序的休眠请求。但是在某些情...原创 2018-12-16 21:30:44 · 707 阅读 · 0 评论