Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Filippo Squillace
    @fsquillace
    btw, I have started looking at using bubblewrap for JuNest. It works great! and I think is going to address some of the remaining issues.
    Brian Nicholson
    @thebnich
    awesome!
    Filippo Squillace
    @fsquillace
    @thebnich FYI: in the process of integrating bwrap into junest https://github.com/fsquillace/junest/compare/bwrap . I guess I will complete everything in the next week or so
    Brian Nicholson
    @thebnich
    wow, exciting news! can't wait to try it out 😃
    Filippo Squillace
    @fsquillace
    ;)
    Udith Amasura
    @uaudith
    hello guys
    i have done pacman -Syyu
    and now facing this error
    sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
    Filippo Squillace
    @fsquillace
    Hi @uaudith , which mode did you access to junest?
    Udith Amasura
    @uaudith
    um the default mode
    in case if it is not recoverable. What is the safe way to remove junest completely and install again
    Brian Nicholson
    @thebnich
    rm -r ~/.junest ;)
    Udith Amasura
    @uaudith
    okey then. Thanks
    rm: cannot remove ‘....paths...’: Device or resource busy
    Udith Amasura
    @uaudith
    damn now i can neither remove it nor install it again.
    Error: The image cannot be installed since /home/me/.junest is not empty.
    Brian Nicholson
    @thebnich
    what does lsof ~/.junest show?
    Udith Amasura
    @uaudith
    image.png
    @thebnich it shows 4 processes
    Brian Nicholson
    @thebnich
    try to kill each of those PIDs, maybe that will let you remove ~/.junest
    Udith Amasura
    @uaudith
    @thebnich can you show me the command to kill them
    Brian Nicholson
    @thebnich
    kill 7855, etc
    Udith Amasura
    @uaudith
    ah alright
    killed them but cant remove ~/.junst
    image.png
    Brian Nicholson
    @thebnich
    try chmod -R 777 ~/.junest/etc
    it's not letting you delete it because you don't have write permissions for those files
    Udith Amasura
    @uaudith
    damn it worked
    Brian Nicholson
    @thebnich
    nice!
    Udith Amasura
    @uaudith
    Thank you very much :3
    Brian Nicholson
    @thebnich
    no problem :)
    Brian Nicholson
    @thebnich
    @fsquillace thanks for the bubblewrap changes...they're awesome! still playing around with all the different flags :) and now I'm able to run slirp4netns directly inside junest, which is much nicer
    Filippo Squillace
    @fsquillace
    well,thanks to you @thebnich for telling me about bubblewrap. It was the missing tool to make junest even better ;)
    Filippo Squillace
    @fsquillace
    I did not have the chance to try your idea about creating users within junest environment. I do not know if that can work in JuNest. For that you would need to use the option -n to avoid junest to copy the passwd/group files from the host OS to junest. junest ns -n
    vesuppi
    @vesuppi
    Hi I just discovered this hidden gem and felt thrilled to try it out. It works like a charm! I have a basic question, does junest provide an entirely complete and isolated Arch environment? Is there any difference between junest and a real Arch system?
    And how does junest work exactly? Thanks!
    Filippo Squillace
    @fsquillace
    Hi! Glad to hear you like it :)
    About your questions. JuNest does not provide an isolated environment. There are multiple way to access to a junest environment but you can see them as a sort of chroot-like access where only filesystem root is isolated. Within JuNest everything else is shared with the host OS. This is by design.
    There are indeed difference between Arch and JuNest. For instance in order to make sudo be still usable there is a fake sudo This is particularly useful when you have third party script which rely on sudo as a runtime dependency (i.e. yay) as the sudo will still work. Obviously, if the command to run under sudo truly require root privileges there is not much junest can do in that case. Another big difference with Arch is that JuNest does not come with many packages! This means that you need to be very knowgeable about how Arch system and its package work and which package are required to make a certain application to run properly. For instance application like chrome can run with no problem but you need to be aware of the packages which require dynamic libraries to make it run.
    ArnNag
    @ArnNag
    Has anyone gotten a window manager to work from JuNest? Xinit seems to require suid permissions according to https://bugs.launchpad.net/ubuntu/+source/xinit/+bug/1562219 . Any other window managers that don't rely on X11 and work without suid, or any way to make X11 work with fakeroot?
    Pat Hollingsworth
    @hquinnluvsbruce_twitter
    hey guys im trying to install and run junest to give me an environ to install packages in a server that I don't have root with, so I can have my own space to install and run what I want. Will Junest work for that?
    ArnNag
    @ArnNag
    yup it works for me, just make sure to uncomment the appropriate mirrors in ~/.junest/etc/pacman.d/mirrorlist before you try to install packages
    p-dr
    @p-dr
    Hello and thanks for the great tool! I'm in the same no-root-in-server situation, but I would like to still have access to the packages installed system-wide, falling back to them when the binary is not found within JuNest. Is there any way I can accomplish that?
    p-dr
    @p-dr
    Hi, @fsquillace! This is almost what I want, but in this method the system executables are looked up first, aren't they? I would like to to prioritize JuNest when searching for executables, is that possible? Also, how can I test from bash if JuNest is activated? I'd like to run some .bashrc lines only if I'm "JuNested". Thanks for the quick reply!
    Filippo Squillace
    @fsquillace
    I see, I cannot think about an easy way to do this (if you find it please let me know, we could update the wiki). One way would be to create executable wrappers and let PATH variable pointing to the directory such wrappers are located. For instance the wrapper file for the executable whoami would be a bash script like junest whoami || whoami, or you can check if a commands exist with command -v whoami. Hope that helps.
    p-dr
    @p-dr
    Good idea, thank you for the help, @fsquillace. I will keep searching for a simpler way.
    p-dr
    @p-dr

    Well, an useful workaround was to define a function

    function j () (junest "$@" || eval "$@")

    so that I can type j python script.py and if python is not installed in JuNest it will fallback to system installation, as @fsquillace suggested. If one really doesn't want to type j every time, it becomes more difficult. I could find two options, the first is to define another function like the following:

    function junest_mode() {
        local NEW_PS1="${PS1}j "
        while read -p "${NEW_PS1@P}" -ra c ; do
            # Exit when 'exit' typed.
            [ "${c[0]}" = "exit" ] && break  
            # Do not activate JuNest if nothing is entered.
            [ -z "${c[0]}" ] && continue
            j "${c[@]}"
        done
    }

    and then, after typing junest_mode every command will be passed to j. The main problem I saw in this approach is that I can't use Ctrl-A, Ctrl-E, Ctrl-P etc. to navigate.

    The other solution is to use bind to redefine what happens when you press Enter:

    bind '"\C-m": "\C-aj \C-j"'

    in such a way that a j will be appended at the beginning of each line before evaluating it. As far as I understand, the bash history should be fixed when using bind like this, to easily go to previous lines by pressing up without having to remove the prefixed j, for example, and how to do that is better explained here.

    I don't really know bash, so any minor improvements or further ideas are welcome. For now, I'll just stick with the j function.

    Filippo Squillace
    @fsquillace
    Hey @p-dr FYI, I just released the wrappers feature. You can now run any JuNest command like pacman directly outside the junest session. More info: https://github.com/fsquillace/junest#run-commands-installed-in-junest-directly-from-host
    p-dr
    @p-dr
    That's great, @fsquillace! Thank you.
    Andrew Lensen
    @AndLen
    Trying to run junest today, I'm suddenly getting an error: /usr/bin/env: ‘bash’: Input/output error. Any ideas?
    Filippo Squillace
    @fsquillace
    @AndLen which linux distro are you using? the /usr/bin/env bash is the shebang used by the junest script. There could be something wrong in there.