2022-09-29 16:19:57    480    0    0
 
 

电视频道直播软件有时候会缺失一些电视台,比如某某台,网上的分享码过一段时间可能会失效,这个时候我们自己制作分享码,做分享码的主人人人人人人。

 

电视直播应用添加直播源的原理和方法

以在小微直播中添加某某卫视为例

2022-04-16 14:27:23    28    0    0

截图工具

snipaste
免费,快捷键超多,先后几个截图可以停留在屏幕,可置顶,移动,拼接。对于需要对几个界面的信息进行关联的操作非常方便!
https://www.snipaste.com/

元素制作和矢量编辑

PPT 的形状合并和顶点编辑合用可以创造出大量素材。

形状合并

形状合并的结合,组合,相交,拆分(拆笔画),剪除。

顶点编辑

顶点编辑的开放路径,平滑点,直线点,直角点。用现成的形状变化成各种图形。

3D画图的3D形状+贴纸制作

类似在一个模型上用任意图片当作外膜或墙漆刷上去。
例如在一个球体上,添加一张用地球图片制作的贴纸,就有一个立体的地球。3D画图里的3D资源库有现成的地球模型。

Excel 的单元格条件格式

对行或列的数据设置一个规则,让满足指定条件的数据,显示设定的效果。
常用于让重复值标红,让数据上按值显示数据条,或让各种大于小于等于包含关系的单元格突显出来。

快速批量提取PPT图片

直接把目标PPT的后缀pptx改成rar , 解压后找到ppt\media文件夹,所有图片都在里面,而且是压缩前的图片。

PPT 快速抠图

图片格式 设置透明色
图片格式 删除背景

PPT母版,版式,PPT页面

母版,控制着母版下元素变化同步到所有版式
版式,版式的变化会应用到使用该版式的ppt页面
ppt页面可以切换使用不同版式

2021-08-02 09:33:26    826    0    0

repo

常用命令

同步代码

  1. repo sync -j8

打tag

  1. ## # 对所有project 的当前分支的最新代码打一个tag
  2. repo start ${Base_BRANCH} --all
  3. repo forall c git tag base-20210803

合并分支

  1. ## # 当前切换到master 分支 ,然后将topic 分支合并到master
  2. ## repo checkout master
  3. ## repo forall –p –c git merge topic
  4. ## repo forall –c git tag base-20210804
  5. ## repo forall –p –c git merge branch1

查看分支

  1. repo branches

查看状态

  1. repo status

分支log 比较

  1. repo forall -p -c 'git log remotes/xxx-celadon/celadon-1 ^remotes/xxx-celadon/celadon-2 --pretty=format:"%H %cn %s"'
2021-07-20 15:41:50    1300    0    0
2021-05-26 17:11:00    747    0    0
  1. echo "1" >/proc/sys/kernel/sysrq
  2. sudo sysctl -w kernel.sysrq=1
  3. echo c > /proc/sysrq-trigger

启用 sysrq 所有功能

  1. 0 - disable sysrq completely
  2. 1 - enable all functions of sysrq
  3. >1 - bitmask of allowed sysrq functions (see below for detailed function description):

You can set the value in the file by the following command:

  1. echo "1" >/proc/sys/kernel/sysrq
  2. sudo sysctl -w kernel.sysrq=1

给 sysrq-trigger 写入字符触发功能

常用以下命令来触发一个crash 进行测试
使sysrq-trigger 的值为c,会执行系统崩溃和崩溃转储,然后重启

  1. echo c > /proc/sysrq-trigger

以下是使用其他字符时的功能:

Command Function
b Will immediately reboot the system without syncing or unmounting your disks.
c Will perform a system crash and a crashdump will be taken if configured.
d Shows all locks that are held.
e Send a SIGTERM to all processes, except for init.
f Will call the oom
2021-05-26 13:26:01    1092    0    0

在一个无外网连接的ubuntu vm 上离线安装标准安装包及其依赖包。

下载标准安装包

找一个与目标离线vm 基础系统版本和kernel一致的,能连外网的设备,下载安装包:(最好是找这个vm 创建的镜像再创建一个连通外网的vm , 基础设备一致是为了保证能够获取所有需要依赖包,apt-get install 时,判断的是当前未安装的依赖)

比如,用一个496的xx版本的qcow2 创建了一个 ubuntu 20 的系统,执行以下命令,获取ubuntu20 安装linux-crashdump时的需要的deb包。

  1. apt-get --download-only install linux-crashdump

当前系统不会进行安装,只下载包,存储目录是 /var/cache/apt/archives/
可以在上面apt-get 命令的log 中看到实际需要4个deb 文件。把这4个文件打包 (一个本身+三个依赖)

  1. cd /var/cache/apt/archives/
  2. tar zcvf linux-crashdump.tar.gz xxxx.deb

安装离线包

将deb文件包拷到目标离线设备上,解包,安装

  1. cd offlinedir/
  2. tar zxvf linux-crashdump.tar.gz
  3. dpkg -i ./*.deb

验证版本

  1. apt-cache policy linux-crashdump
2021-05-12 17:36:09    1043    0    0

逻辑分区的特点,和比物理分区的优势

https://wiki.archlinux.org/title/LVM
更灵活
1. 使用任意数量的磁盘作为一个大磁盘。
2. 将逻辑卷扩展到多个磁盘上。
3. 创建小的逻辑卷,并在卷被填满时“动态地”调整其大小。
4. 调整逻辑卷的大小,而不考虑它们在磁盘上的顺序。它不依赖于LV在VG中的位置,没有必要确保周围的可用空间。
5. 在线调整/创建/删除逻辑卷和物理卷。它们的文件系统仍然需要调整大小,但有些(如ext4)支持在线调整大小。
6. 将服务正在使用的LV在线/热迁移到不同的磁盘,而无需重新启动服务。
7. 快照允许您备份文件系统的冻结副本,同时将服务停机时间保持在最低限度。
8. 支持各种设备映射器目标,包括透明的文件系统加密和常用数据的缓存。这允许创建一个具有(一个或多个)物理磁盘(通过LUKS加密)和LVM的系统,以便轻松调整和管理单独的卷(例如,for /, /home,/backup等),而无需在启动时多次输入密钥。

逻辑分区里的概念

PV
VG
LV
PE
LE

物理卷(PV) Unix块设备节点,可用于LVM存储。例如:一个硬盘,一个MBR或GPT分区,一个环回文件,一个设备映射设备(例如dm-crypt)。它承载一个LVM头文件。

卷组(VG) pv的组,作为lv的容器。pe从VG分配给LV。

逻辑卷(LV)“虚拟/逻辑分区”,位于VG中,由pe组成。lv是类似于物理分区的Unix块设备,例如,它们可以直接用文件系统进行格式化。

物理范围PE (Physical extent) PV中可分配给LV的最小连续范围(默认为4mib)。把pe看作pv的一部分,可以分配给任何LV。

title

常用命令

  1. pvdisplay
  2. vgdisplay
  3. lvdisplay
  4. pvresize /dev/sda1
  5. vgdisplay| grep Free
  6. lvextend -L +5G(replace by Free space) /dev/haha_vg/lv_root
  7. resize2fs /dev/mappaer/xxxxx (df -h 要生效,要resi
2021-03-18 16:29:34    1117    0    0

网址URL中特殊字符转义编码

字符 URL编码值
空格 %20
" %22
# %23
% %25
& %26
( %28
) %29
+ %2B
, %2C
/ %2F
: %3A
; %3B
< %3C
= %3D
> %3E
? %3F
@ %40
\ %5C
| %7C
2021-03-17 15:42:11    1267    0    0

在官网上下载所需版本的驱动包,5.1.0-6.6.0

https://www.mellanox.com/
MLNX_OFED_LINUX-5.1-0.6.6.0-ubuntu20.04-x86_64.tgz

解包

  1. tar zxvf MLNX_OFED_LINUX-5.1-0.6.6.0-ubuntu20.04-x86_64.tgz

添加对指定kernel 的支持,执行./mlnx_add_kernel_support.sh ,生成新包 --k64.tgz

  1. ./mlnx_add_kernel_support.sh -m /vob/MLNX_OFED_LINUX-5.1-0.6.6.0-ubuntu20.04-x86_64 -k 5.4.0-64-generic -s /usr/src/linux-headers-5.4.0-64-generic -t /vob/t/ -n MLNX_OFED_LINUX-5.1-0.6.6.0-ubuntu20.04-x86_64-ext-k64

解压新包,并执行./mlnxofedinstall

  1. tar zxvf MLNX_OFED_LINUX-5.1-0.6.6.0-ubuntu20.04-x86_64-ext-k64.tgz
  2. ./mlnxofedinstall --dpdk --without-dkms --force --without-depcheck -k 5.4.0-64-generic -s /usr/src/linux-headers-5.4.0-64-generic
2021-03-17 15:31:30    961    0    0

获取官方 kernel 指定版本头文件

先安装kernel 头文件

  1. sudo apt-get install linux-headers-5.4.0-65-generic

内核头文件在:/usr/src/ ,去打包

  1. cd /usr/src/
  2. tar -zcvf linux-headers-5.4.0-65-generic.tar.gz ./linux-headers-5.4.0-65-generic
  3. tar -zcvf linux-headers-5.4.0-65.tar.gz ./linux-headers-5.4.0-65

将头文件包放至需要集成编的项目中一起编译。

kernel 相关设置和查询命令

安装指定版本kernel

  1. apt-get install linux-image-5.4.0-65-generic

保持kerknel 版本不升级

  1. apt-mark hold linux-image-5.4.0-65-generic linux-headers-5.4.0-65-generic

查看已安装 版本

  1. root@gua-vm2:/vob# dpkg --get-selections | grep linux-image
  2. linux-image-5.4.0-52-generic deinstall
  3. linux-image-5.4.0-53-generic deinstall
  4. linux-image-5.4.0-56-generic deinstall
  5. linux-image-5.4.0-58-generic deinstall
  6. linux-image-5.4.0-59-generic deinstall
  7. linux-image-5.4.0-60-generic deinstall
  8. linux-image-5.4.0-62-generic deinstall
  9. linux-image-5.4.0-65-generic install
  10. l
1/12