How should I install packages that generally are available in Ubuntu repos on Debian - linux

I have Linux Mint in my home computer and I'm about to install Debian Jessie in my work computer. I have dealt with Debian before and many packages that are available in Ubuntu repositories by default aren't available for Debian. As someone who needs all those packages I was wondering what would be the correct way of installing them on Debian.
The first thought that came to me was adding Ubuntu sources to sources.list, but I read some things and apparently people do not recommend this.
Since I have to install many of these packages, I also would like to avoid having to install them from source one-by-one.
What would be the preferred way to do this task?
Thank you.

I'm don't think you can install them from the repos if you don't want to add sources in sources.list.
If we are talking about reasonably small number of packages (say 10) I would recommend checking if .deb packages exist on the home pages.
For example:
http://pkgs.org/download/ipython
This is much easier than installing from source. It's not fully automated solution, but for smaller number of packages you can do it.
I hope it helps.

Related

How to install unison-gtk in NixOS?

The title pretty much says it.
I installed NixOS 20.03 in a virtual machine to play a little with it and, if all goes well, install it on my work laptop.
I use Unison's gui, unison-gtk, to keep the laptop and my main production machine in sync. I found the unison package on the search page, but this package does not install unison-gtk, and there seems to be no package for it either. How can I install it?
Thanks in advance.
In NixOS, the unison package includes a GUI, no need for a separate package.

How to install gcc onto a RedHat Enterprise 5 virtual machine?

I am trying to install gcc onto a linux RedHat Enterprise 5 virtual machine, and I have tried using a tar.gz package and also a rpm, and both methods give errors. The tar.gz says there is no c compiler found, and the rpm has dependencies that it can not find. Yum is available on this machine, however, there are no repositories found and I am still unsure of how to install the necessary repositories to get gcc installed. The end goal for installing gcc is to be able to install rsync, tcl, and the expect package for shell scripts. Any advice?
Your .tar.gz probably didn't work because it was the raw source code for GCC. The source for the compiler requires a compiler to build it — the classic chicken & egg problem. To get around this, you'd need to get a precompiled compiler for your system's architecture. GCC is not offered in a precompiled form by the FSF, as far as I know. If you're ever interested in actually trying to build a Linux system from the ground up like that, you might find Linux From Scratch interesting.
You'll probably not even need GCC to get rsync, tcl, etc. There are almost certainly pre-built packages available from yum repos for those tools. As #PeteyT said, RHEL uses a subscription to allow you to access packages using yum. You can learn more from the Red Hat Subscription Management Guide.
If you don't have a Red Hat subscription, you might be interested in CentOS, Scientific Linux and Fedora. As I understand it, CentOS and Scientific Linux are meant to be almost identical to RHEL. On the other hand, Fedora is a separate project owned by Red Hat (according to Wikipedia) which is an OS in its own right, and sometimes serves as a feeder to Red Hat products.
Once you have repos available, either via subscription or switching OSs, you should be able to simply run yum install rsync tcl expect to install rsync, tcl, and expect.
You might look at yum's docs for more about the various commands you can use with yum, and Red Hat's docs for more on package management in RHEL.

Port a debian package to YUM for CentOS

I have a project that runs on Debian and uses many packages provided from the Debian repositories.
Because of demand, I've looked into porting the project to CentOS, but found that many of the packages I require are completely missing - at least 10 dependencies would have to be compiled manually at install time on the users machine.
My question is, what is the best way to create an installer for the user's machine? Should I use automake tools (with the standard ./configure, make, make install), to compile the required libraries, or is this a non-standard approach. Note that my app doesn't actually need to be compiled since it is written in Python, so is it weird to do a "make", when you're not compiling your own app?
Should the configure script just warn the user that package X is missing, and let them handle the rest?
Should I roll my own dependency checker by runng pkg-config manually a few times for each library required, and exit if something is missing?
I'm quite new to this, so any tips to get me moving in the right direction are appreciated.
Edit: I am familiar with RPM and yum for red hat base distros, but CentOS is missing many multimedia packages that I require. An example of one of my package dependencies is "liquidsoap" which is a programmable audio engine: http://savonet.sourceforge.net/
This is available on Debian, but not Redhat/Centos
See this link on CentOS package management.
http://wiki.centos.org/PackageManagement/Yum
CentOS is redhat based and does not use .deb packages by default. However apt package management has been ported to tons of platforms, you may be able to use a port for centOS
If you use YUM whatever packages you need will be there for your application as redhat distros need all the same things that any other distro does.
EDIT: To get the details out of comments
Packages not available on the target platform either have to be built (possibly as a port) on the target platform and then shipped in the ported package (in this case YUM), or code needs to be modified and forked to use packages which already are available on the target platform. The choice depends on which is worse, or which is even possible given your constraints.

Centralized Installer

I am looking for an installer for my product. My requirement is that from one Node (Physical Machine) I should be able to install the software on multiple machines (Node). My product is a HA platform that needs to be installed on multiple Linux machines to form a cluster. Is there any installers that can do this free or paid. Currently we are developing on Linux, going forward we may need to support other Unix type OS.
Thanking you in advance
Package your product appropriately for the distribution (e.g. deb package) and use the standard management tools for the platform. Many simplicity-oriented people use
for node in $nodes; do ssh $node sudo apt-get install $package; done
and there is a host of cluster management software out there, one of which you are probably using.
I don't know if there is an "installer" the way you use in Windows machines. However you can create packages depending on your system. For Debian like systems you can create .deb packages, and for Red Hat style you can create .rpm packages.
The way the packages are created is to specify a correct installation path for files and pre-install & post-install scripts to execute when you install the files. Also you can set dependencies on your package, so that if you require some important library, the deb/rpm installer won't install your package until the required library is installed.
Hope that makes sense with my broken English:)

How to download/install pre-compiled Subversion binaries for Debian

Been trying to upgrade my subversion installation, but due to (what I believe) are limited rights (I'm using hosted Linux account), I'm not able to properly "./configure" and compile the source code (see posts Post1 and Post2 if very interested)
So, I'm thinking if I could just download pre-compiled binaries, the just might solve my problems. If you have better ideas - I'd love to hear that too!
NB: I'm not able to call aptitude or apt-get install subversion as suggested by subversion.tigris.com
I'm also interested in knowing how I would go about installing those pre-compiled binaries :)
You can extract the binaries from the deb package for your architecture (which you can download from here) using dpkg-deb -x.
So for example you can do this if you're on i386:
wget ftp://ftp.debian.org/debian/pool/main/s/subversion/subversion_1.5.4dfsg1-1_i386.deb
dpkg -x subversion_1.5.4dfsg1-1_i386.deb subversion
Of course you might have to do some tweaking to make it work. Extracting a package is not the same thing as installing it.
Look at the Debian list of SVN packages, I would assume the etch (stable) is the one you need.
Also see this thread on the same topic.

Resources