I need my .deb package to depend from rsync >= 3.1.0.
The problem is that it must be installed in Ubuntu 12.04 LTS (precise), that provides rsync 3.0.9: if I specify the "Depends" option, the dependency won't be satisfied.
I know that, manually, I can:
Add a repository containing rsync 3.1.0 to /etc/apt/sources.list (i.e. http://security.ubuntu.com/ubuntu trusty-security main)
apt-get update
apt-get install rsync
And my rsync will get updated to 3.1.0.
So, how can I have this automatically done by my .deb package installation?
Related
How can i convert metricbeat to a shippable RPM which could be installed by SCP on servers without internet?
How i installed metric beat
sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
in /etc/yum.repos.d/elastic.repo add
[elastic-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
Sudo yum install metricbeat
How can I make this into a copyable rpm?
You can download the RPM using yumdownloader and use scp, or some other method, to copy it to the servers without internet access.
I use debian 8 Jessie, which has only gcc-4.9 available in the repositories. I tried to install gcc-4.7 in two ways without success.
First try
I tried installing gcc manually by downloading the file gcc-4.7.0.tar.gz
But when I install the dependency libraries (apt-get install Libmpc-dev libmpfr-dev libgmp-dev gcc-multilib)
the Debian installs, without asking gcc-4.9 and the compatible libraries with gcc-4.9.
I try run make for manual installation, but errors occur and it is not possible to install manually.
Second Try
I tried adding PPA repositories with gcc-4.7, in the file /etc/apt/sourc.list
Add-apt-repository ppa: ubuntu-toolchain-r / test as it teaches in this Link: https://askubuntu.com/questions/193513/problem-adding-a-ppa-to-install-gcc-4-7
When try apt-get install gcc-4.7 you are prompted to install several Dependencies ... when requesting to install the dependencies, the Below.
Root # vmhp110deb8: / home / user1 # apt-get install gcc-4.7 gcc-4.7-base
Reading package lists ... Done
Building dependency tree
Reading state information ... Done
Note, by selecting 'gcc-4.7-base' for regex 'gcc-4.7'
Package gcc-4.7-base is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
Is available from another source
E: Package 'gcc-4.7-base' has no installation candidate
Root # vmhp110deb8: / home / user1 # add-apt-repository ppa: ubuntu-toolchain-r / test
I tried to find a repository that has gcc-4.7-base, but then it asks Installation of other dependencies, and informs that it has not found
Libraries are Obsolete, etc.
Attempt not yet tested
Another idea that i had is download the Debian 7 Wheezy DVD (which I think Which has gcc-4.7 and all dependencies) and add as repository, For debian to find all dependencies of gcc.4.7 on DVD. But this idea i not have tested yet.
Could anyone help me with how I could install gcc 4.7 on debian 8?
As you can read here
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765379
gcc-4.7 is not included in Debian Jessie
Maybe you can try this
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.7
EDIT : You already tries this. I didnt notice.
Try this manual:
http://charette.no-ip.com:81/programming/2011-12-24_GCCv47/
I hope this helps to you :)
I'm trying to install gitlab-ci-multi-runner on ElementaryOS Freya, but having no success.
I've correctly follow the steps in official documentation:
https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md#install-using-official-gitlab-repositories
The answer always is:
luiz#kryptonita:~/node/my-nodejs-app$ sudo apt-get install gitlab-ci-multi-runner
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gitlab-ci-multi-runner
To understand: I'm trying to set up a Runner to test a Node.js "Hello World". I'm studying this technology.
EDIT: Result of cat /etc/apt/sources.list.d/runner_gitlab-ci-multi-runner.list
# this file was generated by packages.gitlab.com for
# the repository at https://packages.gitlab.com/runner/gitlab-ci-multi-runner
deb https://packages.gitlab.com/runner/gitlab-ci-multi-runner/elementaryos/ freya main
deb-src https://packages.gitlab.com/runner/gitlab-ci-multi-runner/elementaryos/ freya main
Indeed they do not have repos for elementary os freya. I see two possible solutions:
Method 1: Using Ubuntu Repos
Now, I'm not sure this procedure works, but since freya is bases on Ubuntu 14.04, I think you can use trusty's repo.
Careful this can potentially breaks things and dependencies, I have not tested it.
Edit the /etc/apt/sources.list.d/runner_gitlab-ci-multi-runner.list file:
sudo gedit /etc/apt/sources.list.d/runner_gitlab-ci-multi-runner.list
Delete all and add
deb https://packages.gitlab.com/runner/gitlab-ci-multi-runner/ubuntu/ trusty main
deb-src https://packages.gitlab.com/runner/gitlab-ci-multi-runner/ubuntu/ trusty main
Then do sudo apt-get update && sudo apt-get install gitlab-ci-multi-runner
In this way you have automatic updates.
Method 2: Manually download the package
If you prefer to do not add a PPA studied for another distro, just download the package from the website (here a list of the packages). but in this way you have to manually update the program each time!
Otherwise you can use docker/lxc/virtualbox to install Ubuntu (or Fedora or whatever is official supported) and use it
Only this worked for me:
curl -s https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
From: https://packages.gitlab.com/runner/gitlab-ci-multi-runner/install
I am using CentOS 7.2.
I would like to install the latest version of rsync - rsync-3.1.2,
rsync-3.0.9 is on system, installed when installing mariadb with yum,
# rpm -qa |grep rsync
rsync-3.0.9-17.el7.x86_64
removing rsync-3.0.9 first,
# yum remove rsync
rsync and mariadb were removed together,
then,
installing rsync-3.1.2 from source code,
# wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
# tar -zxvf rsync-3.1.2.tar.gz
# cd rsync-3.1.2
# ./configure
# make
# make install
then,
installing mariadb with yum again,
but rsync-3.0.9 will still be installed.
How can I solve the problem?
You can install rsync 3.1.2 from the Fedora 24 .rpm package:
wget http://dl.fedoraproject.org/pub/fedora/linux/releases/24/Everything/x86_64/os/Packages/r/rsync-3.1.2-2.fc24.x86_64.rpm
rpm -Uvh rsync-3.1.2-2.fc24.x86_64.rpm
(but that question doesn't really belong to stackoverflow)
You can install rsync 3.1.2 from the gf-plus repo. Just follow the steps below:
Install the gf-release package.
sudo rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/el/7/gf/x86_64/gf-release-7-10.gf.el7.noarch.rpm
Upgrade rsync package from the gf-plus repo.
sudo yum install -y --enablerepo=gf-plus rsync
Check rsync version.
hash -r; rsync --version | awk 'NR==1 {print $3}'
If it prints 3.1.2, rsync is upgraded.
By default, only the gf repo is enabled, which claims that it "won't overwrite core distro packages". You can disable it:
sudo yum-config-manager --disable gf
(For command not found error, run sudo yum install -y yum-utils and try again.)
Or simply remove all the gf* repos by removing the gf-release package:
sudo yum remove -y gf-release
You either need to install all of your software using packages, or install all of your software from source. Trying to mix and match is going to lead to exactly the sort of problem you are experiencing here: the mariadb package has a dependency on rsync, but the package manager doesn't know anything about the files you have installed from source.
The correct way to solve this problem is to build your own rsync package that can then be installed with yum. You can start with the source package for your distribution and then modify it for 3.1.2. You may be able to utilize a more recent package (e.g., from Fedora) and rebuild it for your system.
You can find the source RPM for rsync-3.0.9 here, and there is some documentation that will hopefully help you get started here.
I have a continuous integration server building some software that depends on a more recent version of libqt4-dev than the apt packages in debian squeeze provide. That version is available in debian wheezy. How can I tell apt to use libqt4-dev selectively from wheezy without upgrading all of the packages in my squeeze system to wheezy?
You can do this with apt's "preferences" functionality (man apt_preferences).
To add wheezy as a source of packages without installing anything from wheezy by default, add entries for wheezy to your sources.list, and add the following to /etc/apt/preferences (or to a file in preferences.d):
Package: *
Pin: release n=wheezy
Pin-Priority: 50
Once that is set up, you can install libqt4-dev with the following command:
apt-get install -t wheezy libqt4-dev
This will also install the dependencies of libqt4-dev, which may be numerous. Not being familiar with qt, I'm not sure whether the pinning solution here is the best way to get the newer version of qt onto a squeeze system. Another possibility is the backports repository, but I don't see qt4 in there. A third possibility is to build your own backported version using apt-get -b source.