ubuntu下docker及打deb包

简介: ubuntu下docker及打deb包

Docker

用docker启动ubuntu的桌面环境_菜鸟怕怕的博客-CSDN博客_docker ubuntu桌面

Docker docker-ubuntu-vnc-desktop

Ubuntu安装vncviewer_Allen953的博客-CSDN博客_ubuntu安装vncviewer

解决docker容器无网络、无法连接互联网----长期更新_baodeng9195的博客-CSDN博客

docker四种网络模式 - 个人文章 - SegmentFault 思否

Docker四种网络模式 - 简书

docker修改容器网络模式_rojecl的博客-CSDN博客_docker容器修改网络设置

Docker 【网络】配置dns_ghostwritten的博客-CSDN博客_docker dns


Docker的网络配置 2 配置 DNS和主机名_云川之下的博客-CSDN博客


Ubuntu中deb包详解及打包教程_萧戈的博客-CSDN博客_ubuntu deb

Ubuntu下打包deb流程步骤 | 码农家园

ubuntu下打deb包以及修改的基本操作_苦涩花开5486的博客-CSDN博客_ubuntu 打deb包

deb包打包流程_Zh知道该怎么做、的博客-CSDN博客_deb打包教程


10 分钟学会Linux常用 bash命令 - Savorboard - 博客园

Linux下shell脚本:bash的介绍和使用(详细)_Croxd的博客-CSDN博客_bash

Bash函数 -Bash Shell教程

# 文件测试
-e 文件存在
-a 文件存在
 这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用
-f file 是一个 regular 文件(不是目录或者设备文件) 
-s 文件长度不为 0 
-d 文件是个目录
-b 文件是个块设备(软盘,cdrom 等等) 
-c 文件是个字符设备(键盘,modem,声卡等等) 
-p 文件是个管道
-h 文件是个符号链接
-L 文件是个符号链接
-S 文件是个 socket 
-t 关联到一个终端设备的文件描述符
 这个选项一般都用来检测是否在一个给定脚本中的 stdin[-t0]或[-t1]是一个终端
-r 文件具有读权限(对于用户运行这个 test) 
-w 文件具有写权限(对于用户运行这个 test) 
-x 文件具有执行权限(对于用户运行这个 test)
-g set-group-id(sgid)标志到文件或目录上
 如果一个目录具有 sgid 标志,那么一个被创建在这个目录里的文件,这个目录属于创建
 这个目录的用户组,并不一定与创建这个文件的用户的组相同.对于 workgroup 的目录
 共享来说,这非常有用.见<<UNIX 环境高级编程中文版>>第 58 页. 
-u set-user-id(suid)标志到文件上
 如果运行一个具有 root 权限的文件,那么运行进程将取得 root 权限,即使你是一个普通
 用户.[1]这对于需要存取系统硬件的执行操作(比如 pppd 和 cdrecord)非常有用.如果
 没有 suid 标志的话,那么普通用户(没有 root 权限)将无法运行这种程序. 
 见<<UNIX 环境高级编程中文版>>第 58 页. 
 -rwsr-xr-t 1 root 178236 Oct 2 2000 /usr/sbin/pppd 
 对于设置了 suid 的文件,在它的权限标志中有"s". 
-k 设置粘贴位,见<<UNIX 环境高级编程中文版>>第 65 页. 
 对于"sticky bit",save-text-mode 标志是一个文件权限的特殊类型.如果设置了这
 个标志,那么这个文件将被保存在交换区,为了达到快速存取的目的.如果设置在目录
 中,它将限制写权限.对于设置了 sticky bit 位的文件或目录,权限标志中有"t". 
 drwxrwxrwt 7 root 1024 May 19 21:26 tmp/ 
 如果一个用户并不时具有 stick bit 位的目录的拥有者,但是具有写权限,那么用户只
 能在这个目录下删除自己所拥有的文件.这将防止用户在一个公开的目录中不慎覆盖
 或者删除别人的文件,比如/tmp(当然 root 或者是目录的所有者可以随便删除或重命名
 其中的文件). 
-O 你是文件的所有者. 
-G 文件的 group-id 和你的相同. 
-N 从文件最后被阅读到现在,是否被修改.
f1 -nt f2 
 文件 f1 比 f2 新
f1 -ot f2 
 f1 比 f2 老
f1 -ef f2 
 f1 和 f2 都硬连接到同一个文件. 
! 非--反转上边测试的结果(如果条件缺席,将返回 true)
整数比较
-eq 等于,如:if [ "$a" -eq "$b" ] 
-ne 不等于,如:if [ "$a" -ne "$b" ] 
-gt 大于,如:if [ "$a" -gt "$b" ] 
-ge 大于等于,如:if [ "$a" -ge "$b" ] 
-lt 小于,如:if [ "$a" -lt "$b" ] 
-le 小于等于,如:if [ "$a" -le "$b" ] 
< 小于(需要双括号),如:(("$a" < "$b")) 
<= 小于等于(需要双括号),如:(("$a" <= "$b")) 
> 大于(需要双括号),如:(("$a" > "$b")) 
>= 大于等于(需要双括号),如:(("$a" >= "$b")) 
字符串比较
= 等于,如:if [ "$a" = "$b" ] 
== 等于,如:if [ "$a" == "$b" ],与=等价
 注意:==的功能在[[]]和[]中的行为是不同的,如下:
 1 [[ $a == z* ]] # 如果$a 以"z"开头(模式匹配)那么将为 true 
 2 [[ $a == "z*" ]] # 如果$a 等于 z*(字符匹配),那么结果为 true 
 3 
 4 [ $a == z* ] # File globbing 和 word splitting 将会发生
 5 [ "$a" == "z*" ] # 如果$a 等于 z*(字符匹配),那么结果为 true 
 一点解释,关于 File globbing 是一种关于文件的速记法,比如"*.c"就是,再如~也是. 
 但是 file globbing 并不是严格的正则表达式,虽然绝大多数情况下结构比较像. 
!= 不等于,如:if [ "$a" != "$b" ]
 这个操作符将在[[]]结构中使用模式匹配. 
< 小于,在 ASCII 字母顺序下.如: 
 if [[ "$a" < "$b" ]] 
 if [ "$a" \< "$b" ] 
 注意:在[]结构中"<"需要被转义. 
> 大于,在 ASCII 字母顺序下.如: 
 if [[ "$a" > "$b" ]] 
 if [ "$a" \> "$b" ] 
 注意:在[]结构中">"需要被转义. 
 具体参考 Example 26-11 来查看这个操作符应用的例子. 
-z 字符串为"null".就是长度为 0. 
-n 字符串不为"null" 
 注意: 
 使用-n 在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z 
 或者就是未用""引用的字符串本身,放到[]结构中(见 Example 7-6)虽然一般情况下可
 以工作,但这是不安全的.习惯于使用""来测试字符串是一种好习惯.[1]
混合比较
-a 逻辑与
 exp1 -a exp2 如果 exp1 和 exp2 都为 true 的话,这个表达式将返回 true 
-o 逻辑或
 exp1 -o exp2 如果 exp1 和 exp2 中有一个为 true 的话,那么这个表达式就返回 true 
这与 Bash 的比较操作符&&和||很相像.在[[]]中使用它. 
 1 [[ condition1 && condition2 ]] 
-o 和-a 一般都是和 test 命令或者是[]一起工作. 
 1 if [ "$exp1" -a "$exp2" ]

打包

#!/bin/sh  
exe= #你需要发布的程序名称
des= #创建文件夹的位置
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
echo $deplist
cp $deplist $des

执行

#!/bin/sh  
appname=`basename $0 | sed s,\.sh$,,`  
dirname=`dirname $0`  
tmp="${dirname#?}"  
if [ "${dirname%$tmp}" != "/" ]; then  
dirname=$PWD/$dirname  
fi  
LD_LIBRARY_PATH=$dirname  
export LD_LIBRARY_PATH  
$dirname/$appname "$@"

目录
打赏
0
2
2
0
123
分享
相关文章
在Ubuntu下安装Debian包:dpkg与apt命令的深度解构。
安装Debian包的知识,就像掌握了海上的航行技术,虽然起初会让人感到陌生甚至困惑,但只要你积累熟练,就能在Ubuntu的世界里畅游无阻。就像每一位成功的航海家,掌握好这些工具,去探索属于你的Ubuntu新世界吧!
58 21
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
35 16
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
429 15
如何在Ubuntu 20.04系统中安装Docker
安装 Docker 引擎的步骤如下:首先更新系统包索引 (`sudo apt update`),安装必要依赖包 (`apt-transport-https` 等),添加 Docker 官方 GPG 密钥及 APT 仓库。接着再次更新包索引并安装 Docker 引擎及相关工具 (`docker-ce` 等)。最后启动 Docker 服务并设置开机自启,通过 `docker --version` 和运行测试容器 (`sudo docker run hello-world`) 验证安装是否成功。
161 0
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
1648 12
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
7334 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
203 0
本地wsl的Ubuntu安装docker,不使用docker桌面版
本文提供了在WSL的Ubuntu环境中安装Docker引擎的步骤,包括安装引擎、配置iptables以及启动Docker服务。
455 2
|
6月前
|
docker安装tar包安装
docker安装tar包安装
1088 1
Ubuntu 18.04 安装Docker实战案例
关于如何在Ubuntu 18.04系统上安装Docker的实战案例,包括安装步骤、配置镜像加速以及下载和运行Docker镜像的过程。
671 3
Ubuntu 18.04 安装Docker实战案例