Linux
记录Linux内核相关学习成长纪要。
__Benco
不负青春,不负梦;
不负韶华,不负心。
展开
-
使用 Snort 进行入侵检测
您可以重命名旧的“规则”目录 rules.YYYYMMDD 或任何您喜欢的名称,然后将新的规则目录放在其位置并重新启动 Snort。您还应该将在那里找到的所有配置文件复制到 /etc/snort/(本质上是 cp *.rules /etc/snort/rules/、cp *.conf /etc/snort、cp *.config /etc/snort、cp *.map /etc/snort)正如我们提到的,snort 根据 /etc/snort/rules 中的一组规则开展活动。现在,您可以开始编译了。原创 2024-05-28 00:16:17 · 864 阅读 · 2 评论 -
Linux防火墙
但是,如果我们发现有人滥用服务,例如垃圾邮件发送者,那么我们可以关闭他对服务的访问,这样他就无法连接到我们的邮件服务器(当然,直到他切换 IP 地址)。在这种特殊情况下,外部任何人都不能访问这些服务,而对于您,您可以选择限制更多或更少的服务,但关键是 iptables 还为我们提供了基于 IP 地址进行限制的可能性。您可以暂时执行此操作,直到重新启动机器,方法是先删除提供对端口 80 和 443 的访问的规则,然后插入一条规则,丢弃以这些端口为目的地的数据包。虽然这是一个基本的脚本,但它提供了很好的保护。原创 2024-05-28 00:08:19 · 889 阅读 · 0 评论 -
使用“tcpdump”查看原始数据包
再补充一个轶事,当我在写这节课并解释我自己的转储时,我看到我的个人工作站上有一些奇怪的活动。最后,通过逐个关闭,我发现是 Skype,我一直都打开它。至于其余部分,它不是人类可读的,但我们放心,因为我们知道这是一个合法的数据包。使用这种格式的另一个优点是,即使我们无法准确解释这个数据包发生了什么,我们也可以将其发送给可能能够解释的人。现在,如果您认为这有点难以解释,如果您使用 -x 选项,它将以十六进制输出包含数据包内容。使用 -v 选项可以获得更详细的信息,使用 -vv 选项可以获得更多的信息。原创 2024-05-27 23:55:58 · 838 阅读 · 0 评论 -
ubuntu20.04/etc/resolv.conf 语法语义解释
4. `options`:在 Ubuntu 20.04 中,你可以通过编辑 `/etc/systemd/resolved.conf` 文件中的 `DNSOptions` 选项来指定其他选项,如超时时间和转发等。在 Ubuntu 20.04 中,`/etc/resolv.conf` 文件的语法和语义有一些变化。3. `domain`:在 Ubuntu 20.04 中,你可以通过编辑 `/etc/systemd/resolved.conf` 文件中的 `DNSDomains` 选项来配置默认的域名。原创 2024-01-13 13:12:53 · 949 阅读 · 0 评论 -
Linux 管理 Systemd 服务的命令行工具
6. `systemctl status `:显示一个服务的状态信息,包括是否正在运行以及最后一次的状态更新时间等。5. `systemctl disable `:禁用一个服务,使其在系统启动时不会自动启动。1. `systemctl enable `:启用一个服务,使其在系统启动时自动启动。10. `systemctl is-active `:检查一个服务是否正在运行。原创 2024-01-12 20:24:45 · 606 阅读 · 0 评论 -
ubuntu apt指令集学习心得
这些指令提供了更多的选项和功能,可以帮助你更好地管理和操作Ubuntu系统中的软件包。记得根据需要使用适当的指令,并在需要时使用`sudo`获取管理员权限。ubuntu apt指令集学习心得。原创 2023-12-07 21:58:09 · 688 阅读 · 0 评论 -
Linux三剑客之awk、sed和grep
sed具有强大的正则表达式支持和灵活的编辑功能,你可以根据具体需求编写复杂的sed脚本来实现更复杂的文本处理任务。阅读grep的文档和参考资料,以及进行实践和尝试,将有助于你深入了解和掌握grep命令的强大能力。阅读awk的文档和参考资料,以及进行实践和尝试,将有助于你深入了解和掌握awk命令的强大能力。阅读sed的文档和参考资料,以及进行实践和尝试,将有助于你深入了解和掌握sed命令的强大能力。- grep是一种用于搜索文本的工具,它可以根据指定的模式匹配在文件中查找特定的字符串,并将匹配到的行输出。原创 2023-11-20 01:26:00 · 574 阅读 · 0 评论 -
一个用于处理嵌入式系统中的 NAND Flash 存储器的工具 `kobs-ng`
在大多数 Linux 系统中,NAND Flash 设备通常会以 `/dev/mtdX` 的形式出现,其中 `X` 是设备的编号。- `kobs-ng nandwrite`: 与 `kobs-ng write` 类似,用于将数据写入 NAND Flash 块。- `kobs-ng nanddump`: 与 `kobs-ng read` 类似,用于从 NAND Flash 块中读取数据。- ``: NAND Flash 设备的路径,例如 `/dev/mtd0`。原创 2023-12-11 23:03:46 · 637 阅读 · 0 评论 -
dd命令用法学习,是一个功能强大的工具
`oflag=seek_bytes:n`:以字节为单位跳过输出文件的前 n 个字节,在开始写入之前在输出文件中创建空洞。- `conv=conversion`:进行数据转换操作,如 `conv=ucase` 将小写字母转换为大写字母。- `iflag=flags`:设置输入标志,如 `iflag=direct` 可以绕过缓存直接读取输入文件。- `seek=n`:跳过输出文件的前 n 个块,在开始写入之前在输出文件中创建空洞。- `seek_bytes=n`:以字节为单位跳过输出文件的前 n 个字节。原创 2023-10-28 23:04:01 · 1574 阅读 · 0 评论 -
rk3568 weston 桌面相关
name=DSI-1 //与上面列表相对应,去掉card0 mode=1024x600 //需为屏幕支持的有效分辨率scale=2 //需为整数倍数。panel-position=none //去除面板工具栏background-color=0x00FFFFFF //背景完全透明。name=DSI-1 //与上面列表相对应,去掉card0 transform=0/90/180/270 //旋转角度。修改 /etc/xdg/weston/weston.ini 文件。原创 2023-09-28 15:55:13 · 1210 阅读 · 0 评论 -
golang的实用工具
10. go tool:提供了一些辅助工具,如性能分析工具(go tool pprof)、调试器(go tool delve)等。16. go tool dist:用于管理 Go 语言的发行版,可以构建和安装特定版本的 Go。11. go install:用于编译并安装 Go 程序,将可执行文件安装到指定的目录中。6. go fmt:用于格式化 Go 代码,使其符合 Go 语言的规范。7. go vet:用于静态分析 Go 代码,查找潜在的错误或问题。8. go doc:用于查看 Go 代码的文档注释。原创 2023-09-26 23:58:08 · 525 阅读 · 0 评论 -
如何在 Buildroot 中配置 Samba
4. 在 "Target packages" 子菜单中,找到 "Networking applications" 选项,并按 Enter 键进入子菜单。15. 配置 Samba 的共享目录和权限,可以编辑 Samba 的配置文件(通常是 `/etc/samba/smb.conf`)。- `security`:指定 Samba 的安全模式,这里设置为 "user" 表示使用基于用户的身份验证。14. 在目标设备上,使用适当的命令启动 Samba 服务,例如 `smbd` 和 `nmbd`。原创 2023-09-19 22:02:57 · 449 阅读 · 0 评论 -
Linux中如何获取输入设备(如触摸屏、按键等)的事件信息
在上述示例中,首先定义了输入设备文件路径`inputDevicePath`,然后使用`open()`函数打开该输入设备文件,并将返回的文件描述符存储在`inputDeviceFd`中。通过调用`read()`函数从输入设备文件中读取事件数据,并将其存储在`event`结构体中。输入设备文件通常位于`/dev/input/`目录下,以`eventX`的形式命名,其中`X`是数字标识符。在Linux中,可以使用`getevent`命令来获取输入设备(如触摸屏、按键等)的事件信息。原创 2023-09-15 15:22:12 · 2106 阅读 · 1 评论 -
在嵌入式Linux中使用C++读取 /proc/meminfo 文件来获取系统内存大小
文件并逐行读取其中的内容。当找到以 "MemTotal:" 开头的行时,提取出内存大小信息并去除空格和单位(KB),然后将其转换为无符号长整型数值。最后,输出总内存大小。请注意,这只是一个简单的示例代码,可能需要根据实际情况进行适当的错误处理和异常处理。文件中还包含其他有关内存的信息,你可以根据需求进一步解析该文件以获取更多详细信息。在嵌入式Linux中,可以使用C++编程语言通过读取。文件来获取系统内存大小。原创 2023-08-29 16:01:29 · 755 阅读 · 2 评论 -
如何通过udev规则来配置Linux系统中的USB设备名称
需要注意的是,上面方法不支持修改过2个相同vid和pid的USB网卡名称。其中,0bda和0fe6为设备的idVendor,8152和9900为设备的idProduct,eth*为需要修改的名称,usb1/2为您的自定义设备名称。我们可以通过udev规则来配置Linux系统中的USB设备名称。然后,保存一个文件并退出重启即可。请注意,新的规则将在下次插入USB设备后立即应用。原创 2023-08-25 18:38:23 · 521 阅读 · 0 评论 -
修改 Ubuntu 系统的时区
将 `` 替换为您选择的时区标识符。例如,对于纽约的时区,可以使用 `America/New_York`。4. 更新时区设置后,您可以再次运行 `timedatectl` 命令来验证时区是否已更改。完成上述步骤后,您的 Ubuntu 系统的时区设置应该会被正确更新。请注意,执行上述操作需要具有管理员权限(使用 `sudo`)。您可以在列表中找到适合您所在地区的时区标识符。该命令将引导您通过一个交互式菜单来选择适当的时区。这将显示当前系统的日期、时间和时区信息。原创 2023-08-08 14:05:34 · 2041 阅读 · 0 评论 -
linux/drivers/leds/led-class.c学习
`led_classdev_register_ext()` 和 `led_classdev_unregister_ext()`:扩展的 LED 设备注册和注销函数,支持更多的设备属性和配置选项。- `led_classdev_suspend_noirq()` 和 `led_classdev_resume_noirq()`:在系统挂起和恢复时暂停和恢复 LED 设备的操作,不考虑中断。- `led_classdev_flash_init()`:初始化支持闪光灯功能的 LED 设备。原创 2023-08-01 17:31:27 · 613 阅读 · 0 评论 -
linux/drivers/leds/leds-gpio.c学习
`gpio_led_suspend()` 和 `gpio_led_resume()`:这两个函数用于在系统挂起和恢复时处理 GPIO LED 的状态。其中最重要的结构体是 `struct gpio_led`,它包含了 GPIO LED 的名称、GPIO 引脚号、默认亮度等信息。1. 头文件引入:该文件引入了一些必要的头文件,包括 ``、``、`` 等。原创 2023-07-31 17:28:33 · 732 阅读 · 0 评论 -
嵌入式Linux的gpio做dido输入输出驱动
分享份关于Linux的dido驱动。原创 2023-07-24 11:16:03 · 690 阅读 · 0 评论 -
find 和 grep 结合使用解释
这将在当前目录及其子目录中查找扩展名为 `.txt` 的文件,并使用 `grep` 命令搜索包含 "search_text" 的行,并将结果输出到 `output.txt` 文件中。这将在当前目录及其子目录中查找扩展名为 `.log` 的文件,但会忽略名为 `ignore_dir` 的目录,并使用 `grep` 命令搜索包含 "search_text" 的行。这将在当前目录及其子目录中查找所有扩展名为 `.txt` 的文件,并使用 `grep` 命令搜索包含 "search_text" 的行。原创 2023-07-20 19:48:11 · 1456 阅读 · 0 评论 -
如何在ubuntu交叉编译qt5程序发布到rk3568 Linux开发板运行?
本文将介绍如何在ubuntu搭建qt的开发环境的搭建和第一个helloworld程序创建、构建过程。2.1.下载 qt5-opensouce-5.15.8 源码到ubuntu。以上5个流程下来即可完成我们想要的第一个helloworld程序。2.2.编译qt5-opensouce-5.15.8 源码。可通过sd卡、u盘、ssh等方法拷贝传输到开发板。使用上面qt源码编译安装的qmake工具来编译。原创 2023-07-20 17:54:44 · 2141 阅读 · 0 评论 -
win10 远程 ubuntu 18.04 桌面
请注意,如果您使用的是Ubuntu 18.04的默认GNOME桌面环境,可能会遇到一些显示问题。您可以尝试使用其他轻量级桌面环境,如Xfce或MATE,以获得更好的远程连接体验。4. 在Windows 10上,打开“远程桌面连接”应用程序。5. 在“远程桌面连接”应用程序中,输入Ubuntu 18.04的IP地址或主机名,并点击“连接”。6. 输入您的Ubuntu 18.04的用户名和密码,然后点击“确定”。7. 如果一切正常,您将成功连接到Ubuntu 18.04的远程桌面。原创 2023-07-06 19:56:16 · 1345 阅读 · 0 评论 -
Wayland 和 X11 协议之间的主要区别
在 X11 中,应用程序通过 X 服务器与显示器交互,而在 Wayland 中,应用程序直接与合成器交互,合成器负责将应用程序的输出合成为最终的图像。在 X11 中,应用程序可以访问整个 X 服务器,包括其他应用程序的数据,而在 Wayland 中,每个应用程序都运行在自己的沙箱中,只能访问自己的数据。在 X11 中,应用程序的输出需要经过多次复制和转换才能最终显示在屏幕上,而在 Wayland 中,应用程序的输出直接传递给合成器,减少了这些操作。原创 2023-06-25 10:36:27 · 5217 阅读 · 0 评论 -
ARM Linux 如何在sysfs用户态命令行中控制 GPIO 引脚?
root@rk3568:/]# echo out > /sys/class/gpio/gpio150/direction //设置IO 输出方向。[root@rk3568:/]# echo 0 > /sys/class/gpio/gpio150/value //设置IO 输出为低电平。[root@rk3568:/]# echo 1 > /sys/class/gpio/gpio150/value //设置IO 输出为高电平。A-D 对应1-4:A->1,B->2,C->3,D->4。原创 2023-02-13 19:18:48 · 794 阅读 · 0 评论 -
arm-xxx-gcc各种交叉编译器傻傻分不清楚:arm-linux-gnueabihf-gcc、arm-none-linux-gnueabi-gcc
(ARM architecture,novendor,nottarget an operating system,complies with the ARM EABI)用于编译 ARM 架构的裸机系统(包括 ARM Linux 的 boot、kernel,不适用编译 Linux 应用 Application),一般适合 ARM7、Cortex-M 和 Cortex-R 内核的芯片使用,所以不支持那些跟操作系统关系密切的函数。支持操作系统:arm-none-linux-eabi-gcc。原创 2022-11-12 11:43:48 · 2061 阅读 · 0 评论 -
linux Kconfig 学习与总结
3.如果 XX_defconfig 板卡配置文件中没有设置 CONFIG_MODULES=y,则编译 make modules 时将会失败,而 make menuconfig 时,Kconfig中的tristate参数也会被读写为bool参数(也就是不能设置m)。2.如果 XX_defconfig 板卡配置文件中定义新的宏=y时,而在Kconfig并没有声明它,则内核编译出来的autoconf.h里也不会定义它的。原创 2022-11-07 15:49:41 · 332 阅读 · 0 评论 -
Ubuntu18.04搭建FTP服务器
至此已完成FTP服务器搭建,可在ubuntu终端或windows端访问。4、修改配置“sudo vim /etc/vsftpd.conf”5、配置完成后,创建文件夹和文件,重启服务器。7、windows文件夹登录。1、安装vsftpd。原创 2022-10-22 23:46:56 · 1207 阅读 · 2 评论 -
ARM Linux系统中的动态IP和静态IP地址怎么设置?
开发工作中,我们经常会有各种各样的需求,有人要动态ip,也有要静态ip的,其实方法很简单,下面分享下我的实现方法。按照上面脚本修改即可实现,eth0为静态ip,eth1为动态ip。原创 2022-10-21 10:42:35 · 2073 阅读 · 0 评论 -
Linux shell 脚本中的$$、$#、$?、$1的具体含义是什么呢?
Linux shell 脚本中的$$、$#、$?、$1的具体含义是什么呢?原创 2022-09-30 10:53:55 · 2395 阅读 · 0 评论 -
Kconfig中的select和depends on
Kconfig中的select和depends on。note:只有在选中B,才能选A。note:只要选中A,就会选中B。原创 2022-09-13 11:17:15 · 1551 阅读 · 0 评论 -
Linux canutils学习调试手记
Linux canutils学习调试手记原创 2022-08-11 19:53:40 · 2055 阅读 · 0 评论 -
ubuntu18.04装向日葵卸载后不能上网?
ubuntu18.04不能上网?问题描述:前段时间装向日葵卸载后,网络配置全变了,然后上不了网,试了好多方法,整理下收藏。原创 2022-07-30 19:41:28 · 1200 阅读 · 0 评论 -
修改ubuntu主机名
修改ubuntu主机名原创 2022-07-18 13:26:33 · 2256 阅读 · 0 评论 -
修改ubuntu-18.04静态ip地址
修改ubuntu-18.04静态ip地址原创 2022-07-18 13:22:28 · 213 阅读 · 0 评论 -
Linux TCP/IP-PING包大小分析
Linux TCP/IP-PING包大小分析原创 2022-07-04 12:02:50 · 1329 阅读 · 0 评论 -
常见Linux shell脚本中的“-e -d -f -eq -ne -gt -ge”操作符的含义
常见Linux shell脚本中的“-e -d -f -eq -ne -gt -ge”操作符的含义原创 2022-06-27 21:26:02 · 16680 阅读 · 0 评论 -
ubuntu命令“sudo apt-get install”无法定位软件包?
解决ubuntu命令“sudo apt-get install”无法定位软件包的问题:1. 添加镜像源,运行代码:sudo vim /etc/apt/sources.list添加如下内容 (以下是清华源):deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/...原创 2022-04-06 14:35:06 · 10181 阅读 · 0 评论 -
ubuntu 18.04 LTS桌面不见了怎么办?
这几年有时在ubuntu开发的时候,由于都是远程连接操作,有好几次玩着玩着想去桌面端操作的时候,桌面进不去了,有点尴尬,至今也没去搞明白是哪的问题,还是几时被自己面干掉都不知道。解决方法:1、卸载掉无用的安装包: sudo apt-get autoremove2、安装一个全新的Ubuntu桌面: sudo apt-get install ubuntu-desktop 之后,有惊无险,桌面回来了。可喜可贺~~...原创 2022-03-31 21:28:12 · 4986 阅读 · 2 评论 -
操作常犯错的细节记录,仅记录个人走过的路掉过的坑
1.关于tar打包犯过的错打包所有文件,包括“.”隐藏文件:tar cjf kernel.tar.bz2 kernel/打包所有文件但不包括“.”隐藏文件:tar cjf kernel.tar.bz2 kernel/*两者差异在于目录后面的“*”2.未完,待续......原创 2021-12-29 00:28:17 · 414 阅读 · 0 评论 -
C语言宏定义的连接符“##”和“#”转字符串
#include <stdio.h>#define STR0(name)this_is_##name#define STR1(R)#R#define STR2(R)STR1(R)#define STR3(x)STR2(STR0(x))int main(int argc,char **argv){ ...原创 2021-12-25 19:02:52 · 872 阅读 · 0 评论