Ubuntu package management that are NOT from repository - linux

I have a question about package management in Ubuntu. I know that there exist standard repositories from which I install software in form of packages. Suppose I want to install some software that don't exist in standard repositories. What should I do? Of course I want to track and manage this software as easy as software from standard repository. What is the canonical way of managing such software on Linux, especially Ubuntu OS? Any answer would be appreciated.

You can manage packages that are installed outside of the standard APT repositories, but not that easy. Packages that are installed with apt install /path/to/package-downloaded-elsewhere-but-not-from-repo.deb are not usually receive updates, so you'll only stuck with install and uninstall stuff.

Related

Install ansible off-line from binaries [duplicate]

This question already has answers here:
How to install packages offline?
(12 answers)
Closed 2 years ago.
we have rhel linux machine without network access
and we want to install ansible on that machine
but we want to install the ansible from binaries ( not like pip/yum install ) , because we want to avoid any pip dependencies issues
is any approach that is relevant ?
example of the legacy way
Step 1: Update your Control Node
Any time you are installing new software, it is a good idea to ensure your existing operating system software is up to date. Let’s start with that task first.
yum update
Step 2: Install the EPEL Repository
Installing Ansible is pretty straightforward. First, we’ll need to install the CentOS 7 EPEL repository.
yum install epel-release
Step 3: Install Ansible
Next, we install the Ansible package from the EPEL repository.
yum install ansible
Perhaps not ideal, but you can just run from source. I've done it that way for years without any problems. I just put the initialization routine in my .bashrc file, so it's always ready to use.
Running Ansible from source (devel)
Once you pull from git on a machine that has internet access, sneakernet it over to the machine you want it on.
As mentioned in the official documentation you can use rpm available in official release repo. Since you dont have internet access you will have to download it somewhere else & copy it over to control node.
RPMs for currently supported versions of RHEL, CentOS, and Fedora are available from EPEL as well as releases.ansible.com.
Or
You can also build an RPM yourself. From the root of a checkout or tarball, use the make rpm command to build an RPM you can distribute and install
However I would not recommend Running Ansible from source (devel) because as already mentioned in the doc, this could be unstable.
Note
You should only run Ansible from devel if you are actively developing content for Ansible. This is a rapidly changing source of code and can become unstable at any point.
If you would like to build rpm on your own, you should probably use the tagged releases.
Available both in github & Ansible releases

What is a repository in CentOS?

What is a repository in Centos and what does it contain. I I remove all the .repo files from the system. What will be its implications. Will it remove the packages as well and will hinder normal operations or will package just not get auto-updated?
"Repositories" are locations where you can download software.
".repo" files are definition files for repositories you might wish to use.
Deleting a .repo file will not affect any packages you already have installed - it will just prevent you from updating it (assuming the package in question is available only from that one repository).
You can learn more here:
https://www.centos.org/docs/5/html/yum/sn-yum-maintenance.html
https://www.digitalocean.com/community/tutorials/how-to-set-up-and-use-yum-repositories-on-a-centos-6-vps
Repositories in CentOS are collections of software that the server administrator can easily install.
For instance, should you choose to install Firefox, the following command will query all configured repositories, and if one of the repos has Firefox then yum will download and install it:
$ sudo yum install firefox
Additionally, you can search for software without installing it:
$ yum provides firefox
Therefore, repositories (or repos) are online collections of software which yum may query and download from.

centOS Security Center yum install dependencies failing

I am running a centOS 7 virtual machine and trying to install an RPM package for Security Center 4.7.1. The yum installer fails to find the install packages for the dependencies libexpat and libreadline, however I do have expat and readline installed. I don't understand this because it seems that the Security Center RPM is looking for packages of the wrong names. This link is a screen shot showing the yum install abort, the lack of installed packages required and the packages I do have installed relevant to the problem...
centOS VM screenshot
Any suggestions on how to remedy this without forcing the install and risking non functionality of Security Center?
The package you are trying to install needs
libexpat.so.0
libreadline.so.5
but your installation has probably (from what I can see)
libexpat.so.2
libreadline.so.6
It will be difficult to install this package; I would recommend you to search for a newer SecurityCenter package.
for experts:
there is probably a way to work around this; if you can manage to install an older libreadline and libexpat rpm side by side with the new ones; but that might be risky because there are probably some conflicts and updates might not run too well...

how to install plasma-nm in elementary OS

I want to install plasma-nm software in Elementary OS, which is not available in Software center. When I searched for .deb package, its asking for many dependencies. There are over a dozens of dependencies to install before install plasma-nm, downloading them individually and installing is very difficult.
is there any software or command which can download and install all dependencies for me?
sudo apt-get install plasma-nm is not helping. Also plasma-nm is not available in synaptic package manager.
Please help
After trying a lot, The problem was Elementary OS. Plasma-nm needs network-manager 0.9.8 or greater.
Need to install ubuntu 13.04 or greater for this. There is no support for elementary os regarding this (even though elementary is based on ubuntu, but an older version).
Good luck!
Please consider changing the name of the question to something like:
Installing plasma-nm in elementary OS

If I installed Mongo through apt-get, how do I update it? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
It seems like they gave me 1.4.4 Which is not the latest.
Is this normal? I want 1.6. But I'm afraid that if I do apt-get uninstall, bad things will happen.
I'd recommend using the official Ubuntu and Debian packages ...
http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
That'll make sure you'll always get the latest stable version. If you use this on Ubuntu (for example) MongoDB will install to /var/lib/mongodb/ (instead of /data/db/)
So, if your data is already in /var/lib/mongodb/ you should be fine doing an uninstall and reinstall from the offical packages ... it shouldn't remove that dir unless it was a horible port in the first place!
Simply making a backup copy of that dir should do the trick if you are worried, good practice anyhow.
You can also always move your DB files into that dir after the install and MongoDB will pick them up (normally.)
Before you do anything however, just make sure you do a clean shutdown first! That way you won't end up with a mongod.lock file which won't let you do a restart w/o a repair.
$ ./mongo
> use admin
> db.shutdownServer()
I'd recommend not to touch your distribution and operating system version, and go for the simple solution of installing a downloaded package: www.mongodb.org/downloads.
Especially if you are using Debian, since Mongo 1.1.6 is supported only on unstable - packages.debian.org/search?keywords=mongodb
Tip: If you are on Debian or Ubuntu, check this page: http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
Installing anything via apt-get installs whichever version is the default from all known repositories. By default that only includes your distributions repository (Debian, Ubuntu, ...).
Those repositories contain well-defined, well-tested versions of the software. They don't always get updated to the latest version (or may be somewhat slow).
If you require a specific version (or the latest one), then you need to find a repository that provides that version (possibly provided by the developers of the software) or install it via other means.
Frankly, this is a question about Debian packaging system. Anyway here it is my suggestion.
Make sure you have listed "unstable" in apt-get sources:
# cat /etc/apt/sources.list.d/unstable.list
deb ftp://<your closest debian mirror>/debian/ unstable main contrib non-free
deb-src ftp://<your closest debian mirror>/debian/ unstable main
Find your mirror in the list of mirrors
Then do
apt-get update
apt-get install mongodb-server /unstable
apt-get install mongodb-clients /unstable
(be careful if it's your production -- MongoDB will be restarted)
And by the way, the latest version of MongoDB in Debian "unstable" is 1.6.5: MongoDB in "sid"

Resources