![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UBUNTU/LINUX研究所
文章平均质量分 56
主要针对UBUNTU系统的研究,但可能附带LINUX相关知识
酷咪哥
1.研发团队管理;
2.流媒体服务、网络协议和嵌入式相关技术;
3.系统框架搭建和技术开发;
4.系统高并发、集群和缓存研究;
5.PMP认证;
展开
-
在Linux中如何解决程序崩溃的问题
在Linux上的C/C++环境如何调试程序崩溃问题?通常在这种情况,通过拿到出问题时产生的core文件,然后再利用gdb调试来看到出错时的程序栈信息。但某些特殊的情况,如不正确的系统设置或文件系统出现问题时,导致我们没有拿到core文件,那我们还有补救的办法吗?原创 2024-06-17 17:27:12 · 958 阅读 · 0 评论 -
MYSQL 8.0的Linux - Generic版本安装
适用于MYSQL 8.0的Linux - Generic版本,原则上适用所有的操作系统。。原创 2024-04-23 11:43:09 · 725 阅读 · 0 评论 -
netplan说明[整理篇]
在启动初期,netplan的“network renderer”将读取文件,并将配置写入/run,以将设备控制转交给指定的网络守护进程。原创 2023-11-06 11:47:30 · 1975 阅读 · 0 评论 -
[ubuntu]动态库加载优先级
众所周知, Linux 动态库的默认搜索路径是 /lib 和 /usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库, 并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函 数,以及该动态库的其它资源了。在 Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。众所周知, Linux 动态库的默认搜索路径是 /lib 和 /usr/lib。原创 2023-07-11 09:27:50 · 1313 阅读 · 0 评论 -
[ubuntu]LVM磁盘管理
LVM本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次。它将几块磁盘(物理卷,PhysicalVolume)组合起来形成一个卷组(VolumeGroup)。LVM可以每次从卷组中划分出不同大小的逻辑卷(LogicalVolume)创建新的逻辑设备。底层的原始的磁盘不再由内核直接控制,而由LVM层来控制。对于上层应用来说卷组替代了磁盘块成为数据存储的基本单元。LVM管理着所有物理卷的物理盘区,维持着逻辑盘区和物理盘区之间的映射。原创 2023-02-11 09:14:52 · 1565 阅读 · 1 评论 -
UBUNTU网络配置(netplan)
网卡名称可以通过netplan来配置。使用match和set-name可以设置网卡名称。match用于设置匹配条件,如MAC地址,驱动程序等,set-name用于设置匹配网卡的名称。ethtool是一个显示和修改以太网卡设置的程序,如自协商,端口速率,双工模式和局域网唤醒。原创 2023-01-05 10:03:49 · 11202 阅读 · 0 评论 -
OpenSSH说明
OpenSSH基于Shell (SSH)协议,可用于两台电脑间远程控制或传输文件的免费工具。传统工具,如telnet或rcp将用户密码以明文形式传输,因此是不安全的。 OpenSSH服务组件SSHD用来侦听来自客户端工具的客户端连接。当出现连接请求时,SSHD会根据客户端工具连接的类型设置正确的连接。原创 2023-01-04 19:35:44 · 507 阅读 · 0 评论 -
字符截取和替换
结构:${var##*/}说明:*/表示删除/及其左边的字符串,即删除http://www.aaa.com/结果:123.html结构:${var%%/*}说明:特定字符为/,即删除//www.aaa.com/123.html。原创 2023-01-04 15:54:07 · 138 阅读 · 0 评论 -
UBUNTU网络配置
网卡名称可以通过netplan来配置。使用match和set-name可以控制网卡接收特定的逻辑名称时。匹配键用于查找基于一些标准的适配器,如MAC地址,驱动程序等。然后使用set-name将设备更改为所需的名称ethtool是一个显示和修改以太网卡设置的程序,如自协商,端口速率,双工模式和局域网唤醒。1.1.动态IP配置 要将服务器配置为使用DHCP进行动态地址分配,请在/etc/netplan/99_config.yaml中创建网络配置。下面的示例假设您正在配置第一个以太网原创 2022-07-14 10:23:08 · 8772 阅读 · 0 评论 -
UBUNTU时间同步
从UBUNTU16.04开始,就开始使用timedatectl/timesyncd服务进行时间同步,而不是常用的ntpdate/ntp。如果安装了chrony,那么timedatectl将会让位于chrony,避免两个同步服务出现竞争,这也同样适用于ntpd。 ntpdate已被timedatectl或chrony抛弃,因此默认不会被安装。timesyncd用于时间同步,chrony则用于更复杂的情况。 临时一次同步:chronyd −q 临时一次时间检查,不设置时原创 2022-07-14 10:24:26 · 9787 阅读 · 0 评论 -
netplan说明
1.介绍 发行版安装程序、云实例化、特定设备的镜像或任何其他部署操作系统的方法,都会将其网络配置放入YAML配置文件中。在启动初期,netplan的“network renderer”将读取/{lib,etc,run}/netplan/*.yaml文件,并将配置写入/run,以将设备控制转交给指定的网络守护进程。配置的设备默认由systemd-networkd处理,除非指定了renderer(NetworkManager)没有被网络配置覆盖的设备,不会被触动;可用于initramfs(依赖少,原创 2022-04-27 18:47:21 · 3062 阅读 · 0 评论 -
网卡调优RSS、RPS、RFS和XPS
1.RSS(Receive Side Scaling) RSS(Receive Side Scaling)也叫多队列接收,可以硬件级别实现使用多核处理接收网络数据。可用于缓解因单个CPU过载,导致的接收中断处理瓶颈,并减少网络延迟。 可以通过/proc/interrupts确定网络接口卡是否支持RSS。也可以在加载网络驱动程序后,通过“ls -1 /sys/devices///device_pci_address/msi_irq” 的输出来查看。(需要网卡硬件及驱动同时支持) 默认情原创 2022-03-16 10:02:14 · 6663 阅读 · 0 评论 -
网卡调优RSS、RPS、RFS和XPS
1.RSS(Receive Side Scaling)RSS(Receive Side Scaling)也叫多队列接收,可以硬件级别实现使用多核处理接收网络数据。可用于缓解因单个CPU过载,导致的接收中断处理瓶颈,并减少网络延迟。 可以通过/proc/interrupts确定网络接口卡是否支持RSS。也可以在加载网络驱动程序后,通过“ls -1 /sys/devices/*/*/device_pci_address/msi_irq” 的输出来查看。(需要网卡硬件及...原创 2022-03-08 15:27:42 · 7214 阅读 · 0 评论 -
mktime时间函数
1.函数说明1.1描述 time_t mktime(struct tm *timeptr) 把 timeptr 所指向的结构转换为自 1970 年 1 月 1 日以来持续时间的秒数,发生错误时返回-1。1.2.声明 time_t mktime(struct tm *timeptr)1.3.参数struct tm { int tm_sec; /* 秒 – 取值[0,59] */ int tm_min; /* 分 - 取值[0,59] */原创 2022-01-28 10:47:22 · 6414 阅读 · 0 评论 -
LINUX上wireshark无权限问题
解决LINUX上点击图标打开wireshark无权限的问题原创 2021-12-17 14:07:21 · 1284 阅读 · 0 评论 -
[UBUNTU]挖矿病毒处理
1.使用top和htop指令查看,占用cpu比较高的进程/tmp/.weblogic/javae1.杀掉病毒进程kill -9 病毒进程的PID2.删除病毒文件rm -fr /tmp/.weblogic3.删除tomcat下病毒远程下载程序停止tomcat进程服务: kill -9 `pgrep java` tomcat目录/webapps/目录下只留下“项目本身的war包文件”,其他可疑的TAR包文件(病毒)和多余的文件(如docs,manager,host...原创 2021-02-03 09:33:23 · 3024 阅读 · 0 评论 -
[UBUNTU]向日葵安装
1.软件下载官网下载地址2.软件安装dpkg -i SunloginClient-10.0.2.24779_amd64.deb3.出错解决如果顺利,就会安装完成,但大概率会遇到出现缺乏依赖的错误:如:package libwebkitgtk-3.0-0 is not installed,执行强制安装命令:sudo apt-get updatesudo apt-get install -f -y...原创 2020-12-14 08:50:44 · 1325 阅读 · 0 评论 -
[UBUNTU]有道词典安装
1.官网下载对应版本deb文件;2.进行deb的安装;dpkg -i youdao-dict_6.0.0-ubuntu-amd64.deb3.错误解决:Traceback (most recent call last): File "/usr/bin/youdao-dict", line 27, in <module> from dae.dae...原创 2020-04-06 14:16:33 · 777 阅读 · 0 评论 -
[UBUNTU]桌面安装
1.UKUI-优麒麟(Ubuntu Kylin)官方参考网页 优麒麟(Ubuntu Kylin)是由麒麟软件有限公司主导开发的全球开源项目,其宗旨是通过研发用户友好的桌面环境以及特定需求的应用软件,为全球 Linux 桌面用户带来非凡的全新体验! 优麒麟操作系统是 Ubuntu 官方衍生版,得到来自 Debian、Ubuntu、Mate、LUPA 等国际...原创 2020-04-06 14:12:01 · 2859 阅读 · 0 评论 -
[UBUNTU]安装wine5.0
背景系统版本:UBUNTU18.04 LTS桌面版1.安装libfaudio0库1.1.下载Release.keyhttps://download.opensuse.org/repositories/Emulators%3A/Wine%3A/Debian/xUbuntu_18.04/Release.key1.2.进行到下载的目录并执行以下指令sudo apt-key add Relea...原创 2020-02-17 14:15:29 · 2810 阅读 · 9 评论 -
UBUNTU系统镜像定制
通过修改引导加载配置文件(/isolinux/isolinux.cfg),来告诉d-i在哪里可以找到该“firewall.seed”文件,从而传递合适的参数到内核命令行。通过修改引导加载配置文件(/boot/grub/grub.cfg),来告诉d-i在哪里可以找到该“firewall.seed”文件,从而传递合适的参数到内核命令行。本文基于ubuntu server 16.04版本,主要研究镜像包括修改显示的OEM信息,软件包的删除和添加,实现"系统尽可能的小,安装尽可能的简单傻瓜"传递该值的变量;原创 2018-04-28 10:45:53 · 4075 阅读 · 2 评论 -
Linux性能监控
1.流量监控nload:检测系统整体流量吞吐,流量波动等; ifstat:监视各个网卡分别的收发量; watch cat /proc/net/dev:监视各个网卡分别的收发,丢包,重传等;原创 2016-12-11 08:58:49 · 269 阅读 · 0 评论 -
ubuntu 16.04内核源码编译
原文地址1.查看内核版本uname –r 2.查看适合的内核版本apt-cache search Linux-source 3.下载内核源码apt-get install linux-source-4.10.0 4.切换到源码cd /usr/src/linux-source-4.10.0 5、 输入cp /boot/config-,然后按下Tab键,系统会自动填上该目录下符合条件的文件转载 2017-06-21 19:31:35 · 1228 阅读 · 0 评论 -
Linux最大文件数
背景: 使用MS-OTM(UDP转UDP)测试CPU调度算法时,在打开509个转发时,出现以下问题: 1.打开文件过多? 使用ulimit -n发现值为1024, 编辑/etc/security/limits.conf 文件增加内容 root soft nofile 2000 root hard nofile原创 2017-02-16 17:02:16 · 635 阅读 · 0 评论 -
pkg-config
pkg-config主要用于读取包的配置信息,如头文件目录,链接库目录等; 依赖的环境变量:PKG_CONFIG_PATH;1.如何创建一个pkg-config生成文件libdrm.pc,并编辑以下内容:prefix=/usrexec_prefix=${prefix}libdir=${prefix}/lib64includedir=${prefix}/includeName: libdrm原创 2017-01-22 14:04:04 · 933 阅读 · 2 评论 -
Linux多线程
背景:服务器程序在调用ffmpeg的库函数avio_read时,老是阻塞,导致线程无法正常退出,影响服务器程序的正常运行,解决办法:pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &old_cancelstate);int len= avio_read(ffmpegptc_ctt->ioput, ffmpegptc_ctt->tmp+4,RX_PKT_S原创 2016-10-10 15:16:15 · 351 阅读 · 2 评论 -
socket套接字选项
本文写作背景基于对多网卡的配置,要求实现多个网卡同时上网,并且能指定 仅针对linux下的socket选项进行整理分析。/* For setsockopt(2) */define SOL_SOCKET 1define SO_DEBUG 1define SO_REUSEADDR 2define SO_TYPE 3define SO_原创 2016-09-30 11:45:46 · 1790 阅读 · 2 评论 -
[LINUX]信号SIGNAL详解
整理这一篇signal的文章是因为在项目使用过程中遇见了SIGHUP和SIGPIPE,因此为了加深印象,也为之后项目的使用做一个资料参考上的整理。原创 2016-08-13 01:36:07 · 2152 阅读 · 2 评论 -
[UBUNTU] NFS安装配置
测试系统(ubuntu12.04,ubuntu16.04),使用的root登陆;1、执行命令:apt-get install nfs-kernel-server ;2、执行命令:mkdir /ACE_IN/ 建立一个nfs服务的专有的文件夹;3、建立好文件夹后,接着执行命令:gedit /etc/exports 配置nfs;4、在文章的最后一行添加:/ACE_IN/ *(rw,sync,no_roo原创 2016-08-13 10:58:17 · 1276 阅读 · 2 评论 -
ubuntu查看支持的字体库
1.背景sugao@msos:~/mscore/src$ uname -aLinux msos 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:56:33 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux2.命令fc-list 查看所有的字体 fc-list :lang=zh 查看所有原创 2017-05-05 18:42:31 · 8926 阅读 · 1 评论 -
USB检测
1.背景ubuntu16.04 server插入U盘后,需要手动挂载,然后才能读取到U盘,本文目标在于实现自动挂载到固定目录,该方法可用于大多数不自动挂载U盘的系统。2.研究2.1.尝试1cat /proc/scsi/usb-storage/2,其中2应该是个热生成值,信息如下,没有想要的设备(如/dev/sdb4) Host scsi2: usb-storage Vendor:原创 2016-11-30 17:02:47 · 507 阅读 · 2 评论 -
system函数
在一个daemon程序中调用system来执行一段脚本,返回值总是-1.脚本简单的不能再简单了,只有一句exit 0,但还是返回-1. 查了很多资料,也没能找出原因,最后经过我反复的调试,终于发现了一个惊天动地的秘密!!返回-1的原因是因为进程将SIGCHLD屏蔽了!!确实我的程序在main函数里面就调用signal(SIGCHLD, SIG_IGN);将SIGCHLD屏蔽了! system的调原创 2016-12-28 08:45:39 · 567 阅读 · 0 评论 -
Linux系统命令
1.获取系统所有网卡列表 cat /proc/net/dev | awk ‘{if(NR > 2) print substr(1,0,index(1, 0, index(1,”:”))}’原创 2016-09-01 14:38:42 · 295 阅读 · 2 评论 -
一种自动生成网络IP的方案
背景测试系统ubuntu16.04 64位1.修改网卡名/etc/default/grub 找到GRUB_CMDLINE_LINUX=”” 改为GRUB_CMDLINE_LINUX=”net.ifnames=0 biosdevname=0” 然后sudo grub-mkconfig -o /boot/grub/grub.cfg2.原创 2016-11-30 10:52:45 · 1147 阅读 · 2 评论 -
Crontab任务定时
1.背景ubuntu 16.04 麒麟桌面版 ubuntu 16.04 server2.介绍man crontab | more查看详细介绍 官方文档CronHowto3.实施3.1.crontab文本打开文本/etc/crontab,内容如下# /etc/crontab: system-wide crontab# Unlike any other crontab you don't have原创 2016-11-30 09:18:41 · 383 阅读 · 2 评论 -
通过printf设置终端输出的颜色
前言终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。 本文主要介绍如何根据打印级别设置不同的颜色,方便调试。原创 2016-11-16 09:47:27 · 3045 阅读 · 0 评论 -
UBUNTU WIKI
1.安装源sudo add-apt-repository ppa:wine/wine-buildssudo apt-get update2、安装wineWINE的UBUNTU参考 sudo apt-get install –install-recommends winehq-stable sudo apt-get install wine-staging winehq-sta原创 2017-06-24 10:57:02 · 467 阅读 · 0 评论 -
Linux多网卡研究记录
背景: 服务器采用ubuntu16.04; 协议hls和udp; 网卡:bond0,enp3s0,enp4s0f0目标要求: 实现使用指定网卡接收指定流 应用场景: 多个网卡直接连接多台设备; 多个网卡直接连接多个路由器; 服务器多网卡数据扩容;一、route二、bonding1.插件安装apt-get ins原创 2016-10-12 16:44:12 · 2365 阅读 · 2 评论 -
UBUNTU服务器网络操作
作者一直是ubuntu服务器的忠实拥护者,关于UBUNTU系统的很多配置都能通过脚本在软件包中一键部署,但关于网络配置则需要根据现场环境变动,因此本文的目的在于指导ubuntu服务器的常用的网络部署。原创 2017-09-06 13:34:25 · 3422 阅读 · 2 评论 -
UBUNTU系统镜像定制
1.背景本文基于ubuntu server 16.04版本,主要研究镜像包显示信息的修改,软件包的删除和添加,实现“系统尽可能的小,软件功能尽可能的达到最终需求”UBUNTU官方资料UBUNTU官方wiki原创 2017-05-22 19:54:19 · 2361 阅读 · 2 评论