linux
文章平均质量分 55
linux开发相关
li肉肉包
空中劈叉的睿智清洁工转生后竟成为程序员
展开
-
Tftp服务器的搭建和使用
本文章操作均在Ubuntu 18.04 LTS bionic上验证通过。服务端操作安装tftp服务器$ sudo apt-get install tftpd-hpa修改配置文件使用命令sudo vim /etc/default/tftpd-hpa修改tftp服务配置文件,此处给出参考:TFTP_USERNAME = "tftp"TFTP_DIRCTORY = "/tftpboot"TFTP_ADDRESS = "0.0.0.0:69"TFTP_OPTIONS = "-l -c -s"原创 2021-03-23 17:37:32 · 326 阅读 · 0 评论 -
Ubuntu搭建和挂载NFS
服务器上操作安装nfs服务端$ sudo apt install nfs-kernel-server创建nfs共享目录$ sudo mkdir /nfs配置nfs服务使用命令sudo vim /etc/exports编辑配置文件,此处给个参考:/nfs *(rw,sync,no_subtree_check,no_root_squash)重启nfs服务$ sudo service nfs-kernel-server restart客户端上操作安装nfs客户端$ sudo apt原创 2021-03-23 17:23:53 · 860 阅读 · 0 评论 -
使用qemu调试openwrt固件
本文章使用Ubuntu focal 20.04 LTS作为宿主机qemu版本为5.2.0,以x86_64构架openwrt为例。直接启动固件因为宿主机也是x86_64构架且支持硬件虚拟化,所以这里启动kvm加速,openwrt-x86-64-generic-squashfs-combined.img是编译好的固件。qemu-system-x86_64 --enable-kvm openwrt-x86-64-generic-squashfs-combined.img可以看见openwrt成功运行并打原创 2021-02-06 12:45:25 · 2915 阅读 · 0 评论 -
使用apt-get、yum 、下载开源软件速度慢的解决方法
国内新手在使用Ubuntu、Centos等系统更新源或者下载诸如Git、VirtualBox这些软件时经常遇到下载速度只有几十k甚至下载失败的问题,原因是因为这些软件的服务器一般架设在国外,其中的原因可能性非常多:1.架设电缆不可能是直线,并且传播速度是小于光速的。也就是说,理论物理距离/光速 <实际物理距离/实际传播速度,即美帝至国内的延时至少有100+毫秒。这是目前阶段下,投入和结果相对平衡的延时。2.除了线路中的传播延时,同时还有服务器间的处理时延、排队时延等,包括DNS询问IP所需时延,如原创 2021-02-05 10:01:29 · 470 阅读 · 0 评论 -
定制Ubuntu文件系统
上一篇文章介绍了如何构建一个Linux系统,里面用到了一个叫ubuntu-base的包,这个包就是个最简化的ubuntu文件系统,如果使用qemu模拟器启动这个系统会发现里面除了基础文件读写功能外啥玩意也没有,甚至没有网络?这能忍?这篇文章就介绍如何从ubuntu-base包里构建出一个功能更加完善的ubuntu系统。获取Ubuntu-baseUbuntu-base可以从Ubuntu-cdimage网站获取,网址为:http://cdimage.ubuntu.com/,如果你身处中国大陆,推荐从中科大镜原创 2021-02-05 09:58:11 · 582 阅读 · 0 评论 -
模拟标准PC 从源代码构建Linux系统
模拟标准PC 从源代码构建Linux系统本文介绍怎样从0使用源代码构建一个可以运行的Linux系统,并使用QEMU模拟一台标准x86_64 PC运行构建完成的系统镜像。标准PC的启动流程从打开电源到开始操作,PC的启动是一个非常复杂的过程。但是简而言之可以简化成以下几个步骤。1.进入BIOS程序完成自检2.从启动介质中读取系统镜像文件3.运行启动文件进入系统其中1,2两步是固化在标准PC主板Flash上的程序,本文讲的是构建一个可以运行的系统镜像文件。模拟标准PC本文使用QEMU模拟标准P原创 2021-02-05 09:57:09 · 745 阅读 · 0 评论 -
linux container_of宏
阅读过linux内核源代码的朋友一定见过container_of宏,container_of用来根据成员变量查找所在基结构体的地址,听起来似乎有点绕,通过下面的几张图和分析就可以比较轻松的理解它的工作原理了。有一个结构体定义如下:struct container_type { ... member_type member; //member_type可以为任何类型 ...};比如...原创 2019-10-01 11:00:17 · 123 阅读 · 0 评论