Linux保存依赖安装包到指定目录(用于离线安装)
经常与一些保密级别较高的企业打交道,他们使用的网络都是内部网络,根本无法访问到公网,但是部署一些项目时难免会有依赖包需要离线安装。遇到这种问题通常都是手动去下载依赖的库,然后离线安装,但是你无法判断下载的这个依赖库是否还依赖其他库,如果是手动去下载安装将耗费很长时间(他们导入任何文件都要走流程,一次就需要4h左右),为了改善这种情况,就需要将所有依赖都离线下载到本,本文将介绍如何将Centos和Ubuntu的依赖包保存到本地。
经常与一些保密级别较高的企业打交道,他们使用的网络都是内部网络,根本无法访问到公网,但是部署一些项目时难免会有依赖包需要离线安装。遇到这种问题通常都是手动去下载依赖的库,然后离线安装,但是你无法判断下载的这个依赖库是否还依赖其他库,如果是手动去下载安装将耗费很长时间(他们导入任何文件都要走流程,一次就需要4h左右),为了改善这种情况,就需要将所有依赖都离线下载到本,本文将介绍如何将Centos和Ubuntu的依赖包保存到本地。
安全计算模式(secure computing mode,seccomp)是 Linux 内核功能,可以使用它来限制容器内可用的操作。
Docker 的默认 seccomp 配置文件是一个白名单,它指定了允许的调用。
Golang与C的关系非常密切,下面主要介绍在Golang中使用C。
1 package main
2 //#include <stdio.h>
3 //#include <stdlib.h>
4 /*
5 void Hello(char *str) {
6 printf("%s\n", str);
7 }
8 */
9 import "C" //假设把C当成包,其实有点类似C++的名字空间
10 import "unsafe" //C指针的使用,在C代码中申请的空间,GC垃圾回收机制不会管理,所以需要自己手动free申请的空间
11 func main() {
12 s := "Hello Cgo"
13 cs := C.CString(s)
14 C.Hello(cs)
15 C.free(unsafe.Pointer(cs))
16 }
3,4行的注释也可以写/* */形式 第4行与第5行之间不能有空行,同样第9行与第10行之间也不 能有行,否则编译时cgo会报错:
“君子生非异也,善假于物也” 。–语出《荀子·劝学》
如果记得没错的话,《荀子·劝学》我们这一代高中的时候应该都读过这篇文章。原意大概是君子的资质与一般人没有什么区别,君子之所以高于一般人,是因为他能善于利用外物。对于技术人来说,好工具的选择和使用往往可以省去很多不必要的麻烦,好的开源工具很多,看你如何去使用。对于终端复用工具这里推荐使用tmux,当然此类工具比较好的还有screen,不过相对screen 这里我更倾向于推荐tmux[强悍的分屏等]。
灵活使用快捷键可以提高编程效率,在此特意记录,快捷键的整理参照了VS Code官网。
F1 或 Ctrl+Shift+P: 打开命令面板。在打开的输入框内,可以输入任何命令,例如:
[root@k8s-node02 ~]# uname -r
3.10.0-862.9.1.el7.x86_64
[root@k8s-node02 ~]#
内核版本为3.10.0
rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
使用以下命令列出可用的内核相关包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
[root@localhost ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* elrepo-kernel: hkg.mirror.rackspace.com
Available Packages
kernel-lt.x86_64 4.4.166-1.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 4.4.166-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 4.4.166-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 4.4.166-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 4.4.166-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 4.4.166-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 4.4.166-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 4.19.8-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 4.19.8-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 4.19.8-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 4.19.8-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 4.19.8-1.el7.elrepo elrepo-kernel
perf.x86_64 4.19.8-1.el7.elrepo elrepo-kernel
python-perf.x86_64 4.19.8-1.el7.elrepo elrepo-kernel
[root@localhost ~]#
可以看出,长期维护版本lt为4.4,最新主线稳定版ml为4.19,我们需要安装最新的主线稳定内核,使用如下命令:
SSE ( Server-sent Events )是 WebSocket 的一种轻量代替方案,使用 HTTP 协议。
严格地说,HTTP 协议是没有办法做服务器推送的,但是当服务器向客户端声明接下来要发送流信息时,客户端就会保持连接打开,SSE 使用的就是这种原理。
git clone http://username:password@remote
例如:我的用户名是abc@qq.com,密码是abc123456,git地址为git@xxx.com/www.git
git clone http://abc@qq.com:abc123456@git.xxx.com/www.git
执行报错:
fatal: unable to access 'http://abc@qq.com:abc123456@git.xxx.com/www.git/':
Couldn't resolve host 'qq.com:abc123456@git.xxx.com'
报错原因是因为用户名包含了@符号,所以需求要把@转码一下
本文主要介绍go语言静态库的编译和使用方法,以windows平台为例,linux平台步骤一样,具体环境如下:
>echo %GOPATH%
E:\share\git\go_practice\
>echo %GOROOT%
C:\Go\
>tree /F %GOPATH%\src
卷 work 的文件夹 PATH 列表
卷序列号为 0009-D8C8
E:\SHARE\GIT\GO_PRACTICE\SRC
│ main.go
│
└─demo
demo.go
在%GOPATH%\src目录,有demo包和使用demo包的应用程序main.go,main.go代码如下:
今天在树莓派编译一个较大的C项目时发现每次编译到43之后速度会特别慢并且死机,百度之后发现可能是交换空间不足,增加1G交换空间后才解决死机问题。