Sunday, September 23, 2018

Fedora 28 : Start a service daemon with Python.

In this tutorial I will starting one service using systemctl , python and systemd. First, you need to create a file named testpython.service .
[mythcat@desk system]# cd /etc/systemd/system/
[root@desk system]# vim testpython.service
This file is a configuration file for this service.
[Unit]
Description=Python Service
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/python /home/mythcat/test_service.py
[Install]
WantedBy=multi-user.target
Create the python file for this service. I named test_service.py .
[root@desk system]# exit
exit
[mythcat@desk system]$ cd ~
[mythcat@desk ~]$ vim test_service.py

#!/usr/bin/env python

import logging
import time

logging.basicConfig(level="INFO")

while True:
    logging.info("Hi")
    time.sleep(3)
Change permissions file for this python file and testpython.service, see:
[mythcat@desk ~]$ chmod 764 test_service.py
Because you run this service with systemd then selinux will send you error, fix that:
[mythcat@desk ~]$ chcon -t bin_t ~/test_service.py
Reload all services and start your service with this commands:
[root@desk system]# systemctl daemon-reload
[root@desk system]# systemctl start  testpython.service
[root@desk system]# systemctl status  testpython.service
● testpython.service - Python Service
   Loaded: loaded (/etc/systemd/system/testpython.service; enabled; vendor>
   Active: active (running) since Sat 2018-09-22 21:36:23 EEST; 5s ago
 Main PID: 7213 (python)
    Tasks: 1 (limit: 2102)
   Memory: 5.7M
   CGroup: /system.slice/testpython.service
           └─7213 /usr/bin/python /home/mythcat/test_service.py

Sep 22 21:36:23 desk systemd[1]: Started Python Service.
Sep 22 21:36:24 desk python[7213]: INFO:root:Hi
Sep 22 21:36:27 desk python[7213]: INFO:root:Hi
You can use the journalctl command to see the output of this service:
[root@desk system]# journalctl -u testpython.service 
-- Logs begin at Sat 2018-09-22 20:40:06 EEST, end at Sat 2018-09-22 21:31:07 EEST. --
Sep 22 20:40:06 desk python[6232]: INFO:root:Hi
Sep 22 20:40:09 desk python[6232]: INFO:root:Hi
Sep 22 20:40:12 desk python[6232]: INFO:root:Hi
Sep 22 20:40:15 desk python[6232]: INFO:root:Hi
Sep 22 20:40:18 desk python[6232]: INFO:root:Hi
Sep 22 20:40:21 desk python[6232]: INFO:root:Hi
Sep 22 20:40:24 desk python[6232]: INFO:root:Hi
Sep 22 20:40:27 desk python[6232]: INFO:root:Hi
Sep 22 20:40:30 desk python[6232]: INFO:root:Hi
Let's see the result:

Sunday, September 16, 2018

Fedora 28 : Using AdonisJs web framework.

AdonisJs is a Node.js web framework with a breath of fresh air and drizzle of elegant syntax on top of it.
We prefer developer joy and stability over anything else.
I tested today this web framework named AdonisJs with Fedora 28.
The main goal was to use mysql with mariadb from Fedora 28 distro.
Let's start with instalation of AdonisJs on Fedora 28:
[root@desk mythcat]# npm i --global @adonisjs/cli
/usr/bin/adonis -> /usr/lib/node_modules/@adonisjs/cli/index.js
...
+ @adonisjs/cli@4.0.7
added 406 packages from 182 contributors in 33.533s
Go to default user:
[root@desk mythcat]# exit
exit
Create the application , I named myapp:
[mythcat@desk ~]$ adonis new myapp
    _       _             _         _     
   / \   __| | ___  _ __ (_)___    | |___ 
  / _ \ / _` |/ _ \| '_ \| / __|_  | / __|
 / ___ \ (_| | (_) | | | | \__ \ |_| \__ \
/_/   \_\__,_|\___/|_| |_|_|___/\___/|___/

  [1/6] 🔬  Requirements matched [node & npm]
  [2/6] 🔦  Ensuring project directory is clean [myapp]
  [3/6] 📥  Cloned [adonisjs/adonis-fullstack-app]
  [4/6] 📦  Dependencies installed
  [5/6] 📖  Environment variables copied [.env]
  [6/6] 🔑  Key generated [adonis key:generate]

🚀   Successfully created project
👉   Get started with the following commands
Let's test the default myapp with this commands:
$ cd myapp
$ adonis serve --dev

[mythcat@desk ~]$ cd myapp
[mythcat@desk myapp]$ adonis serve --dev

 SERVER STARTED 
> Watching files for changes...

2018-09-16T09:47:46.799Z - info: serving app on http://127.0.0.1:3333
This is the result of the running myapp on 127.0.0.1:3333 web address:
Let's see the folders and files from AdonisJS:
[mythcat@desk myapp]$ ls
ace  config    node_modules  package-lock.json  README.md  server.js
app  database  package.json  public             resources  start
The configuration for web files can be see here:
[mythcat@desk myapp]$ vim  start/routes.js 
'use strict'

/*
|--------------------------------------------------------------------------
| Routes
|--------------------------------------------------------------------------
|
| Http routes are entry points to your web application. You can create
| routes for different URL's and bind Controller actions to them.
|
| A complete guide on routing is available here.
| http://adonisjs.com/docs/4.1/routing
|
*/

/** @type {import('@adonisjs/framework/src/Route/Manager'} */
const Route = use('Route')

Route.on('/').render('welcome')
~                                                                               
This is telling Adonis that when the root of the site is loaded, render a template/view called welcome.
That welcome template can be found in /resources/views/welcome.edge.
[mythcat@desk myapp]$ cd resources/
[mythcat@desk resources]$ ll
total 0
drwxrwxr-x. 2 mythcat mythcat 26 Sep 16 12:46 views
[mythcat@desk resources]$ cd views/
[mythcat@desk views]$ ll
total 4
-rw-rw-r--. 1 mythcat mythcat 339 Sep 16 12:46 welcome.edge
Let's see the source code of this default webpage:
[mythcat@desk views]$ vim welcome.edge 
...
For example , if you change into start/routes.js from welcome to index then you need to rename the welcome.edge to index.edge .
About css files you can make changes into public/style.css :
[mythcat@desk myapp]$ cd public/
[mythcat@desk public]$ vim  style.css


@import url('https://fonts.googleapis.com/css?family=Montserrat:300');

html, body {
  height: 100%;
  width: 100%;
}

body {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  background-image: url("/splash.png");
  background-color: #220052;
}

* {
  margin: 0;
  padding: 0;
}
...
Using the mysql database is simple. Into Fedora 28 distro you can use mariadb, let's install it.
[mythcat@desk myapp]$ su
Password: 
[root@desk myapp]# dnf install mariadb mariadb-server
...
Complete!
[root@desk myapp]# systemctl start mariadb
[root@desk myapp]# systemctl status mariadb
● mariadb.service - MariaDB 10.2 database server
...
You need to make changes into .env file into your project folder.
[mythcat@desk myapp]$ vim .env
HOST=127.0.0.1
PORT=3333
NODE_ENV=development
APP_URL=http://${HOST}:${PORT}
CACHE_VIEWS=false
APP_KEY=xxxxxxxxxxxxxxxx
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_DATABASE=adonis
SESSION_DRIVER=cookie
HASH_DRIVER=bcrypt
~
Use this changes for mariadb:
DB_CONNECTION=mysql
Install into AdonisJs with this command:
[mythcat@desk myapp]$ adonis install mysql
  [1/1] 📦  Dependencies installed [mysql]
Use this mysql commands to create the database:
[mythcat@desk myapp]$ mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 18
Server version: 10.2.17-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database adonis;
Query OK, 1 row affected (0.11 sec)

MariaDB [(none)]> exit;
Bye 
Let's test migration command for files to allow you to create and delete tables.
[mythcat@desk myapp]$ adonis migration:run
migrate: 1503248427885_user.js
migrate: 1503248427886_token.js
Database migrated successfully in 4.11 s
[mythcat@desk myapp]$ adonis make:migration jobs
> Choose an action undefined
✔ create  database/migrations/1537095058367_jobs_schema.js
Now that our database and tables have been created, I can create a model for handling jobs table and associated data.
The next tasks to follow depends by your website:

  • Creating a Model 
  • Creating a Controller 
  • User Authentication

Thursday, September 13, 2018

Fedora: LibreOffice remote connection.

I wrote a tutorial about remote connection in LibreOffice, see this article.
The main problem with LibreOffice development is the changes.
Now the feature Open remote is not working.
The bug is officially recognized and represented, see the page.
They inform us, see comment 31:
  John R Mead 2017-12-17 22:43:03 UTC Well, it still doesn't work with LibreOffice Version: 6.0.0.0.beta1 (x64); I'm not providing screenshots this time since it's identical in everyway to my previous attempts. At the end of all the copy/pasting between LibreOffice and my browser to get all the relevent permissions, when I finally make the attempt to connect, I get the same message: The specified device is invalid. 

Current system configuration of potentially relevant software: 

Windows 10 Professional (x64) Version 1709 (build 16299.125) 
Java 9.0.1 
Microsoft - OneDrive version 17.25.1.0 (x64) 
LibreOffice Version: 6.0.0.0.beta1 (x64)

It's a common practice to see open source software with bugs, most bugs are already available to users to avoid problems.
Most backup bugs are authentication and changes in development.

Monday, September 10, 2018

Fedora 28 : The Revel framework with golang.

The development team has a very effective text:
A high productivity, full-stack web framework for the Go language.
They used this words:
Revel provides routing, parameter parsing, validation, session/flash, templating, caching, job running, a testing framework, and even internationalization. I tested it yesterday and today I will show you how effective it is.
This framework is very easy to install and use it with Fedora 28.
I could say this is like django framework with the temptation style.
Let's start with a simple example into a folder created by me and named gocode:
[mythcat@desk ~]$ mkdir ~/gocode
[mythcat@desk ~]$ export GOPATH=~/gocode
[mythcat@desk ~]$ echo export GOPATH=$GOPATH >> ~/.bash_profile
[mythcat@desk ~]$ cd gocode/
[mythcat@desk gocode]$ go get github.com/revel/revel
[mythcat@desk gocode]$ ls
pkg  src
[mythcat@desk gocode]$ go get github.com/revel/cmd/revel
[mythcat@desk gocode]$ ls
bin  pkg  src
[mythcat@desk gocode]$ export PATH="$PATH:$GOPATH/bin"
[mythcat@desk gocode]$ revel helpDEBUG 19:24:09  revel  server.go:27: arguments by adding nil
~
~ revel! http://revel.github.io
~
usage: revel command [arguments]

The commands are:

    new         create a skeleton Revel application
    run         run a Revel application
    build       build a Revel application (e.g. for deployment)
    package     package a Revel application (e.g. for deployment)
    clean       clean a Revel application's temp files
    test        run all tests from the command-line
    version     displays the Revel Framework and Go version

Use "revel help [command]" for more information.
[mythcat@desk gocode]$ ls
bin  pkg  src
[mythcat@desk gocode]$ revel new myapp
DEBUG 19:38:50  revel  server.go:27: RegisterServerEngine: Registered engine 
~
~ revel! http://revel.github.io
~
Your application is ready:
   /home/mythcat/gocode/src/myapp

You can run it with:
   revel run myapp
[mythcat@desk gocode]$ revel run myapp
DEBUG 19:39:15  revel  server.go:27: RegisterServerEngine: Registered engine 
~
~ revel! http://revel.github.io
~
Trying to build with myapp (0x0,0x0)
DEBUG 19:39:15  revel module.go:152: Sorted keys  section=module keys=module.static 
...
Let's see the source code - in this case the default files: app.go and Index.html .
[mythcat@desk gocode]$ cd src/myapp/app/
[mythcat@desk app]$ ls
controllers  init.go  routes  tmp  views
[mythcat@desk app]$ cd controllers/
[mythcat@desk controllers]$ ls
app.go
[mythcat@desk controllers]$ cat app.go 
package controllers

import (
    "github.com/revel/revel"
)

type App struct {
    *revel.Controller
}

func (c App) Index() revel.Result {
    return c.Render()
}

[mythcat@desk App]$ cat Index.html 
The cat command will show the source code of Index.html file.
Let's add a golang variable named greeting to app.go and Index.html files:
[mythcat@desk controllers]$ cat app.go 
package controllers

import (
    "github.com/revel/revel"
)

type App struct {
    *revel.Controller
}

func (c App) Index() revel.Result {
    greeting := "Fedora and revel framework !"
    return c.Render(greeting)
} 
This variable greeting will will be add into file Index.html with tag p after It works!
This is result of two screenshots from start install and after I change with the variable greeting.

Thursday, August 9, 2018

Fedora 28 : Linux application with node.js and Electron packager.

Today I make a tutorial about how to use node.js and Electron packager to create cross-platform applications.
The tutorial show you how to create Windows, Linux and Mac OS cross-platform applications and can be found here.
This is result of running the linux application with Fedora 28:

Thursday, August 2, 2018

Fedora 28 : Godot example with linux .

Today I tested a simple example with the game engine named Godot version 3.0.6.
It was created on a Windows 8.1 operating system and exported as a linux application.
I moved the two files to the Fedora 28 operating system.
[mythcat@desk Godot_test_001]$ ll
total 41752
-rw-rw-r--. 1 mythcat mythcat    41092 Aug  2 18:34 Godot_test_001.pck
-rwxrwxr-x. 1 mythcat mythcat 42707653 Aug  2 18:34 Godot_test_001.x86_64
[mythcat@desk Godot_test_001]$ ./Godot_test_001.x86_64 
OpenGL ES 3.0 Renderer: Mesa DRI Intel(R) Ivybridge Desktop 
Mono: Initializing module...
The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `/usr/lib/mono/4.5/mscorlib.dll' directory.
The error occurred from the mono package and I fixed it with the installation using the dnf tool.
[root@desk mythcat]# dnf install mono-core.x86_64
Last metadata expiration check: 1:22:05 ago on Thu 02 Aug 2018 05:30:05 PM EEST.
Dependencies resolved.

...
Installed:
  mono-core.x86_64 4.8.0-14.fc28                 libgdiplus.x86_64 5.6-1.fc28                     
  mono-data.x86_64 4.8.0-14.fc28                 mono-data-sqlite.x86_64 4.8.0-14.fc28            
  mono-extras.x86_64 4.8.0-14.fc28               mono-mvc.x86_64 4.8.0-14.fc28                    
  mono-wcf.x86_64 4.8.0-14.fc28                  mono-web.x86_64 4.8.0-14.fc28                    
  mono-winforms.x86_64 4.8.0-14.fc28            

Complete!
Here's the final result:
[mythcat@desk Godot_test_001]$ ./Godot_test_001.x86_64 
OpenGL ES 3.0 Renderer: Mesa DRI Intel(R) Ivybridge Desktop 
Mono: Initializing module...
Mono: Runtime initialized
Mono: INITIALIZED

Wednesday, August 1, 2018

Fedora 28 : Unusual arguments for the dnf command.

Today I will introduce you in this tutorial some more unusual arguments for the dnf command.

  • first is check which package provides that file;
  • [root@desk mythcat]# dnf provides /etc/httpd/conf/httpd.conf
    Last metadata expiration check: 0:23:46 ago on Wed 01 Aug 2018 09:31:44 AM EEST.
    httpd-2.4.34-3.fc28.x86_64 : Apache HTTP Server
    Repo        : @System
    Matched from:
    Filename    : /etc/httpd/conf/httpd.conf
    
    httpd-2.4.34-3.fc28.x86_64 : Apache HTTP Server
    Repo        : updates
    Matched from:
    Filename    : /etc/httpd/conf/httpd.conf
    
    httpd-2.4.33-2.fc28.x86_64 : Apache HTTP Server
    Repo        : fedora
    Matched from:
    Filename    : /etc/httpd/conf/httpd.conf
  • get detailed information of a package can be viewed with the ‘info’ argument;
  • [root@desk mythcat]# dnf info httpd
    Last metadata expiration check: 0:29:01 ago on Wed 01 Aug 2018 09:31:44 AM EEST.
    Installed Packages
    Name         : httpd
    Version      : 2.4.34
    Release      : 3.fc28
    Arch         : x86_64
    Size         : 4.2 M
    Source       : httpd-2.4.34-3.fc28.src.rpm
    Repo         : @System
    From repo    : updates
    Summary      : Apache HTTP Server
    URL          : https://httpd.apache.org/
    License      : ASL 2.0
    Description  : The Apache HTTP Server is a powerful, efficient, and extensible
                 : web server.
  • allows us to see what has happened to our Linux system over time, and even undo, redo, or roll back a transaction;
  • [root@desk mythcat]# dnf history
    ID     | Command line             | Date and time    | Action(s)      | Altered
    -------------------------------------------------------------------------------
       178 | upgrade                  | 2018-08-01 09:33 | Update         |   27   
       177 | upgrade                  | 2018-07-31 12:54 | Update         |   11   
       176 | upgrade                  | 2018-07-30 20:43 | Update         |    1
  • take actions will be quicker with the ‘makecache’ argument
  • [root@desk mythcat]# time dnf makecache
    Last metadata expiration check: 0:34:10 ago on Wed 01 Aug 2018 09:31:44 AM EEST.
    Metadata cache created.
    
    real    0m4.529s
    user    0m1.420s
    sys    0m0.229s
  • list all packages that are currently installed on your Linux system;
  • [root@desk mythcat]# dnf list installed
    Installed Packages
    CharLS.x86_64                          1.0-16.fc28              @System         
    Field3D.x86_64                         1.7.2-10.fc28            @System         
    GConf2.x86_64                          3.2.6-20.fc28            @updates-testing
    GeoIP.x86_64                           1.6.12-3.fc28            @fedora         
    GeoIP-GeoLite-data.noarch              2018.06-1.fc28           @updates        
    ImageMagick.x86_64                     1:6.9.9.38-1.fc28        @updates-testing
    ImageMagick-c++.x86_64                 1:6.9.9.38-1.fc28        @updates-testing
    ImageMagick-libs.x86_64                1:6.9.9.38-1.fc28        @updates-testing
    LibRaw.x86_64                          0.18.13-1.fc28           @updates        
    ModemManager.x86_64                    1.6.12-3.fc28            @fedora 

Monday, June 25, 2018

Fedora 28 : Using the python module sh .

Today I test another python module named sh with python version 3.6.5 and Fedora 28.
This python module named sh is a full-fledged subprocess replacement for Python 2.6 - 3.5, PyPy and PyPy3 that allows you to call any program as if it were a function.
You can read bout this python module here.
I used dnf tool to search and install the pip tool :
[root@desk mythcat]# dnf search python3
Last metadata expiration check: 1:06:29 ago on Mon 25 Jun 2018 09:35:04 AM EEST.
======================== Name Exactly Matched: python3 =========================
...
python3.x86_64 : Interpreter of the Python programming language
Next step is the install of python programming language:
[root@desk mythcat]# dnf install python3.x86_64 
Last metadata expiration check: 1:09:12 ago on Mon 25 Jun 2018 09:35:04 AM EEST.
Package python3-3.6.5-1.fc28.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
...
I search the pip tool and then I install it:
[root@desk mythcat]# dnf search python3-pip
Last metadata expiration check: 1:15:18 ago on Mon 25 Jun 2018 09:35:04 AM EEST.
====================== Name Exactly Matched: python3-pip ======================
python3-pip.noarch : A tool for installing and managing Python3 packages
...
[root@desk mythcat]# dnf install python3-pip.noarch 
Last metadata expiration check: 1:16:31 ago on Mon 25 Jun 2018 09:35:04 AM EEST.
Package python3-pip-9.0.3-2.fc28.noarch is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
...
The install of this python module into user mode:
[root@desk mythcat]# exit 
exit
...
[mythcat@desk ~]$ pip3.6 install --user sh
Requirement already satisfied: sh in /usr/lib/python3.6/site-packages
See next examples and tests I used :
[mythcat@desk ~]$ python3.6
Python 3.6.5 (default, Mar 29 2018, 18:20:46) 
[GCC 8.0.1 20180317 (Red Hat 8.0.1-0.19)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sh
>>> from sh import *
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 1017, in _handle_fromlist
  File "/usr/lib/python3.6/site-packages/sh.py", line 3349, in __getattr__
    return self.__env[name]
  File "/usr/lib/python3.6/site-packages/sh.py", line 3187, in __getitem__
    Please import sh or import programs individually.")
RuntimeError: Cannot import * from sh. Please import sh or import programs individually.
...
>>> print(sh.ifconfig)
/usr/sbin/ifconfig
>>> print(sh.ifconfig())
...
>>> print(sh.ls())
...
>>> print(sh.ls("-l"))
...
>>> print(sh.uptime())
 11:25:03 up  1:52,  1 user,  load average: 1.10, 1.04, 1.40
...

Saturday, June 23, 2018

Fedora 28 : Starting develop with Flutter .

Today I started with another programming language Dart and Flutter.
The development team tell us about Flutter:
Flutter is Google's mobile UI framework for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
You can read more about this on official webpage:
About linux setup you can read here.
You need also to download the Android Studio I.D.E from official webpage.
You need to install some packages using dnf tool:
[mythcat@desk ~]# dnf install libstdc++.i686
[mythcat@desk ~]#  dnf install curl
Unzip theAndroid Studio I.D.E.into android-studio folder and start it to make settings for android SDK and AVD emulated device:
[mythcat@desk ~]$ cd android-studio/
[mythcat@desk android-studio]$ ls 
bin        gradle                 jre  license      NOTICE.txt
build.txt  Install-Linux-tar.txt  lib  LICENSE.txt  plugins
[mythcat@desk android-studio]$ cd bin/
[mythcat@desk bin]$ ls
appletviewer.policy  idea.properties  printenv.py         studio.sh
format.sh            inspect.sh       restart.py          studio.vmoptions
fsnotifier           lldb             studio64.vmoptions
fsnotifier64         log.xml          studio.png
[mythcat@desk bin]$ ./studio.sh 
Select Plugins to add Dart and Flotter plugins:
You need to install Dart and Flotter plugins, use search:

Download and unarchive the Flutter from official webpage.
Next steps is to set the path for the Flutter and make settings for android licenses:
[mythcat@desk ~]$ export PATH=`pwd`/flutter/bin:$PATH
[mythcat@desk ~]$ cd flutter/
[mythcat@desk flutter]$ ls
analysis_options_repo.yaml  bin              flutter_console.bat  README.md
analysis_options.yaml       CONTRIBUTING.md  LICENSE              version
appveyor.yml                dev              packages
AUTHORS                     examples         PATENTS
[mythcat@desk flutter]$ cd bin/
[mythcat@desk bin]$ ls
cache  flutter  flutter.bat  internal
[mythcat@desk bin]$ ./flutter doctor --android-licenses
Warning: File /home/mythcat/.android/repositories.cfg could not be loaded.      
All SDK package licenses accepted.======] 100% Computing updates...             
[mythcat@desk bin]$ ./flutter doctor 
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.5.1, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.0)
[✓] Android Studio (version 3.1)
[!] Connected devices
    ! No devices available

! Doctor found issues in 1 category.

Use flutter command to get more help :
[mythcat@desk bin]$ ./flutter
Manage your Flutter app development.

Common commands:

  flutter create output directory=""
    Create a new Flutter project in the specified directory.

  flutter run [options]
    Run your Flutter application on an attached device or in an emulator.

Usage: flutter  [arguments]

Global options:
-h, --help            Print this usage information.
-v, --verbose         Noisy logging, including all shell commands executed.
-d, --device-id       Target device id or name (prefixes allowed).
    --version         Reports the version of this tool.
    --bug-report      Captures a bug report file to submit to the Flutter team (contains local paths, device
                      identifiers, and log snippets).

    --flutter-root    The root directory of the Flutter repository (uses $FLUTTER_ROOT if set).

Available commands:
  analyze          Analyze the project's Dart code.
  build            Flutter build commands.
  channel          List or switch flutter channels.
  clean            Delete the build/ directory.
  config           Configure Flutter settings.
  create           Create a new Flutter project.
  devices          List all connected devices.
  doctor           Show information about the installed tooling.
  drive            Runs Flutter Driver tests for the current project.
  emulators        List and launch available emulators.
  format           Format one or more dart files.
  fuchsia_reload   Hot reload on Fuchsia.
  help             Display help information for flutter.
  install          Install a Flutter app on an attached device.
  logs             Show log output for running Flutter apps.
  packages         Commands for managing Flutter packages.
  precache         Populates the Flutter tool's cache of binary artifacts.
  run              Run your Flutter app on an attached device.
  screenshot       Take a screenshot from a connected device.
  stop             Stop your Flutter app on an attached device.
  test             Run Flutter unit tests for the current project.
  trace            Start and stop tracing for a running Flutter app.
  upgrade          Upgrade your copy of Flutter.

Run "flutter help " for more information about a command. 
                                                                                                                                                                                                                                                                                                
Run "flutter help -v" for verbose help output, including less commonly used options.
Restart the Android Studio and create your first Flutter application.
You need to have all settings for your devices or emulated AVD devices to build and develop your android application.

Tuesday, June 19, 2018

Fedora 28 : The Powertop tool from Intel.

The Powertop is a tool provided by Intel to enable various powersaving modes in userspace, kernel and hardware.
Using this tool is possible to monitor processes and show which of them are utilizing the CPU and wake it from its Idle-States.
The tool allowing you to identify applications with particular high power demands.
The name of this tool powertop.x86_64 come from : Power consumption monitor.
Let's install and set this tool to Fedora 28 distro linux:
[root@desk mythcat]# dnf install powertop.x86_64 
Last metadata expiration check: 0:32:08 ago on Tue 19 Jun 2018 10:19:39 AM EEST.
Dependencies resolved.
================================================================================
 Package           Arch            Version               Repository        Size
================================================================================
Installing:
 powertop          x86_64          2.9-8.fc28            updates          239 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 239 k
Installed size: 650 k
Is this ok [y/N]: y
Downloading Packages:
powertop-2.9-8.fc28.x86_64.rpm                  112 kB/s | 239 kB     00:02    
--------------------------------------------------------------------------------
Total                                            71 kB/s | 239 kB     00:03     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : powertop-2.9-8.fc28.x86_64                             1/1 
  Running scriptlet: powertop-2.9-8.fc28.x86_64                             1/1 
  Verifying        : powertop-2.9-8.fc28.x86_64                             1/1 

Installed:
  powertop.x86_64 2.9-8.fc28                                                    

Complete!
You need root privileges to run this tool :
[mythcat@desk ~]$ powertop --calibrate --debug
PowerTOP v2.9 must be run with root privileges.
exiting...
The help output of this tool :
[root@desk mythcat]# powertop --help

Usage: powertop [OPTIONS]

     --auto-tune     sets all tunable options to their GOOD setting
 -c, --calibrate     runs powertop in calibration mode
 -C, --csv[=filename]     generate a csv report
     --debug         run in "debug" mode
     --extech[=devnode]     uses an Extech Power Analyzer for measurements
 -r, --html[=filename]     generate a html report
 -i, --iteration[=iterations] number of times to run each test
 -q, --quiet         suppress stderr output
 -s, --sample[=seconds]     interval for power consumption measurement
 -t, --time[=seconds]     generate a report for 'x' seconds
 -w, --workload[=workload] file to execute for workload
 -V, --version         print version information
 -h, --help         print this help menu

For more help please refer to the 'man 8 powertop'
To run the program and enable its background services, use the commands below:
[root@desk mythcat]# systemctl start powertop.service
[root@desk mythcat]# systemctl enable powertop.service
Created symlink /etc/systemd/system/multi-user.target.wants/powertop.service → /usr/lib/systemd/system/powertop.service.
This is my output with powertop calibrate :
[root@desk mythcat]# powertop --calibrate --debug
modprobe cpufreq_stats failedLoaded 0 prior measurements
RAPL device for cpu 0
RAPL Using PowerCap Sysfs : Domain Mask d
RAPL device for cpu 0
RAPL Using PowerCap Sysfs : Domain Mask d
Devfreq not enabled
glob returned GLOB_ABORTED
Starting PowerTOP power estimate calibration 
Calibrating idle
System is not available
System is not available
Calibrating: disk usage 
Calibrating backlight
Calibrating idle
System is not available
System is not available
Calibrating: CPU usage on 1 threads
Calibrating: CPU usage on 4 threads
Calibrating: CPU wakeup power consumption
Calibrating: CPU wakeup power consumption
Calibrating: CPU wakeup power consumption
Calibrating USB devices
.... device /sys/bus/usb/devices/2-1/power/control 
.... device /sys/bus/usb/devices/usb1/power/control 
.... device /sys/bus/usb/devices/1-1.3/power/control 
.... device /sys/bus/usb/devices/1-1/power/control 
.... device /sys/bus/usb/devices/usb2/power/control 
Calibrating radio devices
Finishing PowerTOP power estimate calibration 
Parameters after calibration:


Parameter state 
----------------------------------
Value        Name
 0.50        alsa-codec-power (12)
 0.00        backlight (4)
 0.00        backlight-boost-100 (8)
 0.00        backlight-boost-40 (6)
 0.00        backlight-boost-80 (7)
 0.00        backlight-power (5)
 2.33        base power (70)
 1.56        cpu-consumption (3)
39.50        cpu-wakeups (2)
 0.00        disk-operations (73)
 0.20        disk-operations-hard (72)
 0.00        enp2s0-link-100 (21)
 0.00        enp2s0-link-1000 (22)
 0.00        enp2s0-link-high (23)
 0.00        enp2s0-packets (24)
 0.00        enp2s0-powerunsave (20)
 0.00        enp2s0-up (19)
 0.56        gpu-operations (71)
 0.00        runtime-0000:00:00.0 (34)
 0.00        runtime-0000:00:02.0 (37)
 0.00        runtime-0000:00:16.0 (44)
 0.00        runtime-0000:00:1a.0 (35)
 0.00        runtime-0000:00:1b.0 (45)
 0.00        runtime-0000:00:1c.0 (41)
 0.00        runtime-0000:00:1c.2 (38)
 0.00        runtime-0000:00:1c.3 (31)
 0.00        runtime-0000:00:1d.0 (36)
 0.00        runtime-0000:00:1e.0 (32)
 0.00        runtime-0000:00:1f.0 (42)
 0.00        runtime-0000:00:1f.2 (39)
 0.00        runtime-0000:00:1f.3 (33)
 0.00        runtime-0000:02:00.0 (43)
 0.00        runtime-0000:03:00.0 (40)
 0.00        runtime-Fixed MDIO bus.0 (57)
 0.00        runtime-INT0800:00 (52)
 0.00        runtime-PNP0103:00 (49)
 0.00        runtime-PNP0800:00 (48)
 0.00        runtime-PNP0C04:00 (51)
 0.00        runtime-PNP0C0C:00 (58)
 0.00        runtime-alarmtimer (54)
 0.00        runtime-coretemp.0 (55)
 0.00        runtime-gpio_ich.1.auto (47)
 0.00        runtime-i2c-0 (67)
 0.00        runtime-i2c-1 (63)
 0.00        runtime-i2c-2 (66)
 0.00        runtime-i2c-3 (62)
 0.00        runtime-i2c-4 (65)
 0.00        runtime-i2c-5 (69)
 0.00        runtime-i2c-6 (64)
 0.00        runtime-i2c-7 (68)
 0.00        runtime-i8042 (60)
 0.00        runtime-iTCO_wdt.0.auto (61)
 0.00        runtime-microcode (53)
 0.00        runtime-pcspkr (56)
 0.00        runtime-platform-framebuffer.0 (50)
 0.00        runtime-reg-dummy (46)
 0.00        runtime-serial8250 (59)
 0.10        usb-device-1d6b-0002 (10)
 0.10        usb-device-248a-8366 (11)
 0.10        usb-device-8087-0024 (9)
 0.00        virbr0-link-100 (15)
 0.00        virbr0-link-1000 (16)
 0.00        virbr0-link-high (17)
 0.00        virbr0-nic-link-100 (27)
 0.00        virbr0-nic-link-1000 (28)
 0.00        virbr0-nic-link-high (29)
 0.00        virbr0-nic-packets (30)
 0.00        virbr0-nic-powerunsave (26)
 0.00        virbr0-nic-up (25)
 0.00        virbr0-packets (18)
 0.00        virbr0-powerunsave (14)
 0.00        virbr0-up (13)
 0.10        xwakes (74)

Score:    0.0  (  0.0)
Guess:    2.3
Actual:   0.0
----------------------------------
Learning debugging enabled


Parameter state 
----------------------------------
Value        Name
 0.50        alsa-codec-power (12)
 0.00        backlight (4)
 0.00        backlight-boost-100 (8)
 0.00        backlight-boost-40 (6)
 0.00        backlight-boost-80 (7)
 0.00        backlight-power (5)
 2.33        base power (70)
 1.56        cpu-consumption (3)
39.50        cpu-wakeups (2)
 0.00        disk-operations (73)
 0.20        disk-operations-hard (72)
 0.00        enp2s0-link-100 (21)
 0.00        enp2s0-link-1000 (22)
 0.00        enp2s0-link-high (23)
 0.00        enp2s0-packets (24)
 0.00        enp2s0-powerunsave (20)
 0.00        enp2s0-up (19)
 0.56        gpu-operations (71)
 0.00        runtime-0000:00:00.0 (34)
 0.00        runtime-0000:00:02.0 (37)
 0.00        runtime-0000:00:16.0 (44)
 0.00        runtime-0000:00:1a.0 (35)
 0.00        runtime-0000:00:1b.0 (45)
 0.00        runtime-0000:00:1c.0 (41)
 0.00        runtime-0000:00:1c.2 (38)
 0.00        runtime-0000:00:1c.3 (31)
 0.00        runtime-0000:00:1d.0 (36)
 0.00        runtime-0000:00:1e.0 (32)
 0.00        runtime-0000:00:1f.0 (42)
 0.00        runtime-0000:00:1f.2 (39)
 0.00        runtime-0000:00:1f.3 (33)
 0.00        runtime-0000:02:00.0 (43)
 0.00        runtime-0000:03:00.0 (40)
 0.00        runtime-Fixed MDIO bus.0 (57)
 0.00        runtime-INT0800:00 (52)
 0.00        runtime-PNP0103:00 (49)
 0.00        runtime-PNP0800:00 (48)
 0.00        runtime-PNP0C04:00 (51)
 0.00        runtime-PNP0C0C:00 (58)
 0.00        runtime-alarmtimer (54)
 0.00        runtime-coretemp.0 (55)
 0.00        runtime-gpio_ich.1.auto (47)
 0.00        runtime-i2c-0 (67)
 0.00        runtime-i2c-1 (63)
 0.00        runtime-i2c-2 (66)
 0.00        runtime-i2c-3 (62)
 0.00        runtime-i2c-4 (65)
 0.00        runtime-i2c-5 (69)
 0.00        runtime-i2c-6 (64)
 0.00        runtime-i2c-7 (68)
 0.00        runtime-i8042 (60)
 0.00        runtime-iTCO_wdt.0.auto (61)
 0.00        runtime-microcode (53)
 0.00        runtime-pcspkr (56)
 0.00        runtime-platform-framebuffer.0 (50)
 0.00        runtime-reg-dummy (46)
 0.00        runtime-serial8250 (59)
 0.10        usb-device-1d6b-0002 (10)
 0.10        usb-device-248a-8366 (11)
 0.10        usb-device-8087-0024 (9)
 0.00        virbr0-link-100 (15)
 0.00        virbr0-link-1000 (16)
 0.00        virbr0-link-high (17)
 0.00        virbr0-nic-link-100 (27)
 0.00        virbr0-nic-link-1000 (28)
 0.00        virbr0-nic-link-high (29)
 0.00        virbr0-nic-packets (30)
 0.00        virbr0-nic-powerunsave (26)
 0.00        virbr0-nic-up (25)
 0.00        virbr0-packets (18)
 0.00        virbr0-powerunsave (14)
 0.00        virbr0-up (13)
 0.10        xwakes (74)

Score:    0.0  (  0.0)
Guess:    2.3
Actual:   0.0
----------------------------------
Now we can sets all tunable options to their GOOD setting:
[root@desk mythcat]# powertop --auto-tune
modprobe cpufreq_stats failedLoaded 0 prior measurements
RAPL device for cpu 0
RAPL Using PowerCap Sysfs : Domain Mask d
RAPL device for cpu 0
RAPL Using PowerCap Sysfs : Domain Mask d
Devfreq not enabled
glob returned GLOB_ABORTED
Leaving PowerTOP

Monday, June 18, 2018

Fedora 28 : Godot game engine.

Today I tested the new version of Godot game engine - version 3.0.3 .
You can download it from official webpage.
I used the 64 bit version.
After download and unzip you can run the binary file in your user terminal.
The Godot game engine start with a GUI.
Into the right area of screen into Scene tab two objects: Spatial and Camera.
You need to select or add a WoldEnvironment node.
Take a look to the Inspector and use with New Environment .
Run this with the play icon.
If is all right you can see something like this:

Create e new folder into your project and name it Export.
Copy the mscorelib.dll into this folder.
Go to main menu and select Project - Export and you will see this GUI for export your game.
Press Add button to select Linux/X11 output:
Select Linux and press Export Project button.
Go to Export folder and run from your linux terminal your game.
This game engine working well with Fedora 28 and the export running without errors.

Friday, June 15, 2018

Fedora 28 : ARM programming and testing .

This is a simple tutorial about ARM programming and QEMU:
The test.c program is this :
volatile unsigned int * const UART0DR = (unsigned int *)0x101f1000;
 
void print_uart0(const char *s) {
 while(*s != '\0') { /* Loop until end of string */
 *UART0DR = (unsigned int)(*s); /* Transmit char */
 s++; /* Next char */
 }
}
 
void c_entry() {
 print_uart0("Hello world!\n");
}

Using volatile keyword is necessary to instruct the compiler that the memory pointed.
The unsigned int type enforces 32-bits read and write access.
The QEMU model like in a real system on chip the Transmit FIFO Full flag must be checked in the UARTFR register before writing on the UARTDR register.
Create the startup.s assembler file:
.global _Reset
_Reset:
 LDR sp, =stack_top
 BL c_entry
 B .
Create the script linker named test.ld:
ENTRY(_Reset)
SECTIONS
{
 . = 0x10000;
 .startup . : { startup.o(.text) }
 .text : { *(.text) }
 .data : { *(.data) }
 .bss : { *(.bss COMMON) }
 . = ALIGN(8);
 . = . + 0x1000; /* 4kB of stack memory */
 stack_top = .;
}
Next step is the install of arm-none-eabi x86_64 tools :
[root@desk arm-source]# dnf install arm-none-eabi-gcc-cs-c++.x86_64 
Last metadata expiration check: 1:54:04 ago on Fri 15 Jun 2018 06:55:54 PM EEST.
Package arm-none-eabi-gcc-cs-c++-1:7.1.0-5.fc27.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
[root@desk arm-source]# dnf install arm-none-eabi-gdb.x86_64 
Last metadata expiration check: 1:54:48 ago on Fri 15 Jun 2018 06:55:54 PM EEST.
Package arm-none-eabi-gdb-7.6.2-4.fc24.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
[mythcat@desk arm-source]$ ll
total 12
-rw-rw-r--. 1 mythcat mythcat  60 Jun 15 20:28 startup.s
-rw-rw-r--. 1 mythcat mythcat 288 Jun 15 20:26 test.c
-rw-rw-r--. 1 mythcat mythcat 223 Jun 15 20:29 test.ld
Let's test this with qemu virtual tool ( use Ctr+A and X keys to stop qemu) :
[mythcat@desk arm-source]$ qemu-system-arm -M versatilepb -m 64M -nographic -kernel test.bin
pulseaudio: set_sink_input_volume() failed
pulseaudio: Reason: Invalid argument
pulseaudio: set_sink_input_mute() failed
pulseaudio: Reason: Invalid argument
Hello world!
QEMU: Terminated

Friday, June 1, 2018

Fedora 28 : Using python to create old GUI.

The asciimatics python module provides a widgets sub-package that allows you to create interactive text user interfaces.
This python module let you to create full-screen text UIs and interactive forms to ASCII animations. The python module was created to working with any platform and python version 2 and 3.
It is licensed under the Apache Software Foundation License 2.0 , see this license here .
Let see the installation process using the Fedora 28 and python version 3.6:
[root@desk mythcat]# dnf install python3
Last metadata expiration check: 2:39:44 ago on Fri 01 Jun 2018 12:51:55 PM EEST.
Package python3-3.6.5-1.fc28.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
You need also to install the asciimatics python module using pip tool:
[mythcat@desk ~]$ pip3.6 install --user asciimatics
Collecting asciimatics
  Using cached https://files.pythonhosted.org/packages/.../asciimatics-1.9.0-py2.py3-none-any.whl
Requirement already satisfied: future in /usr/local/lib/python3.6/site-packages (from asciimatics)
Requirement already satisfied: wcwidth in /usr/local/lib/python3.6/site-packages (from asciimatics)
Requirement already satisfied: Pillow>=2.7.0 in /usr/lib64/python3.6/site-packages (from asciimatics)
Requirement already satisfied: pyfiglet>=0.7.2 in /usr/local/lib/python3.6/site-packages (from asciimatics)
Installing collected packages: asciimatics
Successfully installed asciimatics-1.9.0
I tested some sample from the author github account and is working good.
Some samples require some extra python module and you will need to install them.

Wednesday, May 30, 2018

Fedora 28 : The Lynis and system security .

Lynis is a lightweight and easy open source auditing tool to evaluate current system security.
The official webpage can be found here.
I tested the version 263 and now the Fedora development team test the 264 version.
This tool will show you a detailed report of each and every aspect of system :
  • Boot and services
  • Kernel
  • Memory and processes
  • Users, groups, and authentication
  • File systems
  • Home directories
  • File permissions
  • Software: Malware
  • Security frameworks
  • Logging and files
  • SSH support
# dnf install lynis 
# lynis audit system  >> lynix_out.txt
The result is a text file ( 27 Kb sized for my system ) with all infos about your current system security.

Saturday, May 26, 2018

Fedora 28 : Can you fix your Fedora !?

Fedora Packages have a different installation and development process thanks to testing and development teams.
Note: The common user may have networking problems and these will still lead to further errors.
A common error that should be more documented and constrained is:
Error: Failed to synchronize cache for repo 'updates'.

If you did not have intruders in the computer or provider changes to modify this process, then here are some elements that help you understand how it works.
The process of cleanup of temporary files kept for repositories and update / upgrade is still a testing and development process.
This includes any such data left behind from disabled or removed repositories as well as for different distribution release versions.
  • dnf clean dbcache : this removes cache files generated from the repository metadata and forces DNF to regenerate the cache files the next time it is run.
  • dnf clean expire-cache : this marks the repository metadata expired and will re-validate the cache for each repo the next time it is used.
  • dnf clean metadata : just removes repository metadata files which is uses to determine the remote availability of packages and will make to download all the metadata the next time it is run.
  • dnf clean packages :  removes any cached packages from the system.
  • dnf clean all : does all of the above.
You can mix these commands so you can get the desired effect with the shell tool dnf , see this example:
dnf update --refresh
This will make a update but with this feature: --refresh will set metadata as expired before running the command.

Friday, May 25, 2018

Fedora 28 : Video about development and fix packages.

The fedora 28 distribution is an advanced Linux distribution that includes tools and is supported by the fedora community.
The clear and essential reason for the right development is the learning area.
Here's a great video tutorial about developing fedora packets and that's very useful.

I do not know what it is with this group name the Factory 2.0 devel group , but they are very useful information.

Friday, May 11, 2018

Fedora 28 : The LibreCAD application.

LibreCAD - originally CADuntu is a free Open Source CAD application and today I tested with my Fedora 28.
The content for this application is available under Creative Commons Attribution Share Alike. LibreCAD is a free and open-source and can be downloaded from official webpage.
Let's see the install process of this tool:
[root@desk mythcat]# dnf install librecad.x86_64
Last metadata expiration check: 3:00:39 ago on Fri 11 May 2018 07:51:19 PM EEST.
Dependencies resolved.
================================================================================
 Package                  Arch          Version             Repository     Size
================================================================================
Installing:
 librecad                 x86_64        2.1.0-7.fc28        fedora        2.3 M
Installing dependencies:
 libdxfrw                 x86_64        0.6.3-8.fc28        fedora        438 k
 librecad-fonts           noarch        2.1.0-7.fc28        fedora         11 M
 librecad-langs           noarch        2.1.0-7.fc28        fedora        603 k
 librecad-parts           noarch        2.1.0-7.fc28        fedora        903 k
 librecad-patterns        noarch        2.1.0-7.fc28        fedora        217 k
 shapelib                 x86_64        1.4.1-2.fc28        fedora         80 k

Transaction Summary
================================================================================
Install  7 Packages

Total download size: 15 M
Installed size: 109 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): libdxfrw-0.6.3-8.fc28.x86_64.rpm         658 kB/s | 438 kB     00:00    
(2/7): librecad-langs-2.1.0-7.fc28.noarch.rpm   1.4 MB/s | 603 kB     00:00    
(3/7): librecad-2.1.0-7.fc28.x86_64.rpm         1.5 MB/s | 2.3 MB     00:01    
(4/7): librecad-parts-2.1.0-7.fc28.noarch.rpm   1.6 MB/s | 903 kB     00:00    
(5/7): shapelib-1.4.1-2.fc28.x86_64.rpm         1.3 MB/s |  80 kB     00:00    
(6/7): librecad-patterns-2.1.0-7.fc28.noarch.rp 1.3 MB/s | 217 kB     00:00    
(7/7): librecad-fonts-2.1.0-7.fc28.noarch.rpm   3.0 MB/s |  11 MB     00:03    
--------------------------------------------------------------------------------
Total                                           3.5 MB/s |  15 MB     00:04     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : shapelib-1.4.1-2.fc28.x86_64                           1/7 
  Running scriptlet: shapelib-1.4.1-2.fc28.x86_64                           1/7 
  Installing       : librecad-patterns-2.1.0-7.fc28.noarch                  2/7 
  Installing       : librecad-parts-2.1.0-7.fc28.noarch                     3/7 
  Installing       : librecad-langs-2.1.0-7.fc28.noarch                     4/7 
  Installing       : librecad-fonts-2.1.0-7.fc28.noarch                     5/7 
  Installing       : libdxfrw-0.6.3-8.fc28.x86_64                           6/7 
  Running scriptlet: libdxfrw-0.6.3-8.fc28.x86_64                           6/7 
  Installing       : librecad-2.1.0-7.fc28.x86_64                           7/7 
  Running scriptlet: librecad-2.1.0-7.fc28.x86_64                           7/7 
  Verifying        : librecad-2.1.0-7.fc28.x86_64                           1/7 
  Verifying        : libdxfrw-0.6.3-8.fc28.x86_64                           2/7 
  Verifying        : librecad-fonts-2.1.0-7.fc28.noarch                     3/7 
  Verifying        : librecad-langs-2.1.0-7.fc28.noarch                     4/7 
  Verifying        : librecad-parts-2.1.0-7.fc28.noarch                     5/7 
  Verifying        : librecad-patterns-2.1.0-7.fc28.noarch                  6/7 
  Verifying        : shapelib-1.4.1-2.fc28.x86_64                           7/7 

Installed:
  librecad.x86_64 2.1.0-7.fc28          libdxfrw.x86_64 0.6.3-8.fc28            
  librecad-fonts.noarch 2.1.0-7.fc28    librecad-langs.noarch 2.1.0-7.fc28      
  librecad-parts.noarch 2.1.0-7.fc28    librecad-patterns.noarch 2.1.0-7.fc28   
  shapelib.x86_64 1.4.1-2.fc28         

Complete!
I start the application from command shell and this is the output I got.
[mythcat@desk ~]$ librecad 
RS_DEBUG::setLevel(3)
RS_DEBUG: Critical
RS_DEBUG: Errors
RS_DEBUG: Warnings
libpng warning: iCCP: known incorrect sRGB profile
The application works great I don't know from where come the errors.
You can used to test your skills into the area of
The official manual can be found here.
This is a screenshot from my Fedora 28 distro:

Fedora 28 : The Spin tool for 2D animation.

Spine is 2D skeletal animation tool for your video games.
This tool come with features to building great looking animations.
Spine exports animation data in its own, documented JSON and binary formats.
You can export animated GIFs, PNG or JPEG image sequences and AVI or QuickTime video.
I install the trial version into my Fedora 28 distro easy.
First you need to download it and unarchive from official website.
The next step will start with this command:
[mythcat@desk ~]$ cd SpineTrial/
[mythcat@desk SpineTrial]$ dir
examples  launcher  license.txt  runtimes  scripts  SpineTrial.sh
[mythcat@desk SpineTrial]$ sh SpineTrial.sh 
Spine Launcher 3.6.49 Trial
Linux amd64 4.16.6-302.fc28.x86_64
Java 1.7.0_80 Esoteric Software
64-bit Server VM
Downloading: Spine 3.7.16-beta Trial
Update complete.
Spine 3.7.16-beta Trial
Intel Open Source Technology Center
Mesa DRI Intel(R) Ivybridge Desktop 
3.0 Mesa 18.0.2
Resetting hotkeys (new version).
Using customized hotkeys.
Started.
May 10, 2018 6:54:08 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock System prefs. Unix error code 0.
May 10, 2018 6:54:08 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: 
Couldn't get file lock.
May 10, 2018 6:54:38 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock System prefs. Unix error code 0.
May 10, 2018 6:54:38 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: 
Couldn't get file lock
You can some warnings but the tool works great.
More about graphics and linux design you can find articles on my web site.
Look at these screenshots with Spine tool:

Monday, April 23, 2018

Fedora 28 : The OpenShot video editor.

This is a video editor for linux and many operating systems. I tested with Fedora 28 and works good. The install of this is very simple with dnf tool:
# dnf install openshot.noarch
The development team add many features into this software:
Feature list
Cross-platform video editing software (Linux, Mac, and Windows)
Support for many video, audio, and image formats
Powerful curve-based Key frame animations
Desktop integration (drag and drop support)
Unlimited tracks / layers
Clip resizing, scaling, trimming, snapping, rotation, and cutting
Video transitions with real-time previews
Compositing, image overlays, watermarks
Title templates, title creation, sub-titles
3D animated titles (and effects)
Advanced Timeline (including Drag & drop, scrolling, panning, zooming, and snapping)
Frame accuracy (step through each frame of video)
Time-mapping and speed changes on clips (slow/fast, forward/backward, etc...)
Audio mixing and editing
Digital video effects, including brightness, gamma, hue, greyscale, chroma key (bluescreen / greenscreen) , and many more!
The license for this software is this:
License OpenShot™ is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This is a screenshot on my Fedora distro.

Tuesday, April 17, 2018

Fedora 28 : GoLang first example .

This tutorial is about GoLang IDE . About this IDE you can read more here - my intro article about this IDE.
I try to used with the platform-native GUI library for Go named andlabs/ui.
First, after you install the IDE you can check the settings on menu Settings: Using this tool with Fedora 28 is easy.
About the first install of andlabs/ui then this come with this error:
[mythcat@desk ~]$ go get github.com/andlabs/ui
# pkg-config --cflags gtk+-3.0
Package gtk+-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-3.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'gtk+-3.0', required by 'virtual:world', not found
pkg-config: exit status 1
That tell us is need to install some packages from Fedora repo:
# dnf install gtk3-devel
I used this source code to test the andlabs/ui:
package main

import (
   "github.com/andlabs/ui"
)

func main() {
   err := ui.Main(func() {
      input := ui.NewEntry()
      button := ui.NewButton("Greet")
      greeting := ui.NewLabel("")
      box := ui.NewVerticalBox()
      box.Append(ui.NewLabel("Enter your name:"), false)
      box.Append(input, false)
      box.Append(button, false)
      box.Append(greeting, false)
      window := ui.NewWindow("Hello", 200, 100, false)
      window.SetMargined(true)
      window.SetChild(box)
      button.OnClicked(func(*ui.Button) {
         greeting.SetText("Hello, " + input.Text() + "!")
      })
      window.OnClosing(func(*ui.Window) bool {
         ui.Quit()
         return true
      })
      window.Show()
   })
   if err != nil {
      panic(err)
   }
}
First time was run well and after I restart the IDE I got this error:
# gui_test
/usr/lib/golang/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
gcc: error: /home/mythcat/go/src/github.com/andlabs/ui/libui_linux_amd64.a: No such file or directory

The problem come from GoLang IDE settings and andlabs/ui.
I remove and install again the andlabs/ui and now working well.
The result of this source code come with this output:

Saturday, April 14, 2018

Fedora 28 : The VS Code on Fedora.

The Visual Studio Code is an editor for development and includes the features you need for highly productive source code editing. You can use this editor with many linux distros. Today I tested with Fedora 28 distro version.
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/
vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
Then use dnf to check and install this editor.
#dnf check-update
#dnf install code
Next step is to install extensions for Python, Golang, PHP, C# and more.

Saturday, April 7, 2018

Fedora 28 : Golang by JetBrains .

This I.D.E. is a commercial and a free 30-day trial.
The price varies :
  • € 199.00 /1st year
  • € 159.00 /2nd year
  • € 119.00 /3rd yr onwards
JetBrains s.r.o. is a software development company whose tools are targeted towards software developers and project managers. 
... 
JetBrains, creator of the leading Java IDE - IntelliJ IDEA - is a cutting-edge software vendor specializing in the creation of intelligent development tools.

The development team come with this infos about the Golang I.D.E. :
GoLand is a new commercial IDE by JetBrains aimed at providing an ergonomic environment for Go development.
... 
The new IDE extends the IntelliJ platform with the coding assistance and tool integrations specific for the Go language.

You can download it from here.
The tree command show install files:
[mythcat@desk bin]$ tree
.
├── format.sh
├── fsnotifier
├── fsnotifier64
├── fsnotifier-arm
├── goland64.vmoptions
├── goland.png
├── goland.sh
├── goland.vmoptions
├── idea.properties
├── inspect.sh
├── libyjpagent-linux64.so
├── libyjpagent-linux.so
├── log.xml
├── printenv.py
└── restart.py

0 directories, 15 files

Some screenshots with this  linux tool:





Sunday, April 1, 2018

Fedora 27 : Fix your distro with systemctl .

This is a simple tutorial about systemctl tool and how to fix one simple error show by status. The help of this cmmand can be found with:
# man systemctl
Let's see how we can see this errors and how this working. First let's see the status for systemctl command (:
# systemctl status
The output is this:
    ● laptop
    State: degraded
     Jobs: 0 queued
   Failed: 1 units
    Since: Sun 2018-04-01 10:44:37 EEST; 58min ago
   CGroup: /
           ├─user.slice
           │ └─user-1000.slice
           │   ├─user@1000.service
           │   │ └─init.scope
           │   │   ├─929 /usr/lib/systemd/systemd --user
           │   │   └─931 (sd-pam)
           │   └─session-1.scope
           │     ├─ 748 login -- mythcat
           │     ├─ 936 -bash
           │     ├─ 982 sudo su
           │     ├─ 986 su
           │     ├─ 987 bash
           │     └─9879 systemctl status
           ├─init.scope
           │ └─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 24
           └─system.slice
             ├─irqbalance.service
             │ └─655 /usr/sbin/irqbalance --foreground
             ├─lvm2-lvmetad.service
             │ └─578 /usr/sbin/lvmetad -f -t 3600
             ├─firewalld.service
             │ └─698 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid
 ...
Detect the problem from list all failed units:
# systemctl list-units --state=failed
I find the rngd module is the problem. To fix this issue just use this commands:
# systemctl daemon-reload
# systemctl status rngd 
# systemctl stop rngd
# systemctl disable rngd
# systemctl enable rngd
# systemctl start rngd
The next step is reboot and check again if systemctl come with errors.

Saturday, March 31, 2018

Testing the Fedora SOAS.

These are some of the most beautiful projects I appreciate and that's why I'm writing about them.
First is a Fedora Spin with the abbreviations SOAS from Sugar on a Stick.
This Fedora Spin is lightweight and made to run off of a flash drive, or a live CD.
Originally Red Hat and Pentagram developed SoaS as part of the One Laptop Per Child project.
About One Laptop Per Child project you can read here.
They tell us about this project at official web page:
Sugar on a Stick is a Fedora-based operating system featuring the award-winning Sugar Learning Platform and designed to fit on an ordinary USB thumbdrive ("stick").
Let's see some screenshots:

Yahoo hit QupZilla.

As most you already know as an XFCE environment installation comes with QupZilla web browser.
The QupZilla web browser is a lightweight multiplatform web browser written in Qt Framework and using its web rendering engine QtWebEngine.
If you using Fedora 28 the you can get the Falkon web browser.
The wikipedia tell us about Falkon browser "(formerly QupZilla[3]) is a free and open-source web browser, intended for general users. Falkon is licensed under GPLv3."
The Falkon browser working well with Yahoo.

About QupZilla web browser.

I used this web browser with Fedora 27 distro and then I tested the with new Fedora 28.
Same problem from both distros with the Yahoo mail and the QupZilla web browser.
After authenticating when you access the mail button, a message that redirects us to use other browsers.
Is it okay or bad?
Most users would like to have no such issues.

Thursday, March 29, 2018

Fedora 27 : Tips and tricks with hugo framework .

he most important fact in learning development is knowing the information flow and how to drain it knowing the elements and stages of information processing of the content.
That's why I wrote this article succinctly to show you how simple basics of exemplification can correctly complete and help the user to modify and create content.
I will show you how to follow steps into hugo framework and website development with hugo.
You need to read the basic of hugo terms from documentation if you want to learn all about hugo or take some helpful information.
First use --verbose flag gives extra information that will be helpful when we debug or build your hogo website.
You need to know your hugo version because is the old versions has bad issues, check it with:
$ hugo version
The next command is to see and debug your work:
$ hugo --verbose 
How hugo framework works when you start for the first time with hugo development.
Now, the first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.
If you start with hugo then you can change the default.
This files name skins are the files responsible for the look and feel of your site.
You have two ways to create a skin:
  • create it in the layouts/ directory;
  • create it in a sub-directory of the themes/ directory.
A skin in layouts/ folder can’t be customized without updating the templates and static files that it is built from.
The skin created in themes/ folder , can be and that makes it easier for other people to use it.
In my example tutorial , I add this text to themes/test_themes_001/layouts/index.html.
The result of running hugo server command will rput this text on your browser at 127.0.0.1:13131, see command:
$ hugo server --buildDrafts
The hugo command come with many features like :
  • --buildDrafts this include content marked as draft ( see files with draft:true from .md file);
  • --ignoreCache this ignores the cache directory if you use it;
Using --verbose let you to see your errors.
For example a bad template or configuration can come with this error:
 ...Unable to locate layout for "taxonomyTerm" ...
This show you what term created by you is not on your hugo development area.
I make just few changes to show you how the hugo working. First I create the website named hugo_website_001. I used hugo command to add some pages first_test.md and new.md and a theme named test_theme_001, see:
$ hugo new site hugo_website_001
$ cd hugo_website_001
$ hugo new theme test_theme_001
$ hugo new first_test.md
$ hugo new new.md
$ tree 
.
├── archetypes
│   └── default.md
├── config.toml
├── content
│   ├── first_test.md
│   └── new.md
├── data
├── fpaste_hugo.txt
├── layouts
├── public
│   ├── categories
│   │   └── index.xml
│   ├── css
│   ├── index.html
│   ├── index.xml
│   ├── js
│   ├── sitemap.xml
│   └── tags
│       └── index.xml
├── static
└── themes
    └── test_theme_001
        ├── archetypes
        │   └── default.md
        ├── layouts
        │   ├── 404.html
        │   ├── _default
        │   │   ├── list.html
        │   │   └── single.html
        │   ├── index.html
        │   ├── index.html.save
        │   └── partials
        │       ├── footer.html
        │       └── header.html
        ├── LICENSE.md
        ├── static
        │   ├── css
        │   └── js
        └── theme.toml

19 directories, 20 files
$ 
Let's see files for settings - the toml file type. First is the config.toml file:
baseURL = "http://localhost.com"
languageCode = "en-us"
title = "My New Hugo Site"
theme = "test_theme_001"
contentdir ="content"
publishdir = "public"
The next file is the theme.toml .

# theme.toml template for a Hugo theme
# See https://github.com/gohugoio/hugoThemes#themetoml for an example

name = "Test_theme_001"
license = "MIT"
licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE.md"
description = "first theme with hugo"
homepage = "http://example.com/"
tags = ["tags","categories"]
features = []
min_version = "0.31"

[author]
  name = "catafest"
  homepage = "free-tutorials.org"

# If porting an existing theme
[original]
  name = ""
  homepage = ""
  repo = ""
I will show a minimal example to understand the changes you need to make to run well with hugo framework and the my custom theme.
I show next how this changes into files is show by hugo on browser.
The basic file load is the index.html from themes/test_theme_001/layouts folder with tag h2 and text Some text !, see:

Some text !


{{ partial "header.html" . }}
This file load another file from partials folder and is named header.html with tag p and this text:
This is a custom header
Let's run the hugo server :
hugo server --theme=test_theme_001 --buildDrafts --ignoreCache --disableFastRender
This is result is this:

Fedora 28 - first installation .

Today we tested the new version of Fedora 28 Beta.
I installed this version of the old Fedora 27 and I tried to use different environments (in this order): XFCE, LXDE and LXQT.
I have received some errors from the xorg service since the motherboard has an Intel graphics card.
I used a Hdmi 1 to DVI cable and that made me an area on the home screen without resizing correctly.
First, I'm not very happy with this dnf installation process for these environments.
However, Fedora 28 now works as much as possible.
I did not test and configure the kernel on the hardware machine.
Here's a screenshot with the new Fedora 28:

Saturday, March 24, 2018

Fedora 27 : Testing the hugo web framework .

The development team come with this shot info: The world’s fastest framework for building websites.
I don't know if is the fastest framework but I'm sure is the fastest process to install and make settings using Fedora distro.
First you need to know this framework works with golang programming language.
Let's start testing this framework with the first step install the golang on the system.
$ sudo dnf install golang
$ mkdir -p $HOME/go
$ echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
$ source $HOME/.bashrc
$ go env GOPATH
/home/mythcat/go
Now you will have a go folder into home folder. Let's install the hugo framework.
$ cd  go
$ hugo new site hugo_website_001
$ cd hugo_website_001
$ tree
The result will the this:

The next step is the testing the hugo server with some commands:
$ hugo version
$ hugo --verbose
$ hugo server --verbose
$ hugo server
This will start the server and you can be see it at 127.0.0.1:1313. This is a bind address of the default hugo server and you need to set like any website. The file named config.toml in your site directory contains the global configuration for your Hugo site. This settings will make our website to run well. We can use one theme from a list of themes using git tool, see themes gohugo.io. If you get a theme named theme_001 you need to add it into config.toml file like:
theme = theme_001
The next step is to create some content and we can start with draft files. The draft file named first_test.md can be created with this command into hugo_website_001 folder. This will create the file into content folder.
$ hugo new first_test.md
The draf files can be render just if you use D option:
$ hugo server -D
If you don't have install or set a theme then you cannot see the draft or any content web pages. You can create a new theme (example: test_theme_001) and deal with this theme.
hugo new theme test_theme_001
If you use a theme from hugo then hugo is fastest framework, but if you need to create a new theme then for me is as fast as any framework.

Friday, March 23, 2018

Fedora 27 : The LibreOffice the 6.0.2 and 5.4.6.2 versions.

The LibreOffice suite is a good choice for most linux users.
If you try to download the rpm file from the official website you will get the 6.0.2 version of this suite.
The Fedora 27 come with 5.4.6.2 version for this software.
Every announcement by the Document Foundation with updates contains many bug fixes and improvements and this repairs prevent Libreoffice crashes.
Maybe the new Fedora 28 will come with the last version of the LibreOffice version.

Saturday, March 17, 2018

Fedora 27 : Testing the new Django web framework .

Today I tested the Django web framework version 2.0.3 with python 3 on my Fedora 27 distro.
The main reason is to see if the Django and Fedora working well.
I used the pip to install and activate the virtual environment for python. First you need to create your project into your folder. I make one folder named django_001.
$ mkdir django_001
$ cd django_001
The next step is to create and activate the virtual environment for python language and your project.
$ python3 -m venv django_001_venv
$ source django_001_venv/bin/activate
Into this virtual environment named django_001_venv you will install django web framework.
pip install django
If you have problems with update pip then update this tool. Now start the django project named django_test.
$ django-admin startproject django_test
$ cd django_test
$ python3 manage.py runserver
Open the url http://127.0.0.1:8000/ with your web browser.
The result is this:

If you try to use the admin web with password and user you will see errors.
One of the most common problem for django come from settings, let's see some file from the project:

  • manage.py - this runs project specific tasks (the django-admin is used to execute system wide Django tasks) and is used to execute project specific tasks;
  • __init__.py - this file that allows Python packages to be imported from directories where it's present and it's a generic file used in almost all Python applications;
  • settings.py - the configuration settings for the Django project;
  • urls.py - contains URL patterns for the Django project; 
  • wsgi.py - is WSGI configuration properties for the Django project ( you don't need to setup WSGI to develop Django applications).

The next step is to create first django application.
$ python manage.py startapp django_blog
This make a folder named django_blog into the main django_test folder. Into the main django_test folder you have another django_test folder with settings.py file. Add into settings.py file the django_blog application.
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django_blog',
]
Let's fix some issues about admin and the django_blog application.
Into the main django_test folder with manage.py file use this:
$ python3 manage.py migrate
$ python3 manage.py createsuperuser

This fix the django framework and let you to add your superuser using the admin page, see:

The next issue is: create the website ( see the django_blog folder) using the Django web framework.
I don't have a issue for this django_blog but you can follow this tutorial link.

Wednesday, March 14, 2018

Fedora 27 : 'No Space Left on Device' errors .

The No Space Left on Device error is a good issue for a linux user.
The error come one issue that you have no space left on your hard drive.
The purpose of linux user is to detect the problem with the linux operating system.
You can use your root account or sudo user to run some of this linux commands.
This error named No Space Left on Device is just a vague problem and can be the cause of multiple vague errors on Linux systems.
Here are some ways you can solve the problem.

Use du and df commands to see if your disk is full (check into home and root folders area):
# df -h
# df -i /
# du -sh /

Check deleted file reserved by process (PID) with lsof:
# lsof / | grep deleted
Take a look at unlinked files:
# lsof -a +L1 *mountpoint*

Check you have bad filesystem blocks with fsck:
# fsck -vcck /dev/sda2

If you use a virtual machine (VM) then you can get this error in process of emulation of linux operating system for some PID.
It also happened to me with Android Studio software under Fedora 27 - the error is show like: No Space Left on Device.
I do not know why this happens, but I assume it's an emulation task in the memory area.

Monday, March 12, 2018

Fedora and childish ideas .

The marketing, design and promotion of any product is a key element of success.
I have to admit that although I am not an active member of Fedora distribution teams and I am glad to be able to help where it is needed.
Over the last time I spend my online time with my son playing Roblox ( because he is away from me) and trying to show him what the computer can do for people.
This game allows development with the LUA programming language and object creation for users.
The idea that programs and games are essential factors in our lives.
Also the fact that I have been using Fedora for a long time, I have allowed myself to implement an intention to promote the Fedora distribution.
This is a shirt created with the Fedora logo and can be worn in the Roblox game. He found it here.

Monday, February 26, 2018

Fedora 27 : The LXMusic music player for LXDE.

The LXMusic come with version 0.4.7-4 , update and bugs fixes.
It is a minimalist music player for LXDE with very few features .
This simple XMMS frontend music player named LXMusic has very few features.
I used to playing my list of music files and works great.
The install can be done with dnf tool:
# dnf install lxmusic

Wednesday, February 21, 2018

Fedora 27 : selinux and getfattr attributes.

In this tutorial I show you how to use the getfattr command to get extended attributes of filesystem objects and security selinux.
One attribute is selinux.security for selinux and other like:

  • security.capability - the security.capability files stores Linux capabilities for the related file and is applies to binaries which are provided one or more capabilities via this file.
  • security.ima - for the Integrity Measurement Architecture (IMA), the file security.ima stores a hash or digital signature.
  • security.evm - this is similar to security.ima, the Extended Verification Module (EVM) stores a hash/HMAC or digital signature in this file ( the different with IMA is that it protects the metadata of the file, not the contents).

Now, about selinux.security :
You can use for example the getfattr command to perform specific security selinux tasks:

# getfattr -m security.selinux -d /etc/passwd
getfattr: Removing leading '/' from absolute path
names
# file: etc/passwd 
security.selinux="system_u:object_r:passwd_file_t:s0"
# getfattr -m security.selinux -d /etc/shadow
...
# getfattr -m security.selinux -d /var/www d /var/www
...
Both getfattr and setfattr commands has provided by the POSIX ACL package (Portable Operating Systems Interface).

Thursday, February 15, 2018

Fedora 27 : The strace tool for debug.

Today I test a great tool named strace from here.
This tool will help you with diagnostic, debugging and monitor between processes and the Linux kernel.

For example you can test this tool with ls command:
- to display only a specific system call, use the strace -e option as shown below.
$ strace -e open ls > /dev/null
- the result of this will come with all infos about count time, calls, and errors for each system call.
$ strace -c ls > /dev/null
- save the trace execution to a file:
$ strace -o output.txt ls
- display and save the strace for a given process id:
$ strace -p 1725 -o process_id_trace.txt

You can see more examples on the official webpage.

Tuesday, February 13, 2018

Fedora 27 : Test browsers for inline security.

Open the browser with this page: https://github.com.
Next step is to open the Developer Tools console.
If you use Opera then you can use this keys: Ctr+Shift +C .
If you use Firefox or Chrome browsers use F12 key.
Paste the following code into the console area to create a new inline script and add this java script:
var test = document.createElement('script');
test.innerText = 'alert("hi there");'
document.body.appendChild(test);
For example, this is a good security result on my Opera browser.

The result of this message tell us about the script we tried to execute was stopped by the browser.

Thursday, January 25, 2018

Fedora 27 : About storage management and LVM.

About storage management offering flexibility like a complex task and LVM contributes to this complexity.
If you have seen incorrect usage of LVM many times and users are often neither aware of the possibilities or alternatives for the particular storage stacks.
If you use a VirtualBox software the you can increase the vdi file:
VBoxManage modifyhd fedora.vdi --resize 30960
About LVM
The wikipedia tell us:
In Linux, Logical Volume Manager is a device mapper target that provides logical volume management for the Linux kernel. Most modern Linux distributions are LVM-aware to the point of being able to have their root file systems on a logical volume.

To create a LVM, we need to run through the following steps:
  • Select the physical storage devices for LVM 
  • Create the Volume Group from Physical Volumes 
  • Create Logical Volumes from Volume Group
All linux commands start in this case with lv and pv .
If you want to have a good management of storage then one most common task is :

The resize the PV (Physical Volume) with all free space.

All LVM commands start with lv so try to find all into your terminal by type lv ant then use keys TAB+TAB.
To resize the LVM use this commands:
$sudo su 
# pvs
  PV         VG              Fmt  Attr PSize   PFree
...
# lvdisplay
  --- Logical volume ---
  LV Path                /dev/fedora/root
  LV Name                
...
# lvextend -l+100%FREE /dev/fedora/root 
...
# df -Th
If you use Volume group on LVM then you need to use:
vgextend your_vg /dev/sda...

Wednesday, January 3, 2018

Fedora 27 : Fix your distro with package-cleanup command.

Happy New Year 2018 !
A new beginning for us, fedora distribution users, and I prefer to write about what we all use in Fedora and maybe is less well known by new  readers.
Let's start with the development process of Fedora distro come and all the installed kernels.
Normally reason why you maybe want remove kernels is limited disk space, fix problems and see what is wrong with your Fedora distro.
First issue is about installed kernels, use this command:
#rpm -q kernel
Install this package tool named dnf-utils (is a collection of add-on tool for dnf tool).
#dnf install dnf-utils
Let's start with this command, we see that several packages are seemingly installed more than once:
#package-cleanup --cleandupes
If there’s any remaining trouble with the yum database you can see with this command:
#package-cleanup --problems
To remove installed kernels from old Fedora distros use this command:
#package-cleanup --oldkernels --count=2
... the Fedora 27 use this command:
#package-cleanup --oldkernels 2
To obtain list of orphaned packages currently residing in the system:
#package-cleanup --leaves