Pages

Monday, August 22, 2022

Fedora 37 : Install PyQt5 and PyQt6 on Fedora.

In this tutorial, I will show you how to install PyQt5 and PyQt6 on Fedora 37 Distro Linux.
I used the DNF tool on the sudo user.
To install PyQt5 I used this command:
[root@fedora mythcat]# dnf install python3-qt5.x86_64
Last metadata expiration check: 2:20:40 ago on Wed 17 Aug 2022 09:42:57 PM EEST.
Dependencies resolved.
...
Installed:
  openal-soft-1.22.2-2.fc37.x86_64                                              
  python-qt5-rpm-macros-5.15.6-7.fc37.noarch                                    
  python3-pyqt5-sip-12.11.0-2.fc37.x86_64                                       
  python3-qt5-5.15.6-7.fc37.x86_64                                              
  python3-qt5-base-5.15.6-7.fc37.x86_64                                         
  qt5-qtconnectivity-5.15.5-2.fc37.x86_64                                       
  qt5-qtlocation-5.15.5-3.fc37.x86_64                                           
  qt5-qtmultimedia-5.15.5-2.fc37.x86_64                                         
  qt5-qtsensors-5.15.5-2.fc37.x86_64                                            
  qt5-qtserialport-5.15.5-2.fc37.x86_64                                         
  qt5-qtsvg-5.15.5-2.fc37.x86_64                                                
  qt5-qttools-common-5.15.5-2.fc37.noarch                                       
  qt5-qttools-libs-designer-5.15.5-2.fc37.x86_64                                
  qt5-qttools-libs-help-5.15.5-2.fc37.x86_64                                    
  qt5-qtwebchannel-5.15.5-2.fc37.x86_64                                         
  qt5-qtwebsockets-5.15.5-2.fc37.x86_64                                         
  qt5-qtxmlpatterns-5.15.5-2.fc37.x86_64                                        

Complete!
If you want to use PyQt6 then you need to use the sip solution.
Let's search and install it with the DNF tool.
[root@fedora mythcat]# dnf search qt6 | grep python
Last metadata expiration check: 1:02:01 ago on Sun 21 Aug 2022 04:43:24 PM EEST.
python3-pyqt6-sip.x86_64 : The sip module support for PyQt6
[root@fedora mythcat]# dnf install python3-pyqt6-sip.x86_64
Last metadata expiration check: 1:02:24 ago on Sun 21 Aug 2022 04:43:24 PM EEST.
Dependencies resolved.
...
Installed:
  python3-pyqt6-sip-13.3.0-3.fc37.x86_64                                        

Complete!
I used the python command and I import PyQt5 and PyQt6
[mythcat@fedora ~]$ python
Python 3.11.0rc1 (main, Aug  9 2022, 00:00:00) [GCC 12.1.1 20220810 (Red Hat 12.1.1-4)] on linux
...
The python modules are installed and working well.

Monday, August 15, 2022

Fedora 37 : About DNF tool.

DNF's name tool comes from Dandified YUM.
You can find all about this tool in the Fedora documentation area.
As you know the YUM is in use on older systems and comes from Yellowdog Updater, Modified.
All of these tools need to have sudo that gives you administrative access to your system.
When you run the DNF tool this will checks for metadata automatically whenever you begin a system update or otherwise install software from repositories.
For this reason, the update and upgrade commands perform the same function.
Let's see the basic usage of the DNF tool:
Search a fedora package named FedoraPackage in the repositories.
sudo dnf search FedoraPackage
Install the FedoraPackage package if exist in the repository.
sudo dnf install FedoraPackage
If you want to uninstall the package FedoraPackage use this:
sudo dnf remove FedoraPackage
I can reinstall the package FedoraPackage
sudo dnf reinstall FedoraPackage -y
To automatically remove unneeded dependencies, use:
sudo dnf autoremove
The DNF can find out which package provides a particular file.
sudo dnf provides /etc/httpd/conf/httpd.conf
The detailed information of a package can be viewed with:
sudo dnf info httpd
The DNF history contains all actions that have been performed by the DNF command.
sudo dnf history
I can view further information about a transaction by specifying its ID:
sudo  dnf history info 13
I can undo this transaction if we want:
sudo dnf history undo 13 -y
I can redo with:
sudo dnf history redo 13 -y
The DNF will cache data to the /var/cache/dnf directory and I clean it with:
dnf clean all
I have the option to manually make the cache so that future actions will be quicker.
sudo time dnf makecache
The DNF tool gives me the ability to list all packages that are currently installed on our Linux system:
sudo dnf list installed
Packages that are related to each other may be grouped together into a package group.
sudo dnf grouplist
I can install it with this command:
sudo dnf groupinstall "Web Server" -y
I can check if an update is available
sudo dnf check-update
I can ignore an update for the FedoraPackage package with this command:
sudo dnf update -x FedoraPackage
I can use it for automatic tasks such as updating regularly via cron jobs.
sudo  dnf install dnf-automatic -y
I can install security only
sudo dnf updateinfo list sec
I can see displays information for enabled repositories only:
sudo dnf repolist
I can see all of the repositories
sudo dnf repolist all
Set update testing with:
sudo dnf config-manager --set-enable updates-testing
Disable update testing:
sudo dnf config-manager --set-disable updates-testing
You can list packages from a specified repository, for instance, FedoraPackage:
sudo dnf repository-packages FedoraPackage list
To display only a list of those packages available from the specified repository, add the available option.
sudo dnf repository-packages fedora list available
To display only a list of those packages installed from the specified repository, add the installed option
sudo dnf repository-packages fedora list installed
To add and enable a new repository like Grafana, run the following command.
Open a new file named grafana.repo:
sudo nano /etc/yum.repos.d/grafana.repo
Add this in the grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
sudo dnf config-manager --add-repo /etc/yum.repos.d/grafana.repo
To enable the DNF repository
sudo dnf --enablerepo=grafana install grafana
To disable a DNF repository
sudo dnf --disablerepo=fedora-extras install grafana 
To permanently disable a particular repository
sudo dnf config-manager --set-disabled grafana
These are just a few basic ways to use the DNF utility.

Fedora 37 : First test with the Fedora Cinnamon spin.

The Fedora Cinnamon spin provides advanced innovative features and a traditional user experience.
I install this Fedora Spin from the official website.
I installed it again without an update.
It seemed faster than the old distro 36 with the Mate environment.
Here is a screenshot of Fedora 37 on the HP C6710b laptop. 

Sunday, August 7, 2022

Fedora 36 : Rootkit Hunter tool.

rkhunter (Rootkit Hunter) is a Unix-based tool that scans for rootkits, backdoors and possible local exploits. It does this by comparing SHA-1 hashes of important files with known good ones in online databases, searching for default directories (of rootkits), wrong permissions, hidden files, suspicious strings in kernel modules, and special tests for Linux and FreeBSD..., see wikipedia .
You can find it on this website.
On Fedora 36 you can search and install with the DNF tool.
[root@fedora mythcat]# dnf search rkhunter
Last metadata expiration check: 3:38:34 ago on Sat 06 Aug 2022 10:35:34 AM EEST.
======================== Name Exactly Matched: rkhunter ========================
rkhunter.noarch : A host-based tool to scan for rootkits, backdoors and local exploits
[root@fedora mythcat]# dnf install rkhunter.noarch
Last metadata expiration check: 3:39:00 ago on Sat 06 Aug 2022 10:35:34 AM EEST.
The first step is to upgrade it and then you can check the system.
[root@fedora mythcat]# rkhunter --propupd
[ Rootkit Hunter version 1.4.6 ]
File created: searched for 179 files, found 139

[root@fedora mythcat]# rkhunter --check
[ Rootkit Hunter version 1.4.6 ]

Checking system commands...

  Performing 'strings' command checks

...
The result can be found on the log file and you can set settings on the conf file type.
[root@fedora mythcat]# vi /var/log/rkhunter/rkhunter.log
[root@fedora mythcat]# vi /etc/rkhunter.conf

Thursday, July 21, 2022

Fedora 36 : first steps with the Hy.

Hy is a dialect of the Lisp programming language designed to interact with Python by translating s-expressions into Python's abstract syntax tree (AST). Hy was introduced at Python Conference (PyCon) 2013 by Paul Tagliamonte.
This is quite similar to the old GIMP Script Fu that I've worked with in the past. The syntax assumes a join like tabs in HTML, only we'll use parentheses. I haven't studied in detail the implications it has with the python language, but it certainly wasn't invented for nothing.
First, you need to install it with the pip tool.
[mythcat@fedora ~]$ pip3 install hy --user
Collecting hy
...
Successfully built hy
Installing collected packages: funcparserlib, colorama, hy
Successfully installed colorama-0.4.5 funcparserlib-1.0.0 hy-0.24.0
The I test some examples:
[mythcat@fedora ~]$ hy
Hy 0.24.0 using CPython(main) 3.10.5 on Linux
=> (setv a 1)
=> "hello world"
"hello world"
=> (setv mylist [1 2 3])

=> (get mylist 0)
1
=> (defn greet [name]
...  "Hello "
...  (print "Hello " name))
=> (greet "mythcat")
Hello  mythcat
You can test it online with this online tool:

Saturday, June 11, 2022

Fedora 36 : The zeek tool.

Zeek is a powerful network analysis framework that is much different from the typical IDS you may know.
Use the DNF tool to add repo for zeek tool:
[root@fedora home]# dnf config-manager --add-repo https://download.opensuse.org/repositories/security:zeek/Fedora_36/security:zeek.repo

Adding repo from: https://download.opensuse.org/repositories/security:zeek/Fedora_36/security:zeek.repo
Use DNF tool to install
[root@fedora home]# dnf install zeek-lts
The Zeek Network Security Monitor. (Fedora_36)   18 kB/s |  77 kB     00:04    
Last metadata expiration check: 0:00:02 ago on Sat 11 Jun 2022 12:33:29 AM EEST.
Dependencies resolved.
================================================================================
 Package                    Arch     Version              Repository       Size
================================================================================
Installing:
 zeek-lts                   x86_64   4.0.7-1.1            security_zeek   7.9 k
Installing dependencies:
 libbroker-lts-devel        x86_64   4.0.7-1.1            security_zeek   1.3 M
 libpcap-devel              x86_64   14:1.10.1-3.fc36     fedora          141 k
 python3-GitPython          noarch   3.1.26-1.fc36        fedora          275 k
 python3-gitdb              noarch   4.0.9-2.fc36         fedora          107 k
 python3-semantic_version   noarch   2.8.4-9.fc36         fedora           39 k
 python3-smmap              noarch   5.0.0-1.fc36         fedora           46 k
 zeek-lts-btest             x86_64   4.0.7-1.1            security_zeek   326 k
 zeek-lts-core              x86_64   4.0.7-1.1            security_zeek   4.8 M
 zeek-lts-devel             x86_64   4.0.7-1.1            security_zeek   957 k
 zeek-lts-libcaf-devel      x86_64   4.0.7-1.1            security_zeek   1.6 M
 zeek-lts-zkg               x86_64   4.0.7-1.1            security_zeek    50 k
 zeekctl-lts                x86_64   4.0.7-1.1            security_zeek   1.8 M

Transaction Summary
================================================================================
Install  13 Packages

Total download size: 11 M
Installed size: 57 M
Is this ok [y/N]:y
Downloading Packages:
(1/13): python3-gitdb-4.0.9-2.fc36.noarch.rpm   232 kB/s | 107 kB     00:00    


Complete!
Create a script file named main.zeek:
event zeek_init()
        {
        print "Hello, World!";
        }

event zeek_done()
        {
        print "Goodbye, World!";
        }
... and run this file:
[mythcat@fedora ~]$ /opt/zeek/bin/zeek main.zeek
Hello, World!
Goodbye, World!

Saturday, June 4, 2022

Fedora 36 : Fill out this survey for a badge.

I've always liked Fedora distro because it applies a concept of interactivity between developers and users.
Even if not everything works, you can see the progress made from the older versions.
Today I completed my feedback in a survey requested by them and I also got a small badget for my effort.
You can find it on this webpage.