自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(206)
  • 收藏
  • 关注

原创 在 Ubuntu 20.04 上,将 Subversion 从默认的 1.13.0 降级到 1.9.7。 解决svn无法保存密码问题

在 Ubuntu 20.04 上,如果您使用标准 apt-get 安装 subversion,则默认情况下将安装 subversion 1.13.0。如果 subersion 1.13.0 已经安装,那么你应该跳过这一步。那么如何将 Ubuntu 20.04 中的 subversion 降级到 1.9.7 呢?按照以下步骤将 Ubuntu 20.04 中的 Subversion 降级到 1.9.7。1.9.7版本的 deb包。保持安装的其余依赖项原样。文件的文件夹并运行以下命令。在命令提示符下转到下载。

2023-09-19 10:15:48 651

原创 由于 SIGPROF 信号,clone() 系统调用无限重启

最近遇到一个c++ 代码里调用system函数然后没返回的问题,此时调用进程所在CPU占用率100%。通过 strace 和ftrace工具跟踪系统调用,以及查看内核源码,发现 此时,进程会一直不停的调用 clone系统调用,而 clone系统调用一直返回出错。strace :ftrace:内核添加打印:根据错误 ERESTARTNOINTR在 内核代码里找到报错的地方:系统调用时,检测到信号导致系统调用中断返回 ERESTARTNOINTR 错误值,处理信号后重新调用该系统调用。

2023-09-08 10:32:25 249

原创 如何跟踪Linux内核中的write系统调用?

在 current_tracer 文件中写入所需的跟踪类型。现在您可以根据需要运行程序,并在完成后禁用跟踪。将您选择的事件写入set_event。dhsable 跟踪事件。确定您要跟踪的跟踪类型。

2023-09-07 20:25:18 220

原创 制作ubifs和ubi镜像

#!/bin/bash#Author:allen.zhang#Date: 20211218# This variable will be populated during installationSCRIPT_PATH=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P)# The following variables are populated during the SDK build.

2021-12-18 11:42:18 588

原创 linux下实现ARP欺骗

linux ettercap+wireshark抓取局域网内其他设备的数据包:https://blog.csdn.net/u013752202/article/details/78568995/linux环境实现ARP欺骗:https://blog.csdn.net/weixin_41983681/article/details/85813498linux原始套接字抓取网络数据包:https://blog.csdn.net/haoyuxuanyuan/article/details/10686685

2021-09-25 00:46:45 686

原创 vmware虚拟机和windows PC机构建无线局域网

PC机设置虚拟无线局域网适配器(无线热点)法1:a) 以管理员权限 运行 netsh wlan set hostednetwork mode=allow ssid=NetworkName key=Passwordb) netsh wlan start hostednetwork法2(win10):Win10为了支持系统的“移动热点”功能,新的网卡驱动不支持承载网络(可使用netsh wlan show drivers查看)。win10开启移动热点:设置->网络和internet-&g.

2021-09-25 00:45:20 745

原创 ARP欺骗与嗅探原理

ARP地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存表中并保留一定时间,下次请求时直接查询ARP缓存表以节约资源。嗅探一般指嗅探器窃听网络上流经的数据包。在使用hub(集线器)的共享式网络中,数据包会广播至各台电脑,但是只有目标电脑才会接收数据包。

2021-09-25 00:12:00 1508

转载 谨慎使用多线程中的fork

前言在单核时代,大家所编写的程序都是单进程/单线程程序。随着计算机硬件技术的发展,进入了多核时代后,为了降低响应时间,重复充分利用多核cpu的资源,使用多进程编程的手段逐渐被人们接受和掌握。然而因为创建一个进程代价比较大,多线程编程的手段也就逐渐被人们认可和喜爱了。记得在我刚刚学习线程进程的时候就想,为什么很少见人把多进程和多线程结合起来使用呢,把二者结合起来不是更好吗?现在想想当初真是too young too simple,后文就主要讨论一下这个问题。进程与线程模型进程的经典定义就是一个

2021-09-22 15:49:23 148

转载 futex机制介绍

1、概念futex: a sort of fast, user-space mutual exclusion primitive.Futex是一种用户态和内核态混合的同步机制。首先,同步的进程间通过mmap共享一段内存,futex变量就位于这段共享的内存中且操作是原子的,当进程尝试进入互斥区或者退出互斥区的时候,先去查看共享内存中的futex变量,如果没有竞争发生,则只修改futex,而不用再执行系统调用了。当通过访问futex变量告诉进程有竞争发生,则还是得执行系统调用去完成相应的处理(wait 或.

2021-09-22 15:39:38 327

转载 ethtool 的工作原理

原文链接:https://blog.csdn.net/Longyu_wlz/article/details/103232812ethtool 是如何工作的?源码之前,了无秘密。要知道 ethtool 是如何工作的,我们需要获取到它的源码。如何获取 ethtool 的源码?这可以通过在网络上搜索来完成,但是我这里有一个非常简单的方法。由于我使用的是 debian 系统,我执行如下命令获取 ethtool 工具的源码:sudo apt-get source ethtool执行完上述命令之后

2021-09-02 08:53:25 1116

转载 OpenGL绘制方式详解

简述OpenGL绘制方式OpenGL可以支持很多不同的图元类型,最基础的为点,线,或三角形。线和三角形可以组合成条带,循环体或者扇面三角形。点,线,或三角形也是大部分图象硬件设备支持的基础图元类型。点绘制点可以通过单一的顶点来表示,点实际上不存在面积,在OpenGL中它通过屏幕上的一个矩形区域来模拟,在渲染点源的时候,OpenGL会通过光栅化规则类判断点的位置。以点位中心绘制一个四边形区域,四边形区域的边长等于点的大小,它是一个固定的状态,可以调用函数glPointSIze()设置。v

2021-06-07 16:46:22 2041

转载 显存(Video Memory)

闲话在从事图形优化工作之前,一直对显存(Video Memory)充满了好奇,很想了解其管理方式、基本原理、与内存的区别等,但一直没有时间和机会去研究,现在工作需要,逐渐开始接触和了解,这里也顺便记录,以免后续忘记。什么显存?显存,即Video Memory,简单来说,就是位于显卡的内存,其主要用途当然是用作图形显示了,现在的家用pc中基本都配置了独立显卡,即使是集成显卡,也有一定的显存,否则一些游戏玩起来可能就费劲了。为什么需要显存?随着计算机硬件的飞速发展,现代的CPU、内存能力已经

2021-06-02 10:42:04 2912

转载 Linux下的OpenGL——Mesa和GLX简介

一.什么是Mesa和GLX众所周知,OpenGL作为图形界的工业标准,其仅仅定义了一组2D和3D图形接口API,而对于窗口管理、IO消息响应等并没有规定。也就是说,OpenGL依赖各平台提供用于渲染的context以及具体实现方式,而各平台提供的实现不尽相同。这些实现主要有:Windows平台下的WGL、Linux下的Mesa/GLX、Mac OS X下的Cocoa/NSGL,以及跨平台的GLUT、GLFW、SDL等等。Mesa是Linux下的OpenGL实现。它提供了对AMD Radeon系列、N

2021-05-27 16:07:27 12158

转载 MBR GPT BIOS UEFI

1 磁盘分区格式  一般来说,磁盘分区表有两种格式:MBR和GPT。1.1 MBR磁盘的0号扇区(第一个扇区)也叫主引导扇区,它包含主引导程序、分区表DPT、硬盘有效标志。 早期磁盘的扇区大小为512B 主引导程序:记录主引导加载程序,也叫第一阶段引导加载程序(Initial Program Loader,IPL),446B。主要作用是: 检查硬盘分区表是否完好。 在分区表中寻找可引导的“活动”分区。 将活动分区的第一逻辑扇区内容(也叫分区引导记录,PBR)装入内存。在

2021-05-27 16:05:59 288

转载 使用systemd-analyze 工具来分析各个服务进程的启动性能

systemd-analyze是一个分析启动性能的工具,用于分析启动时服务时间消耗。默认显示启动是内核和用户空间的消耗时间:使用systemd-analyze plot > boot.svg生成一张启动详细信息矢量图,然后用图像浏览器或者网页浏览器打开查看 。 [root@localhost~]#systemd-analyzeStartupfinishedin818ms(kernel)+6.240s(initrd)+32.979s(userspace)=40.038s 和使用systemd.

2021-05-24 15:59:40 1538

转载 ubuntu上安装meson & 如何使用meson编译C代码

一· 搭建meson环境并简单编译:1. 什么是mesonMeson 旨在开发最具可用性和快速的构建系统。提供简单但强大的声明式语言用来描述构建。原生支持最新的工具和框架,如 Qt5 、代码覆盖率、单元测试和预编译头文件等。利用一组优化技术来快速变异代码,包括增量编译和完全编译。2. 安装meson 注意:meson安装前必须确认是否已经安装python3.5及以上版本;因为meson依赖于python3和ninja 2.1 安装python3和ninja: sudo ...

2021-05-07 11:08:08 2635

转载 Ubuntu 20.04 VNC 安装与设置

VNC是一个远程桌面协议。按照本文的说明进行操作可以实现用VNC对Ubuntu 20.04进行远程控制。一般的VNC安装方式在主机没有插显示器的时候是无法使用的。下面的操作可以在主机有显示器和没有显示器时都能够正常工作。首先安装x11vncsudo apt-get install x11vnc -y设置vnc密码sudo x11vnc -storepasswd /etc/x11vnc.pass 创建x11vnc自启动服务创建/etc/systemd/system/x11vn.

2021-04-28 15:02:55 1385

转载 如何在Ubuntu 20.04上使用Perf Performance Analysis Tool

如何在Ubuntu 20.04上使用Perf Performance Analysis ToolPerf是用于基于Linux的操作系统的简单但功能强大的性能监视工具。 它用于跟踪或计数硬件和软件事件。 它提供了许多子命令,并且能够对整个系统进行统计分析。 它可以帮助您识别和解决与性能相关的问题。在本教程中,我们将向您展示如何在Ubuntu 20.04上安装和使用Perf性能监视工具。先决条件运行Ubuntu 20.04服务器的服务器。 在服务器上配置了root密码。安装性能默认情况下

2021-03-30 16:38:21 7086 2

转载 在Ubuntu 18.04系统中使用Netplan工具配置网络

Netplan 是一款使用在终端的配置网络工具,本文介绍在 Ubuntu 18.04 系统中使用 Netplan 来配置网络,新的配置文件、网络设备名称、配置静态 IP 地址、测试配置并应用、配置 DHCP。前言多年以来 Linux 管理员和用户们以相同的方式配置他们的网络接口。例如,如果你是 Ubuntu 用户,你能够用桌面 GUI 配置网络连接,也可以在 /etc/network/interfaces 文件里配置。配置相当简单且可以奏效。在文件中配置看起来就像这样:auto enp10.

2021-03-30 14:53:29 1752

原创 ubuntu 自动安装

ubuntu安装程序介绍debian-installer:Debian 系统的安装程序,使用preseed机制进行自动安装。ubiquity:ubiquity是Ubuntu的live CD图形安装程序,主要使用Python编写,使用debian-installer(d-i)作为其许多功能的后端,同样使用preseed机制进行自动安装。This is a simple live CD installer designed to integrate well with Debian- and Ubun

2021-03-27 19:19:35 2908

转载 Ubuntu PPA 使用指南

如果你一直在使用 Ubuntu 或基于 Ubuntu 的其他 Linux 发行版,例如 Linux Mint、Linux Lite、Zorin OS 等,你可能会遇到以下三种神奇的命令:sudo add-apt-repository ppa:dr-akulavich/lighttablesudo apt-get updatesudo apt-get install lighttable-installer许多网站推荐使用类似于以上几行的形式在 Ubuntu 中安装应用程序。这就是所谓的使用 .

2021-03-25 09:33:44 234

转载 如何用 ISO 镜像制作 U 盘安装盘(通用方法、无需 WinPE)

文章目录★扫盲若干【基本概念】★啥是【通用】制作方法?★为啥选择这几款工具?★rufus 的玩法(Windows 平台)★UNetbootin 的玩法(跨平台)★dd 的玩法(跨平台)★优缺点对比★读者反馈  今天聊的这个话题属于老生常谈,这几年时常有读者来询问(现在有越来越多的电脑是无光驱的)。再加上俺后面要扫盲一些“特殊的 Linux 发行版”,到时候肯定又要涉及到制作可引导U盘的事情。所以,今天先单独发一篇教程,说说几种不同的搞法。  事先声明:  1. 本文针对的是U盘,而不是外置...

2021-03-17 21:39:51 37860

转载 【转载】ubuntu下图形程序自启动的几种方法

目录0.前言 1.带桌面环境的自动启动 1.1Ubuntu 1.2 openbox 2.使用登录管理器启动应用 2.1 窗口管理器 2.2 登录管理器 2.2.1 没有窗口管理启动应用程序 2.2.2 登录管理器自动登录配置 2.3 xorg 2.3.1 xinit(startx) 2.3.2 xserverrc 2.3.3没有窗口管理器启动应用程序 0.前言在嵌入式的场合通常会让Linux只执行某一个特定的人机交互应用程序,比.

2021-03-09 20:13:13 1100

原创 ubuntu 内核版本降级

1.添加软件源:sudo vim /etc/apt/sources.list在最后一行:deb http://security.ubuntu.com/ubuntu trusty-security main2.访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑apt-get update3.搜索你想要的版本sudo apt-cache search linux-image | grep 4.15.0-554.安装对应版本内核:sudo apt-get install linux

2021-03-09 14:43:24 843 2

原创 Ubuntu 18.04 LTS Server服务器安装图文教程

官方文档:https://ubuntu.com/server/docs/install/step-by-stepUbuntu 18.04 LTS Server服务器安装图文教程:https://blog.csdn.net/tjsxin/article/details/93199595Ubuntu18.04 Server版安装及使用(图文):https://www.jb51.net/article/177497.htm安装中的问题:1.安装到最后不提示成功而是直接跳转到重新安装界面可能是网络问

2021-03-03 19:02:21 2397 1

转载 linux下opencv with ffmpeg安装

最近需要在linux中使用opencv的VideoCapture,获取网络摄像头视频,但是一直在open时返回false。原因在与opencv编译过程中没有ffmpeg。解决方法是先安装ffmpeg,然后编译一遍opencv,在cmake时加一个ffmpeg选项。网上查到好多和交叉编译相关的,但是这里我不需要。解决:1.安装ffmpeg。在很多博客中写的是源码编译,但是我用命令直接安装就可以用了,很方便。控制台输入ffmpeg,检查是否安装成功。2.安装opencv。cd opencv .

2021-03-01 10:30:00 680 1

转载 Ubuntu安装和配置ssh教程

一般Ubuntu都会默认安装openssh-client,但是没有安装openssh-server。安装ssh服务器sudo apt install openssh-server安装ssh客户端sudo apt install openssh-client配置ssh客户端,去掉PasswordAuthentication yes前面的#号,保存退出sudo vi /etc/ssh/ssh_config配置ssh服务器,把PermitRootLogin prohibit-..

2021-02-28 16:07:45 525

转载 ubuntu18.04安装opencv4.5.1教程

1.去官网下载opencv,在本教程中选用的时opencv3.4.1,其他版本的配置方法异曲同工。下载链接http://opencv.org/releases.html,选择sources版本2.解压下载下来的zip包unzip opencv-3.4.1.zip3.进入到解压后的文件包中4.安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令sudo apt-get in

2021-02-28 15:38:13 1697

转载 Linux X Window System运行原理与启动过程

本文主要说明X Window System的基本运行原理,其启动过程,及常见的跨网络运行X Window System。一) 基本运行原理 X Window System采用C/S结构,但和我们常见的C/S不同。常见的C/S结构中,称提供服务的一方为server,即服务器端(如HTTP服务,FTP服务 等),使用服务的称为client,即客户端。但在X Window System中,client是执行程序的一方,在上面执行各种X程序,而server则是负责显示client运行程序的窗口的一方。...

2021-02-27 18:03:47 621

原创 ubuntu18.04环境下 安装 Qt library5.9.7

1. 下载前的准备工作安装依赖库sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libxcursor-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxrandr-dev libxrender-dev2. 安装Qt library5.9.7(1)下载地址:Index of /archive/qt/5.9/5.9.7源码 qt-ever..

2021-02-26 15:20:49 823

转载 为什么需要Docker?

前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y估计大家也可能听过Docker这项技术(在论坛上、招聘技能上、交流群上等等),要是不了解Docker,都不好意思在网上冲浪的时候吹牛逼了。所以这几天学了一下Docker,总结了Docker入门的相关知识,分享给大家(好让我们一起吹牛逼)。I need a doctor,call me a doctor. I need a doc...

2021-02-25 11:11:55 206

转载 对于Linux内核tty设备的一点理解

http://blog.chinaunix.net/uid-20543672-id-3225777.html

2020-12-21 17:55:00 91

转载 公钥、私钥、签名、数字证书的关系

公钥、私钥、签名、数字证书的关系(图文)原文地址:https://www.jianshu.com/p/3c5212b47bec图文解说 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果 鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的...

2020-12-15 14:23:13 263 1

转载 “undefined reference to“ 问题解决方法

最近在 Linux 下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func’关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(.o)测试代码如下:然后编译。gcc -c test.cgcc –c main.c得到两个 .o 文件,.

2020-09-15 15:42:24 1883

原创 给 Systemd service配置环境变量

事件起因,新加了个vncserver服务需要链接某个共享库,这个共享库放在自定义的库路径中,需要在服务启动前设置LD_LIBRARY_PATH环境变量。把export LD_LIBRARY_PATH加到了 /etc/profile.d/中,直接在终端上运行vncserver是可以运行的。但是运行systemd vncserver服务提示找不到库,所以有疑问,systemd需要如何配置所需的环境变量。在网上翻了一下文档,总结如下:1、/etc/profile或者/etc/security/li

2020-09-03 17:15:12 5658

转载 CMake 链接第三方的库 和 添加C++11的支持

这里的例子, 是链接libev , 如下:我的CMake 版本是3.10# CMake 最低版本号要求cmake_minimum_required (VERSION 2.8)# 项目信息project (server)# 查找当前目录下的所有源文件# 并将名称保存到 DIR_SRCS 变量aux_source_directory(. DIR_SRCS)# 添加第三方的库set(INC_DIR /usr/local/include/)set(LINK_DIR /usr/lo.

2020-09-03 14:39:46 612

原创 emmc 传输速率

eMMC基础知识介绍:https://wenku.baidu.com/view/98f11aea876a561252d380eb6294dd88d0d23d8b.html

2020-08-08 16:35:46 3069

原创 configure 添加--enable-xxx --with-xxx 参数选项

如果要给configure生成像--enable-XXXX,--disable-XXXX,--with-XXXX,--without-XXXX这样的参数,就需在configure.ac里用到AC_ARG_ENABLE和AC_ARG_WITH这两个宏,AC_ARG_ENABLE和AC_ARG_WITH语法如下:AC_ARG_ENABLE(option-name, help-string, action-if-present, action-if-not-present)AC_ARG_WITH (pac

2020-07-31 15:14:37 3120

原创 autogen.sh

autogen.sh是个shell脚本,用来简化生成configure的。下面是常用的autogen.sh内容,可以看出就是检查环境并依次调用 aclocal、autoconf、autoheader、libtoolize、automake 这些命令来生成configure,把这些命令封装、不需要一条条执行,只需要执行autogen.sh脚本即可。[root@localhost autogen_test]# vim autogen.sh [root@localhost autogen_test]#

2020-07-29 15:29:44 2970 1

原创 用automake建立共享库(动态链接库)Makefile

生成configure过程中各文件之间的关系图详细介绍autoscan: 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。aclocal:根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中。aclocal是一个perl 脚本程序,它的定义是:“aclocal - create aclocal.m4 by s

2020-07-29 15:09:13 513 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除