Using APT after installing package by DPKG - dpkg

As I know "dpkg -i package.deb" installs given package. But why in this case after dpkg, apt is used for installing zabbix modules? Should`t it be installed by DPKG?
# wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb
# dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb
# apt update
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

APT download the given modules from the repository. However, these modules can also be installed using DPKG by downloading the package manually from any repo.
Download it from
http://mirror.nullivex.com/zabbix/4.5/pool/main/z/zabbix/
and simply install it via dpkg -i package.deb.
Download all the packages like zabbix-server-mysql http://mirror.nullivex.com/zabbix/4.5/pool/main/z/zabbix/zabbix-server-mysql_5.0.0~rc1-1+jessie_amd64.deb
And simply install it via dpkg.

Related

Installing Connector C for Mariadb

So, I want to use Mariadb. There is this Connector-C for it.
https://downloads.mariadb.org/connector-c/
How do I install it? Quiet frankly, the documentation for it is horrible. Even the src file for 3.0.5 is linked to 3.0.4 page.
I did not find a way to install the binary, and the documentation for building from src is quiet vague. I would prefer to know how to install both ways (binary and build from source)
I'm using CentOS7 64bit.
The easiest way to install it would be to use the MariaDB package repository.
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum -y install MariaDB-devel
As for building from source, these steps should work on CentOS 7.
sudo yum -y install git gcc openssl-devel make cmake
git clone https://github.com/MariaDB/mariadb-connector-c.git
mkdir build && cd build
cmake ../mariadb-connector-c/ -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
And for Ubuntu 20.04...
sudo apt-get install libmariadb3 libmariadb-dev
Raspberry Pi OS
cd to preferred build location. Then install (thanks to #markusjm!):
sudo apt install git gcc make cmake libssl-dev
git clone https://github.com/MariaDB/mariadb-connector-c.git
mkdir build && cd build
cmake ../mariadb-connector-c/ -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
Then add installation directory to LD_LIBRARY_PATH. Note: my installation directory is /usr/lib/mariadb. If you cannot find this after your installation, search for e.g. libmariadb.so, a file that should reside in your installation folder.
export LD_LIBRARY_PATH=/usr/lib/mariadb:$LD_LIBRARY_PATH
Afterwards you can finally pip3 install mariadb, if, like me, you tried to do that in the first place.
After you download MariaDB Connector/C, untar and cd. Then mv the executable first.
sudo mv -f bin/mariadb_config /usr/bin/
Now you can execute mariadb_config and will know where to put header and library files to build wheel for mariadb.
For example,
Ubuntu 18.04
sudo mv -f include/mariadb /usr/local/include/
sudo mv -f lib/mariadb /usr/local/lib/
CentOS 7 & Ubuntu 20.04
sudo mv -f include/mariadb /usr/include/
sudo mv -f lib/mariadb /usr/lib/
Finally, you could pip install mariadb. (Or, export CFLAGS=-std=c99 may help.)
After, in the case you cannot import mariadb,
export LD_LIBRARY_PATH=/PATH/TO/where/you/mv/lib/mariadb

How to use command line dpkg options to unpack conf and skip postinst script

I have a need to run dpkg install, unpack the conf files, but skip running the postinst scripts (if it's included in the deb file).
I've tried to change the SHELL variable to /usr/bin/true, but that didn't work. Any other ideas would be great!
According to its man-page dpkg doesn't have a command-line-option to disable script execution. However, you can achieve what you want with the following commands (taken from this answer from an ubuntu forum):
apt-get download <package>
sudo dpkg --unpack <package>*.deb
sudo rm /var/lib/dpkg/info/<package>.postinst -f
sudo dpkg --configure <package>
sudo apt-get install -yf #To fix dependencies

Cannot install Chrome on Ubuntu 16.04

Doenloaded the .deb package of Chrome from Google's site. The installation doesn't work when trying to install from the GUI. What's up with that?
Its very simple to install google chrome on ubuntu . Type the following commands in the terminal
Step 1 : Download the latest Google Chrome .deb package with wget:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Step 2 : Install the Google Chrome .deb package
sudo apt install ./google-chrome-stable_current_amd64.deb
Hope this helps!
Google Chrome requires some missing dependencies as can be seen when trying to install from the terminal using dpkg -i. Prior to installing Chrome, run:
sudo apt-get install libindicator7 libappindicator1
After that, Chrome installation works fine.
Update the packages first in Ubuntu by below command.
$ sudo apt-get update
Install Required Dependices for Google Chrome as shown below.
$ sudo apt-get install libnss3-1d libxss1 libgconf2-4 libappindicator1 libindicator7
Download the Google Chrome command using below command.
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
still during installation if you get some error that some dependency is not installed run the below command and it will install all required dependencies.
$ sudo apt-get -f install
Now let's go ahead and install Google Chrome by below command.
$ sudo dpkg -i google-chrome-stable_current_amd64.deb
And its done....
To open it just run below command command
$ google-chrome
You can download the latest package of chrome here
Install the package by clicking on it, or via the terminal:
sudo dpkg -i google-chrome-stable_current_amd64.deb
If you have issues, you may have to run:
sudo apt-get -f install
sudo dpkg -i google-chrome-stable_current_amd64.deb
Alternatively you can use gdebi to install the .deb packages.
It's a lightweight application that is better at installing .deb packages, and is quicker as well. If there are dependencies, it notifies that as well.
To install it type this in the terminal:
sudo apt install gdebi
Once done you can right click on .deb file and select to open it with Gdeb
I face so many issue to install google chrome on Ubuntu 16.04.
finalyl, I successfully install google chrome on ubuntu by following commands:
Step 1: $sudo apt-get install gdebi
Step 2: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Step 3: In same directory where you have download package or give path in command
$sudo gdebi google-chrome-stable_current_amd64.deb
installed chrome successfully.
I had same issue. on running google-chrome from terminal, found that it need new version of NSS. Chrome 62 need NSS>=3.26. So installed libnss3.
$google-chrome
[6999:7036:1113/200616.549496:FATAL:nss_util.cc(632)] NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required. Please upgrade to the latest NSS, and if you still get this error, contact your distribution maintainer.
Aborted (core dumped)
sudo apt-get install --reinstall libnss3
and it worked for me :)

Installation of MySQL 5.7 on Debian 7 Wheezy

I would like to install MySql 5.7 on Debian 7 Wheezy. I put :
deb http://repo.mysql.com/apt/debian/ wheezy mysql-5.7
in file:
/etc/apt/sources.list.d/mysql.list
Next I run commands:
sudo apt-get update
sudo apt-get upgrade
And tried install package:
sudo apt-get install mysql-server-5.7
I got an error:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'mysql-community-server' instead of 'mysql-server-5.7'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
mysql-community-server : Depends: mysql-common (= 5.7.11-1debian7) but 5.5.47-0+deb7u1 is to be installed
Depends: mysql-client (= 5.7.11-1debian7)
E: Unable to correct problems, you have held broken packages.
Do you have any ideas to resolve this problem?
I also tried:
Note, selecting 'mysql-community-server' instead of 'mysql-server-5.7'
But it's not the solution of the problem.
I stumbled upon this post and can confirm simply changing the priority of your cache by downloading the .deb package directly from MySQL Downloads
Using the command line:
$ cd /usr/src && sudo wget http://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb
Please note: by convension the /src directory on linux exists for source code to live before being compiled - I believe the deb package above therefore belongs here.
This works for Debian/Wheezy.
$ sudo dpkg -i http://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb
Once this you have gone through the steps, you simply hit Ok, and then proceed to install mysql-server like normal:
$ sudo apt-update
$ sudo apt-get install mysql-server
For me, this resulted in the following:
[info] MySQL Community Server 5.7.14 is started.
Setting up mysql-server (5.7.14-1debian7) ...
Further reading, if you ever want to remove this package, you can do so:
$ cd /usr/src && sudo dpkg --remove http://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb
As of 2020 with Debian Wheezy 7.11 the answer doesn't work anymore. I had to change a few things and thought it might be useful to share the result:
Install mysql-apt-config_0.8.10-1_all.deb (Version 0.8.15-1_all won't work: dpkg can't handle the "control.tar.xz" it contains.)
cd /usr/src
sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
This will create the necessary /etc/apt/sources.list.d/mysql.list file.
sudo apt-get update
sudo apt-get install mysql-server
Thanks goes to David Kehr from where I got the working mysql-apt-config version.
You don't need to specify the version in the apt-get command, just type :
sudo apt-get install mysql-server
After the install, you can type the following command to check mysql version
aptitude show mysql-server
On my machine I have the following result :
...
VersionĀ : 5.7.13-1debian7
...

Compiler error mysql.h not found

On compiling a software I get this error
mysql/mysql.h: No such file or directory
result of running mysql_config --include is
-I/usr/local/mysql/include
How can I get mysql.h to be detected?
Install mysql development packages on Debian/ubuntu.
sudo apt-get install libmysqld-dev
on CentOs/Redhat (to know who provide - yum provides mysql/mysql.h):
sudo yum install mysql-devel
While building Kamailio from sources on CentOS / Fedora, I encountered mysql/mysql.h: No such file or directory
Since my target was MariaDB, installing mariadb-devel package helped
# yum -y install mariadb-devel
Before installing above package, it was necessary for me to clean-up previously installed MariaDB-client package.
# yum remove MariaDB-client
# yum remove MariaDB-common
# mv /etc/yum.repos.d/mariadb.repo /etc/yum.repos.d/mariadb.repo.bak
If necessary we can get back the original MariaDB-client package after the build process, such as
# mv /etc/yum.repos.d/mariadb.repo.bak /etc/yum.repos.d/mariadb.repo
# yum -y install MariaDB-client