![](https://img-blog.csdnimg.cn/ef0196423eae497a925cc2af64570eb2.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
linux_study
文章平均质量分 52
Linux自学总结
bug钞能力
此生只为bug
展开
-
linux模块使用外部符号
使用 EXPORT_SYMBOL()这样的宏定义把内核函数的符号导出,也可以理解成将函数名作为符号导出;符号的意思就是函数的入口地址,或者说是把这些符号和对应的地址保存起来的,在内核运行的过程中,可以找到这些符号对应的地址的。(1)、对编译所得的.ko进行strip -S,处理掉调试信息,这样可以大大缩小ko文件的大小;(2)、使用KBUILD_EXTRA_SYMBOLS主要使用于下面这样的场合:有两个我们自己的模块,其中Module B使用了Module A中的export的函数,因此在Module B的原创 2022-07-04 11:01:02 · 1091 阅读 · 1 评论 -
ubuntu的root用户
以普通用户登录系统,创建root用户的密码2. 第二步修改 50-ubuntu.conf 文件在文件末尾增加如下两行:3. 第三步(没有的话可忽略)修改 gdm-autologin 文件原创 2022-07-03 17:05:20 · 233 阅读 · 0 评论 -
构建外部模块(Building External Modules)
参考文档构建外部模块的命令是:(The command to build an external module is:)由于命令中给出的“M=”选项,kbuild 系统知道正在构建外部模块。(The kbuild system knows that an external module is being built due to the “M=” option given in the command.)要针对正在运行的内核进行构建,请使用:(To build against the ..........原创 2022-06-28 21:34:13 · 957 阅读 · 0 评论 -
常用的Linux(RPM)命令
常用的 RPM 软件包命令安装软件的命令格式rpm -ivh filename.rpm升级软件的命令格式rpm -Uvh filename.rpm卸载软件的命令格式rpm -e filename.rpm查询软件描述信息的命令格式rpm -qpi filename.rpm列出软件文件信息的命令格式rpm -qpl filename.rpm查询文件属于哪个 RPM 的命令格式rpm -qf filename常见的 Yum 命令命令作用原创 2022-04-03 21:44:26 · 1951 阅读 · 0 评论 -
Linux run_level
运行级别运行级别(Runlevel)指的是Unix或者Linux等类Unix操作系统下不同的运行模式。运行级别通常分为7等,分别是从0到6,但如果必要的话也可以更多。例如在大多数Linux操作系统下一共有如下7个典型的运行级别: 0 停机,关机 1 单用户,无网络连接,不运行守护进程,不允许非超级用户登录 2 多用户,无网络连接,不运行守护进程 3 多用户,正常启动系统 4 用户自定义 5 多用户,带图形界面 6 重启在Debian Linux原创 2022-03-22 09:51:22 · 122 阅读 · 0 评论 -
linux杂项
查看系统的块大小sudo tune2fs -l /dev/sda1 | grep Blockgedit /var/lib/dpkg/status更新grubgrub-mkconfig -o /boot/grub/grub.cfg查看系统版本lsb_release -a加入sudo组gpasswd -a yyzhang sudo黑名单vim /etc/modprobe.d/blacklist.confblacklist vmwgfxdeb路径ls /var/cache/原创 2022-03-12 15:39:56 · 499 阅读 · 0 评论 -
apt的用法
高级打包工具(英语:Advanced Packaging Tools,缩写为APT)是Debian及其派生发行版的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。构成APT由以下的几个主要的命令构成:apt-getapt-cacheapt-file在Debian系统中,APT原创 2022-01-27 10:43:23 · 1650 阅读 · 0 评论 -
详解Ubuntu的source.list文件
Ubuntu使用apt来管理软件包,apt可以将软件库存储在如下文件中:/etc/apt/sources.list 和 /etc/apt/sources.list.d/目录中带.list后缀的文件中。可以使用命令 man sources.list 来查看apt的完整存储机制。通过编辑这些文件,我们可以添加、删除、或者临时关闭某些软件库。下面详细分析文件sources.list的格式和写法以字符’#'开头的行代表该行是一行注释不以’#'开头的行是apt repository,它的格式为: de原创 2022-01-27 11:20:49 · 2146 阅读 · 0 评论 -
debian_iso
https://cdimage.debian.org/cdimage/archive/10.11.0/amd64/iso-dvd/1、.tar 用 tar –xvf 解压2、.gz 用 gzip -d或者gunzip 解压3、.tar.gz和.tgz 用 tar –xzf 解压4、.bz2 用 bzip2 -d或者用bunzip2 解压5、.tar.bz2用tar –xjf 解压6、.Z 用 uncompress 解压7、.tar.Z 用tar –xZf 解压8、.rar 用 unrar e原创 2022-01-27 16:47:17 · 978 阅读 · 0 评论 -
Ubuntu下制作deb包的方法详解
1.认识deb包deb是Unix系统(其实主要是Linux)下的安装包,基于 tar 包,因此本身会记录文件的权限(读/写/可执行)以及所有者/用户组。由于 Unix 类系统对权限、所有者、组的严格要求,而 deb 格式安装包又经常会涉及到系统比较底层的操作,所以权限等的设置尤其重要2.使用deb包查看deb包含有哪些文件(不安装)dpkg -c xxx.deb // 安装前根据deb文件查看dpkg -L debname // 安装后根据包名查看安装deb包dpkg -i原创 2022-01-27 15:34:52 · 2941 阅读 · 0 评论 -
fdisk分区
sudo fdisk /dev/sdxfdisk 交互式命令提示符使用单字母命令来告诉 fdisk 做什么。fdisk 命令创建文件系统$ ls /mnt$$ sudo mkdir /mnt/my_partition$$ ls -al /mnt/my_partition/$$ ls -dF /mnt/my_partition/mnt/my_partition/$$ sudo mount -t ext4 /dev/sdb1$$ ls -al /mnt/my_partitio原创 2022-01-29 10:21:24 · 1315 阅读 · 0 评论 -
dd 命令和设备
dd 命令和设备dd if=/dev/zero of=new_file bs=1024 count=1上面的例子是从/dev/zero复制一个大小为1024字节的数据块到文件new_file。dd命令的一些重要选项if=file:代表输入文件,默认是标准输入。of=file:代表输出文件,默认是标准输出。bs=size:代表数据块大小。dd命令一次读取或者写入数据的大小。对于海量数据,你可以在数字后设置b和k来分别代表512字节和1024字节。如:bs=1k和bs=1024一样。ibs原创 2022-02-28 14:50:46 · 434 阅读 · 0 评论 -
error___dpkg
1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名2.$ sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹3.$ sudo apt-get update && apt-get -f install //不用解释了吧4.$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old //执行完上一步操作后会在新的inf原创 2022-02-25 16:32:03 · 481 阅读 · 0 评论 -
shell 编程-Expect
No.1 expect的安装…No.2 expect的语法是一个免费的编程工具, 用来实现自动的交互式任务, 而无需人为干预. 说白了 expect 就是一套用来实现自动交互功能的软件在实际工作中我们运行命令、脚本或程序时, 这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输 入都需要人为的手工进行. 而利用 expect 则可以根据程序的提示, 模拟标准输入提供给程序, 从而实现自动化交互执 行. 这就是 expect能够在工作中熟练的使用Shell脚本就可以很大程度的提高工作效率原创 2022-02-22 13:33:03 · 71 阅读 · 0 评论 -
解决Linux下Firefox无法启动的问题
这时查找system monitor 已经没有Firefox相关的进程在活动态。用su命令切换到别的用户则可以正常启动Firefox。在GOOGLE上查找到解决的办法:需要查找和删除火狐配置文件夹中的parent.lock文件。于是进行如下操作:1. cd ~/.mozilla/firefox,看到nqc15tbq.default文件夹,这里nqc15tbq是8位随机数, 每次访问看到的会不同。2. ls -a 找到隐藏文件 .parentlock3. rm .parentlock, 提示选ye原创 2022-02-18 17:58:58 · 5294 阅读 · 0 评论 -
liunx qt编译调试
设置环境变量 export QT_DEBUG_PLUGINS=1加了这个环境变量,让我看到了QT程序加载的过程,看到了详细的报错信息。所以各位可以多试试几个参数值,比如从:0.0开始,一直试。但是这样设置,每个项目都要这样整,干脆在树莓派上,设置一个全局变量:sudo vim /etc/profile添加:export DISPLAY=:0.0,注意这个值是要试出来的按esc键,然后:wq退出保存刷新:source /etc/profile安装Qt5.15.0后,在运行测试用原创 2022-02-18 16:50:16 · 2281 阅读 · 1 评论 -
linux 快速查找文件
1.常用查找命令如下:(1)find 根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。(2)grep 根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。(3)which 查看可执行文件的位置 ,只有设置了环境变量的程序才可以用(4)whereis 寻找特定文件,只能用于查找二进制文件、源代码文件和man手册页(5)locate 配合数据库查看文件位置 ,详情原创 2022-02-18 13:54:41 · 3342 阅读 · 0 评论 -
linux 创建交换文件
交换分区 swap建议大小 mem*2物理内存大于4G swap=mem使用一个块文件来当做swap分区05 再次查看 swapon -s06 确保开机自动使用该swap分区#vi /etc/fstabUUID=****** swap swap defaults,pri=1 0 0#mkdir /swap#dd if=/dev/zero of=/swap/swapfile bs=1M count=512#mkswap /swap/swapfile#s原创 2022-02-17 18:04:21 · 203 阅读 · 0 评论 -
linux kswapd0进程cpu占用一直居高不下
发现kswapd0进程cpu占用一直居高不下,于是查询资料,总结如下。kswapd0占用CPU时, 说明机器的全部内存(物理内存+虚拟内存)已经用尽了. 机器不得不把内存里的内容卸载到硬盘, 然后才能加载所要的程序, 数据. 这个过程机器会反复进行, 这时机器会很慢.最根本的解决办法是增加物理内存.其它办法是:增加swap的容量 (可以创建swap文件来实现)升级占用内存过多的应用, 或者用替代的应用升级系统. 有时候系统臭虫会导致内存管理的问题swap分区的作用是当物理内原创 2022-02-17 15:32:36 · 6256 阅读 · 2 评论 -
linux配置DHCP
1.打开终端,使用【cd】命令切换工作目录,切换到网络配置目录# localhost:~ # cd /etc/sysconfig/network-devices/ # localhost:/etc/sysconfig/network-devices # ls# ifcfg-eth0 ifcfg-eth2 ifcfg-lo ifcfg.template2.DHCP自动获取IP地址# localhost:~ # vim /etc/sysconfig/network-devices/ifcf原创 2022-02-17 15:10:02 · 2408 阅读 · 1 评论 -
linux qemu_ARM
本次PC系统:Ubuntu16.04目标系统:以Versatile Express-A9开发板为例搭建环境参考博客文章(1)参考博客文章(2)一.Qemu编译安装1.Qemu源码下载:wget http://wiki.qemu-project.org/download/qemu-2.7.0.tar.bz22.安装所需要的软件包(参考两文章): sudo apt-get install zlib1g-dev sudo apt-get install libglib2.0-0 sudo a原创 2022-02-17 10:09:11 · 320 阅读 · 0 评论 -
rsync 基础和who*
who:显示当前真正登录系统中的用户(不会显示那些用su命令切换用户的登录者)who am i: 显示当前登录时用的用户名,尽管切换了多个用户whoami: 显示当前用户的用户名rsync file1 file2 ... user @ host :rsync not foundrsync: connection unexpectedly closed (0 bytes read so far)rsync error: error in rsync protocol data stream (原创 2022-02-16 15:20:20 · 312 阅读 · 0 评论 -
linux网络
查看自己计算机的IP地址ifconfig子网子网就是一组相互连接的、带有按序排列的IP地址的主机。通常这组主机会在同一个物理网络中。例如,10.23.2.1至10.23.2.254的主机可以构成一个子网,甚至10.23.1.1至10.23.255.254的都可以。划分子网需要考虑两点:一个是网络前缀,一个是子网掩码( Mask )。假若你要建立一个包含10.23.2.1到10.23.2.254的子网,那么它们通用的网络前缀就是10.23.2.0,子网掩码就是255.255.255.0。前缀和原创 2022-02-16 13:07:50 · 1007 阅读 · 0 评论 -
linux acpi=off
kernel后加acpi=off 是什么意思?acpi=off是关闭高级电源管理接口使用acpi = off会在启动Ubuntu时暂时禁用高级配置和电源接口。如果必须添加acpi = off使ubuntu成功启动,则表示计算机上的ACPI与该版本的ubuntu不兼容。但是,如果您不想在acpi = off每次引导时都添加参数,则可以禁用新卡(BIOS)或禁用ACPI(也可以通过BIOS)。如果找不到新卡界面,请使用第二个选项。并不是所有的参数都是永远可用的,只有在特定的模块存在并且相应的硬件也存原创 2022-02-11 16:38:16 · 4633 阅读 · 0 评论 -
linux 删除 创建 修改 查看...用户
ctrl+alt+delete?正确删除用户若使用userdel 用户名 命令删除该用户时,并不能删除该用户的所有信息,只是删除了/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow四个文件里的该账户和组的信息。默认情况下创建一个用户账号,会创建一个家目录和一个用户邮箱(在/var/spool/mail目录以用户名命名)userdel -r 用户名find / -name 用户名正确创建用户adduser usernamepasswd use原创 2022-02-11 15:57:01 · 116 阅读 · 0 评论 -
linux QEMU使用
下载qemu-system-arm 启动仿真arm芯片qemu-system-arm -M ? 察看支持arm平台有哪些(开发板)qemu-system-arm -cpu ? 察看支持arm哪些cpuqemu-img 格式化虚拟客户端映像、附加存储设备以及网络存储 1.安装交叉编译链(根据自己的需求去安装编译链,我这里安装的是32位)step1:下载编译链,执行命令:wget https://releases.linaro.org/compone原创 2022-02-11 13:06:45 · 1031 阅读 · 0 评论 -
error 4 in libc-2.12.so
在RHEL/CentOS 64位(32位没用过)6.0以上版本中,有core文件被截断的问题,即使你已经设置了ulimit -S -c unlimited。原因好像是因为core pattern设置是abrt,abrt的问题导致core文件很小或者不产生core文件。解决的方法是不使用abrt作为core patternsegfault at 0 ip 000000387712164f sp 00007fffb37d5b48 error 4 in libc-2.12.so[3877000000+175原创 2022-02-09 17:29:38 · 793 阅读 · 0 评论