
Linux
文章平均质量分 75
witton
这个作者很懒,什么都没留下…
展开
-
解决Clang 18+不能链接GCC14编译的库的问题
解决Clang18+不能链接GCC编译的库的问题。原创 2024-12-05 10:46:04 · 1105 阅读 · 0 评论 -
容器中的centos7解决failed to get d-bus connection operation not permitted
解决容器中的CentOS7无法使用systemctl命令的问题原创 2024-09-19 18:12:20 · 2286 阅读 · 0 评论 -
ubuntu使用LLVM官方发布的tar.xz来安装Clang编译器
ubuntu系统上的软件相比CentOS更新还是比较快的,但是还是难免有一些软件更新得不那么快,比如LLVM Clang编译器,目前ubuntu 22.04版本最高还只能安装LLVM 15,而LLVM 18 rc版本都出来了。这样就可以正常使用新版本的clang编译器了,如果还有找不到的文件,也可以通过这样的方式添加路径。来说明如何使用LLVM官方发布的tar.xz文件来安装Clang编译器。原创 2024-02-23 19:04:11 · 2494 阅读 · 0 评论 -
解决ubuntu系统cannot find -lc++abi: No such file or directory
ubuntu本身也可以直接通过apt install命令来安装编译好的clang编译器。不过目前22.04版本下最高可安装版本还是停留在LLVM 15。原创 2024-02-23 18:01:30 · 938 阅读 · 0 评论 -
复制远程连接到Linux使用VIM打开的内容到Windows
复制远程连接到Linux使用VIM打开的内容到Windows原创 2023-09-15 16:15:27 · 931 阅读 · 0 评论 -
解决nexus3登录x509: certificate has expired or is not yet valid
解决容器中nexus3来作为容器的镜像仓库,生成证书过期的问题。原创 2023-09-12 12:01:01 · 1268 阅读 · 0 评论 -
Visual Studio 2022连接远程系统进行C/C++开发
使用Visual Studio 2022进行Linux或者MacOS下的C/C++开发,介绍使用LLDB进行调试的配置。原创 2023-08-15 18:32:46 · 3409 阅读 · 0 评论 -
解决lldb调试时可能出现的personality set failed: Function not implemented
解决lldb调试时可能出现的personality set failed: Function not implemented原创 2023-08-13 19:47:46 · 1685 阅读 · 0 评论 -
VMware 17虚拟Ubuntu 22.04设置共享目录
之前使用VM 17之前的版本虚拟CentOS,设置共享目录非常方便,在CentOS中安装即可。随着CentOS变成上游版本后,转向使用Ubuntu,VM也升级到了17,Ubuntu也升级到了最新的22.04,但是发现共享目录不能使用了。原创 2023-07-07 22:48:04 · 1670 阅读 · 0 评论 -
记Gitlab备份与设置自动备份
记录一次Gitlab的备份以及设置自动备份。原创 2023-06-13 15:58:43 · 4112 阅读 · 0 评论 -
虚拟机中Ubuntu不知root密码时设置唯一的非root用户为sudo管理员
虚拟机中Ubuntu在不知道root密码的情况,设置唯一的非root用户为sudo管理员。原创 2023-06-09 23:02:30 · 610 阅读 · 0 评论 -
Ubuntu 登录提示信息`Message of The Day`(MOTD)定制与开关
Ubuntu 登录提示信息`Message of The Day`(MOTD)定制与开关原创 2023-06-08 17:48:37 · 3534 阅读 · 0 评论 -
处理podman的overlay-containers中ctr.log日志文件过大的问题
记录一次处理podman容器overlay-containers中ctr.log日志文件过大的问题原创 2023-06-08 11:08:11 · 1836 阅读 · 0 评论 -
JIRA维护记——使用原实例位置恢复数据
记录一次Jira的维护,从原Jira实例位置恢复数据。原创 2023-06-07 17:37:51 · 1218 阅读 · 0 评论 -
搭建ubuntu容器内C/C++开发调试环境
由于ubuntu容器的C/C++开发调试环境与虚拟机或者实体机的配置有点不一样,所以本文记录一下ubuntu容器的C/C++开发调试环境的搭建。原创 2023-06-05 17:10:30 · 1807 阅读 · 0 评论 -
VSCode远程连接Ubuntu使用LLDB调试程序
本文介绍VSCode远程连接ubuntu,使用LDB调试程序,同时介绍了ubuntu安装clang、lldb,以及如何源码编译安装`lldb-mi`,VSCode的调试配置。原创 2023-05-30 12:18:17 · 2765 阅读 · 0 评论 -
C/C++开发中使用pkg-config来引用依赖库
pkg-config是一个命令行工具,通过它,可以知道库的include路径lib路径以及需要链接的库名,这三样信息是C/C++开发必不可少的信息。其实这些信息都是以文本文件(*.pc)的存放在系统中的,64位Linux一般在,32位Linux一般在,MinGW一般在MinGW安装目录的下。可以看一下MinGW下的Name: GLib可以看到里面有很多信息,但最重要的是在编译链接时所需要的信息Libs和Cflags,它会自动把所依赖的其它库给包含进来,非常省事。原创 2023-04-20 18:49:49 · 1395 阅读 · 2 评论 -
使用libSSH2实现与Linux Shell的命令行交互
使用libSSH2实现简单的Shell交互原创 2023-04-03 17:19:44 · 2212 阅读 · 6 评论 -
改变podman的存储路径
使用podman容器时,podman会默认使用`/var/lib/containers`路径作为存储路径,可能会导致根磁盘空间占用过大,那如何修改podman的存储路径呢?本文将带你一起来探讨。原创 2022-12-30 17:51:05 · 7796 阅读 · 0 评论 -
在MinGW中构建GCC交叉编译器和GDB交叉调试器
前文《C语言使用MinGW中的GCC生成平面(flat)二进制文件》中有介绍MinGW中使用GCC生成编写操作系统内核所需要的32位平面(flat)二进制文件。但是如果想要在Loader中使用C语言,即编译16位的汇编与C混合代码,就必须使用ELF格式才能转换成16位平面(flat)二进制文件。MinGW默认的GCC只能生成PE文件,不能生成ELF文件,而pei-386是无法转换成16位平面(flat)二进制文件的。如果在link.ld中使用,会报错:使用使用,则会报:所以为了能使用MinGW编译16位原创 2022-07-06 18:51:38 · 2141 阅读 · 2 评论 -
WordPress使用markdown格式发布内容
markdown是目前网络上比较流行的文档格式,前一篇博文容器中搭建WordPress中介绍了在容器中如何搭建WordPress,本文介绍一下在WordPress中如何使用markdown格式发布内容。希望本文对读者有帮助,如果喜欢的话,请点赞收藏。一、安装markdown插件这里强烈推荐我们华人写的markdown插件Githuber MD可以看到该插件是非常受欢迎,但是到目前为止,在最新的WordPress 5.9.3中并未经过测试。通过笔者的踩坑,还是顺利的使用了。安装之后记得启用。二、原创 2022-05-23 21:53:33 · 5198 阅读 · 8 评论 -
容器中搭建WordPress
WordPress是一个非常流行的网站、博客内容管理系统,很网站都是使用它来创建的内容。本文记录笔者在容器中搭建WordPress的过程。由于WordPress需要用到Mysql数据库,所以需要安装Mysql一、下载安装Mysql由于都是在容器中安装,所以Mysql也是在容器中进行安装,可以使用命令行的方式,也可以使用Cockpit Web页面拉取和创建。1. 命令行的方式sudo podman pull mysql:latestsudo podman run --name mysql -p 3原创 2022-05-21 11:15:16 · 1280 阅读 · 0 评论 -
nginx文件服务器美化autoindex显示
网络上很多使用nginx来作为文件服务器的,前段时间公司也有这个需求,就研究了一下使用nginx来做文件服务器,参见前面两篇文章:容器中使用ngnix搭建支持上传下载的文件服务器使用nginx容器并搭建sftp服务但是nginx原生的autoindex显示界面很一般,网上也有使用Nginx-Fancyindex插件来的,但是需要自己编译nginx,比较麻烦,笔者使用的容器版本的nginx,所以放弃了它,而选择了add_after_body的方式。感谢 phuslu 写了一个 autoindex.ht原创 2022-05-15 20:48:37 · 6042 阅读 · 0 评论 -
容器中使用nginx并搭建sftp服务
前段时间项目组客户端同事需要一个公共的http服务作为客户端的下载更新服务,由他来上传需要更新的内容。首先想到的是使用nginx作为文件服务支持,然后提供一个ftp的方式让他上传。查了一些资料后,发现nginx本身也可以支持上传,于是写了容器中使用ngnix搭建支持上传下载的文件服务器一文,但是这种方式对多个文件或者目录不太友好,不适合这种使用场景。本文将使用最初的想法,使用nginx+sftp的方式来实现。由于ftp不安全,基本上被淘汰了,取而代之的sftp,即使用安全的加密方式来传输内容。sftp 与原创 2022-05-13 14:52:57 · 1503 阅读 · 0 评论 -
容器中使用ngnix搭建支持上传下载的文件服务器
一、安装nginx容器为了让nginx支持文件上传,需要下载并运行带有nginx-upload-module模块的容器:sudo podman pull docker.io/dimka2014/nginx-upload-with-progress-modules:latestsudo podman -d --name nginx -p 83:80 docker.io/dimka2014/nginx-upload-with-progress-modules该容器同时带有nginx-upload-mo原创 2022-05-10 16:29:14 · 3011 阅读 · 0 评论 -
wsl2设置静态IP
WSL2每次启动后的IP都不固定,如果需要一个固定的IP,需要做一些设置,可以创建一个批处理文件,比如:E:\Ubuntu\ubuntu_static_ip.bat,内容如下:@echo off%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exitwsl -d Ubuntu-20.04 -u root原创 2022-01-09 11:20:42 · 5507 阅读 · 9 评论 -
解决 podman: failed to create new watcher too many open files
今天在服务中部署容器时,出现错误:Error: error configuring CNI network plugin: failed to create new watcher too many open files通过:cat /proc/sys/fs/inotify/max_user_instancescat /proc/sys/fs/inotify/max_user_watches 查看结果为:fs.inotify.max_user_instances = 128fs.inoti原创 2021-12-28 16:07:09 · 1407 阅读 · 1 评论 -
ubuntu安装podman-compose
用过docker-compose的一定不会对podman-compose陌生,podman作为docker的替代品,自然podman-compose也是docker-compose的替代品。一些系统默认情况下,是只安装了docker-compose,而没有安装podman-compose。这里就记录一下如何在ubuntu21.10中安装podman-compose。一、安装pip由于podman-compose是使用python编写,所以需要有python3的环境。ubuntu21.10系统默认会安装原创 2021-12-28 11:46:32 · 3309 阅读 · 0 评论 -
Goland连接https的Docker远程服务
在前文Goland使用远程容器进行go开发调试中介绍到为了让Goland能够远程调试Docker容器中的代码,需要在Docker服务中开启一个监听端口来接受远程服务。前文是简单粗暴地直接添加-H tcp://0.0.0.0:2979参数来达到目的的。这样做会有极大的安全问题,意味着任何人,只要知道Docker服务所在的IP地址及端口,即可以连接上来进行操作。要想避免此问题,增强安全性,需要改成使用安全传输层协议(TLS)进行传输并进行认证。下面就介绍一下如何进行相关配置。一、修改docker.se原创 2021-12-23 18:31:25 · 1864 阅读 · 0 评论 -
使用nexus3作为Docker镜像仓库
一、在容器中安装运行nexus3为了方便起见,这里使用脚本来处理安装运行。在一个空目录中新建一个shell脚本文件,比如gen.sh,内容如下# 所有操作在子目录中完成mkdir -p outputcd outputecho subjectAltName = IP:192.168.1.8 > extfile.cnf# 生成ca证书openssl genrsa -out ca.key 2048openssl req -x509 -new -nodes -key ca.ke原创 2021-12-16 18:17:25 · 3172 阅读 · 0 评论 -
gitlab迁移记
前段时间公司配置了新的服务器,把系统与软件环境安装好,昨天开始迁移gitlab中的项目了,但是有一个老项目的空间占用比较大,在gitlab的Web页面中使用项目中的导出功能(项目设置 => 通用 => 高级 => 导出项目)后,监控磁盘与CPU相关信息,发现刚开始还在工作,后面就不工作了,试了两三次都是这样。后面通过查看后台任务发现任务已经停滞了(截图已经删除了停滞任务),停滞原因是磁盘空间不足。这才发现系统根目录下所剩空间只有几个G了,不足以存放项目导出文件,但是磁盘上还有大量空原创 2021-12-03 12:27:57 · 1358 阅读 · 0 评论 -
使用podman容器配置gitlab
文章目录一、下载gitlab以及gitlab-runner镜像二、运行容器与配置gitlab1、运行gitlab容器2、修改配置三、运行与注册gitlab-runner1、运行gitlab-runner2、进入容器Bash3、注册gitlab-runner一、下载gitlab以及gitlab-runner镜像sudo podman pull docker.io/gitlab/gitlab-eesudo podman pull docker.io/gitlab/gitlab-runner笔者下载的版原创 2021-11-30 11:11:41 · 2610 阅读 · 0 评论 -
让Linux的Shell提示和输出是彩色的
在使用最新的Ubuntu的时候发现终端的提示符是彩色的而在CentOS8中以及容器中的Linux系统一般都不是彩色提示,如果想要彩色提示,在/etc/profile.d/目录中加入一个脚本文件,比如colorprompt.sh,编写内容如下:PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '在有的系统中,ls、grep、fgrep、egrep命令的输出可能没有颜色,或者没有ll命令,也可以在此文件中加入命令原创 2021-11-27 23:52:13 · 1960 阅读 · 0 评论 -
搭建容器的私有库
文章目录一、拉取registry容器1、使用cockpit来拉取2、 使用命令拉取二、 运行registry镜像1、使用cockpit运行registry2、使用命令行的方式运行registry三、测试1、拉取所需容器2、提交镜像3、推送镜像四、添加到镜像源我们在使用容器的时候,一般都是从公有库比如:docker.ioregistry.fedoraproject.orgquay.ioregistry.access.redhat.comregistry.centos.org等地方进行拉取镜像的原创 2021-11-26 16:16:06 · 1183 阅读 · 0 评论 -
开机自动运行容器
文章目录一、创建容器二、创建服务三、设置开机自动启动四、测试服务五、开机测试一、创建容器假设我们已经创建好了一个容器,如下图所示,名字为centos7二、创建服务为了让容器能够开机自动运行,需要以服务的形式存在。在/etc/systemd/system/目录,为centos7容器创建一个systemd单元配置文件:sudo vim /etc/systemd/system/centos7-container.service文件内容如下:[Unit]Description=centos7原创 2021-11-25 11:11:31 · 1099 阅读 · 0 评论 -
设置ubuntu和CentOS的IP地址为静态地址
文章目录一、确认网关地址二、修改配置文件1.ubuntua.查看DHCP模式下的DNS信息a. 修改/etc/netplan/00-installer-config.yaml文件b.应用设置c.测试2. CentOS1.修改配置2.应用设置3.测试最近在玩ubuntu,发现如果系统中有podman容器处于开启状态,则在重启ubuntu后会出现找不到网卡,找不到网卡也就没有IP地址,这里需要再次重启ubuntu才能正常。在虚拟机上这样玩的时候,出现另一个问题就是,如果虚拟机使用的DHCP分配的IP地址,则原创 2021-11-24 18:46:41 · 1812 阅读 · 1 评论 -
配置与管理Ubuntu 21.10
一、使用SSH远程连接Ubuntu服务器版本的Ubuntu默认是没有图形界面的,控制台的字符缓冲区也比较小,不能滑动输出,所以最好使用SSH远程连接到Ubuntu来操作。1.查看IP地址ifconfig该命令可能没有安装,使用sudo apt install net-tools进行安装2. 使用SSH连接二、安装配置CockpitCockpit是Linux下非常好用,非常强大的管理工具,在笔者前面的博客中有一系列介绍Cockpit的文章,但都是在CentOS8下的使用情况,Ubun原创 2021-11-22 16:12:36 · 4746 阅读 · 0 评论 -
详细安装Ubuntu 21.10
由于公司服务器的硬件配置比较老了,使用的HDD硬盘,集Git,SVN,编译,网盘等等功用于一身,使用体验相当不好,经常卡得受不了。双11前几天就建议老板买一台新电脑作为服务器。电脑很快配置好了,但是商家安装系统搞了一个星期(公司一直都是使用的CentOS系统,大家也相对熟悉CentOS,就希望新服务器也安装CentOS系统。但是商家一直说是安装不了CentOS,包括最新的CentOS 8。既然安装不了CentOS,那安装Ubuntu吧,国外很多都使用Ubuntu系统,我把CentOS与Ubuntu的下载链接原创 2021-11-19 16:51:17 · 3541 阅读 · 0 评论 -
解决centos下安装WPS出现can‘t find libXss.so.1
今天在CentOS8中安装WPS时,出现找不到libXss.so.1的情况,但是又不知道是需要安装哪个包,可以通过下面的命令知道:repoquery --nvr --whatprovides libXss.so.1下面的执行的情况:[root@localhost 桌面]# repoquery --nvr --whatprovides libXss.so.1CentOS Linux 8 - AppStream 8.0 kB/s | 4.3 kB 0原创 2021-10-21 09:50:04 · 3177 阅读 · 0 评论 -
解决退格键在MinGW的vim中不起作用的问题
MinGW下的vim在默认情况下会与Linux下的vim不太一样,比如MinGW中默认的vim配置,退格键(backspace)就不起作用。如果退格键不起作用(不管是MinGW、MacOS,还是Linux),一般都是配置问题导致,可以自行配置backspace功能。当Vim启动时,会检查名为.vimrc的文件是否存在,如果找到了该文件,则会在启动时自动加载其内容作为配置。通过将喜爱的配置保存到.vimrc文件中就可以让Vim在启动时自动应用这些配置。Vim会在许多地方查找.vimrc文件(参见:h vi原创 2021-09-25 15:21:32 · 774 阅读 · 1 评论