
Linux系统管理
文章平均质量分 59
alenliu0621
随风飘飘天地任逍遥~~~
展开
-
docker-elk 一个坑人的错误:kibana 前台页面报错 server is not ready yet !
就是由于磁盘空间不足,导致 kibana 服务不能正常启动!我TMD真是服了,磁盘空间不足对于个人电脑来说是一个比较常见的问题。你TMD搞一个项目,这么常见的问题,都没有文档指出来!还要让使用你项目的人【一个小白】花费很长的时间查找问题原因,这得多让人崩溃。真不知道那群老外干活是细致还是粗心!另外一个例子就是几年前我博客发的这篇文章kubernetes 坑人的错误!!!关于k8s的一个坑,几年来陆陆续续一直有人踩。真的无语!还是发篇文章吧,避免后人踩坑!原创 2023-12-24 01:03:12 · 1026 阅读 · 1 评论 -
在 openresty 中使用 capnp lua 库
这个程序将一个 lua 数据【数据格式是按照 AddressBook.capnp 文件定义的】序列化成 capnp 二进制数据,然后将二进制数据反序列化成 lua 数据,最后使用 cjson 库将 lua 数据序列化成 json 格式,使用 nginx 输出。默认库都是安装到了 /usr/local/share/lua/5.1/ 目录下。新建一个目录,将 AddressBook_capnp.lua 文件放到这个目录。lua-cjson 库不是必须的,是由于后面的演示程序要使用,就一起装上了。原创 2023-10-22 21:44:17 · 958 阅读 · 0 评论 -
Ubuntu 22.04 编译 DPDK 19.11 igb_uio 和 kni 报错解决办法
修改 x86_64-native-linuxapp-gcc/build/kernel/linux/igb_uio/Makefile 文件,去掉“MODULE_CFLAGS += -Winline -Wall -Werror” -行的 -Werror 编译选项。修改 x86_64-native-linuxapp-gcc/build/kernel/linux/kni/kni_misc.c 文件 406行,将 random_ether_addr 函数修改为 eth_random_addr。原创 2023-09-08 01:23:01 · 2259 阅读 · 0 评论 -
Ubuntu 22.04 编译 Linux 5.16.5 内核报错:FAILED: load BTF from vmlinux: Invalid argument
网上搜了下说要将 .config 配置文件中 CONFIG_DEBUG_INFO_BTF=y 改为 CONFIG_DEBUG_INFO_BTF=n。这样编译就不会报错。但是我想要开启这个选项【和ebpf相关的选项】,进一步搜索发现是由于 pahole 这个程序版本太高导致,当前版本是 1.25.原创 2023-09-08 00:17:55 · 6399 阅读 · 4 评论 -
使用 rsync 的 rsync 协议在集群间同步文件
在创建集群时,经常需要同时在多个机器上创建相同的文件,如果手动创建就很麻烦。于是就使用 rsync 工具,在一个机器上创建完成后,将它同步到其他的机器。一般 rsync 使用 ssh 协议,但是需要配置 ssh 服务,创建公钥私钥等,比较麻烦。比如我删除了几个文件,也想要其他主机删除这个文件,那么就添加 delete 参数。b. 同步文件夹 /root/中所有的文件到目标主机 1.1.1.2 /root 目录。a. 只同步/root目录下的某个文件到目标主机 1.1.1.2 /root 目录。原创 2023-03-18 17:31:42 · 549 阅读 · 1 评论 -
在 Ubuntu 21.10 中编写 eBPF tc 程序
Ubuntu 21.10 编写 eBPF tc 程序原创 2022-07-13 00:55:09 · 1060 阅读 · 0 评论 -
Linux 调用 mmap 奇怪的报错:Invalid argument
Linux 调用 mmap 奇怪的报错:Invalid argument原创 2022-06-27 14:13:06 · 2441 阅读 · 0 评论 -
macOS 下做 DNAT
macOS 下做 DNAT原创 2022-06-24 18:19:13 · 906 阅读 · 0 评论 -
IPv6 地址解析过程
IPv6 地址解析过程原创 2022-06-02 23:27:11 · 5939 阅读 · 0 评论 -
使用 iptables TPROXY 在网关上劫持流量
使用 iptables TPROXY 在网关上劫持流量原创 2022-06-02 17:07:42 · 2547 阅读 · 0 评论 -
Ubuntu 21.10 ebtables一个大坑:操作 broute 表报错: No chain/target/match by that name
ebtables 一个无语的问题原创 2022-04-16 15:20:25 · 2908 阅读 · 8 评论 -
Ubuntu 21.10 编译内核一个无语的坑: make modules_install 报错:No space left on device
Ubuntu21.10 编译安装内核模块的问题原创 2022-04-16 00:44:38 · 2854 阅读 · 0 评论 -
CentOS 6.5 最新可用的软件源
今晚又在虚拟机装上了CentOS6.5,发现由于官方已停止支持,原来的软件源都无法使用。查了一会终于找到可用的源,记录一下,免得后面用到再查。原创 2022-04-08 02:23:18 · 2011 阅读 · 6 评论 -
Tiny Core Linux 的安装和使用
Tiny Core Linux 是一个非常小的 Linux 发行版,最小的镜像大小只有十几兆。这个系统有几个特点:需要的内存少。安装快。启动快。只有很少的命令可以使用。本文来讲讲如何在 VMware 中安装和使用它。原创 2021-09-16 00:48:00 · 12397 阅读 · 3 评论 -
SecureCRT 使用串口登陆 Ubuntu16.04 虚拟机
环境宿主机:Win10虚拟机:VMware 中的 Ubuntu16.04SecureCRT 版本:8.7 下载地址原创 2021-09-13 21:49:33 · 1310 阅读 · 0 评论 -
glibc 中队列的使用方法
今天看 DPDK 源码时,发现它使用了 glibc 中提供的队列 API,这些 API 包含在 <sys/queue.h> 头文件中,易于使用。今天看了下 man 手册,记录下如何使用这些 API 。第一种队列是 singly-linked lists。单向链表,插入操作只支持向头部插入,所以通常用来实现 LIFO(后进先出队列)。第二种队列是 singly-linked tai...原创 2020-03-25 01:03:59 · 1029 阅读 · 0 评论 -
解决 CentOS6.5 虚拟机复制后网卡编号不正确的问题
今天在使用 VirtualBox 复制一个 CentOS6.5 虚拟机后,发现复制后的虚拟机网卡的命名不是从 eth0开始。比如之前的虚拟机4个网卡名称是eth0-eth3,但是复制后的虚拟机4个网卡名称是eth4-eth7,而且还跟 VirtualBox 中配置的网卡顺序不一致。起始很早之前就注意到这个问题了,只是没想着解决。今天恰好发现了一个解决方案,记录下来。修改 /etc/udev/r...原创 2020-01-07 14:32:18 · 690 阅读 · 0 评论 -
C语言使用 gzip 算法压缩数据
前言在实际工作场景中,为了节省网络带宽,经常需要将大的数据压缩后传输。gzip 是一种很常见的数据压缩算法,本文给出C语言程序实例,介绍如何使用 zlib 库中的 gzip 算法压缩数据。代码test_zlib.c 代码如下:#include <stdio.h>#include <string.h>#include <malloc.h>#incl...原创 2019-09-03 18:31:28 · 8871 阅读 · 0 评论 -
CentOS6.5 与 Windows10 共享 root 用户文件夹
今天在虚拟机里安装了最小化版本的 CentOS6.5(CentOS-6.5-x86_64-minimal.iso,498MB,没有桌面环境和一些常用的工具,只有一个root用户),内核版本为2.6.32。我打算共享一个文件夹到Win10,折腾了一个小时,终于搞定,这里记录下过程,方便以后查找。刚开始我共享一个自己新建的文件夹时,在 Win10 上访问时遇到了恼人的安全认证问题,如下所示:...原创 2017-08-06 17:17:50 · 5837 阅读 · 0 评论 -
Fedora 14 yum 报错: Cannot retrieve repository metadata (repomd.xml) for repository
由于工作原因,需要使用Fedora 14,安装后系统后使用yum安装报错:[root@bogon liu]# yum install samba samba-client samba-swatLoaded plugins: langpacks, presto, refresh-packagekitAdding en_US to language listError: Can原创 2017-10-13 11:00:19 · 6841 阅读 · 0 评论 -
Ubuntu16.04 网桥模式下 iptables 不匹配规则问题记录
前几天,由于工作需要,需要在高版本Linux内核中验证iptables的一个功能。于是我使用Ubuntu16.04(内核版本是4.13.0)搭建了一个实验环境。之前一直使用CentOS6.5比较多(内核版本是2.6.35),Ubuntu用的比较少。环境搭好后,立即就发现了一个不对劲的地方。 root@ubuntu:/home/liu# iptables -nvL Chain INPUT ...原创 2018-02-01 23:27:30 · 3217 阅读 · 0 评论 -
vi 编辑文本常用快捷键
文章目录说明光标移动:翻屏:插入:删除:复制:粘贴:查找文件说明我主要使用vi查看或编辑位于远程主机上的文本,而不是用来写代码,所以只使用最基本的快捷键。在处理普通文本时,我们只需要使用到vi的两种模式:正常模式:vi启动后就是正常模式,该模式下可以使用快捷键,或按**’:’**键输入命令行执行。插入模式:在正常模式下,按’i’、’o'等键都可以进入插入模式插入文本。按ESC键回到正常模式。光标移动:k 或 上方向键 ===== 上移一行j 或 下方向键 ===== 下移一行h 或 左方原创 2018-07-05 23:55:36 · 1592 阅读 · 0 评论 -
Ubuntu16.04 与 Windows10 共享 root 用户文件夹
我是一个懒人,在个人使用 Linux 时,只想使用 root 用户,不想使用普通用户再敲 sudo 命令。所以在虚拟机里使用 Linux 时,我都有一个习惯就是将文件放在 /root 文件夹下,然后通过 Samba 与 Windows 共享文件。在 这篇文章 中,我曾介绍了如何在最小化版本的CentOS6.5(只有root用户)中与 Win10 共享 root 用户文件夹。之后在使用 Ubun...原创 2019-01-19 15:23:52 · 1161 阅读 · 0 评论 -
个人常用的 awk 命令
1. 格式化某些 /proc 文件输出linux下有些/proc文件的输出内容确实没法看,比如/proc/net/snmp的输出如下:[root@localhost ~]# cat /proc/net/snmp Ip: Forwarding DefaultTTL InReceives InHdrErrors InAddrErrors ForwDatagrams InUnknownProtos...原创 2019-01-16 22:15:38 · 831 阅读 · 0 评论 -
终端复用工具 tmux 介绍及使用
文章目录前言介绍常用命令常用快捷键基本会话窗口面板内容浏览前言不放假的节日我从来不过~ ????介绍tmux 是一个Unix中的一个终端复用工具,简单来说就是允许你在一个屏幕中创建多个终端,如下图所示:tmux 中有如下几个概念:会话 (session):tmux 管理的一些伪终端的集合。窗口 (window):在一个会话中可以创建多个窗口。当会话中的所有窗口被关闭时,会话也会自动关闭。面板 (panel):在一个窗口中可以创建多个面板,每一个面板都是伪终端。上图中,显示了一个会话(左下原创 2019-02-14 22:03:07 · 666 阅读 · 0 评论 -
Ubuntu16.04 rc.local不生效,启动过程中报“Failed to start /etc/rc.local Compatibility”错误
使用Ubuntu16.04时,发现有时候启动脚本/etc/rc.local中的命令不生效,随即发现在这种情况下系统启动时会打印 Failed to start /etc/rc.local Compatibility 错误。Google了下,找到适合我的解决办法是将文件中第一行:修改成 #!/bin/bash 就可以了。原因可能是用户使用的shell和rc.local文件指定的执行shell不一...原创 2019-06-16 00:46:41 · 20187 阅读 · 7 评论 -
快速构建自己的 docker Ubuntu 镜像
说明本文介绍如何构建一个包含常用的命令的 docker ubuntu镜像,镜像启动时运行nginx(使用的nginx是自己编译的版本)提供web服务。创建目录创建一个编译镜像的目录 build,复制本地的nginx文件夹到新目录。mkdir buildcd buildcp -r /usr/local/nginx .修改 nginx/conf/nginx.conf 文件为自己想要的配...原创 2019-06-16 20:38:44 · 3641 阅读 · 4 评论 -
kubernetes 坑人的错误!!!Unable to connect to the server: x509: certificate signed by unknown authority
说明尼玛,今晚在虚拟机搭建 kubernetes 集群环境时,遇到一个破问题,我花费了近4个小时才解决!!!,现记录下这个问题如何出现以及如何解决,避免后人踩坑!!!环境ubuntu 16.04 虚拟机docker 18.09.1kubernetes 1.14.3问题复现昨天按照教程搭建了一个集群,今天想重新实验下,于是执行kubeadm reset命令清除集群所有的配置。接着...原创 2019-06-22 00:15:37 · 90269 阅读 · 47 评论 -
介绍 VMware 中的网络
文章目录Bridged 网络NAT 网络Host-Only 网络LAN Segments我该使用什么网络 ?对比 VirtualBox 网络Bridged 网络Bridged 网络 就是我们通常说的桥接网络。使用这种网络方式,就相当于使用一台 VMware 创建的虚拟交换机 VMnet0 将虚拟机中的网口和宿主机中的网口连接起来,这样就将虚拟机加入到宿主机所在的局域网中,可以直接访问局域网中的其他主机。如果使用的是无线网络,那么虚拟机中的网口就会自动获取到一个IP地址,可以直接访问外网。NAT 网原创 2019-06-23 17:38:08 · 753 阅读 · 0 评论 -
WebSocket 协议简介
为什么需要WebSocket 协议?总所周知,HTTP 协议是一个遵循请求-响应模式的协议。这种模式有两个特点:1. 由客户端先发起请求,然后等待服务器的响应。2. 服务器不能在没有接收到客户端请求时,就发送数据。也就是说,客户端和服务器之间的通信是单向的。在某些应用中,通常有服务器向客户端推送数据的需求,也就是需要客户端和服务器之间能够双向通信。而使用现有的HTTP协议不能很好地实现这个需求...原创 2019-06-23 23:26:54 · 695 阅读 · 0 评论 -
JSON 格式
JSON (JavaScript Object Notation) 是一个轻量级的数据交换格式。这种格式易于人们阅读和书写,也易于计算机解析和生成。JSON 由两种结构组成:一种是由多对 名字 / 值 组成的集合。在各种编程语言中,也被称为对象,纪录,结构,字典,哈希表, 关联数组。一种是包含多个值的顺序表。在大多数编程语言中,也被称为数组,容器,列表或序列。在 JSON 中,它们以...原创 2019-07-01 01:51:59 · 14133 阅读 · 2 评论 -
cJSON库的安装与使用
介绍sJSON 库是C语言中的最常用的 JSON 库。github 地址是 https://github.com/DaveGamble/cJSON 。安装环境是 Ubuntu 16.04。需要先安装cmake。cJSON 库安装步骤如下:git clone https://github.com/DaveGamble/cJSON.gitcd cJSON/mkdir buildcd b...原创 2019-07-01 12:15:31 · 20583 阅读 · 7 评论 -
Ubuntu16.04 字符界面 ifconfig 命令无网络接口 ens33 的解决方法
今天在虚拟机里安装完Ubuntu16.04(以NAT方式上网),因为不需要使用GUI,所以在使用 systemctl set-default multi-user.target命令后,重启切换到字符界面发现SSH登录不上,ifconfig 命令下发现网络接口ens33不见了,只有环回口,如下图所示: 其实不是接口不存在,只是接口没有UP。网络搜索无果,只好自己找方法。回到图...原创 2017-04-22 22:32:20 · 20255 阅读 · 20 评论