Linux
文章平均质量分 70
三级狗
扎实基础
展开
-
Linux下编译CEF源码及交叉编译
Linux 编译和交叉编译chromium源码,版本104.0.5112.102原创 2023-03-28 10:36:27 · 3983 阅读 · 2 评论 -
Linux C/C++ PGO优化说明
PGO是指利用程序运行过程中采集到的 profile 数据,来重新编译程序以达到优化效果的 post-link 优化技术。原创 2023-03-21 10:44:07 · 2312 阅读 · 1 评论 -
Linux绑核效率优化
cpu一般有多个物理核心,但在运行进程和线程时候,可以将其绑定或者指定到某一个或者多个核心上运行,提升运行效率。原创 2023-03-21 10:02:21 · 1737 阅读 · 1 评论 -
如何迁移备份包含git lfs的仓库,包含代码、分支、提交记录
最近有个迁移仓库的需求,要把某个git服务器上的仓库转移到另一个服务器上仅域名更新,需要保留原仓库的提交记录普通的git仓库备份网上查了一下实现方式非常简单:假设源仓库的地址是:git@gitlib.threedog.top:threedog/test.git新仓库的域名是:gitlib.threedog.net首先,在新的git服务器上创建同名仓库test,空仓库就可以,然后:git clone --bare git@gitlib.threedog.top:threedog/test.git原创 2021-04-23 17:58:54 · 2737 阅读 · 0 评论 -
好物分享:简单改写一个Linux下好用的截图工具
因为日常Linux办公,经常有截图顺带简单编辑的需求。在Windows上这项工作基本一直是QQ微信代劳,但是在Linux上这两个都比较拉胯,无奈之下找了几种Linux下的截图工具替代试了几个比较流行的,感觉下来最好用的算是flameshot,但唯一的缺点就是:没有全局热键。好在flameshot是个开源软件,下下来源码瞅了一眼,是我熟悉的Qt写的,全局热键这部分可以自己整合一下。源码中对全局热键的实现只放开了windows,而且从源码来看好像也只预留了接口没实现功能。简单研究了一下,通过一个比较流行原创 2020-07-21 18:26:10 · 1146 阅读 · 0 评论 -
制作RPM安装包安装时出现:xxxxx conflicts with file from package.....
安装出现这种问题很常见,一般是文件冲突引起的。仔细看一下他说和那个包的文件冲突了!一般报错都是这种格式:file 某个文件 from install of 即将安装的安装包 conflicts with file from package 系统已经安装的安装包如果你要安装某个rpm,遇到这种情况,你可以:卸载已经安装的包加–replacefiles参数,会替换掉冲突的文件加--f...原创 2020-05-07 18:41:24 · 8583 阅读 · 1 评论 -
史上最硬核的Linux依赖问题解决方案
最近正好在研究dpkg和rpm,对Linux依赖有了更深的认识。在网上看了很多,所有docker、虚拟机、编译安装、以及各种另辟蹊径的答案都是面向日常繁重的业务没时间折腾而不得已做出的妥协和让步。而我们面向技术的,从来都喜欢正面硬刚!硬刚Linux软件安装依赖问题的办法有很多,我给他分为两大类!一类合法,另一类暴力。先说合法的解决方案也是所有人都知道的解决方案:sudo apt-g...原创 2020-05-03 21:12:36 · 4981 阅读 · 0 评论 -
Linux误删系统文件/lib64/ld-linux-x86-64.so.2如何急救?
这个文件是个软链接 链接的是系统/lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.31.so 文件这个文件误删了几乎除了cd和pwd什么命令都用不了了解决办法:只要不涉及权限问题,用 /lib/x86_64-linux-gnu/ld-2.31.so 加上动态链接的二进制文件的绝对路径,命令就可以用 就可以做很多事情....转载 2020-04-29 19:44:40 · 12569 阅读 · 4 评论 -
Linux制作安装包,解决dpkg不满足依赖的时候也会解压文件的问题
如何通过依赖限制dpkg安装包无法安装,并不解压信息到本地。在DEBIAN/control文件中,支持两种依赖的写法:一种是:depends另一种是:Pre-Depends原创 2020-04-20 19:54:59 · 1558 阅读 · 0 评论 -
Linux如何从终端向GUI程序发送按键消息(F5)?
xdotool这个命令一般包含GUI的Linux系统都是自带的,用于像X服务器发送消息。比如像桌面发送一个F5刷新页面:xdotool search --class nautilus key F5 或xdotool search --class caja key F5caja nautilus由不同的界面系统决定GUI程序不从其标准输入中读取,而是从X服务器获取其输入。可以用xdo...原创 2020-03-25 11:36:15 · 2306 阅读 · 0 评论 -
如何在Shell脚本中嵌入Python脚本
如何在Shell脚本中嵌入Python原shell脚本test.sh:#!/bin/bashfunction main(){ echo "$@" exit 0}main "$@"./test.sh t1 t2 t3执行结果:username@Computer:~$ ./test.sh t1 t2 t3 t1 t2 t3嵌入单行的python,比如切割个字符串啥的#...原创 2020-03-20 18:44:57 · 7159 阅读 · 0 评论 -
dpkg-deb: error: archive 'xxxxx.deb' has premature member 'control.tar.xz' before 'control.tar.gz'
安装dpkg报错:dpkg-deb: error: archive 'xxxxx.deb' has premature member 'control.tar.xz' before 'control.tar.gz' ,giving up这个问题的原因是:dpkg无法解析tar.xz格式的control.tar.xz文件。解决方案:更新dpkg即可,这是dpkg工具的bug,只在旧版的dp...原创 2020-03-04 15:09:33 · 13951 阅读 · 2 评论 -
xz 多线程压缩支持详解
XZ多线程压缩支持详解xz的旧版不支持多线程压缩。需要下载编译新版的xz(支持 -T参数的版本)我这里是 5.2.4使用xz进行压缩:xz -9 -k -z release.tar使用xz进行多线程压缩:xz -9 -T 12 -k -z release.tar但是使用时你会发现,很多时候使用-T参数不能全核编译,我在一台6核12线程的机器上,压缩一个1.2G的文件。使用-T -9 也...原创 2020-03-02 14:16:52 · 6841 阅读 · 0 评论 -
g++编译详解
g++编译详解资料准备:为了方便演示和讲解,在这里提前准备好几个简单的文件:test.cpp test.h main.cpp 文件内容如下:main.cpp//main.cppint main (int argc, char **argv){ return 0;}test.h//test.h#ifndef _TEST_H_ #define _TEST_H_ ...原创 2019-12-24 18:50:20 · 49120 阅读 · 9 评论 -
Linux下如何多线程打包
文件结构data # 待打包的文件夹├── DEBIAN # 这里放着各种安装包的描述、配置文件,还有安装前后执行的脚本等│ ├── control│ ├── copyright│ └── postinst├── opt # 安装目录下的相对内容├── etc # 安装目录下的相对内容└── usr # 安装目录下的相对内容打...原创 2019-12-12 11:01:06 · 2031 阅读 · 0 评论 -
Ubuntu 16.04 下编译dpkg和rpm
LUA_LIBS="-I/usr/lib64" LUA_CFLAGS="-I/usr/bin"libnss3-dev libnspr4-devgit clone https://github.com/rpm-software-management/rpm.git2016 git status2017 ls2018 cd rpm/2019 ls2020 clear2021...原创 2019-12-11 20:47:43 · 2267 阅读 · 0 评论 -
编程杂货笔记
find ./ -perm 755 -maxdepth 1maxdepth是最大层数,去掉的话默认递归到底原创 2019-11-28 10:59:34 · 1471 阅读 · 1 评论 -
Ubuntu 16.04 安装使用最新版QQ 微信 (deepin-wine)
Ubuntu 16.04 安装使用最新版QQ 微信 (deepin-wine)技术简介这次安装软件的并非官方的版本,而是在x86Ubuntu上基于wine安装的QQ和微信2008年出现了一种名为wine的技术,这种技术在Linux平台实现了部分Windows的系统API和库,让用户可以在Linux端无缝使用Windows端的应用程序。后来国内深度社区将wine做了很好的封装并且在wine上...原创 2019-11-12 12:02:41 · 5867 阅读 · 6 评论 -
终端输入错误命令却得到一个python的报错
错误场景:更新系统Pythonubuntu16.04,系统自带python2.7.12和python3.5.2。 因为写代码要用到协程相关的库正好支持最低在python3.5.3。 于是下了个Python3.6把系统的python更新了。更新完成后系统终端出现了这样莫名其妙的问题:threedog@ThreeDog:~/python/Python-3.6.5$ dsadadTraceback...原创 2019-11-06 16:32:10 · 8518 阅读 · 10 评论 -
Linux中已安装软件的版本信息存放在什么地方?
采用dpkg包管理的系统/var/lib/dpkg/status/var/lib/dpkg/status-old这两个文件中,存放了系统中所有已安装的包的信息。通过命令dpkg -l 等命令查看的内容就是来源与这个文件。下面节选了一段我系统中mysql-server的安装包信息Package: mysql-server # 包名 dpkg -l 命令的第一列Status: inst...原创 2019-10-11 14:20:27 · 2335 阅读 · 0 评论 -
dpkg -l 命令详解
dpkg -l 命令详解dpkg -l 命令会列出系统中所有已安装的软件包信息。结合grep,可以过滤出自己想要的内容。输出第一列一般为两个字母,分别代表(期望状态和当前状态)期望状态标识:未知(u)安装(i)删除®清除§保持(h)当前状态标识:未安装(n)已安装(i)仅存配置(c)仅解压缩(U)配置失败(F)不完全安装(H)触发器等待(W)触发器未决(...原创 2019-10-11 11:22:48 · 23832 阅读 · 2 评论