Git Product home page Git Product logo

apt-image's People

Contributors

mark-kubacki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apt-image's Issues

"kernel too old" error

Just pulled the latest blitznote/debootstrap-amd64:16.04 and got this when I tried to run it:

$ docker run --rm -it blitznote/debootstrap-amd64:16.04
FATAL: kernel too old

My kernel version is:

$ uname -a
Linux vps64831 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

LE: From what I understand, this error is caused by a libc compiled with --enable-kernel=version, when the running kernel version is lower than the one specified at compile time.

Roadmap

  • Use label blitznote/debase on the Docker hub.
    It will be a multi-arch "image," referencing this one for now.
  • Publish images for 32b and 64b aarch.
  • Split the documentation into distinct files.
    The current one-file README is an unfocused collection of notes.
  • In light of Docker's multi-stage image build process (kind of similar to how I build ci-php) publish an absolutely minimal image, without curl and decompressors.

`CURL_OPENSSL_3 xxx` not found in libcurl

Hello,

I have a libcurl issue which seems to be related to #10, still a bit different. It is in php-curl from Ondřej's PHP PPA, and the error that I get is:

PHP Warning:  PHP Startup: Unable to load dynamic library 'curl.so'
(tried: /usr/lib/php/20170718/curl.so (/usr/lib/php/20170718/curl.so: symbol curl_multi_add_handle, version CURL_OPENSSL_3 not defined in file libcurl.so.4 with link time reference), 
/usr/lib/php/20170718/curl.so.so (/usr/lib/php/20170718/curl.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

A quick way to reproduce it:

$ docker run --rm -it blitznote/debootstrap-amd64:16.04 bash
$ apt-get update \
&& apt-get -y install dirmngr \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-key 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C \
&& echo 'deb http://ppa.launchpad.net/ondrej/php/ubuntu xenial main' >/etc/apt/sources.list.d/ondrej-ubuntu-php-xenial.list \
&& apt-get -y update && apt-get -y install php-cli php-curl \
&& php -v

which for me gives this output. [link to pastebin removed; Mark]

Unable to install build-essential

My Dockerfile:

FROM blitznote/debootstrap-amd64:16.04
RUN apt-get update \
 && apt-get install -y \
      build-essential \

The Error:

The following packages have unmet dependencies:
 build-essential : Depends: libc6-dev but it is not going to be installed or
                            libc-dev
                   Depends: g++ (>= 4:5.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Unable to install iwatch

Hi. Sorry to bother you again. This time it should be more valid question

FROM blitznote/debase:16.04
RUN apt-get update
RUN apt-get install libcommon-sense-perl liblinux-inotify2-perl iwatch
ENTRYPOINT iwatch -o ./ | xargs -n1 -I{} sh -c 'clear; printf "\033[3J" && /flow/flow'

I get this error

The following packages have unmet dependencies:
 libcommon-sense-perl : Depends: perl (< 5.24.2~) but 5.26.1-13bn is to be installed
E: Unable to correct problems, you have held broken packages.
The command '/bin/bash -c apt-get install libcommon-sense-perl liblinux-inotify2-perl iwatch' returned a non-zero code: 100

This is issue with Ubuntu, rather than your image. Asking just in case you can advice something, otherwise feel free to close it.

Issue with unzip

Hi. Thank you for this project.

I'm trying to build minimal image with flow (facebook/flow) based on your image. I get this error during the build

MiniUnz 1.01b, demo of zLib + Unz package written by Gilles Vollant
more info at http://www.winimage.com/zLibDll/unzip.html

Cannot open flow.zip or flow.zip.zip
The command '/bin/bash -c unzip flow.zip' returned a non-zero code: 1

Dockerfile

FROM blitznote/debase:16.04

ENV flowversion=0.70.0
RUN curl "https://github.com/facebook/flow/releases/download/v${flowversion}/flow-linux64-v${flowversion}.zip" --output flow.zip
RUN ls -la flow.zip
RUN unzip flow.zip ./flow flow
RUN mv flow/flow bin

WORKDIR /opt/flow

ENTRYPOINT ["/bin/flow"]

I'm not sure how to fix this. I will try to install another archive soft with apt-get

Given a baseimage, how can I build one myself?

I really like what you did here to make Ubuntu images less bloated. Very good job! But in order for us to be able to deploy this we'd need to know how rootfs.tar.xz is built (for regulatory reasons we'd need to build images in house). I understand if you want to keep the secret, but I'm wondering if instead of having the rootfs.tar.xz checked into git, you'd have the script that builds it. Or maybe just shared how rootfs.tar.xf is built?

Cheers!

libcurl.so.4: no version information

I'm using blitznote/debootstrap-amd64:17.04. After installing a package that uses libcurl, I get the following error message every time my program uses libcurl:

 /usr/lib/x86_64-linux-gnu/libcurl.so.4: no version information available (required by .... )

It works, but it first prints out that message every single time.

Do you think this is because you are compiling your libraries without version information?

i386 architecture?

Hello

Do you have any pointers on how to build a i386 image ?

Im currently using i386's which are somewhat larger.

Thanks

Unable to run apt-get update with current image (4890484dbe94)

Just found this base image linked over from comments on the phusion baseimage but ran into some trouble. I went to install some things via apt but docker build . fails with the following output:

$ docker build .
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM blitznote/debootstrap-amd64:16.04
 ---> 4890484dbe94
Step 2 : RUN apt-get -q update
 ---> Running in 80425c31cdb9
Reading package lists...
E: Method http has died unexpectedly!
E: Sub-process http received signal 4.

I took a brief look at the container fs contents and noticed that there is no /etc/apt directory or related files. I I read through the readme and there was no indication of a special way to run apt, so now I am stuck. I see other docker projects using this as a base image with no indication of special instructions to get apt working.

Would appreciate any clues

Edit:
I was mistaken about the missing APT files, I was looking at the wrong FS layer. I have started a container directly with this image and can confirm the files seem to be present, but apt-get update errors out as above.

The following signatures couldn't be verified because the public key is not available

Hello,

We've used blitznote/debase for some time. Recently we've started getting the following issue with apt-get update is run in the Dockerfile (but also happens if I test it in a running container).

Err:4 https://s.blitznote.com/debs/ubuntu/amd64 all/ InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A771821D873C0D73
Reading package lists... Done
W: GPG error: https://s.blitznote.com/debs/ubuntu/amd64 all/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A771821D873C0D73
E: The repository 'https://s.blitznote.com/debs/ubuntu/amd64 all/ InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

I did wonder if we need to add a GPG key, but I cannot find one. I also investigated this method but debase doesn't have the requisite components to run apt-key, it seems.

debootstrap works correctly, but I'd prefer to keep using the smaller image.

Do you have any suggestions?

Thanks,
Jim

glibc: backport patches for <math.h> isinf from 2.27

First of all, thanks for a great project. It would be a great choice when one cannot use Alpine (likely because of muslc).

I tried switching one of my ubuntu:16.04 based images and found a problem. Eigen (and likely other math libs) does not compile with glibc version supplied. The same problem seems to have been discussed here. People blame a regression in glibc 2.26 (the version used on the latest releases).

I read the README and understand that latest version of glibc was chosen to benefit security but would it be possible to provide 2 versions, one being compatible with Ubuntu glibc? I assume this process is automated, no?

glibc: map hwcap=avx2 to a libdir of its own

haswell is mapped like this:
(libc6,x86-64, hwcap: 0x0004000000000000) => /usr/lib/x86_64-linux-gnu/haswell

… but as that implies popcnt and rdrand, albeit both are not as important as is avx and avx2 and libraries for the libdir could be compiled without, I'd like to have avx2 its own libdir with libraries optimized for znver1 such as the AMD Epyc 7281 (note: has those instruction sets—do all znver1 fit into haswell?).

Images published in Q1'2019 come with optimizations for Haswell and Skylake (avx512_1), starting with encoders. Benchmarks indicate it's worthwhile to spend bytes here, but as compiling is actually faster on AMDs optimizations for it will likely be needed in late 2019.

See also:

s.blitznote.com port 443: Connection refused

I'm currently getting this error: W: Failed to fetch https://s.blitznote.com/debs/ubuntu/amd64/all/InRelease Failed to connect to s.blitznote.com port 443: Connection refused.

SSE 4 Support

Is there a way to workaround the SSE 4 support requirement because my processor supports SSE4a, but throws the error listed in the README when trying to do https.

fails with: cpu lacks required instruction sets

I suspect this is related to the requirements for specific kernel versions and SSE4, but attempting to run this on Kubernetes launched using a vanilla GKE cluster fails:

kubectl run -i --tty container-test --image=blitznote/debootstrap-amd64:16.04 --restart=Never -- bash
FATAL: cpu lacks required instruction sets

screen shot 2018-06-04 at 1 33 12 pm

While I'm not sure there's much to do here, I thought this more-common use case for an image like this would be surprising and interesting.

Thank you!

apt-get: W: Conflicting distribution

Hi,

Im am busy with my own docker image and I really like your base :)

But I get the following error when using apt on 16.04

W: Conflicting distribution: https://s.blitznote.com/debs/ubuntu/amd64 all/ InRelease  
(expected all/ but got )

any fix?

FATAL: kernel too old

I try to install some package in Dockerfile

FROM blitznote/debase:18.04

RUN apt update && \
    apt install -y git gcc g++ make

However, there is an error during build

.
.
.
Setting up git (1:2.20.1-2bn) ...
Setting up gcc (4:8.2.0-1ubuntu1) ...
Setting up g++ (4:8.2.0-1ubuntu1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Processing triggers for libc-bin (2.28-17bn) ...
FATAL: kernel too old
Aborted (core dumped)
FATAL: kernel too old
Aborted (core dumped)
dpkg: error processing package libc-bin (--configure):
 installed libc-bin package post-installation script subprocess returned error exit status 134
Errors were encountered while processing:
 libc-bin
E: Sub-process /usr/bin/dpkg returned an error code (1)

Could you please check ?

c++11 thread breakage on 18.04

I think 76bca5b breaks C++11 std::thread

Given the following test program

#include <thread>
#include <iostream>
void run() {
    std::cout << "thread" << std::endl;
}
int main(int argc, char** argv) {
    std::thread thrd(run);
    thrd.join();
    return 0;
}

Compiled like so with the 18.04 image

# docker run -it --rm blitznote/debase:18.04
apt-get -q update
apt-get -y --no-install-recommends install \
  g++

cat <<EOF > ./test.cc
#include <thread>
#include <iostream>
void run() {
    std::cout << "thread" << std::endl;
}
int main(int argc, char** argv) {
    std::thread thrd(run);
    thrd.join();
    return 0;
}
EOF

g++ -std=c++11 -o test -g3 -ggdb -pthread -Og ./test.cc
./test

You get a segmentation fault

Some programs will abort instead of seg-faulting e.g. bazel

11d59a839183 build $ bazel
Starting local Bazel server and connecting to it...
terminate called after throwing an instance of 'std::system_error'
  what():  Enable multithreading to use std::thread: Operation not permitted
Aborted (core dumped)
11d59a839183 build $

The same binaries pulled off the docker image and run locally will run just fine and wont segfault.
A local build of the project before 76bca5b allows the thread program to run correctly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.