
linux系统管理
文章平均质量分 53
许野平
非常喜欢软件设计这份工作,有不错的数学基础,喜欢读书、摄影与音乐。
展开
-
Windows PowerShell 简介
PowerShell是微软发布的一种命令行外壳程序和脚本环境,它允许命令行用户和脚本编写者利用.NET Framework的强大功能。原创 2024-10-13 14:52:59 · 703 阅读 · 0 评论 -
在Windows下访问WSL(Windows Subsystem for Linux)文件夹
请注意,具体的路径和步骤可能会因你的WSL配置和版本而有所不同。如果你遇到任何问题,建议查阅相关的WSL文档或寻求社区的帮助。原创 2024-05-24 21:08:43 · 9297 阅读 · 0 评论 -
如何通过编程设置WIndows和Linux进程的优先级?
函数来修改进程的优先级。在Windows和Linux系统中,你都可以通过编程来修改进程的优先级。以下是两种操作系统上的方法。另外,需要注意的是,不恰当地提高进程优先级可能会对系统的稳定性和性能产生负面影响,因此应谨慎使用。值的范围是-20到19,其中-20是最高优先级,19是最低优先级。只有超级用户可以设置负的。值(即提高优先级)。普通用户只能设置0到19的。系统调用来修改进程的优先级。在Windows中,你可以使用。在Linux中,你可以使用。注意:在Linux中,值(即降低优先级)。原创 2024-05-21 22:24:44 · 767 阅读 · 0 评论 -
Windows 下用 git clone ... 下载资料,资料下载到什么地方去了?
命令在 Windows 系统上克隆一个仓库时,资料会被下载到你指定的目录中。如果你没有指定目录,那么资料会被下载到你当前所在的目录(命令提示符或终端的当前工作目录)中的一个新文件夹里,这个文件夹的名字通常是你克隆的仓库名。你应该能看到一个以你克隆的仓库名命名的新文件夹(除非你指定了其他路径)。如果你不确定资料被下载到哪里去了,你可以在命令提示符或终端中执行。中,而不是创建一个新的文件夹。的新文件夹,并将仓库的内容下载到这个文件夹中。如果你想将仓库克隆到特定的目录中,你可以在。这将把仓库的内容下载到。原创 2024-05-03 00:41:04 · 2666 阅读 · 0 评论 -
如何在 windows 下运行 linux 程序
另外,如果你使用的是较旧的Windows版本或希望进行更详细的配置,你还可以考虑使用WSL的手动安装方法。这通常涉及下载并安装WSL的更新包,然后按照提示进行配置。具体步骤可以在Microsoft的官方文档或相关社区中找到。请注意,具体的步骤可能会因Windows版本和所选的Linux发行版而有所不同。如果在安装过程中遇到问题,建议查阅相关文档或搜索在线资源以获取更详细的帮助。原创 2024-04-21 21:15:12 · 1162 阅读 · 0 评论 -
如何在 ubuntu 下安装英伟达 GPU 的驱动程序?
在系统重启后,您应该已经成功安装了 NVIDIA GPU 驱动程序。如果您有 CUDA 或 cuDNN 等附加组件,则可以按照其官方文档安装相应版本。首先,确认您的系统已经安装了 Secure Boot 模块。Secure Boot 是一项技术,可防止您的系统启动被未授权硬件或软件损害。替换为您所需的 NVIDIA 驱动程序版本号(例如。如果 Secure Boot 已启用,则输出应该是。如果您已经知道您的 GPU 型号,可以跳过此步。添加 NVIDIA 的软件源。安装完成后,重启系统。原创 2023-05-28 16:57:00 · 2105 阅读 · 0 评论 -
linux:强制踢人命令 pkill
强制踢人命令格式:$ pkill -kill -t ttytty 所踢用户的TTY如上踢出用户的命令为: pkill -kill -t pts/0只有 root 用户才能踢人。如果同时有二个人用 root 用户登录,任何其中一个可以 踢掉另一个。任何用户都可以踢掉自己...原创 2021-10-23 17:19:40 · 1212 阅读 · 0 评论 -
Linux:如何在后台运行一个程序?
我写了一个程序 xcutsvr,希望在后台运行,以便我退出登录时还能再服务器继续运行。setsid运行如下命令:$ setsid xcutsvr之后退出登录,程序仍在运行。重新登录进去,用 pstree -p 看一下:我觉得这是最方便的一种方法。命令说明setsid命令子进程从父进程继承了:SessionID、进程组ID和打开的终端。子进程如果要脱离这些,代码中可通过调用setsid来实现。命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承原创 2021-10-23 14:54:25 · 1663 阅读 · 1 评论 -
localhost、127.0.0.1、0.0.0.0 的区别
今天在新买的云服务器上用 rust 写了一个自己的 web 服务程序,用 8080 端口向外发布。结果在浏览器中输入 xxx.xxx.xxx.xxx:8080 公网地址和端口后,无法打开。研究半天,发现是监听地址设置不正确。原例子中,代码中监听地址未 localhost:8080。这个地址在本机用可以,但是无法用于公网发布。localhost = 127.0.0.1localhost 和 127.0.0.1 是等价的,就是代表本机的地址。如果本机通过路由器等向公网转发服务,这个地址就不能用了。0.0.原创 2021-10-16 15:35:31 · 779 阅读 · 0 评论 -
英伟达 Jetson Nano 新手必备:你的第一个 Jetson 容器
1. 什么是容器?容器是软件的一个可执行单元,其中应用程序及其运行时依赖项都可以打包到一个实体中。由于应用程序所需的一切都与应用程序本身打包在一起,因此容器提供了与主机的某种程度的隔离,使部署和安装应用程序变得容易,而不必担心主机环境和应用程序依赖性。2. Docker是什么?Docker是一个用于创建、部署和运行容器的开源平台。Docker包含在JetPack中,因此在Jetson上运行容器很容易,不需要任何安装。3. 什么是NGC?NVIDIA NGC是GPU优化的深度学习、机器学习和高性能计原创 2021-03-24 13:23:03 · 1863 阅读 · 0 评论 -
在云服务器上部署 rust 开发环境
购买云服务器后,一般会直接给你 root 的权限。如果直接用 root 用户做 linux/ubuntu 下的开发工作,这不是一个好主意。所以我打算建一个自己的个人帐户来做开发,root 用于特殊情况下作一些系统管理工作。一般来说,在个人计算机上安装的 ubuntu 会直接把 root 用户给锁定。也就是说在自己的 PC 机上面安装 ubuntu,我们几乎不会用到 root 帐户。为新帐户创建主目录我要新创建的个人帐户名称是 yeping。于是先在 home 目录下为这个帐户创建一个主目录,名称一般与帐原创 2021-10-08 08:50:04 · 828 阅读 · 0 评论 -
ubuntu 下创建新用户
买了ubuntu 云服务器后,根据产品的配置,首先使用 root 账户登陆。但是 root 的权限太大,直接用它登陆服务器不是什么好事,于是我决定给自己创建一个工作账户。创建一个普通的工作帐户,大致需要完成以下几件事:用户名登陆密码个人主目录假设新用名为 yeping,需要以下几个命令搞定这件事:> mkdir /home/yeping> useradd yeping # 添加新用户 yeping> passwd yeping # 为新用户 yeping原创 2021-10-07 17:05:17 · 660 阅读 · 0 评论 -
在 ubuntu 系统中安装 rust 语言开发环境
rust 官网官网地址:https://www.rust-lang.org安装点击网页上的 Install 选项,进入安装页。看起来 rust 对 windows 系统颇为重视,以至于整个页面都给了 windows,莫非 microsoft 花钱了?我们在 ubuntu 下安装,只能屈尊选择 other installation method。我们来看看官网的说明。其他安装 rust 方法您应该使用哪个安装程序?安装Rustup的其他方法独立安装程序源代码您应该使用哪个安装程序?原创 2021-10-07 15:59:03 · 10017 阅读 · 0 评论 -
话说 Unicode 和 WTF-8
如果世界上只有英文一种语言,字符串问题会简单很多。可惜,我们不得不面对五花八门的语言。于是,Unicode 应运而生,它试图提供一个包罗万象的文字编码方案。UCS-2 编码然而 Unicode 仅仅是一个逻辑设想,如何在计算机内存中物理实现,还需要更进一步的方案。第一个编码方案称为 UCS-2,该方案用两个字节共计 16 bits 表示一个符号。这样的话,我们可以表示 65536 个符号。如此看来,该方案足够用了。好大喜功的 Windows 系统率先使用了 UCS-2 编码作为操作系统的字符编码原创 2021-07-31 15:31:22 · 437 阅读 · 0 评论 -
Apache、PHP 安装,应用开发快速入门
我决定在 Jetson Nano 上安装 Apache 和 PHP,以便开发嵌入式设备的管理程序。安装 Apache2命令行:$ sudo apt install apaches安装完在我的台式机浏览器地址栏里输入:192.168.119.210,立即出现系统默认网页。在 Jetson Nano 板载 linux 系统的浏览器地址栏输入 127.0.0.1,或者输入 localhost 也能打开该网页。这个网页在什么地方?目录是 /var/www/html。我们查看一下:$ ls /va原创 2021-05-31 18:16:58 · 312 阅读 · 3 评论 -
用 C++ 实现一个独立的 Web Service 程序
0. 序这一次我创建一个名为 calc 的 Web Service 程序,功能很简单,实现一个整数 add 函数。1. 创建源代码我创建了一个 calc 目录,里面创建下面两个文件:calc.h:int ns__add(int x, int y, int &result);很奇葩的是,函数 add 之前必须加上 ns__,否则后续工作无法继续。看官网的例子,加上 ns2__ 前缀也行。具体什么原因有知道的可以留言补充一下。calc.cpp#include "ns.nsmap"#i原创 2021-05-29 18:47:10 · 597 阅读 · 1 评论 -
在 Linux/Unix 上安装 gSoap
Make sure that you have Flex and Bison installed to build the soapccp2 tool:sudo apt-get install flex bisonIf you run into trouble installing Flex or Bison, then see the next section.You may want to install OpenSSL to enable HTTPS for gSOAP clients and原创 2021-05-28 16:34:04 · 620 阅读 · 0 评论 -
在 linux 系统安装 rust
很简单,$ sudo apt install rustc安装完检查一下版本,$ rustc -Vrustc 1.47.0$ cargo -Vcargo 1.46.0原创 2021-05-28 10:30:49 · 355 阅读 · 0 评论 -
Jetson Nano Serial-Number 修改
Jetson Nano 的序列号保存在路径 /sys/firmware/devicetree/base/serial-number。用下面命令可以查看:$ cat /sys/firmware/devicetree/base/serial-number1423920058691官网对这个序列号的解释是:资产跟踪编号,与设备识别标签上的编号相对应的唯一字符串。用0x00或0xFF字符填充的字符串。实际上,serial-number 这个文件的内容保存在核心板的EEPROM中,具体可参见英伟达官网介绍 J原创 2021-05-26 14:07:11 · 1601 阅读 · 0 评论 -
GstBuffer 详述
0. 概述缓冲区是 GStreamer 中数据传输的基本单元。它们包含定时和偏移量以及与缓冲区包含的 GstMemory 块关联的其他任意元数据。缓冲区通常是用 gst_buffer_new 创建的。创建缓冲区后,通常会为其分配内存并将其添加到缓冲区中。下面的示例创建一个缓冲区,该缓冲区可以容纳每个平面具有给定宽度、高度和位的给定视频帧。 GstBuffer *buffer; GstMemory *memory; gint size, width, height, bpp; ...原创 2021-05-13 16:01:11 · 7629 阅读 · 0 评论 -
GstBuffer 中 data 实际的存储地址
前段时间刚开始学 Gstreamer,还没学多少就要干活了,最近想用 gdb 查看 GstBuffe r的 data 地址是总很麻烦,要先用 gst_buffer_map 先获得data,所以就深入的了解了一下 GstBuffer 中 data 所存放的地方。下面就和大家分享一下吧!通常我们需要获取 GstBuffer 的 data 数据是通过接口 gst_buffer_map 得到的,进入 gst_buffer_map 接口的具体实现,我们可以发现,Gstreamer 通过 _get_merged_me转载 2021-05-13 11:21:05 · 829 阅读 · 0 评论 -
编写 GStreamer 插件2:编写插件的基础知识(二)
2. 指定焊盘3. 链函数4. 事件函数5. 查询函数6. 什么是状态?7. 添加属性8. 信号9. 构建测试应用程序原创 2021-05-12 15:47:39 · 1334 阅读 · 1 评论 -
编写 GStreamer 插件2:编写插件的基础知识(一)
现在您可以学习如何构建插件了。在本指南的这一部分中,您将学习如何应用基本的GStreamer编程概念来编写一个简单的插件。指南的前几部分没有包含明确的示例代码,这可能会使事情变得有点抽象和难以理解。相反,本节将通过开发一个名为“MyFilter”的示例音频过滤器插件来展示应用程序和代码。示例过滤器元件将从单个输入Pag和单个输出Pad开始。过滤器首先只需将媒体和事件数据从其接收器板传递到源板,而无需修改。但是在本部分的末尾,您将学习添加一些更有趣的功能,包括属性和信号处理程序。在阅读了指南的下一部分“高级原创 2021-05-10 17:48:08 · 3344 阅读 · 0 评论 -
在 Jetson Nano 上编写 GStreamer 插件 ——实现自己的第一个作品
这个 git 模块包含可能的 GStreamer 项目的模板代码。gst-app用于编写基于GStreamer的应用程序的基本自动工具布局。gst-plugin基本的自动工具布局和基本的过滤代码,用于编写GStreamer插件。这段代码是在麻省理工学院的许可证1下提供的,这基本上意味着“按你的意愿处理它,但如果它不起作用,不要责怪我们”。您可以根据自己的意愿,在任何许可证下,将此代码用于任何项目。我们建议对应用程序和插件使用LGPL2许可证,因为多媒体现在是专利的雷区。详情请参见我们的网站3原创 2021-05-10 14:59:37 · 2635 阅读 · 0 评论 -
为 Jetson Nano 配置 GStreamer
Jetson Nano 已经安装了 GStreamer,但是,nVidia 并没有完成配置, include 路径需要自己在配置一下才行。方法如下:在 /etc/profile 文件最后添加以下两行内容即可(文件名 basic-tutorial-1.c ):export C_INCLUDE_PATH=/usr/include/gstreamer-1.0:/usr/include/glib-2.0:/usr/lib/aarch64-linux-gnu/glib-2.0/include:$C_INCLUDE原创 2021-04-16 16:51:59 · 2607 阅读 · 0 评论 -
gst-rtsp-server 应用开发范例:test-readme.c
gst-rtsp-server 源代码包中的 examples 文件夹中范例 test-readme.c 代码如下:#include <gst/gst.h>#include <gst/rtsp-server/rtsp-server.h>int main (int argc, char *argv[]) { //声明相关对象 GMainLoop *loop; GstRTSPServer *server; GstRTSPMountPoints *mounts;原创 2021-04-14 15:26:19 · 552 阅读 · 0 评论 -
gStreamer 的 gst-rtsp-server 安装方法
1. 安装依赖包$ sudo apt-get install gtk-doc-tools libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa g原创 2021-04-13 18:30:59 · 4639 阅读 · 5 评论 -
Jetson Nano & Nano 2G 官方镜像下载地址
官方连接地址如下:https://developer.nvidia.com/embedded/jetpack原创 2021-04-12 15:12:31 · 2227 阅读 · 0 评论 -
如何制作 Jetson Nano 的 SD 卡镜像文件(二)
用 Win32DiskImager制作SD镜像文件更简单可靠。1. 制作镜像打开 Win32DiskImager,设置好镜像文件的路径。选择设备。如果 SD 卡对应多个分区(盘符),选择第一个最小的盘符就行。点击“读取”,等待进度条完成即可。2. 把镜像文件复制到 SD 卡还是上面的界面。选择镜像文件,选择 SD 卡设备。不要选错盘符,因为这个操作会删除目标磁盘上的全部内容。点击“写入”,等待进度条完成即可。...原创 2021-04-12 13:36:15 · 1659 阅读 · 0 评论 -
如何制作 Jetson Nano 的 SD 卡镜像文件
系统调整好以后,我们要把其备份成镜像,这样有利于批量复制发行。1. 备份方法可以用 dd 命令制作 SD 镜像,命令如下:# 查看 SD 在系统中的设备名称sudo fdisk -l我的 SD 卡的名称是 /dev/mmcblk0,用下面的命令制作其镜像:sudo dd bs=16M if=/dev/mmcblk0 of =nano_back.img2. dd 命令的进一步说明2.1 dd 命令的参数dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地原创 2021-04-10 11:06:30 · 1659 阅读 · 1 评论 -
英伟达 Jetson Nano 新手必备:设置 VNC
1. 简介-什么是VNCVNC(虚拟网络计算)使您能够通过查看另一台计算机上的开发人员工具包的桌面并与之交互,从同一网络上的另一台计算机控制您的Jetson开发人员工具包。要了解有关VNC的更多信息,请单击此处。注:您的Jetson开发工具包和其他计算机必须在同一网络上。需要相当快的网络连接。较慢的连接将降低桌面交互体验。2. 在Jetson开发工具包上安装VNC服务器每次登录时启用VNC服务器如果您有Jetson Nano 2GB开发工具包(运行LXDE)mkdir -p ~/.co原创 2021-03-24 13:40:57 · 3155 阅读 · 1 评论 -
OpenCV 无法打开 rtsp 视频流的解决方法
终于安装配置完成 OpenCV,兴冲冲写了个 rtsp 网络摄像头测试程序,结果连不上, 查了以下资料,原来...原创 2021-01-20 15:23:58 · 4643 阅读 · 1 评论 -
pkg-config 不能输出 --cflags 和 --libs内容
今天忽然发现,make 命令不好用了。仔细研究了一下,发现原因是 pkg-config 不能输出 --cflags 和 --libs内容。查了以下资料,原来需要把环境变量设一下:export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1...原创 2021-01-20 12:30:56 · 1001 阅读 · 0 评论 -
Ubuntu 屏幕、窗口截图快捷键
系统默认的原创 2021-01-19 14:25:24 · 132 阅读 · 0 评论 -
ubuntu 下修改 GEdit 缩进
操作很简单,...原创 2021-01-19 14:23:04 · 975 阅读 · 0 评论 -
GStreamer:一个包含三个元素的管道
先贴代码吧:#include <gst/gst.h>int main(int argc, char *argv[]) { GstElement *pipeline, *source, *sink; GstBus *bus; GstMessage *msg; GstStateChangeReturn ret; /* Initialize GStreamer */ gst_init(&argc, &argv); /* Create the ele原创 2021-01-17 17:53:02 · 324 阅读 · 0 评论 -
今天我特别高兴,因为总算跨进了Linux的世界!
前几年用 Go 语言写了服务器程序,扔到云服务中,一口气跑到今天,还在正常工作。虽然在 CentOS 下开发部署,但是我觉得自己对 Linux 这个体系真的是一点也不了解。从这个角度看,Go 语言用起来的确简单!最近打算用 C++ 搞点视频方面的开发,结果在 ubuntu 上安装英伟达显卡、CUDA、opencv 等等,还没整深度学习那些框架呢,就要把我给折腾死了。这两天,下了狠心,梳理一下思路,把 Linux 下开发环境相关的原理性的东西彻底搞明白了,结果怎么试验都不出错了。写了一段 opencv 的小原创 2021-01-16 17:55:51 · 227 阅读 · 0 评论 -
快速指南:pkg-config 的原理和使用方法
安装完 OpenCV-4.5.1,打算编译一个程序看看,你知道需要连接多少可静态库吗?用下面命令可以查看:$ pkg-config --libs opencv4-L/usr/local/lib -lopencv_highgui -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_dnn -lopencv_f原创 2021-01-16 17:22:25 · 2607 阅读 · 0 评论 -
快速指南:C/C++程序员如何从 Windows 向 Linux 迁移
老朽在 DOS、Windows 下玩 C/C++ 三十多年了,转到 Linux(Ubuntu)下,感觉整个开发环境乱七八糟、毫无头绪。在安装配置 OpenCV 4.5.1 的时候,经过一番折腾,发现 Linux 和 Windows 没啥本质区别。本文把关键要素稍加整理,供从 Windows 向 Linux 迁移的程序员同行们参考。原创 2021-01-16 16:27:19 · 5175 阅读 · 0 评论 -
OpenCV 4.5.1 在 Ubuntu 18下的安装详解
1. 下载源代码首先下载源代码,官网下载比较费时,搞了三天都没下来,在 CSDN 上找了一下资源解决此问题。2. 把源代码复制到和是目录因为支持 cmake,所以这个过程反而不复杂。在 home 目录建了个文件夹 opencv ,代码拷贝近来,这个文件夹的位置并不重要,因为后面有一个安装步骤,可以把将来开发需要的头文件、编译好的库文件等安装到各自的部署文件夹中。3. 安装 ubuntu 需要的功能具体过程我参考了网上的介绍,过程如下。下面的三条命令,是安装 ubuntu 操作系统需要的功能。如果原创 2021-01-16 12:39:41 · 1538 阅读 · 3 评论