Pages

Showing posts with label linux tools. Show all posts
Showing posts with label linux tools. Show all posts

Saturday, November 19, 2022

Fedora 37 : Vala development in Fedora 37.

Yesterday I tested the Vala programming language on the Fedora 37 linux distribution. The basic idea was that most linux distribution environments use the GTK+ toolkit that Gnome developed. Development with GTK+ can be done with various programming languages: c, python, rust... The main reason why I tested the implementation of the Vala programming language was that Gnome developed it.
For the installation, I used the DNF utility with the following commands to install the packages necessary for the operation of the development in Vala
$sudo dnf groupinstall "Development Tools" "Development Libraries"
$ sudo dnf install vala
The first command installs the tools that are essential to perform tasks such as installing packages from source code.
The second command only installs the Vala package.
To test the written program we will need to use the Valac compiler and then run it as a simple executable in Linux.
$valac --pkg gtk+-3.0 test.vala 
$ ./test

(test:6198): GLib-GObject-CRITICAL **: 14:34:11.454: g_value_set_boxed: assertion 'G_VALUE_HOLDS_BOXED (value)' failed 
The error is about the implementation of Vala in Fedora, I don't have an answer of this but in other Linux distributions this is not show.
If you want to use WebKit2GTK+ Extensions then you need to compile it.
valac test.vala  --pkg gtk+-3.0 --pkg webkit2gtk-4.0
Is a more easy way to developm application but you need to know well how to deal with GTK and GObject structure.

Tuesday, September 20, 2022

Fedora 37 : Use radiotray-ng to simple radio player.

Radiotray-NG is a simple radio player for Ubuntu that runs from the system tray.
You can use this command to install the package.
dnf install radiotray-ng
After installation, you will see an icon on the tray area.
Use this to select the radio and this will play it.
The project can be found on GitHub.
.

Saturday, September 10, 2022

Fedora 37 : Starting with the conda tool.

In this tutorial, I will show the first steps for working with conda tool on Fedora 37.
Conda is an open-source package management system and environment management system that runs on Windows, macOS, Linux, and z/OS. Conda quickly installs, runs, and updates packages and their dependencies. Conda easily creates, saves, loads, and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language., see the official webpage.
I used the DNF tool to install this tool.
[root@fedora mythcat]# dnf install conda
By default, Conda is configured to activate the base environment when I open a fresh terminal session and you can set it to false.

[mythcat@fedora ~]$ conda config --set auto_activate_base false
For the changes to be applied, run the source command with the .bashrc file as an argument.

[mythcat@fedora ~]$ source ~/.bashrc
After installation, the conda can be activated with the base environment.

[mythcat@fedora ~]$ conda activate
(base) [mythcat@fedora ~]$ conda deactivate
[mythcat@fedora ~]$
Let's start a new project environment named test001 with this command:

[mythcat@fedora ~]$ conda create -n test001 python=3.9
...
  zlib               pkgs/main/linux-64::zlib-1.2.12-h5eee18b_3
Proceed ([y]/n)? y
Downloading and Extracting Packages
libffi-3.3           | 50 KB     | ##################################### | 100%
...
setuptools-63.4.1    | 1.1 MB    | ##################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate test001
#
# To deactivate an active environment, use
#
#     $ conda deactivate
The next step is to activate this with the next command and list installed packages in a conda environment.

[mythcat@fedora ~]$ conda activate test001
(test001) [mythcat@fedora ~]$ conda list
If you want to see all environments then use the next command:

(test001) [mythcat@fedora ~]$ conda env list
# conda environments:
#
test001               *  /home/mythcat/.conda/envs/test001
base                     /usr
The basic usage of conda is to install packages, you can see how to install the scipy package with the next command:

(test001) [mythcat@fedora ~]$ conda install scipy
Using the conda tool.
Also, you can update a package like the pip tool, see the next command:

(test001) [mythcat@fedora ~]$ conda update
CondaValueError: no package names supplied
# Example: conda update -n myenv scipy 
You can deactivate/deactivate the environment with these commands:

(test001) [mythcat@fedora ~]$ conda deactivate
[mythcat@fedora ~]$ conda activate test001
(test001) [mythcat@fedora ~]$ 
You can export the conda environment into YML file type:

(test001) [mythcat@fedora ~]$ conda env export > test001.yml
(test001) [mythcat@fedora ~]$ ls test001.yml
test001.yml 
With this file, you can create a new environment in another area, and see the next commands for deactivating and creating the new environment.

(test001) [mythcat@fedora ~]$ conda deactivate
[mythcat@fedora ~]$ ls
Desktop    Downloads     Music     Public     test001.yml
Documents  kernel-tests  Pictures  Templates  Videos
[mythcat@fedora ~]$ conda env create -f test001.yml
CondaValueError: prefix already exists: /home/mythcat/.conda/envs/test001
Because I try to create in the same place as the old environment I got this error.
You need to use the YML file in another place.
Another option is to clone one environment.

[mythcat@fedora ~]$ conda create --name test001_new_clone --clone test001
Source:      /home/mythcat/.conda/envs/test001
Destination: /home/mythcat/.conda/envs/test001_new_clone
Packages: 34
...
You can see all environments with this command:

[mythcat@fedora ~]$ conda info --env
# conda environments:
#
test001                  /home/mythcat/.conda/envs/test001
test001_new_clone        /home/mythcat/.conda/envs/test001_new_clone
base                  *  /usr
These commands shown are just the beginning of working with the conda utility. It has many more development options.

Wednesday, August 24, 2022

Fedora 37 : Kernel Test Days.

The main goal of a Kernel Test Day is to test a new kernel on many different machines as possible ...
To test the kernel and help the Fedora development team you need to run one tool from Fedora.
I used DNF to install the fedora python package.
[root@fedora kernel-tests]# dnf install python3-fedora.noarch
...
Installed:
  python3-fedora-1.1.1-7.fc37.noarch                                            
  python3-kitchen-1.2.6-14.fc37.noarch                                          
  python3-lockfile-1:0.12.2-8.fc37.noarch                                       
  python3-munch-2.5.0-10.fc37.noarch                                            
  python3-openidc-client-0.6.0-17.20220119git0e2ed81.fc37.noarch                

Complete!
I install the Development Tools group for development issues.
[mythcat@fedora kernel-tests]$ sudo dnf -y groupinstall "Development Tools"
I clone the kernel-tests tool from the GitHub repository.
[mythcat@fedora ~]$ git clone https://pagure.io/kernel-tests.git
Cloning into 'kernel-tests'...
Into the folder kernel-tests set your user and password to send data to the Fedora development team.
[mythcat@fedora ~]$ cd kernel-tests/
[mythcat@fedora kernel-tests]$ cp config.example .config
[mythcat@fedora kernel-tests]$ vi .config
Set the SELinux settings, if this is enabled.
[mythcat@fedora kernel-tests]$ sudo semanage boolean -m --on selinuxuser_execheap
I run both tests, like in the documentation area.
See these results of my tests on HP Compaq 6710b laptop:
[mythcat@fedora kernel-tests]$ sudo ./runtests.sh
[sudo] password for mythcat:
Test suite called with default
./default/cachedrop                                              PASS    
./default/insert_leap_second                                     PASS    
./default/libhugetlbfs                                           SKIP    
./default/memfd                                                  PASS    
./default/modsign                                                PASS    
./default/mq-memory-corruption                                   PASS    
./default/paxtest                                                SKIP    
./default/posix_timers                                           PASS    
./default/selinux-dac-controls                                   PASS    
./default/stack-randomness                                       PASS    
./default/sysfs-perms                                            WARN    
./default/timer-overhead                                         PASS    

Test suite complete                                              WARN    

Your log file is being submitted...
Upload successful!
The following information is not submitted with your log;
it is for informational purposes only.
Vulnerability status:
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Mitigation: VMX unsupported
/sys/devices/system/cpu/vulnerabilities/l1tf:Mitigation: PTE Inversion
/sys/devices/system/cpu/vulnerabilities/mds:Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data:Not affected
/sys/devices/system/cpu/vulnerabilities/retbleed:Not affected
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: usercopy/swapgs barriers and __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Retpolines, STIBP: disabled, RSB filling, PBRSB-eIBRS: Not affected
/sys/devices/system/cpu/vulnerabilities/srbds:Not affected
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected

[mythcat@fedora kernel-tests]$ sudo ./runtests.sh -t performance
Test suite called with performance
Using config in CONFIG.fedora
Sun Aug 21 05:19:23 PM EEST 2022
Latency measurements
Sun Aug 21 05:21:46 PM EEST 2022
Calculating file system latency
Sun Aug 21 05:21:48 PM EEST 2022
Local networking
Sun Aug 21 05:25:29 PM EEST 2022
Bandwidth measurements
Sun Aug 21 05:34:57 PM EEST 2022
Calculating context switch overhead
Sun Aug 21 05:35:20 PM EEST 2022
./performance/lmbench3                                           PASS    

Test suite complete                                              PASS    

Your log file is being submitted...
Upload successful!
The following information is not submitted with your log;
it is for informational purposes only.
Vulnerability status:
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Mitigation: VMX unsupported
/sys/devices/system/cpu/vulnerabilities/l1tf:Mitigation: PTE Inversion
/sys/devices/system/cpu/vulnerabilities/mds:Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data:Not affected
/sys/devices/system/cpu/vulnerabilities/retbleed:Not affected
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: usercopy/swapgs barriers and __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Retpolines, STIBP: disabled, RSB filling, PBRSB-eIBRS: Not affected
/sys/devices/system/cpu/vulnerabilities/srbds:Not affected
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected

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.

Saturday, April 30, 2022

Fedora 36 : Use the ykman tool - part 001.

You can see a full tutorial about how can install this linux tool for yubikey device on this tutorial.
The next command will program a random 38 character long static password to slot 1 on the device:
# ykman otp static 1 --generate --length 38 --force --keyboard-layout US

Thursday, December 30, 2021

Fedora 35 : New Krita version 5.0.0 released.

Today I tested the new released version 5.0.0 for Krita software.
I download the AppImage from the official website.
After download you need to use these commands:
[mythcat@fedora ~]$ chmod +x krita-5.0.0-x86_64.appimage
[mythcat@fedora ~]$ ./krita-5.0.0-x86_64.appimage
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Old schema: "0.0.10" New schema: 0.0.15
The Krita software runs well on the old HP Compaq 6710b, but I recommend better hardware because it is a software for graphic activities.
Don't worry about the message is a database change warning message.

Sunday, December 26, 2021

Fedora 35 : Python and Flask-Mailing on Fedora.

First of all, a Merry Christmas to the users and the Fedora team. Python version 3.10.1 works very well on Fedore 35 and today I tested a packet called: Flask_Mailing.
Flask-Mailing adds SMTP mail sending to your Flask applications., see the Github repo.
Let's start with the installation of this packet with the pip utility.
[mythcat@fedora ~]$ pip install -U flask-mailing
Defaulting to user installation because normal site-packages is not writeable
Collecting flask-mailing
  Downloading Flask_Mailing-0.0.5-py3-none-any.whl (15 kB)
...
Installing collected packages: rfc3986, anyio, typing-extensions, httpcore, dnspython, async-timeout, pydantic, httpx, 
email-validator, blinker, asgiref, aiosmtplib, aioredis, flask-mailing
    Running setup.py install for blinker ... done
Successfully installed aioredis-2.0.0 aiosmtplib-1.1.6 anyio-3.4.0 asgiref-3.4.1 async-timeout-4.0.2 blinker-1.4 dnspython-2.1.0
email-validator-1.1.3 flask-mailing-0.0.5 httpcore-0.14.3 httpx-0.21.1 pydantic-1.8.2 rfc3986-1.5.0 typing-extensions-4.0.1
I create a folder named ExempleFlask001:
[mythcat@fedora ~]$ mkdir ExempleFlask001
[mythcat@fedora ~]$ cd ExempleFlask001/
[mythcat@fedora ExempleFlask001]$ vi flask001.py
I created the simplest example to test through the import procedure and then read with the dir function, here is the source code:
from flask import Flask
from flask_mailing import Mail, Message

app = Flask(__name__)
@app.route("/")
def index():
    test = str(dir(Mail))
    return test
if __name__ == "__main__":
    app.run(debug=True)
The result of running the script on the command line:
[mythcat@fedora ExempleFlask001]$ python flask001.py
 * Serving Flask app 'flask001' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 319-368-265
 ...
The browser's response to the script is this:

Saturday, December 11, 2021

Fedora 35 : Share your commands online with asciinema tool on blogger.com .

The asciinema.org is now running the latest server and web player code and thus it fully supports this new format.
In the last tutorial about this online tool we briefly presented how it can be used.
In this tutorial, I will present some other features and how you can integrate the result in blogger.com.
Let's see a short example with some simple commands in Linux and how we used this tool:
[mythcat@fedora ~]$ asciinema auth
[mythcat@fedora ~]$ asciinema rec linux_commands_default.cast
asciinema: recording asciicast to linux_commands_default.cast
asciinema: press <ctrl-d> or type "exit" when you're done
[mythcat@fedora ~]$ ls
...
[mythcat@fedora ~]$ dir
...
[mythcat@fedora ~]$ pwd
...
[mythcat@fedora ~]$
exit
asciinema: recording finished
asciinema: asciicast saved to linux_commands_default.cast
[mythcat@fedora ~]$ asciinema upload linux_commands_default.cast
I used the local recording and uploaded it later to avoid additional fixes in case of errors and inconsistencies with what we want to display online.
The asciinema online tool supports sharing an asciicast on Twitter, Slack, Facebook, Google+, or any other site which supports one of these APIs: oEmbed, Open Graph, and Twitter Card APIs, see also this webpage.
To use this online tool with your blog, you will need to use the three lines of source code to change according to the number of asciinema uploaded from the URL.
In my example case is this number 455414 from this URL: https://asciinema.org/a/455414/ and the source code for this blog post is shown below:
<script src="https://github.com/asciinema/asciinema-player/releases/download/v2.6.1/asciinema-player.css"/></script>
<script src="https://github.com/asciinema/asciinema-player/releases/download/v2.6.1/asciinema-player.js"/></script>
<script id="asciicast-455414" src="https://asciinema.org/a/455414.js" async></script>
Here is the result of the source code above, it did not work now because I don't add javascript libraries on the script area.

Friday, December 3, 2021

Fedora 35 : You can test Fedora online.

You can test any Linux on this website.
I tested with Fedora 35 Linux distro and works well.
Just open the website select your Linux distro and press the Start button.
See the nest message on the webpage"
If no window has opened yet please click here: Open VNC-Viewer (allow POP-UPs !)
I used this option and I get the Linux distro for the first install.
I start it without install on the hard disk and this is the result:

Saturday, November 6, 2021

Fedora 35 : PyQt6 and Python 3.

I tested the new python version 10 and pyqt version 6 on the fedora version 35 distribution.
[mythcat@fedora ~]$ python
Python 3.10.0 (default, Oct  4 2021, 00:00:00) [GCC 11.2.1 20210728 (Red Hat 11.2.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
...
[mythcat@fedora ~]$ uname -a
Linux fedora 5.14.15-300.fc35.x86_64 #1 SMP Wed Oct 27 15:53:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
I install PyQt6 easy with pip tool:

[mythcat@fedora ~]$ pip install PyQt6 --user
Collecting PyQt6
  Downloading PyQt6-6.2.1-cp36-abi3-manylinux1_x86_64.whl (7.7 MB)
  ...
  Downloading PyQt6_Qt6-6.2.1-py3-none-manylinux_2_28_x86_64.whl (50.0 MB)
  ...
  Downloading PyQt6_sip-13.1.0-cp310-cp310-manylinux1_x86_64.whl (309 kB)
Installing collected packages: PyQt6-sip, PyQt6-Qt6, PyQt6
Successfully installed PyQt6-6.2.1 PyQt6-Qt6-6.2.1 PyQt6-sip-13.1.0
I tested with this python source code and it works fine.
import sys
from PyQt6.QtWidgets import QApplication, QWidget

def main():

    app = QApplication(sys.argv)

    w = QWidget()
    w.resize(250, 200)
    w.move(300, 300)

    w.setWindowTitle('Simple')
    w.show()

    sys.exit(app.exec())

if __name__ == '__main__':
    main()

Friday, October 1, 2021

Fedora 35 : Upgrade from Fedora 34 to Fedora 35 Beta.

Fedora Workstation 35 brings several features worth noting, and testing, for the beta release.
Fedora 35 Workstation Beta includes the newest release of the GNOME desktop environment version 41.
Let's upgrade with these Linux commands:
$ sudo dnf upgrade --refresh
$ sudo dnf autoremove
$ sudo dnf install dnf-plugin-system-upgrade
$ sudo dnf system-upgrade download --releasever=35
$ sudo dnf system-upgrade reboot
$ sudo dnf system-upgrade clean
This is the result:

Sunday, September 5, 2021

Fedora 34 : GitKraken tool.

GitKraken is a freemium, cross-platform Git client. Users must pay to use this product commercially, and with large teams. It isn’t open source. That said, it has a free version that anyone can use (for personal, and hobby reasons).
This tool can be found on this website.
I'm trying to install the rpm package, but I got an error about: does not verify: no digest.
I used this mode:
wget https://release.gitkraken.com/linux/gitkraken-amd64.tar.gz
sudo tar -xvzf gitkraken-amd64.tar.gz
This tool work well, see the next picture:

Saturday, July 31, 2021

Fedora 34 : Krita Plus 5.0.

Today I tested Krita Plus 5.0 on Fedora distro Linux version 34, see the download webpage.
I also installed the gmic tool and it worked very well.
Here is a screenshot with this new version:

Sunday, June 27, 2021

Fedora 34 : Install evolution tool.

Evolution is a personal information management application that provides integrated mail, calendaring and address book functionality, see the wiki gnome page.
[root@desk mythcat]# dnf search evolution
Last metadata expiration check: 3:46:10 ago on Sun 27 Jun 2021 10:18:50 AM EEST.
======================= Name Exactly Matched: evolution ========================
evolution.x86_64 : Mail and calendar client for GNOME
... 
[root@desk mythcat]# dnf install evolution.x86_64
Last metadata expiration check: 3:48:05 ago on Sun 27 Jun 2021 10:18:50 AM EEST.
Dependencies resolved.
================================================================================
 Package                  Arch        Version                Repository    Size
================================================================================
Installing:
 evolution                x86_64      3.40.2-1.fc34          updates      3.7 M
Installing dependencies:
 evolution-langpacks      noarch      3.40.2-1.fc34          updates      5.6 M
 highlight                x86_64      3.60-3.fc34            fedora       887 k
 libytnef                 x86_64      1:1.9.3-5.fc34         fedora        39 k

Transaction Summary
================================================================================
Install  4 Packages

Total download size: 10 M
Installed size: 56 M
Is this ok [y/N]: y
...
Installed:
  evolution-3.40.2-1.fc34.x86_64    evolution-langpacks-3.40.2-1.fc34.noarch   
  highlight-3.60-3.fc34.x86_64      libytnef-1:1.9.3-5.fc34.x86_64             

Complete!
The consfiguration of email account is easy.
I used my yahoo account.
The yahoo mail server ask me a token, but I close and I login again and work well.
You can see a video tutorial from my youtube channel.

Fedora 34 : ASP.NET Core application - part 001.

This tutorial is about creating an ASP project on Fedora 34 Linux distro.
Let's create a folder for a new ASP project:
[mythcat@desk ~]$ cd CSharpProjects/
[mythcat@desk CSharpProjects]$ mkdir ASPProjects
[mythcat@desk CSharpProjects]$ cd ASPProjects/
[mythcat@desk ASPProjects]$ dotnet new web -o ASP001
The template "ASP.NET Core Empty" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on ASP001/ASP001.csproj...
  Determining projects to restore...
  Restored /home/mythcat/CSharpProjects/ASPProjects/ASP001/ASP001.csproj (in 152 ms).
Restore succeeded.
In the ASP001 folder project will run these commands:
[mythcat@desk ASPProjects]$ cd ASP001/
[mythcat@desk ASP001]$ dotnet restore
  Determining projects to restore...
  All projects are up-to-date for restore.
[mythcat@desk ASP001]$ dotnet run
Building...
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:5001
This program will show
info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5000 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: /home/mythcat/CSharpProjects/ASPProjects/ASP001 ^Cinfo: Microsoft.Hosting.Lifetime[0] Application is shutting down...
This program will show on browser localhost the text: Hello World!
With the dotnet restore command, we download the necessary dependencies.
It calls into NuGet - .NET package manager to restore the tree of dependencies.
Let's see the files from this project:
[mythcat@desk ASP001]$ ls
appsettings.Development.json  ASP001.csproj  obj	 Properties
appsettings.json	      bin	     Program.cs
[mythcat@desk ASP001]$ cat Program.cs 
using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Hosting;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

if (app.Environment.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}

app.MapGet("/", (Func<string>)(() => "Hello World!"));

app.Run();
[mythcat@desk ASP001]$ cat ASP001.csproj 
...
This is the most simple tutorial about the ASP project.

Saturday, June 19, 2021

Fedora 34 : Test with the new .NET 6.0 SDK.

Now Fedora 34 distro comes integrated in the repo with DotNet 5.
Today I tested DotNet 6.
Let's create a new folder for the .NET 6.0 SDK .
[mythcat@desk ~]$ mkdir -p $HOME/dotnet
[mythcat@desk ~]$ cd dotnet/
First open your browser and download the .NET 6.0 SDK from the official website.
[mythcat@desk dotnet]$ ls
dotnet-sdk-6.0.100-preview.5.21302.13-linux-x64.tar.gz
Use the following commands to extract the SDK and make the commands available at the terminal.
[mythcat@desk dotnet]$ tar zxf dotnet-sdk-6.0.100-preview.5.21302.13-linux-x64.tar.gz  -C $HOME/dotnet
[mythcat@desk dotnet]$ export DOTNET_ROOT=$HOME/dotnet
[mythcat@desk dotnet]$ export PATH=$PATH:$HOME/dotnet
Let's see the content of the dotnet folder:
[mythcat@desk dotnet]$ ls
dotnet							sdk
dotnet-sdk-6.0.100-preview.5.21302.13-linux-x64.tar.gz	sdk-manifests
host							shared
LICENSE.txt						templates
packs							ThirdPartyNotices.txt
Let's run the binary dotnet from this folder:
[mythcat@desk dotnet]$ ./dotnet --version
6.0.100-preview.5.21302.13 
I added to PATH into .bashrc file:
[mythcat@desk dotnet]$cat ~/.bashrc 
export PS1="[\u@\h \W]\$ "
PATH=$PATH:$HOME/dotnet

Friday, June 18, 2021

Fedora 34 : Defragmenting an XFS file system with xfs_fsr.

The xfs_fsr tool improves the organization of mounted filesystems.
The XFS is an extent-based file system, it is usually unnecessary to defragment a whole file system
I can use this command to Defragmenting my XFS file system.
[root@desk mythcat]# xfs_fsr /dev/mapper/fedora-root -v -d
...
set temp attr
DEBUG: fsize=6774 blsz_dio=6656 d_min=512 d_max=2147483136 pgsz=4096
Temporary file has 1 extents (2 in original)
extents before:2 after:1 DONE ino=95047551
ino=95050118
ino=95050118 extents=2 can_save=1 tmp=/.fsr/ag14/tmp10249
orig forkoff 288, temp forkoff 0
orig forkoff 288, temp forkoff 296
orig forkoff 288, temp forkoff 296
orig forkoff 288, temp forkoff 296
orig forkoff 288, temp forkoff 296
orig forkoff 288, temp forkoff 296
orig forkoff 288, temp forkoff 296
orig forkoff 288, temp forkoff 288
set temp attr
DEBUG: fsize=6541 blsz_dio=6144 d_min=512 d_max=2147483136 pgsz=4096
Temporary file has 1 extents (2 in original)
extents before:2 after:1 DONE ino=95050118
This is all about this command.

Wednesday, June 16, 2021

Fedora 34 : The grubby command line tool.

The grubby command line tool used to configure bootloader menu entries across multiple architectures.
All information can be find with the manual linux commands:
[root@desk mythcat]# man grubby
Let's see some simple examples.
This command can list all the installed kernel:
[root@desk mythcat]# grubby --info=ALL | grep ^kernel
kernel="/boot/vmlinuz-5.12.10-300.fc34.x86_64"
kernel="/boot/vmlinuz-5.12.8-300.fc34.x86_64"
kernel="/boot/vmlinuz-0-rescue-fc76db87af524282b0c7e05a9c5d18f4
To get more details on the installed kernel:
[root@desk mythcat]# grubby --info="/boot/vmlinuz-$(uname -r)"
index=0
kernel="/boot/vmlinuz-5.12.10-300.fc34.x86_64"
args="ro resume=/dev/mapper/fedora-swap rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet splash 
acpi_osi=Linux"
root="/dev/mapper/fedora-root"
initrd="/boot/initramfs-5.12.10-300.fc34.x86_64.img"
title="Fedora (5.12.10-300.fc34.x86_64) 34 (MATE-Compiz)"
id="fc76db87af524282b0c7e05a9c5d18f4-5.12.10-300.fc34.x86_64"
Add selinux=0 to the kernel with this tool:
[root@desk mythcat]# grubby --update-kernel ALL --args selinux=0
Let's see if is added:
[root@desk mythcat]# grubby --info="/boot/vmlinuz-$(uname -r)"
index=0
kernel="/boot/vmlinuz-5.12.10-300.fc34.x86_64"
args="ro resume=/dev/mapper/fedora-swap rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet splash 
acpi_osi=Linux selinux=0"
root="/dev/mapper/fedora-root"
initrd="/boot/initramfs-5.12.10-300.fc34.x86_64.img"
title="Fedora (5.12.10-300.fc34.x86_64) 34 (MATE-Compiz)"
id="fc76db87af524282b0c7e05a9c5d18f4-5.12.10-300.fc34.x86_64"
Remove the selinux=0 option from the bootloader with this tool:
[root@desk mythcat]# grubby --update-kernel ALL --remove-args selinux
Let's see if is removed:
[root@desk mythcat]# grubby --info="/boot/vmlinuz-$(uname -r)"
index=0
kernel="/boot/vmlinuz-5.12.10-300.fc34.x86_64"
args="ro resume=/dev/mapper/fedora-swap rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet splash 
acpi_osi=Linux"
root="/dev/mapper/fedora-root"
initrd="/boot/initramfs-5.12.10-300.fc34.x86_64.img"
title="Fedora (5.12.10-300.fc34.x86_64) 34 (MATE-Compiz)"
id="fc76db87af524282b0c7e05a9c5d18f4-5.12.10-300.fc34.x86_64"
You can see is removed.
Get the index number of all the installed kernels:
[root@desk mythcat]# grubby --info=ALL | grep -E "^kernel|^index"
index=0
kernel="/boot/vmlinuz-5.12.10-300.fc34.x86_64"
index=1
kernel="/boot/vmlinuz-5.12.8-300.fc34.x86_64"
index=2
kernel="/boot/vmlinuz-0-rescue-fc76db87af524282b0c7e05a9c5d18f4"
I can set the default kernel by index with this tool:
[root@desk mythcat]# grubby --set-default-index=1
These are not all features of this command.