
Linux
文章平均质量分 82
yiqiaoxihui
他强由他强,清风拂山岗!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vsftp实用教程(四种配置需求)
正文共:1514字11图预计阅读时间:5分钟由于工作原因,需要在Linux服务器上搭建FTP服务,真相君选择使用vsftp这个工具,在搭建和使用过程中踩了一些坑,在这里分享给大家,希望大家能安全避坑。对ftp服务的配置需求主要包括一下几种:1.匿名用户可读2.匿名用户可读写(删除)3.非匿名用户登陆ftp(自定义ftp根目录)4.非匿名用户可读写(删除)vsftp基于配置文件实现各种功能,接下来一一介绍这4种需求具体该如何配置。1.匿名用户可读 vsftp在安...原创 2021-09-16 13:39:55 · 2114 阅读 · 0 评论 -
Linux内核源码阅读之系统调用execve()
asmlinkage int sys_execve(struct pt_regs regs)前言sys_execve()根据参数中指定的二进制文件路径,执行相应的二进制文件。我们可能会疑惑,参数中是一个pt_regs结构,哪里有文件路径?事实上,系统调用也属于中断,而对于系统调用,会将参数地址保存到指定寄存器中,这一事件发生的时间点是已经进入execve()代码,但是还未通过int 0x80中断真...原创 2018-05-20 23:42:43 · 3228 阅读 · 0 评论 -
Linux源码阅读进程通信之管道(详)
管道是进程通信的一种方式,这里主要介绍无名管道(以后简称管道)。特点1.这种管道只能在父子进程或兄弟进程之间建立,而命名管道就没有这种限制。2.管道只能单向流通,对于A,B两个进程,要不A写B读,要么B写A读,数据流向是单向的。概述简单的说,管道其实是在内存中分配一个页面pipe_page用作两个进程通信的联络点,A进程往页面中写,而B进程从页面中读,或者相反。既然是两个进程用一个页面作为通信的联...原创 2018-05-27 15:55:03 · 922 阅读 · 0 评论 -
如何参与Linux内核的开发维护
对于想参与Linux内核开发的同学来说,如何开始是一个问题,网上资料五花八门,但是,第一步首先建议的是下载任意版本的linux内核源码,然后阅读Document目录下的HOW_TO文档,这是官网说明,值得你去阅读,如果阅读英文吃力,Document目录下专门有一个zh_CN的目录,里面是一些关键的中文文档,由几个中国人专门负责维护,如下图所示。其实Document目录下包含了Linux 内核开发的...原创 2018-06-24 14:09:17 · 1747 阅读 · 0 评论 -
Linux内核中的同步机制
摘要本文介绍Linux内核中的一些同步机制,通过本文,希望读者能够明白以下几点:什么是同步 为什么要同步 同步的几种手段1.什么是同步?与其解释什么是同步,倒不如告诉读者同步的由来。在Linux内核中,同步技术是为了解决问题而产生的。 说起这个问题,不得不提起可重入内核。可重入内核:可重入内核即多个进程可以同时在内核态下执行,多个进程的执行事实上说明了进程可以交替执行。 内...原创 2018-08-26 15:54:06 · 4523 阅读 · 1 评论 -
Linux内存初始化&开启分页(简)
摘要本文主要介绍linux内核初始化时,对物理内存的使用结构,以及如何从实模式转换成保护模式,即如何开启内存分页。1.物理内存布局 如上图所示,在内核初始化阶段,内核被加载到物理内存地址0x00100000开始的地方,即图中_text的地方为内核代码的第一个字节,至于为何不加载到物理内存的起始处,可以参考其他资料。2.进程的线程地址空间我们知道,进程分为内核态和用户态,...原创 2018-11-26 00:48:38 · 880 阅读 · 0 评论 -
VMware虚拟机搭建HADOOP环境(下篇)
目录引言1.搭建前准备1.1所需软件1.2HADOOP配置参数定义1.3 主要工作2.配置node01的系统环境2.1设置node01的IP信息2.2配置DNS2.3 配置域名反向解析2.3禁用操作系统安全配置3.安装所需软件并配置3.1配置VMware NAT模式3.2 在node01中安装可视化传输工具lrzsz3.3 使用xshell远...原创 2019-09-22 20:51:55 · 7296 阅读 · 1 评论 -
Linux内核源码阅读之do_fork()
前言本文主要介绍Linux内核中,一个新的进程/线程是如何诞生的。主要涉及复制父进程各类资源、设置子进程系统堆栈、构造子进程调度时运行点等。函数原型Linux系统中,除第一个进程是被捏造出来的,其他进程都是通过do_fork()复制出来的。int do_fork(unsigned long clone_flags, unsigned long stack_start,stru...原创 2018-05-20 01:38:45 · 2256 阅读 · 0 评论 -
Linux内核源码阅读之中断(简)
摘要本文对Linux2.4.0中中断机制从源码层面进行简要介绍,阅读需要有一定基础,详细版本请参考这里。这里主要介绍以下几个部分:1.中断向量表IDT的初始化主要是设置中断向量表中中断服务的类型,服务程序的入口地址,DPL等。1.1 trap_init()初始化系统保留的中断向量,从0x00到0x1f共36个;init_IRQ()初始化用于外设的通用中断向量,0x20~0xff...原创 2018-05-19 00:43:05 · 467 阅读 · 0 评论 -
笔记本ubuntu安装xen之殇
前言因为一个项目需要安装xen虚拟机,原本以为一件很简单的事情整整花了4天的功夫,遇到了各种问题,还有没有放弃在解决一个又一个问题后,终于迎来了胜利的曙光,这其中涉及BIOS启动模式(UEFI和legacy)、ubuntu和windows 双系统、双显卡等各种问题,接下来就和大家分享一下希望不要像我一样入坑太深。bios启动模式之前有个联想笔记本,可能是硬件太过陈旧在ubuntu下安装原创 2017-01-10 19:46:28 · 3325 阅读 · 2 评论 -
ext4文件系统由文件的inode号定位其inode Table
在ubuntu中(以16.06为例),stat filename 可以查看文件的inode数值,但是如何确定该inode项具体在哪个块组下的inode Table中不是那么容易,接下来通过一步步计算来获取该inode具体在哪个块组下的inode Table的第几项。1.首先可以通过dumpe2fs查看当前ext4文件系统的结构信息,命令为dumpe2fs /dev/sdax原创 2017-02-18 22:48:39 · 6963 阅读 · 0 评论 -
ubuntu "sudo xm list" 出现ERROR: A different toolstack (xl) have been selected!
ubuntu 安装完xen虚拟机,进入xen内核模式下的ubuntu后,terminal下输入命令 sudo xm list检查xen是否安装成功时,显示错误ERROR: A different toolstack (xl) have been selected!terminal输入“ vi /etc/default/xen”打开xen系统配置,发现如下描述# Configur原创 2016-11-10 14:47:04 · 1169 阅读 · 0 评论 -
解析ext4文件系统的布局
对于ext2文件系统的布局可能如下图所示可以看出对于一个block group来说,Super Block和Group Descriptors以及Reserverd GDT Blocks后面跟的Block Bitmap为1个块大小,同样inode Bitmap也是一个块大小,同理inode Table占固定块大小,也就是说从硬盘数据的布局来看,一个标准块组里面只包含自身块组的的block bi原创 2017-02-18 21:10:08 · 6451 阅读 · 0 评论 -
Navicat 远程连接linux mariadb(mysql)解决方案
连接前环境:1.Navicat位于Windows下,ip:10.10.11.322.远程mariadb(mysql)在一台linux server服务器中,服务器ip:10.10.11.130,局域网互通。3.mariadb数据库使用默认设置(端口3306,用户名:root,无密码)首先在linux 下mariadb安装后目录结构可能和mysql不太一样,具体如下图所示:原创 2018-01-26 18:04:26 · 14155 阅读 · 1 评论 -
函数运行时栈发生了什么
介绍了程序执行过程对应的栈的变化过程。叙述一个函数在被调用执行时,栈都为这个函数做了什么。原创 2017-12-14 22:52:58 · 805 阅读 · 0 评论 -
Linux内核源码阅读之系统调用sys_write()
本篇文章仅做sys_write()源码阅读后的记录,从自己的思路叙述,比较随意,仅做本人阅读存档。sys_write()是linux文件系统中核心函数之一,它完成的操作是将用户缓冲区的文件内容写入到文件在磁盘中的对应位置。1.文件页面缓存要想理解Linux文件读写过程,首先需要明白linux对文件读写的设计,具体就是文件数据在内存中的组织方式。我们先看一张图(摘自linux内核情景分析)我们可以先...原创 2018-04-17 12:08:33 · 6741 阅读 · 1 评论 -
Linux内核源码阅读之系统调用sys_brk()
摘要brk()用于用户进程向内核申请空间,进一步说用于扩展用户堆栈空间,或者回收用户堆栈空间。本文仅简要介绍其函数主体结构,感兴趣的读者可以阅读相关源码书籍。asmlinkage unsigned long sys_brk(unsigned long brk)1.malloc为小空间申请,brk()为大块空间申请。2.sys_brk()包括两部分增长动态分配区uns...原创 2018-05-13 01:02:13 · 1658 阅读 · 0 评论 -
linux系统下使用Xen安装半虚拟化xen客户机(paravirtualized Xen guest)
详细教程(en)来自Xmoudle http://xmodulo.com/install-paravirtualized-xen-guest.html非常详细。原创 2016-11-12 16:21:36 · 529 阅读 · 0 评论