Originally created by @dumbasPL on GitHub (May 19, 2022).
The naked image fails to start after a recent update. I believe it's the one from 5 days ago that broke it (digest: efdbec5854b5)
My stripped down compose (removed serials, networking, labels):
```yml
version: '3.8'
services:
osx:
image: sickcodes/docker-osx:naked
restart: unless-stopped
volumes:
- /srv/osx/mac_hdd_ng.img:/image
ports:
- 50922:10022
- 5999:5999
- 3001:3001
devices:
- /dev/kvm
environment:
# vnc
- EXTRA=-display none -vnc 0.0.0.0:99
```
Log:
```
nohup: failed to run command 'Xvfb': No such file or directory
```
might be related to #446
Edit: most likely broken by d7f0c289fcfa5966101f92937518759c4f68e2bd
Step 11/42 : RUN pacman -Syu xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm && if [[ "${SCROT}" ]]; then pacman -Syu scrot base-devel --noconfirm && git clone --recurse-submodules --depth 1 https://github.com/stolk/imcat.git && cd imcat && make && sudo cp imcat /usr/bin/imcat && touch /usr/bin/scrotcat && tee -a /usr/bin/scrotcat <<< '/usr/bin/imcat <(scrot -o /dev/stdout)' && chmod +x /usr/bin/scrotcat ; else touch /usr/bin/scrotcat && echo echo >> /usr/bin/scrotcat && chmod +x /usr/bin/scrotcat ; fi ; yes | pacman -Scc
---> Running in 15ab0e538e0b
libinih-55-2-x86_64.pkg.tar.zst is detected as corrupted or has invalid sign.
☝️ This seems to be the root cause of failed to run command 'Xvfb' which breaks docker-osx image.
checking keyring...
downloading required keys...
:: Import PGP key 0F65C7D881506130, "Maxime Gauduin <alucryd@archlinux.org>"? [Y/n]
checking package integrity...
:: Import PGP key 95220BE99CE6FF778AE0DC670F65C7D881506130? [Y/n] error: libinih: key "95220BE99CE6FF778AE0DC670F65C7D881506130" is unknown
:: File /var/cache/pacman/pkg/libinih-55-2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] error: failed to commit transaction (invalid or corrupted package)
Errors occurred, no packages were upgraded.
Cache directory: /var/cache/pacman/pkg/
:: Do you want to remove ALL files from cache? [y/N] y
:: Do you want to remove unused repositories? [Y/n] y
removing all files from cache...
It's interesting that it's not breaking docker build process (exiting with non-zero code) but created docker image is broken since Xvfb command could not be installed as we see in logs.
I searched for a fix or workaround and implemented below statements to docker file before RUN pacman -Syu xorg-server-xvfb...
RUN pacman-key --init
RUN pacman -Sy --noconfirm
RUN pacman -S --noconfirm archlinux-keyring
RUN pacman -Syu --noconfirm
@csonuryilmaz commented on GitHub (May 20, 2022):
While running below step (docker build):
```
Step 11/42 : RUN pacman -Syu xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm && if [[ "${SCROT}" ]]; then pacman -Syu scrot base-devel --noconfirm && git clone --recurse-submodules --depth 1 https://github.com/stolk/imcat.git && cd imcat && make && sudo cp imcat /usr/bin/imcat && touch /usr/bin/scrotcat && tee -a /usr/bin/scrotcat <<< '/usr/bin/imcat <(scrot -o /dev/stdout)' && chmod +x /usr/bin/scrotcat ; else touch /usr/bin/scrotcat && echo echo >> /usr/bin/scrotcat && chmod +x /usr/bin/scrotcat ; fi ; yes | pacman -Scc
---> Running in 15ab0e538e0b
```
libinih-55-2-x86_64.pkg.tar.zst is detected as corrupted or has invalid sign.
:point_up: This seems to be the root cause of ` failed to run command 'Xvfb'` which breaks docker-osx image.
```
checking keyring...
downloading required keys...
:: Import PGP key 0F65C7D881506130, "Maxime Gauduin <alucryd@archlinux.org>"? [Y/n]
checking package integrity...
:: Import PGP key 95220BE99CE6FF778AE0DC670F65C7D881506130? [Y/n] error: libinih: key "95220BE99CE6FF778AE0DC670F65C7D881506130" is unknown
:: File /var/cache/pacman/pkg/libinih-55-2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] error: failed to commit transaction (invalid or corrupted package)
Errors occurred, no packages were upgraded.
Cache directory: /var/cache/pacman/pkg/
:: Do you want to remove ALL files from cache? [y/N] y
:: Do you want to remove unused repositories? [Y/n] y
removing all files from cache...
```
It's interesting that it's not breaking docker build process (_exiting with non-zero code_) but created docker image is broken since Xvfb command could not be installed as we see in logs.
I searched for a fix or workaround and implemented below statements to docker file before `RUN pacman -Syu xorg-server-xvfb...`
```
RUN pacman-key --init
RUN pacman -Sy --noconfirm
RUN pacman -S --noconfirm archlinux-keyring
RUN pacman -Syu --noconfirm
```
**Resources:**
- https://github.com/archlinux/archinstall/issues/1092
- https://forum.endeavouros.com/t/installation-failed-with-pacstrap-error/26485
- https://www.reddit.com/r/archlinux/comments/uf6qkk/getting_invalid_or_corrupted_package_pgp/
- https://arcolinuxforum.com/viewtopic.php?t=3097
- https://suay.site/?p=2414
- https://wiki.archlinux.org/title/Pacman/Package_signing
Using -Syu on pacman forces many packages to upgrade which can cause other problems in docker build.
For example, yara upgrade bumps libyara.so to 9 which makes libguestfs-test-tool fail with error: "guestfsd: error while loading shared libraries: libyara.so.8: cannot open shared object file: No such file or directory".
So more simple fix is replacing below line in Dockerfile.naked
After this minor update docker build for Dockerfile.naked works fine and created docker image boots successfully without any Xvfb error.
@csonuryilmaz commented on GitHub (May 22, 2022):
Using `-Syu` on pacman forces many packages to upgrade which can cause other problems in docker build.
For example, `yara` upgrade bumps `libyara.so` to 9 which makes libguestfs-test-tool fail with error: "guestfsd: error while loading shared libraries: libyara.so.8: cannot open shared object file: No such file or directory".
So more simple fix is replacing below line in `Dockerfile.naked`
```
RUN pacman -Syu xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm \
```
with
```
RUN pacman -Sy xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm \
```
(removing `-u` arg from pacman)
After this minor update docker build for `Dockerfile.naked` works fine and created docker image boots successfully without any Xvfb error.
Although not tried yet, I keep it in my notes for a quick workaround for broken naked. 🙂
@csonuryilmaz commented on GitHub (May 27, 2022):
@dumbasPL @maxlapides I found "older" docker images of `naked` in [here](https://hub.docker.com/r/dickhub/docker-osx). :eyes:
You can go back from broken `digest: efdbec5854b5` to older images one by one for a working one.
```
docker pull dickhub/docker-osx:naked_backdateis_2022-May-15_03h30m01s efdbec5854b5
docker pull dickhub/docker-osx:naked_backdateis_2022-May-15_00h30m02s c97f66947c85
docker pull dickhub/docker-osx:naked_backdateis_2022-May-14_21h30m01s 4da5a80bf3ac
docker pull dickhub/docker-osx:naked_backdateis_2022-Apr-21_18h30m01s 22e066908c47
```
Although not tried yet, I keep it in my notes for a quick workaround for broken `naked`. :slightly_smiling_face:
@csonuryilmaz Thank you for finding this. efdbec5854b5 and c97f66947c85 fail to start. 4da5a80bf3ac seems to be the last working one. Booted up just fine for me.
Here is the full sha256, for anyone facing this issue. You can use this as your image name for now until this gets fixed.
@dumbasPL commented on GitHub (May 31, 2022):
@csonuryilmaz Thank you for finding this. `efdbec5854b5` and `c97f66947c85` fail to start. `4da5a80bf3ac` seems to be the last working one. Booted up just fine for me.
Here is the full sha256, for anyone facing this issue. You can use this as your image name for now until this gets fixed.
```
sickcodes/docker-osx@sha256:4da5a80bf3aca7306e441a4fad4b92aafcd0fb5f9d0c143dbdf857d162d6903c
```
docker run -i --name ios-toolchain --device /dev/kvm -p 50922:10022 -v build:/mnt/hostshare -e 'OSX_COMMANDS=/bin/bash -c "echo alpine | sudo -S mount_9p hostshare && ls /Volumes/hostshare/src && bash build.sh "' -e 'EXTRA=-virtfs local,path=/mnt/hostshare,mount_tag=hostshare,security_model=passthrough,id=user' -e TERMS_OF_USE=i_agree -v ****:/image sickcodes/docker-osx:naked-auto
By using this Dockerfile, you hereby agree that you are a security reseacher or developer and agree to use this Dockerfile to make the world a safer place. Examples include: making your apps safer, finding your mobile phone, compiling security products, etc. You understand that Docker-OSX is an Open Source project, which is released to the public under the GNU Pulic License version 3 and above. You acknowledge that the Open Source project is absolutely unaffiliated with any third party, in any form whatsoever. Any trademarks or intelectual property which happen to be mentioned anywhere in or around the project are owned by their respective owners. By using this Dockerfile, you agree to agree to the EULA of each piece of upstream or downstream software. The following code is released for the sole purpose of security research, under the GNU Public License version 3. If you are concerned about the licensing, please note that this project is not AGPL. A copy of the license is available online: https://github.com/sickcodes/Docker-OSX/blob/master/LICENSE. In order to use the following Dockerfile you must read and understand the terms. Once you have read the terms, use the -e TERMS_OF_USE=i_agree or -e TERMS_OF_USE=i_disagree
Disk is being copied between layers... Please wait a minute...
nohup: failed to run command 'Xvfb': No such file or directory
What can I do?
Thanks
@manang commented on GitHub (Jun 30, 2022):
Hi, I'm facing the same error:
```
docker run -i --name ios-toolchain --device /dev/kvm -p 50922:10022 -v build:/mnt/hostshare -e 'OSX_COMMANDS=/bin/bash -c "echo alpine | sudo -S mount_9p hostshare && ls /Volumes/hostshare/src && bash build.sh "' -e 'EXTRA=-virtfs local,path=/mnt/hostshare,mount_tag=hostshare,security_model=passthrough,id=user' -e TERMS_OF_USE=i_agree -v ****:/image sickcodes/docker-osx:naked-auto
By using this Dockerfile, you hereby agree that you are a security reseacher or developer and agree to use this Dockerfile to make the world a safer place. Examples include: making your apps safer, finding your mobile phone, compiling security products, etc. You understand that Docker-OSX is an Open Source project, which is released to the public under the GNU Pulic License version 3 and above. You acknowledge that the Open Source project is absolutely unaffiliated with any third party, in any form whatsoever. Any trademarks or intelectual property which happen to be mentioned anywhere in or around the project are owned by their respective owners. By using this Dockerfile, you agree to agree to the EULA of each piece of upstream or downstream software. The following code is released for the sole purpose of security research, under the GNU Public License version 3. If you are concerned about the licensing, please note that this project is not AGPL. A copy of the license is available online: https://github.com/sickcodes/Docker-OSX/blob/master/LICENSE. In order to use the following Dockerfile you must read and understand the terms. Once you have read the terms, use the -e TERMS_OF_USE=i_agree or -e TERMS_OF_USE=i_disagree
Disk is being copied between layers... Please wait a minute...
nohup: failed to run command 'Xvfb': No such file or directory
```
What can I do?
Thanks
qemu-system-x86_64: -drive id=MacHDD,if=none,file=/image,format=qcow2: 'file' driver requires '/image' to be a regular file
@mrkeyiano commented on GitHub (Jul 1, 2022):
>
This solution fixed the issue
now I'm getting a new error
`qemu-system-x86_64: -drive id=MacHDD,if=none,file=/image,format=qcow2: 'file' driver requires '/image' to be a regular file`
Using -Syu on pacman forces many packages to upgrade which can cause other problems in docker build.
For example, yara upgrade bumps libyara.so to 9 which makes libguestfs-test-tool fail with error: "guestfsd: error while loading shared libraries: libyara.so.8: cannot open shared object file: No such file or directory".
So more simple fix is replacing below line in Dockerfile.naked
After this minor update docker build for Dockerfile.naked works fine and created docker image boots successfully without any Xvfb error.
this!
@mrkeyiano commented on GitHub (Jul 1, 2022):
> Using `-Syu` on pacman forces many packages to upgrade which can cause other problems in docker build.
>
> For example, `yara` upgrade bumps `libyara.so` to 9 which makes libguestfs-test-tool fail with error: "guestfsd: error while loading shared libraries: libyara.so.8: cannot open shared object file: No such file or directory".
>
> So more simple fix is replacing below line in `Dockerfile.naked`
>
> ```
> RUN pacman -Syu xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm \
> ```
>
> with
>
> ```
> RUN pacman -Sy xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm \
> ```
>
> (removing `-u` arg from pacman)
>
> After this minor update docker build for `Dockerfile.naked` works fine and created docker image boots successfully without any Xvfb error.
this!
qemu-system-x86_64: -drive id=MacHDD,if=none,file=/image,format=qcow2: 'file' driver requires '/image' to be a regular file
This new issue was because i was passing the wrong image file in volume, fixed
now I'm getting a totally new error
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5701:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
alsa: Could not initialize ADC
alsa: Failed to open `default':
alsa: Reason: No such file or directory
audio: Failed to create voice `adc'
@mrkeyiano commented on GitHub (Jul 1, 2022):
> >
>
> This solution fixed the issue
>
> now I'm getting a new error
>
> `qemu-system-x86_64: -drive id=MacHDD,if=none,file=/image,format=qcow2: 'file' driver requires '/image' to be a regular file`
This new issue was because i was passing the wrong image file in volume, fixed
now I'm getting a totally new error
```
ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5701:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
alsa: Could not initialize ADC
alsa: Failed to open `default':
alsa: Reason: No such file or directory
audio: Failed to create voice `adc'
```
This is not an critical error. All it means is that the audio failed to initialize.
If you want to get sound to work then read this https://github.com/sickcodes/Docker-OSX#pulseaudio
Otherwise you can just ignore the error, the vm should be booting up at this point
@dumbasPL commented on GitHub (Jul 1, 2022):
This is not an critical error. All it means is that the audio failed to initialize.
If you want to get sound to work then read this https://github.com/sickcodes/Docker-OSX#pulseaudio
Otherwise you can just ignore the error, the vm should be booting up at this point
This is not an critical error. All it means is that the audio failed to initialize. If you want to get sound to work then read this https://github.com/sickcodes/Docker-OSX#pulseaudio Otherwise you can just ignore the error, the vm should be booting up at this point
I'm tryna use it headlessly, no display or audio
but its stuck here for the last hour
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
alsa: Could not initialize ADC
alsa: Failed to open `default':
alsa: Reason: No such file or directory
audio: Failed to create voice `adc'
usb_desc_get_descriptor: 2 unknown type 33 (len 10)
usb_desc_get_descriptor: 1 unknown type 33 (len 10)
@mrkeyiano commented on GitHub (Jul 1, 2022):
> This is not an critical error. All it means is that the audio failed to initialize. If you want to get sound to work then read this https://github.com/sickcodes/Docker-OSX#pulseaudio Otherwise you can just ignore the error, the vm should be booting up at this point
I'm tryna use it headlessly, no display or audio
but its stuck here for the last hour
```
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
alsa: Could not initialize ADC
alsa: Failed to open `default':
alsa: Reason: No such file or directory
audio: Failed to create voice `adc'
usb_desc_get_descriptor: 2 unknown type 33 (len 10)
usb_desc_get_descriptor: 1 unknown type 33 (len 10)
```
Using -Syu on pacman forces many packages to upgrade which can cause other problems in docker build.
For example, yara upgrade bumps libyara.so to 9 which makes libguestfs-test-tool fail with error: "guestfsd: error while loading shared libraries: libyara.so.8: cannot open shared object file: No such file or directory".
So more simple fix is replacing below line in Dockerfile.naked
After this minor update docker build for Dockerfile.naked works fine and created docker image boots successfully without any Xvfb error.
Thanks for posting this I was unaware there was an error in yara.
I added additional keyservers to cover the issue with keys
@sickcodes commented on GitHub (Jul 4, 2022):
> Using `-Syu` on pacman forces many packages to upgrade which can cause other problems in docker build.
>
>
>
> For example, `yara` upgrade bumps `libyara.so` to 9 which makes libguestfs-test-tool fail with error: "guestfsd: error while loading shared libraries: libyara.so.8: cannot open shared object file: No such file or directory".
>
>
>
> So more simple fix is replacing below line in `Dockerfile.naked`
>
> ```
>
> RUN pacman -Syu xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm \
>
> ```
>
> with
>
> ```
>
> RUN pacman -Sy xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm \
>
> ```
>
> (removing `-u` arg from pacman)
>
>
>
> After this minor update docker build for `Dockerfile.naked` works fine and created docker image boots successfully without any Xvfb error.
Thanks for posting this I was unaware there was an error in yara.
I added additional keyservers to cover the issue with keys
$ docker run --rm -it sickcodes/docker-osx:naked
nohup: appending output to 'nohup.out'
nohup: failed to run command 'Xvfb': No such file or directory
@dumbasPL commented on GitHub (Aug 18, 2022):
Is this supposed to be fixed? I'm still getting
```
$ docker run --rm -it sickcodes/docker-osx:naked
nohup: appending output to 'nohup.out'
nohup: failed to run command 'Xvfb': No such file or directory
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @dumbasPL on GitHub (May 19, 2022).
The naked image fails to start after a recent update. I believe it's the one from 5 days ago that broke it (digest: efdbec5854b5)
My stripped down compose (removed serials, networking, labels):
Log:
might be related to #446
Edit: most likely broken by
d7f0c289fc@maxlapides commented on GitHub (May 20, 2022):
I am also experiencing this issue with the latest
nakedimage. Thanks for reporting @dumbasPL!@csonuryilmaz commented on GitHub (May 20, 2022):
While running below step (docker build):
libinih-55-2-x86_64.pkg.tar.zst is detected as corrupted or has invalid sign.
☝️ This seems to be the root cause of
failed to run command 'Xvfb'which breaks docker-osx image.It's interesting that it's not breaking docker build process (exiting with non-zero code) but created docker image is broken since Xvfb command could not be installed as we see in logs.
I searched for a fix or workaround and implemented below statements to docker file before
RUN pacman -Syu xorg-server-xvfb...Resources:
@csonuryilmaz commented on GitHub (May 22, 2022):
Using
-Syuon pacman forces many packages to upgrade which can cause other problems in docker build.For example,
yaraupgrade bumpslibyara.soto 9 which makes libguestfs-test-tool fail with error: "guestfsd: error while loading shared libraries: libyara.so.8: cannot open shared object file: No such file or directory".So more simple fix is replacing below line in
Dockerfile.nakedwith
(removing
-uarg from pacman)After this minor update docker build for
Dockerfile.nakedworks fine and created docker image boots successfully without any Xvfb error.@csonuryilmaz commented on GitHub (May 27, 2022):
@dumbasPL @maxlapides I found "older" docker images of
nakedin here. 👀You can go back from broken
digest: efdbec5854b5to older images one by one for a working one.Although not tried yet, I keep it in my notes for a quick workaround for broken
naked. 🙂@charliefancelli commented on GitHub (May 30, 2022):
same issue with the
sickcodes/docker-osx:naked-auto@dumbasPL commented on GitHub (May 31, 2022):
@csonuryilmaz Thank you for finding this.
efdbec5854b5andc97f66947c85fail to start.4da5a80bf3acseems to be the last working one. Booted up just fine for me.Here is the full sha256, for anyone facing this issue. You can use this as your image name for now until this gets fixed.
@manang commented on GitHub (Jun 30, 2022):
Hi, I'm facing the same error:
What can I do?
Thanks
@mrkeyiano commented on GitHub (Jul 1, 2022):
This solution fixed the issue
now I'm getting a new error
qemu-system-x86_64: -drive id=MacHDD,if=none,file=/image,format=qcow2: 'file' driver requires '/image' to be a regular file@manang commented on GitHub (Jul 1, 2022):
which solution?
@mrkeyiano commented on GitHub (Jul 1, 2022):
this!
@mrkeyiano commented on GitHub (Jul 1, 2022):
This new issue was because i was passing the wrong image file in volume, fixed
now I'm getting a totally new error
@dumbasPL commented on GitHub (Jul 1, 2022):
This is not an critical error. All it means is that the audio failed to initialize.
If you want to get sound to work then read this https://github.com/sickcodes/Docker-OSX#pulseaudio
Otherwise you can just ignore the error, the vm should be booting up at this point
@mrkeyiano commented on GitHub (Jul 1, 2022):
I'm tryna use it headlessly, no display or audio
but its stuck here for the last hour
@sickcodes commented on GitHub (Jul 4, 2022):
Thanks for posting this I was unaware there was an error in yara.
I added additional keyservers to cover the issue with keys
@dumbasPL commented on GitHub (Aug 18, 2022):
Is this supposed to be fixed? I'm still getting