UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Libertine OTA-3 always failed in dnsmasq

    Scheduled Pinned Locked Moved Libertine
    7 Posts 2 Posters 931 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • P Offline
        Phoenix
        last edited by

        I'm new in Ubuntu Touch.
        I have flashed UT to my Pixel 3a and used for a week.
        Everything works great until I tried to use desktop apps.
        Libertine container always create failed.
        here is the log:
        mkdir: cannot create directory /run/dnsmasq
        I've tried:

        sudo su
        mkdir ~/.cache/libertine-container/my-container-name/rootfs/run/dnsmasq
        chmod -R 777 ~/.cache/libertine-container/my-container-name/rootfs/run
        

        but the problem still existed.
        Everytime "mkdir: cannot create directory /run/dnsmasq" log appeared,
        create procedure stopped and ~/.cache/libertine-container folder was empty.
        Can anyone help me solve this?

        368132774_790739226192921_6844167048204965147_n.png 385521507_215286324953228_6546779676854861611_n.png 406851601_888958555797736_8479708583749438753_n.png

        P 1 Reply Last reply Reply Quote 0
        • P Offline
          Phoenix @Phoenix
          last edited by

          I solve this problem finally.
          I found when I use Chinese locale , libertine container always create failed.
          I switch to English locale and everything works fine.

          1 Reply Last reply Reply Quote 0
          • W Offline
            wynn1212
            last edited by

            Switch to English solve this problem, as long as if you did not change back to Chinese Traditional and update your libertine container at the same time.
            If you update your container in Chinese Traditional locale, you will break your container installation as it tries to install dnsmasq-base again.
            So the problem of trying to install dnsmasq-base in Chinese Traditional is still unsolved.

            My devices that were powered by Ubuntu Touch
            Fairphone 4 (fp4) 8G/256G - 20.04 Development (main phone)
            Google Pixel 3a (sargo) 4G/64G - 20.04 Stable

            My devices that used Lomiri Desktop
            Surface Go 3 (8G RAM) - Ubuntu 24.04 LTS (By Ubuntu Unity)

            P 1 Reply Last reply Reply Quote 0
            • W Offline
              wynn1212
              last edited by

              OK, actually found the solution to fix dnsmasq problem.

              1. Switch to English
              2. Create the Libertine container
              3. Open the terminal, and edit /home/phablet/.cache/libertine-container/focal/rootfs/etc/nsswitch.conf and add the extrausers to the first 4 line to fix groups: cannot find name for group ID and I have no name! prompt
                (Note! If you have changed your container name, then replace focal with your container name.)
              passwd:         files systemd extrausers
              group:          files systemd extrausers
              shadow:         files extrausers
              gshadow:        files extrausers
              
              1. Now, using sudo -E bash to preserve user environment and enter the container to have working root
              phablet@ubuntu-phablet:~$ sudo -E bash
              [sudo] password for phablet: 
              root@ubuntu-phablet:~# lish
              config.py:91: WARNING: _get_maliit_address_from_dbus():	org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
              (focal)root@ubuntu-phablet:~#
              
              1. Install dnsmasq-base via apt. This time it should install successfully
              (focal)root@ubuntu-phablet:~# apt update; apt install dnsmasq-base
              
              1. exit the container and change the owner back to phablet on container folder
                (Note! If you have changed your container name, then replace focal with your container name.)
              (focal)root@ubuntu-phablet:~# exit
              exit
              root@ubuntu-phablet:~# chown -hR phablet:phablet .cache/libertine-container/focal/
              root@ubuntu-phablet:~#
              
              1. Switch back to Chinese Traditional
              2. Go to Libertine container settings->choose container you created->click Container actions(from upper-right options icon)->click Manage Container->Click "Update..." from update container.

              Now you should be able to update the container without encounter failure of dnsmasq installation.

              reference: https://forums.ubports.com/topic/9698/cannot-get-root-shell-in-new-libertine-container

              My devices that were powered by Ubuntu Touch
              Fairphone 4 (fp4) 8G/256G - 20.04 Development (main phone)
              Google Pixel 3a (sargo) 4G/64G - 20.04 Stable

              My devices that used Lomiri Desktop
              Surface Go 3 (8G RAM) - Ubuntu 24.04 LTS (By Ubuntu Unity)

              1 Reply Last reply Reply Quote 0
              • P Offline
                Phoenix @wynn1212
                last edited by

                @wynn1212 Thank you for your help.
                But I can't use command lish.
                It says command not found.
                But edit nsswitch.conf really solve the I have no name! problem.
                Did I missed something?

                W 1 Reply Last reply Reply Quote 0
                • W Offline
                  wynn1212 @Phoenix
                  last edited by

                  @Phoenix Install Libertine Tweak Tool from OpenStore, then launch Libertine Tweak Tool, and toggle on Libertine Shell - lish
                  Or alternative, you can simply type libertine-launch -i focal /bin/bash in terminal after sudo -E bash
                  (Note! If you have changed your container name, then replace focal with your container name.)

                  My devices that were powered by Ubuntu Touch
                  Fairphone 4 (fp4) 8G/256G - 20.04 Development (main phone)
                  Google Pixel 3a (sargo) 4G/64G - 20.04 Stable

                  My devices that used Lomiri Desktop
                  Surface Go 3 (8G RAM) - Ubuntu 24.04 LTS (By Ubuntu Unity)

                  P 1 Reply Last reply Reply Quote 0
                  • P Offline
                    Phoenix @wynn1212
                    last edited by

                    @wynn1212 Awesome! It works! Thank you.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post