diff --git a/eng/dockerfile-templates/sdk/Dockerfile.linux b/eng/dockerfile-templates/sdk/Dockerfile.linux
index 4985f54339..8be0fabd16 100644
--- a/eng/dockerfile-templates/sdk/Dockerfile.linux
+++ b/eng/dockerfile-templates/sdk/Dockerfile.linux
@@ -23,7 +23,8 @@
when(isMariner,
[
"git",
- when(dotnetVersion = "3.1", "procps-ng", "")
+ when(dotnetVersion = "3.1", "procps-ng", ""),
+ when(find(OS_VERSION, "1.0") < 0, "tar", "")
],
[
"curl",
diff --git a/src/sdk/6.0/cbl-mariner2.0/amd64/Dockerfile b/src/sdk/6.0/cbl-mariner2.0/amd64/Dockerfile
index 7687d41387..d54947517a 100644
--- a/src/sdk/6.0/cbl-mariner2.0/amd64/Dockerfile
+++ b/src/sdk/6.0/cbl-mariner2.0/amd64/Dockerfile
@@ -19,6 +19,7 @@ ENV \
RUN tdnf install -y \
git \
+ tar \
&& tdnf clean all
# Install .NET SDK
diff --git a/src/sdk/6.0/cbl-mariner2.0/arm64v8/Dockerfile b/src/sdk/6.0/cbl-mariner2.0/arm64v8/Dockerfile
index c193f1872a..94e8dbc8e6 100644
--- a/src/sdk/6.0/cbl-mariner2.0/arm64v8/Dockerfile
+++ b/src/sdk/6.0/cbl-mariner2.0/arm64v8/Dockerfile
@@ -19,6 +19,7 @@ ENV \
RUN tdnf install -y \
git \
+ tar \
&& tdnf clean all
# Install .NET SDK
diff --git a/src/sdk/7.0/cbl-mariner2.0/amd64/Dockerfile b/src/sdk/7.0/cbl-mariner2.0/amd64/Dockerfile
index 8fa0644161..5f64fb171f 100644
--- a/src/sdk/7.0/cbl-mariner2.0/amd64/Dockerfile
+++ b/src/sdk/7.0/cbl-mariner2.0/amd64/Dockerfile
@@ -19,6 +19,7 @@ ENV \
RUN tdnf install -y \
git \
+ tar \
&& tdnf clean all
# Install .NET SDK
diff --git a/src/sdk/7.0/cbl-mariner2.0/arm64v8/Dockerfile b/src/sdk/7.0/cbl-mariner2.0/arm64v8/Dockerfile
index 7bce7215ba..f6fc0827d8 100644
--- a/src/sdk/7.0/cbl-mariner2.0/arm64v8/Dockerfile
+++ b/src/sdk/7.0/cbl-mariner2.0/arm64v8/Dockerfile
@@ -19,6 +19,7 @@ ENV \
RUN tdnf install -y \
git \
+ tar \
&& tdnf clean all
# Install .NET SDK
diff --git a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs
index a4bbbea3cc..6bf269c155 100644
--- a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs
+++ b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs
@@ -251,6 +251,21 @@ public void VerifyGitInstallation(ProductImageData imageData)
);
}
+ ///
+ /// Verifies that a tar command can be executed without failure.
+ ///
+ [DotNetTheory]
+ [MemberData(nameof(GetImageData))]
+ public void VerifyTarInstallation(ProductImageData imageData)
+ {
+ // tar should exist in the SDK for both Linux and Windows. The --version option works in either OS
+ DockerHelper.Run(
+ image: imageData.GetImage(DotNetImageType.SDK, DockerHelper),
+ name: imageData.GetIdentifier("tar"),
+ command: "tar --version"
+ );
+ }
+
private IEnumerable GetActualSdkContents(ProductImageData imageData)
{
string dotnetPath;