In this article, we will see how to install liquibase on Ubuntu or Debian based linux systems. Liquibase is a popular database schema change management tool that not only enable us to version control database schema changes but also allows us to automate the process of applying database changes to reduce the risk of human error. It comes with both free as well as enterprise version. Liquibase basically runs six types of commands on databases – update, rollback, snapshot, diff, status and utility commands.
Liquibase can be easily integrated with CI/CD pipelines, thus helps in automating the process of applying database changes. It can also compare database schemas and produce a change logs to keep them in sync. Change logs are nothing but a list of changes such as instruction for creating tables, adding columns, inserting data etc. to the database schema defined in XML, YAML, JSON, or SQL files. Liquibase supports almost all the popular databases such as MySQL, PostgreSQL, Oracle, SQL Server and so on. More on liquibase official
Also Read: How to Install Lens Desktop on Ubuntu or Debian
a) You would require a proper functioning Ubuntu or Debian Linux System. In our case, we are using Ubuntu 22.04 LTS
system for demonstration.
b) You would require root
or root like access to run some of the privileged commands.
c) Few of the utilities such as gpg
and wget
are required to be installed in System.
d) Liquibase would require Java
to be preinstalled in the system.
e) Minimum Hardware Requirements:-
Before installing a new package, let’s update package index cache with all the latest available packages information and then upgrade all the installed packages to the latest version by using sudo apt update && sudo apt upgrade
command as shown below.
Ubuntu-Server@ubuntu:~$ sudo apt update && sudo apt upgrade
You can visit official website and get the latest step to import GPG Key and add liquibase repo in repo list to download liquibase package.
Ubuntu-Server@ubuntu:~$ wget -O- https://repo.liquibase.com/liquibase.asc | gpg --dearmor > liquibase-keyring.gpg && cat liquibase-keyring.gpg | sudo tee /usr/share/keyrings/liquibase-keyring.gpg > /dev/null && echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/liquibase-keyring.gpg] https://repo.liquibase.com stable main' | sudo tee /etc/apt/sources.list.d/liquibase.list --2024-05-22 23:13:33-- https://repo.liquibase.com/liquibase.asc Resolving repo.liquibase.com (repo.liquibase.com)... 13.33.187.42, 13.33.187.112, 13.33.187.79, ... Connecting to repo.liquibase.com (repo.liquibase.com)|13.33.187.42|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2440 (2.4K) [binary/octet-stream] Saving to: ‘STDOUT’ - 100%[============================================================================>] 2.38K --.-KB/s in 0s 2024-05-22 23:13:35 (135 MB/s) - written to stdout [2440/2440] [sudo] password for Ubuntu-Server: deb [arch=amd64 signed-by=/usr/share/keyrings/liquibase-keyring.gpg] https://repo.liquibase.com stable main
To update package index with all the packages information from all the configured repo, run sudo apt update
command as shown below. This will help update the package index cache with all the new information available.
Ubuntu-Server@ubuntu:~$ sudo apt update [sudo] password for Ubuntu-Server: Hit:1 https://downloads.k8slens.dev/apt/debian stable InRelease Hit:2 https://dl.google.com/linux/chrome/deb stable InRelease Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB] Hit:4 http://in.archive.ubuntu.com/ubuntu jammy InRelease Get:5 http://in.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB] Get:6 https://repo.liquibase.com stable InRelease [3,054 B] Hit:7 http://in.archive.ubuntu.com/ubuntu jammy-backports InRelease Get:8 https://repo.liquibase.com stable/main all Packages [5,094 B] Get:9 https://repo.liquibase.com stable/main amd64 Packages [5,097 B] Fetched 242 kB in 3s (80.4 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done
Now its time to install liquibase package from liquibase repo using sudo apt install liquibase
command as shown below. This will download and install the package along with all its dependencies.
Ubuntu-Server@ubuntu:~$ sudo apt install liquibase [sudo] password for Ubuntu-Server: Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: liquibase 0 upgraded, 1 newly installed, 0 to remove and 17 not upgraded. Need to get 108 MB of archives. After this operation, 119 MB of additional disk space will be used. Get:1 https://repo.liquibase.com stable/main amd64 liquibase all 4.28.0 [108 MB] Fetched 108 MB in 16min 29s (109 kB/s) Selecting previously unselected package liquibase. (Reading database ... 238305 files and directories currently installed.) Preparing to unpack .../liquibase_4.28.0_all.deb ... Unpacking liquibase (4.28.0) ... Setting up liquibase (4.28.0) ...
After successful installation, you can check the current installed version by using liquibase --version
command as shown below.
Ubuntu-Server@ubuntu:~$ liquibase --version #################################################### ## _ _ _ _ ## ## | | (_) (_) | ## ## | | _ __ _ _ _ _| |__ __ _ ___ ___ ## ## | | | |/ _` | | | | | '_ / _` / __|/ _ ## ## | |___| | (_| | |_| | | |_) | (_| __ __/ ## ## _____/_|__, |__,_|_|_.__/ __,_|___/___| ## ## | | ## ## |_| ## ## ## ## Get documentation at docs.liquibase.com ## ## Get certified courses at learn.liquibase.com ## ## ## #################################################### Starting Liquibase at 02:08:41 (version 4.28.0 #2272 built at 2024-05-16 19:00+0000) Liquibase Home: /usr/bin Java Home /usr/lib/jvm/java-21-openjdk-amd64 (Version 21.0.2) Libraries: - internal/lib/commons-collections4.jar: Apache Commons Collections 4.4.0 By The Apache Software Foundation - internal/lib/commons-io.jar: Apache Commons IO 2.16.1 By The Apache Software Foundation - internal/lib/commons-lang3.jar: Apache Commons Lang 3.14.0 By The Apache Software Foundation - internal/lib/commons-text.jar: Apache Commons Text 1.11.0 By The Apache Software Foundation - internal/lib/h2.jar: H2 Database Engine 2.2.224 By H2 Group - internal/lib/hsqldb.jar: HSQLDB 2.7.2 By The HSQL Development Group - internal/lib/jaxb-api.jar: jaxb-api 2.3.1 By Oracle Corporation - internal/lib/jaxb-core.jar: JAXB Core 4.0.5 By Eclipse Foundation - internal/lib/jaxb-runtime.jar: JAXB Runtime 4.0.5 By Eclipse Foundation - internal/lib/jaybird.jar: Jaybird 5.0.4.java8 (build: variant=jaybird tag=v5.0.4 date=202403101439) By Firebird project - internal/lib/jcc.jar: IBM JCC JDBC 4 Driver 1.4.0 By IBM - internal/lib/liquibase-commercial.jar: Commercial Liquibase Functionality 4.28.0 By Liquibase - internal/lib/mariadb-java-client.jar: mariadb-java-client 3.3.3 By mariadb.com - internal/lib/mssql-jdbc.jar: Microsoft JDBC Driver for SQL Server 12.6.1 By Microsoft Corporation - internal/lib/ojdbc8.jar: JDBC 19.22.0.0.0 By Oracle Corporation - internal/lib/opencsv.jar: opencsv 5.9.0 - internal/lib/picocli.jar: picocli 4.7.5 By Remko Popma - internal/lib/postgresql.jar: PostgreSQL JDBC Driver 42.7.3 By PostgreSQL Global Development Group - internal/lib/snakeyaml.jar: SnakeYAML 2.2.0 - internal/lib/snowflake-jdbc.jar: snowflake-jdbc 3.16.0 - internal/lib/sqlite-jdbc.jar: SQLite JDBC 3.45.3.0 Liquibase Version: 4.28.0 Liquibase Open Source 4.28.0 by Liquibase
To check all the options available with liquibase utility, run liquibase --help
command as shown below.
Ubuntu-Server@ubuntu:~$ liquibase --help
Once you are done using liquibase, you can also choose to uninstall it from your system by using sudo apt remove liquibase
command as shown below. To remove all dependencies along with the package, use --auto-remove
option with below command.
Ubuntu-Server@ubuntu:~$ sudo apt remove liquibase Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages will be REMOVED: liquibase 0 upgraded, 0 newly installed, 1 to remove and 17 not upgraded. After this operation, 119 MB disk space will be freed. Do you want to continue? [Y/n] Y (Reading database ... 239566 files and directories currently installed.) Removing liquibase (4.28.0) ...
You’ve recently installed VMware Workstation on your Ubuntu system and encountered the frustrating “Could not…
Have you ever found yourself staring at a terminal full of 404 errors while trying…
One particularly frustrating error that many users face when trying to upgrade from Ubuntu 18.04 …
In the world of containerization, time synchronization issues can create unexpected roadblocks when working with…
If you’ve recently upgraded to Ubuntu 23.04 or newer, you might have encountered a frustrating…
Canonical announces the General Availability of Ubuntu for the NVIDIA® Jetson Orin™ for edge AI…