我使用多阶段构建将构建环境与最终的 docker 镜像分开:
FROM ubuntu:bionic AS build
RUN apt-get update && apt-get install -y \
build-essential \
[...]
RUN wget https://someserver.com/somefile.tar.gz && \
tar xvzf somefile.tar.gz && \
./configure && \
make && make install && \
[missing part]
FROM ubuntu:bionic
COPY --from=build /tmp/fakeroot/ /
[...]
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法来收集make install在运行时创建/复制的所有文件?
目前我正在使用ldd和单个文件副本的组合来获取它们:
cp /etc/xyz/* /tmp/fakeroot/xyz
cp --parents $(ldd /usr/sbin/nginx | grep -o '/.\+\.so[^ ]*' | sort | uniq) /tmp/fakeroot
Run Code Online (Sandbox Code Playgroud)
但是由于 make install 已经有了将哪个文件复制到哪个目录的信息,我问自己是否没有任何方法可以使用这种机制。
感谢您的任何想法!
我有一个绑定端口 2222:22 的 docker 容器。可以使用连接ssh -T sub.example.com -p 2222。
我正在寻找一种无需指定端口号即可访问 ssh 容器的方法。我认为这可以通过 DNS 记录来完成。
我SRV _ssh._tcp.sub 5 10022 sub.example.com在提供商的管理界面中为我的域设置了 DNS 记录,这不起作用。
有没有办法做到这一点?
我正在考虑向域添加 SPF。所以我担心在某些情况下我的 MTA 在发送邮件时会使用一些中继。比如,当目标服务器太忙时?我主要对postfix's 或exim's 默认设置感兴趣。
我正在尝试使用 openjdk 11 构建一个 alpine docker 映像。为此,我正在启动一个 alpine 容器:
docker run -it alpine:3.9 /bin/sh
Run Code Online (Sandbox Code Playgroud)
并运行以下命令:
export JAVA_HOME=/opt/openjdk-11
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_VERSION=11.0.2
export JAVA_URL=https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
export JAVA_SHA256=99be79935354f5c0df1ad293620ea36d13f48ec3ea870c838f20c504c9668b57
set -eux; \
\
wget -O /openjdk.tgz "$JAVA_URL"; \
echo "$JAVA_SHA256 */openjdk.tgz" | sha256sum -c -; \
mkdir -p "$JAVA_HOME"; \
tar --extract --file /openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
rm /openjdk.tgz;
Run Code Online (Sandbox Code Playgroud)
在那之后,我可以确认一些事情似乎是正确的:
/ # ls -lah $JAVA_HOME/bin/java
+ ls -lah /opt/openjdk-11/bin/java
-rwxr-xr-x 1 668 668 8.5K Jan 18 05:20 /opt/openjdk-11/bin/java
/ # echo $PATH …Run Code Online (Sandbox Code Playgroud) 我的设备很少:VDS、Linux 上的定制 NAS、笔记本电脑。所有这些都成功连接到一个本地子网 10.1.1.0/24
服务器配置:
[Interface]
Address = 10.1.1.1/24
ListenPort = 5182
PrivateKey = ***
[Peer]
PublicKey = ***
AllowedIPs = 10.1.1.2/32
[Peer]
PublicKey = ***
AllowedIPs = 10.1.1.12/32
Run Code Online (Sandbox Code Playgroud)
典型客户:
[Interface]
Address = 10.1.1.2/32
PrivateKey = ***
[Peer]
PublicKey = ***
AllowedIPs = 10.1.1.0/24,224.0.0.0/4
Endpoint = host.name:5182
Run Code Online (Sandbox Code Playgroud)
客户端接口(服务器相同)
wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet 10.1.1.2/24 scope global hub0
valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)
服务器监听任意地址和端口
UNCONN 0 0 239.255.255.250:1900 0.0.0.0:* users:((minidlnad,pid=456,fd=5))
Run Code Online (Sandbox Code Playgroud)
无法发现 DLNA 服务器,当我使用 …
我需要两者来安装软件包吗?其中每一个的目的是什么?
尽管仍有数据和元数据空间,但我无法缩小 btrfs 文件系统:
$ sudo btrfs filesystem resize -11G /home;echo $?
Resize '/home' of '-11G'
ERROR: unable to resize '/home': No space left on device
1
Run Code Online (Sandbox Code Playgroud)
以下是一些 btrfs 文件系统信息/home:
$ sudo btrfs filesystem df /home | column -t
Data, single: total=92.01GiB, used=80.68GiB
System, DUP: total=8.00MiB, used=16.00KiB
System, single: total=4.00MiB, used=0.00B
Metadata, DUP: total=1.00GiB, used=631.41MiB
Metadata, single: total=8.00MiB, used=0.00B
GlobalReserve, single: total=224.00MiB, used=0.00B
$ sudo btrfs filesystem show /home
Label: none uuid: c7ee56a8-ef45-46c8-86d1-13879201a1e7
Total devices 1 FS bytes used …Run Code Online (Sandbox Code Playgroud) 如果我运行 logrotate 我得到log does not need rotating (log has been already rotated)并且日志文件不会旋转。为什么?
我的日志旋转配置:
/var/log/capp/*.log {
missingok
rotate 90
daily
notifempty
compress
delaycompress
}
Run Code Online (Sandbox Code Playgroud)
在运行 logrotate 之前,我删除了该行
"/var/log/capp/server.log" 2019-4-1-7:0:0
Run Code Online (Sandbox Code Playgroud)
从文件/var/lib/logrotate/logrotate.status
日志旋转输出:
/> logrotate -v /etc/logrotate.d/capp
reading config file /etc/logrotate.d/capp
Allocating hash table for state file, size 15360 B
Handling 1 logs
rotating pattern: /var/log/capp/*.log after 1 days (90 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/capp/server.log
log does not need rotating (log …Run Code Online (Sandbox Code Playgroud) 我在 Debian Wheezy 上有一台旧的测试机器,我现在无法真正更新。
Debian Wheezy 存储库已于 2 月归档。所以我想提前,并更新我/etc/apt/sources.list的
deb http://ftp.fr.debian.org/debian wheezy main
deb http://security.debian.org/ wheezy/updates main
deb http://ftp.fr.debian.org/debian wheezy-updates main
Run Code Online (Sandbox Code Playgroud)
到
deb http://archive.debian.org/debian wheezy main
deb http://security.debian.org/ wheezy/updates main
deb http://archive.debian.org/debian wheezy-updates main
Run Code Online (Sandbox Code Playgroud)
但是,在运行时apt-get update,我收到此错误:
# apt-get update
<snip>
Err http://archive.debian.org wheezy-updates/main i386 Packages
404 Not Found [IP : 193.62.202.28 80]
Run Code Online (Sandbox Code Playgroud)
其他存储库正在更新,没有问题。
我错过了什么吗?
任何人都可以指出任何公共文档,说明来自 ntp.org 和 time.windows.com 的池在下周四 gps 周翻转时是安全的吗?
我正在寻找类似于这个 Red Hat KB 的东西
https://access.redhat.com/solutions/4018911
谢谢 g