installing "irridium browser" in puppylinux

Booting, installing, newbie
Message
Author
User avatar
d_vineet
Posts: 116
Joined: Mon 06 Aug 2018, 05:32
Location: Bharat

#21 Post by d_vineet »

@foxpup,
OK. I now understand that in puppylinux, any package (not listed in PPM) has to be installed through "unpack utility + .PET" and NOT through "dpkg -i *".
After downloading a .deb file, double-click on it to decompress (maybe Xarchive or Uextract) and then prepare a .PET, dbl-click o it to take care of other things such as menu item.
Pl. correct me if I got it wrong somewhere.
Thanks.

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#22 Post by Mike Walsh »

@ d_vineet:-
@Mike Walsh,
Thank you very much for your detailed reply and .pet file.
It was initially not working.
When I double-clicked it, Xarchiver could not open it.
Huh??! With a .pet package, a single click on the .pet file, and it will install...
Tried to install through dpkg -i <filename>.
But my dpkg seems to be broken.

Code: Select all

dpkg: error: failed to open package info file '/var/lib/dpkg/status' for reading: No such file or directory 
Then I fiddled with reinstalling dpkg through PPM. But same issue.
All folders within dpkg are blank.
(Oh, boy. Here we go again....) Uh-uh. Nope. You're trying to do things the Ubuntu way, 'cos that's what you've been used to.

As foxpup says, Xenialpup64 is based on Ubuntu 16.04 LTS.....but it's very definitely not Ubuntu. Puppy has its own, very unique way of doing a lot of things.....many of which are because of the fact that Puppy runs as root. (At which everybody else who uses Linux throws up their hands in horror....'Ooh! BIG no-no...')

---------------------------------------

In many cases, .deb packages will install OK in Puppy. Just a single left-click to install, and off it goes. If they won't, try converting the .deb to a .pet, first. If that doesn't work, then it's time to either run

Code: Select all

ldd
...on the binary/executable, or you can do it graphically, through Menu->Setup->Check dependencies installed pkg, in order to find out if anything's missing. If there is.....then it's 'lib-chase' time. (*Joy!*) :roll:

---------------------------------------

The other main thing you need to know is that rather than standard, 'full' Bash, Puppy uses Busybox. It's what's known as a 'multi-call' binary, meaning that a lot of commands are all sym-linked into a single executable. It comprises a number of 'stripped-down' commands; fr'instance, you won't find certain commands that you may be used to in Ubuntu.

tallboy gives a good answer to this one here.


Mike. :wink:

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

#23 Post by foxpup »

d_vineet wrote:@foxpup,
OK. I now understand that in puppylinux, any package (not listed in PPM) has to be installed through "unpack utility + .PET" and NOT through "dpkg -i *".
After downloading a .deb file, double-click on it to decompress (maybe Xarchive or Uextract) and then prepare a .PET, dbl-click o it to take care of other things such as menu item.
Pl. correct me if I got it wrong somewhere.
Thanks.
No, a .deb should install by just clicking it. The PPM can install .pet, .deb, .txz ... .

If you (have to) do it like that, there may be missing dependencies. Check with ldd.
(The preferred way to install is from within PPM from the lists there because PPM can resolve the deps for you that way.)

If you want to make changes, you can do it manually after install.
For example:
you install irridium browser with .deb by clicking
you go to /usr/share/applications/ and open iridium-browser.desktop as text
in the Exec lines you change 'iridium-browser' to 'run-as-spot iridium-browser' and save
OR...
You can also make a pet, like Mike has done, to make the changes available/known/registered to others or for another time.
Like this:
you install irridium browser with .deb by clicking
you make a directory /mnt/home/menu-iridium
in /mnt/home/menu-iridium you make usr/share/applications/, result: /mnt/home/menu-iridium/usr/share/applications/
you copy the iridium-browser.desktop you find in /usr/share/applications/ into /mnt/home/menu-iridium/usr/share/applications/
you make your changes to it
you go to /mnt/home, rightclick and open a terminal there
you do: dir2pet menu-iridium
you get a pet, menu-iridium.pet
you click menu-iridium.pet, it gets installed
you go look in /usr/share/applications : iridium-browser.desktop is overwritten
you go look in PPM: menu-iridium is installed
OR
you could unpack the deb without installing and make your changes, use dir2pet to make a pet and install the new pet
OR ... ?

I prefer the first way. It is the fastest way, and often these little changes have to be customised to the Puppy version.

BTW, in the PPM:
Update the PPM if you download/install from the lists. The referred repos change/update from time to time.
Choose the old/classic interface to see the pets, debs, txz... you have installed.
BTW, PPM uses what is in directory /root/.packages

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

#24 Post by foxpup »

cross fire with Mike! LOL
then it's 'lib-chase' time. (*Joy!*) :roll:
or depency hell! LOL

User avatar
d_vineet
Posts: 116
Joined: Mon 06 Aug 2018, 05:32
Location: Bharat

#25 Post by d_vineet »

Thank you very much @Mike and @foxpup.
Things are clearer to me now.
Let me try out installing some other packages so that I can get a handle on it.

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#26 Post by Mike Walsh »

@ d_vineet:-

That's OK, mate. What ya gotta remember is that Puppy is designed to be as simple as possible. It was originally intended for Windows 'refugees', and to keep old hardware useful.

Ex-Windows users are used to everything being simple on the install front. Preferably with GUIs; most of 'em don't even know what a terminal is, never mind how to use one. Puppy's actually a mine-field for Linux 'power-users', who are used to the way the mainstream distros do things. They come to Puppy, very sure of themselves, try to do things the way they expect they should work.....and fall flat on their faces. Because in Puppy, many things just don't work like that.

And then they often start getting snotty, and start complaining & moaning.....

Stick with it. Pup's not hard to get the hang of.


Mike. :wink:
Last edited by Mike Walsh on Thu 09 Aug 2018, 09:00, edited 1 time in total.

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

#27 Post by mikeslr »

Hi d_vineet,

As Mike Walsh and foxpup have mentioned, Puppies can install .debs, txz, tgz, and even rpms just by left-clicking them. But, they may not work "out of the box". You're running Xenialpup64, so installing debs should work most of the time.

And those you can install via Puppy Package Manager mostly do. Open Menu>Setup>Puppy Package Manager. Click the config icon at the top-right (hovering give you a tool-tip as to what's what) and update it. Binary compatible with Ubuntu Xenial Xerus, PPM in Xenialpups access the repos of Ubuntu Xenial Xerus. Type the name of an application you want, or scroll thru the categories. After selecting a package choose Auto install, Or better still, learn about using SFSes and PaDS to create them. SFSes are portables -- don't install and so can't interfere with installed applications. Xenialpup64 can also use AppImages which also don't install.

Even though Xenialpup is binary compatible with Ubuntu Xenial Xerus, it is not identical. For one thing --the easiest to solve-- the Menu categories Puppies use are different than Ubuntu. So after installing a deb the first place to look if it hasn't shown up on the Menu is /usr/share/applications. You can open desktop files in a text editor. You'll see "Categories=" followed by arguments. Ubuntus may start arguments with junk like "Application", "GTK", "KDE". Puppies will start arguments with something like "X-Internet". Easiest solution is to open an application which already appears in the Menu Category where you want your application to appear and cut & paste an argument which worked. Each of multiple arguments must have a ";" at its end, including the last.

Ubuntu often leave off the suffix of an icon. Puppies require them; i.e. iridium_logo must be iridium_logo.png (or jpg, or whatever).

Puppies run as root/administrator. Why should you --the only person using your computer-- have to enter a password in order to do anything? Lately, Chrome-based browsers (and as far a I know only VLC Media Player) can't be run as Root. So naturally, you chose as your first exposure to Puppy Iridium, a Chrome-based browser which you can't install via Puppy Package Manager. 8) :lol:

Just a word of advice -- whenever possible in 'fleshing out' any Puppy, first see what's available on the Addition Software Section for 'your Puppy'. Puppy is really a 'family' of operating systems; the applications built for one may not run in another. As a 2nd choice, use Puppy Package Manager. After editing the /usr/share/applications desktop file (if the application didn't appear on the menu) use Menu>Filesystem>pfind to look for the executable named in the desktop file. It will always be in a 'bin' file, i.e. /bin, /usr/bin, /usr/sbin etc. If it's a script, open the script/wrapper in a text file to see where the actual executable is located and browse to it. If it's a symbolic link, Right-Click and select "Show Target". Right-click the actual executable >select ldd and then choose "missing" from the bottom panel. PPM should/may locate any missing dependency. If not, you may be able to find it on Ubuntu's repos or pkgs.org

But as mentioned before, I recommend PaDS. You can find the latest version, 1.1.3, here: http://murga-linux.com/puppy/viewtopic. ... 922#998922. See this post for general instructions. http://murga-linux.com/puppy/viewtopic. ... 966#998966. AFAIK, any application which will run as installed can also run as an SFS loaded with the exception of applications which depend on python. Puppies employ a "merge file system" in which the files in the Puppy_yourversion_number.sfs [e.g. puppy_xenialpup64_7.5.sfs] and in your SaveFile/Folder [e.g. Xenialpup64save...] have priority over any other SFS so the python files in an application.sfs aren't used.

To use PaDS with Puppy Package Manager, set PPM to download (not install) the desired application AND all dependencies to download into a folder. That setting is on the Top, Far Right. You can also use your web-browser to download a package into that folder. Name the folder to reflect the application, e.g. iridium_xenial64-1. Right-click the folder and select combine to SFS. Or, see above about using PaDS with its GUI from the Menu. Load the application.sfs. If it doesn't appear on the menu examine /usr/share/applications/xxx,desktop and edit if necessary. To produce an SFS without a menu problem, unload the SFS, Left-click it, copy all the files from the window which opens into another, appropriately named folder, edit the desktop file in that folder then enter IN THE PARENT OF THAT FOLDER the command "dir2sfs EXACT_NAME_OF_FOLDER. A new SFS will be created.

If ldd shows that dependencies are missing, place the initial SFS in an appropriately named folder, BUT change the name of the SFS --any name will do other than that of the folder it's in. Locate any dependencies and place them in that folder. Rerun PaDS.

I used PaDS to create an SFS of the iridium package dancyton found and Mike Walsh's menu pet. Placed both in an appropriately named "sources" folder. Ran PaDS. Ended up with two /usr/share/applications/iridium.desktop files [and two menu entries]. One worked (Mike's), one didn't*. Unloaded the SFS. Removed Mike's pet from the folder. Reran PaDS. Mounted the resulting SFS and copied its files into a folder. Deleted the /usr/.../applications/iridium.desktop file. Ran dir2sfs on that folder. Deleted everything from the "sources" folder. Added the newly built SFS and Mike's pet to that folder and re-ran PaDS. Took about 5 minutes. total.

mikesLr

* If I had guessed that would happen, I could have right-clicked the deb and selected UExtract, deleted the desktop file, created an SFS as above, and added it to the Source folder with Mike's pet, saving a step.

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#28 Post by rufwoof »

mikeslr wrote:Puppies run as root/administrator. Why should you --the only person using your computer-- have to enter a password in order to do anything? Lately, Chrome-based browsers (and as far a I know only VLC Media Player) can't be run as Root.
A single program bug, such as in VLC or Chrome ...etc. could open remote access to the userid that the program was run under. Conventional wisdom is that programs that access the internet (external) should be run as user, as then any remote access has to typically find a further exploit to elevate to root - and under most systems that is difficult (otherwise any of the users in a multi-user system/setup could elevate to root). Once root access has been achieved its pretty much game over ... owned. Format/erase the disk, install firmware, see all of the system and local network ...etc. Chrome and VLC are aware that their programs could contain bugs ... pretty highly likely. Depending on the bug they could also be a security issue, ensuring therefore that their programs run as a restricted user and not root is a sensible stance.

A benefit of the nix's is that they prefer to use a central trusted repository, as typically root is used to install programs. Adding in third party repo's or installing software from other sources is yet another means for undesired remote root access to your system.

Its relatively easy to do things such as overwrite the bootloader with a dark hackers version once root access has been achieved. Which could encrypt or block access to the data on disk, or run a sub-layer spy type service ...etc. Maybe even just chaining to the normal system so it looks as though everything is as it should be, but where there's a sub system program running on behalf of the dark hat. It's also easy to "ping out" from within a system, as typically only external originated to internal traffic/access is firewalled/checked, returns from anything originating from the inside are typically let through unchecked. A common dark-hat program is to ask a remote (dark hat's) server what to run next, run that and request another action/command to run. It takes little time for such a program to go from trying actions that fail, to start running things that are refined for that particular OS/setup.

Strictly, running as root on a system that has external (internet) access is only viable if running from a read only device such as a CD/DVD, with no other rw disks attached, no other devices accessible (network/lan) and where local hardware firmware is ro. Very rare instances. Or where root is used only to access local trusted programs/data, no external access at all excepting direct access to a known trusted server such as a repository that serves as a means to install additional trusted software over a encrypted/secure link. If you add a third party repo' say Fred Bloggs repo (server), then you're in effect giving root access of your system to Fred. Debian classify that as creating a FrankenDebian https://wiki.debian.org/DebianSoftware#Footnotes. OpenBSD takes things even further and will not entertain Blobs, i.e. third party binaries where the source code cannot be security QA'd. Hence OpenBSD supports less hardware (such as not supporting Nvidia), nor does OBSD permit kernel modules to be loaded ....etc. OBSD goes to even further lengths to ensure that when remote access to user is achieved its as difficult as possible for a dark hat. They encrypt swap, randomise the kernel and libs, monitor for intrusions, validate that a program stays within the boundaries of what it is expected to do/user (Pledge), and as of the next release come October lock down the filesystem to access only regions the program is expected to access. Memory is wiped after usage, and partitioned into write xor execute (W^X) so a dark hat is restricted from loading (writing) to memory space and then executing what was written. Code compilation is validated for good practice to reduce the likes of buffer overflows/heap spraying ...etc. Whilst no system is truly secure, OBSD raises the bar considerably compared to many of the alternatives, making it more likely that a dark hat would be more inclined to just move on to other easier targets.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
d_vineet
Posts: 116
Joined: Mon 06 Aug 2018, 05:32
Location: Bharat

#29 Post by d_vineet »

Thank you for in-depth detailed instructions.
The more I use puppylinux, more I get fascinated about its flexibility yet simplicity.
Yes, it requires tweaking. But I like it because I can tailor what I wish (and don't wish) to have on my box.
I will tryout these instructions and seek help here if get stuck-up.

And again, feel great to be a part of helpful community of puppylinux.

Post Reply