arp--显示和修改 IP 到 MAC 转换表
arp 命令用于显示和修改 IP 到 MAC 转换表,这个命令本身比较简单,主要还是理解ARP(Address Resolution Protocol)地址解析协议的作用,简单来说,建立ip地址和mac地址间映射,这里我们的操作主要用于查看和修改本地的ARP缓存。
用到这个命令比较常见的情况是发生ip冲突,通过mac地址来判断ip地址是否冲突。
语法1arp(选项)(参数)
选项12345678910-a # 主机 :显示 arp 缓冲区的所有条目;-H # 地址类型 :指定 arp 指令使用的地址类型;-d # 主机 :从 arp 缓冲区中删除指定主机的 arp 条目;-D # 使用指定接口的硬件地址;-e # 以 Linux 的显示风格显示 arp 缓冲区中的条目;-i # 接口 :指定要操作 arp 缓冲区的网络接口;-s # 主机 MAC 地址 :设置指定的主机的 IP 地址与 MAC 地址的静态映射;-n # 以数字方式显示 arp 缓冲区中的条目;-v # 显示详细的 arp 缓冲区条目,包括缓冲区条目的统计信息;-f # 文件 :设置主机的 IP 地址与 MAC 地址的 ...
群晖dsm6部署immich
本人用的黑群晖,升级dsm版本比较麻烦并且用着也没什么问题,就没有动力升级到dsm7,结果突然发现安卓版本的moments在手机上闪退了,应该是安卓大版本更新的原因,无奈找到了immich作为群晖moments套件的替代品,目前网页版原生已支持中文,可放心使用。本文记录下使用docker-compose在群晖dsm6安装immich过程。
准备docker-compose官方要求使用docker compose version 2.x,我目前的docker版本为20.10.3,跑的容器比较多,也不想重启了,就打算只升级docker-compose试试,不过后来发现只升级docker-compose应该不行,还得修改docker-compose文件,不过也不确定不升级是不是还有别的问题,就先记录下这个步骤了。正常升级docker 版本后,应该会自带docker compose命令,注意中间没有-。
下载docker-compose文件 https://github.com/docker/compose/releases#:~:text=2%20weeks%20ago-,docker%2D ...
kuboard定制化只读权限
kuboard是一个非常好用的k8s集群可视化管理工具,想要给kuboad增加一个只读权限的账号,但是业务上又想用bash功能,进容器执行一些调试的命令,查看kuboard的文档实在是没怎么理解,自己摸索了一下,方案如下
建立用户、用户组(通用只读)使用admin账号登录kuboard
创建用户
创建用户组
关联用户到用户组
角色绑定
这里绑定viewer角色
到此为止,使用read账号登录kuboard后选择使用ServiceAccount kuboard-viewer可以使用只读权限访问k8s集群,但是无法进行pod exec ,或者其他想要的定制权限
定制权限创建clusterRole这里可以创建集群程度的clusterrole或者命名空间层级的role,都可以,按需创建,后续绑定过程相同,这里就可以定制想要的权限了,我这份配置是在k8s view clusterrole的基础上,增加了最后一段pods/exec权限
123456789101112131415161718192021222324252627282930313233343536373839404142 ...
grafana查询loki增加显示行数
grafana查询loki的日志默认只会显示一千行,很多时候不够用,这里调整一些配置将查询行数提升到50000
调整grafana数据源
调整grafana配置
调整loki配置
promtail docker部署
通过docker直接部署promtail采集系统日志,并推送到loki,如需要采集其他日志,增加挂载目录并修改配置即可。这里假定已经部署了loki。
准备配置在root目录下新建promtail文件夹,并创建promtail.yaml配置,内容如下,根据需要修改clients地址和采集配置scrape_configs:
123456789101112131415161718192021222324252627282930313233343536373839server: log_level: info http_listen_port: 3101 clients: - url: http://192.168.0.111:58591/loki/api/v1/pushpositions: filename: /run/promtail/positions.yamlscrape_configs: # See also https://github.com/grafana/loki/blob/master/production/ksonnet/promtail/scrape_con ...
centos7使用squid代理网络
平时大家在部署环境或项目时,肯定有碰到类似的网络环境:私有网络中,有一台机器(一般是跳板机或代理机)可访问外网,其它机器无外网访问权限。这时除这台以外的其他机器,yum 无法正常安装软件。解决方案是:在有外网权限的机器上配置 squid 代理到公网,然后为内网其他机器配置 yum 代理。当然除了yum,squid也可以为主机或docker提供网络代理。
安装squid12yum -y install epel-releaseyum -y install squid
配置1234vi /etc/squid/squid.conf修改http_access配置,注释deny,增加allow#http_access deny allhttp_access allow all
启动服务12systemctl start squidsystemctl enable squid
服务默认监听3128端口
使用squid作为代理yum修改/etc/yum.conf配置,增加proxy=http://192.168.98.8:3128
1234567891011121 ...
parted修复分区表
在虚拟化平台中扩容磁盘,通过 fdisk -l 可看到扩容的磁盘已生效,如果未生效请重启系统。
虽然说扩容的磁盘空间已经增加了,但是执行 fdisk 创建新的分区时,你可能会发现没有可扩容的扇区,这是因为 GPT 分区的原因,所以需要先通过 parted 命令修正,然后再执行 fdisk 分区。
另一种情况是可以通过 fdisk 创建新的分区,但是会报以下错误:Warning: Not all of the space available to /dev/vda appears to be used, you can fix the GPT to use all of the space (an extra 734003200 blocks) or continue with the current setting?
这个错误同样是因为 GPT 分区导致,同样需要通过以下命令进行修正!
我这里以 / dev/vda 为例,执行以下命令进行修正
如果没有 parted 命令,CentOS 系统可通过 yum install parted 安装
12 ...
file--查看文件类型
Linux file命令用于辨识文件类型。当然用ls -F也能看到文件类型。
语法1file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
参数:
-b 列出辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-f <名称文件> 指定名称文件,其内容有一个或多个文件名称时,让 file 依序辨识这些文件,格式为每列一个文件名称。
-L 直接显示符号连接所指向的文件的类别。
-m <魔法数字文件> 指定魔法数字文件。
-v 显示版本信息。
-z 尝试去解读压缩文件的内容。
[文件或目录…] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用 shell 通配符匹配多个文件。
实例显示文件类型:
1234567891011[root@localhost ~]# file install.loginstall.log: UTF-8 Unicode text[root@localhost ~]# file -b install.log ...
chattr、lsattr--文件扩展属性
在 Linux 中,文件的扩展属性(Extended Attributes)是与文件相关的附加信息。除了基本的权限(如读、写、执行)之外,扩展属性允许你为文件添加额外的元数据,用于存储更多的信息。
扩展属性可以用于各种目的,例如:
文件安全:你可以使用扩展属性设置文件的只读、不可修改、不可删除等属性,以提高文件的安全性。
访问控制:扩展属性可以用于确定特定用户或用户组对文件的访问权限,以实现更细粒度的访问控制。
文件标记:你可以使用扩展属性为文件添加标记,以便在程序中识别和处理特定类型的文件。
元数据存储:扩展属性可用于存储文件的元数据,如作者、创建日期、文件版本等。
要设置或修改文件的扩展属性,可以使用 chattr 命令,要查看文件的扩展属性,可以使用 lsattr 命令
chattr注意,通常情况下,不要使用 chattr 命令修改 /、/dev/、/tmp/、/var/ 等目录的隐藏属性,很容易导致系统无法启动
语法1chattr [参数] [模式] 文件
参数
参数
说明
-R
递归处理目 ...
basename--显示文件名或目录名
basenamebasename用来显示去除路径和文件后缀部分的文件名或目录名
语法1basename 文件名或目录名 [后缀]
示例显示文件名
12[root@master193 ~]# basename /root/cilium-1.11.1.tgzcilium-1.11.1.tgz
显示文件名并去掉后缀
12[root@master193 ~]# basename /root/cilium-1.11.1.tgz .tgzcilium-1.11.1
dirname和basename相对的,dirname显示文件的路径名
语法1dirname
示例显示路径名
12[root@master193 ~]# dirname /root/cilium-1.11.1.tgz/root
相对路径
123[root@master193 ~]# cd /root[root@master193 ~]# dirname cilium-1.11.1.tgz.
