<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.samerhijazi.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Studying</id>
	<title>wiki.samerhijazi.net - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.samerhijazi.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Studying"/>
	<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=Special:Contributions/Studying"/>
	<updated>2026-04-09T08:56:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-SRE&amp;diff=2832</id>
		<title>IT-SDK-SRE</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-SRE&amp;diff=2832"/>
		<updated>2022-12-05T12:58:14Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* init-Ref */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=init-Ref=&lt;br /&gt;
* APM (Application Performance Management) + ARM (Application Resource Managment)&lt;br /&gt;
* https://www.dynatrace.com/news/blog/what-are-slos/&lt;br /&gt;
* https://dzone.com/articles/site-reliability-engineering-sre-101-with-devops-v&lt;br /&gt;
* https://sre.google/books/&lt;br /&gt;
* https://www.youtube.com/playlist?list=PLIivdWyY5sqLOiLXJDlN-wKd0g7hf_9vC&lt;br /&gt;
* https://www.youtube.com/watch?v=OnK4IKgLl24&lt;br /&gt;
* https://www.youtube.com/watch?v=3EEZmSwMXp8&lt;br /&gt;
* https://www.dynatrace.com/news/tag/sre/&lt;br /&gt;
* https://video.dynatrace.com/watch/UDw5uqrt1xSigePvtceqAf?&lt;br /&gt;
* https://www.dynatrace.com/trial/resources/&lt;br /&gt;
* https://www.youtube.com/playlist?list=PLqt2rd0eew1arEMzMM_tCZzF0JwgANaFt&lt;br /&gt;
* https://www.dynatrace.com/support/help/how-to-use-dynatrace/&lt;br /&gt;
&lt;br /&gt;
=INIT-Text=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
- Matric: Latency, Call count, Erroneous calls, Error rate&lt;br /&gt;
- Aggregation: sum, mean, min, max, 25,50,75,90,95,98,99th&lt;br /&gt;
- Threshold: Is the pass/fail criteria in (time, count, %) that you define for your test metrics.&lt;br /&gt;
- Latency: The time taken for a packet to be transferred across a network. You can measure this as one-way to its destination or as a round trip.&lt;br /&gt;
- Throughput: The quantity of data being sent and received within a unit of time.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=InIt-Notes=&lt;br /&gt;
*SRE focuses on improving software system reliability across key categories including availability, performance, latency, efficiency, capacity, and incident response.&lt;br /&gt;
*service-level indicators (SLIs) and service-level objectives (SLOs)&lt;br /&gt;
*Uptime: &amp;quot;five nines&amp;quot; or 99.999%, over five minutes of downtime per year.&lt;br /&gt;
*Uptime: &amp;quot;four nines&amp;quot; or 99.99%, nearly an hour of downtime per year.&lt;br /&gt;
*Dynatrace is both an Application Performance Monitoring and application Management tool, it can be used as Cloud based SaaS offering or installed on-prem and more.&lt;br /&gt;
* APM: application performance management&lt;br /&gt;
* ELK Stack: is the acronym for three open source projects: Elasticsearch, Logstash, and Kibana&lt;br /&gt;
* ELK Stack/Elastic &amp;amp; New Relic &amp;amp; Datadog &amp;amp; Dynatrace&lt;br /&gt;
* Azure, Terraform, Ansible, concourse-ci, Elasticsearch/Kibana, Dynatrace, Prometheus, Graylog, StoreBox&lt;br /&gt;
* NEW-Work: AWS, Azure, concourse, Jenkins, Aurora DB, Dynatrace, New Relic, ElasticSearch, Kibana&lt;br /&gt;
&lt;br /&gt;
=InIt-Youtube=&lt;br /&gt;
* https://www.youtube.com/watch?v=X9r0sjBWdlA&lt;br /&gt;
* https://www.dynatrace.com/news/blog/openstack-monitoring-beyond-the-elastic-stack-part-2/&lt;br /&gt;
* https://www.youtube.com/watch?v=C9Sm0pmQLC0 (Turbonomic)&lt;br /&gt;
* https://www.youtube.com/watch?v=MjehIjs8ilY (Instana &amp;amp; Turbonomic)&lt;br /&gt;
&lt;br /&gt;
=SRE-Google=&lt;br /&gt;
* https://cloud.google.com/blog/products/devops-sre/sre-fundamentals-sli-vs-slo-vs-sla&lt;br /&gt;
&lt;br /&gt;
=InIt-Definitions=&lt;br /&gt;
Source: https://www.leanix.net/en/wiki/vsm/site-reliability-engineering-sre&lt;br /&gt;
* SRE monitor systems in production and analyze their performance to detect areas of improvement.&lt;br /&gt;
* SRE observations help them calculate the potential cost of outages and plan for contingency.&lt;br /&gt;
* SRE usually split their time between operations and the development of systems and software.&lt;br /&gt;
* SRE spent time on building and deploying services that optimize the workflow for IT and support departments.&lt;br /&gt;
* SRE determine what new features can be implemented and when this is possible through the help of SLAs, SLIs, SLOs.&lt;br /&gt;
* Service Level '''Agreements''' (SLAs), Service Level '''Indicators''' (SLI), and Service Level '''Objectives''' (SLO).&lt;br /&gt;
&lt;br /&gt;
=Monitoring &amp;amp; Observability=&lt;br /&gt;
* https://www.instana.com/blog/observability-vs-monitoring/&lt;br /&gt;
* https://cloud.google.com/architecture/devops/devops-measurement-monitoring-and-observability#:~:text=Monitoring%20is%20based%20on%20gathering,patterns%20not%20defined%20in%20advance.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Monitoring is tooling or a technical solution that allows teams to watch and understand the state of their systems. Monitoring is based on gathering predefined sets of metrics or logs.&lt;br /&gt;
Observability is tooling or a technical solution that allows teams to actively debug their system. Observability is based on exploring properties and patterns not defined in advance.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Monitoring is the process of using pre-configurd telemetry data with dashboards and alerts to understand your application's health and performance.&lt;br /&gt;
Oberservability is the ability to understand the inner state of your evolving systems by analyzing all available outputs in real time.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Obeservability==&lt;br /&gt;
* https://www.instana.com/media/securepdfs/Ranking-the-Observability-Offerings-APM-Experts.pdf&lt;br /&gt;
* https://play-with.instana.io/#/home&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
- Comprehensive Log Collection.&lt;br /&gt;
- Comprehensive Metric Collection.&lt;br /&gt;
- Comprehensive Tracing Collection.&lt;br /&gt;
- Comprehensive Dependency Collection.&lt;br /&gt;
- Comprehensive Relating of Logs, Metrics, Dependencies.&lt;br /&gt;
- Automated and Instant Instrumentation.&lt;br /&gt;
- High Cardinality Analytics.&lt;br /&gt;
- Dependency Map and AI Based Root Cause.&lt;br /&gt;
- Automated Problem Resolution.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Definitions=&lt;br /&gt;
*source: https://cloud.google.com/blog/products/devops-sre/sre-fundamentals-sli-vs-slo-vs-sla&lt;br /&gt;
==Service-Level Objective (SLO)==&lt;br /&gt;
SRE begins with the idea that a prerequisite to success is availability. A system that is unavailable cannot perform its function and will fail by default. Availability, in SRE terms, defines whether a system is able to fulfill its intended function at a point in time. In addition to being used as a reporting tool, the historical availability measurement can also describe the probability that your system will perform as expected in the future.&lt;br /&gt;
&lt;br /&gt;
==Service-Level Agreement (SLA)==&lt;br /&gt;
An SLA normally involves a promise to someone using your service that its availability SLO should meet a certain level over a certain period, and if it fails to do so then some kind of penalty will be paid. This might be a partial refund of the service subscription fee paid by customers for that period, or additional subscription time added for free. The concept is that going out of SLO is going to hurt the service team, so they will push hard to stay within SLO. If you’re charging your customers money, you will probably need an SLA.&lt;br /&gt;
&lt;br /&gt;
==Service-Level Indicator (SLI)==&lt;br /&gt;
A service’s behavior: the frequency of successful probes of a system. This is a Service-Level Indicator (SLI). When we evaluate whether our system has been running within SLO for the past week, we look at the SLI to get the service availability percentage. If it goes below the specified SLO, we have a problem and may need to make the system more available in some way, such as running a second instance of the service in a different city and load-balancing between the two. If you want to know how reliable your service is, you must be able to measure the rates of successful and unsuccessful queries as your SLIs.&lt;br /&gt;
&lt;br /&gt;
=Dynatrace=&lt;br /&gt;
*https://www.dynatrace.com/support/help/&lt;br /&gt;
*https://university.dynatrace.com/ondemand/course/22170&lt;br /&gt;
*https://www.dynatrace.com/support/help/&lt;br /&gt;
*https://community.dynatrace.com/&lt;br /&gt;
&lt;br /&gt;
=SRE Toolchain=&lt;br /&gt;
* https://www.dynatrace.com/news/blog/sre-vs-devops/&lt;br /&gt;
&lt;br /&gt;
==Containers for Microservices==&lt;br /&gt;
* Docker&lt;br /&gt;
* Kubernetes&lt;br /&gt;
* Swarm&lt;br /&gt;
* Apache Mesos&lt;br /&gt;
* Podman&lt;br /&gt;
==Source Control Tools==&lt;br /&gt;
* Git&lt;br /&gt;
==CI/CD Tools==&lt;br /&gt;
* Jenkins&lt;br /&gt;
* CircleCI&lt;br /&gt;
* GitLab&lt;br /&gt;
* GoCD&lt;br /&gt;
* Semaphore&lt;br /&gt;
* Concourse: https://concourse-ci.org/&lt;br /&gt;
&lt;br /&gt;
==Data Storage Tools==&lt;br /&gt;
* MySQL&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* MonogoDB&lt;br /&gt;
* Apache Hadoop&lt;br /&gt;
* Apache Hive&lt;br /&gt;
* Amazon Aurora (MySQL and PostgreSQL-compatible)&lt;br /&gt;
* MariaDB (fork from MySQL)&lt;br /&gt;
==Configuration Management Tools==&lt;br /&gt;
* Ansible&lt;br /&gt;
* Chef&lt;br /&gt;
* Puppet&lt;br /&gt;
* Saltstack&lt;br /&gt;
==Metrics Collection Tools==&lt;br /&gt;
* Prometheus&lt;br /&gt;
* Stackdriver (Google Cloud Operations)&lt;br /&gt;
* InfluxDB&lt;br /&gt;
* Sensu Go&lt;br /&gt;
==Log Aggregation Tools==&lt;br /&gt;
* Fluentd &lt;br /&gt;
* Sentry&lt;br /&gt;
* Logstash&lt;br /&gt;
==Distributed Tracing Tools==&lt;br /&gt;
* OpenTelemetry&lt;br /&gt;
* Jaeger&lt;br /&gt;
==Application Performance Monitoring Tools==&lt;br /&gt;
* Appdynamics&lt;br /&gt;
* New Relic&lt;br /&gt;
* Dynatrace&lt;br /&gt;
==Dashboarding Tools==&lt;br /&gt;
* Grafana&lt;br /&gt;
* Stashboard&lt;br /&gt;
* Redash&lt;br /&gt;
* Metabase&lt;br /&gt;
==Incident Management==&lt;br /&gt;
* Pagerduty&lt;br /&gt;
* Opsgenie&lt;br /&gt;
* Squadcast&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-SRE&amp;diff=2831</id>
		<title>IT-SDK-SRE</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-SRE&amp;diff=2831"/>
		<updated>2022-12-05T12:45:12Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* InIt-Ref */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=init-Ref=&lt;br /&gt;
* APM (Application Performance Management) + ARM (Application Resource Managment)&lt;br /&gt;
* https://www.dynatrace.com/news/blog/what-are-slos/&lt;br /&gt;
* https://sre.google/books/&lt;br /&gt;
* https://www.youtube.com/playlist?list=PLIivdWyY5sqLOiLXJDlN-wKd0g7hf_9vC&lt;br /&gt;
* https://www.youtube.com/watch?v=OnK4IKgLl24&lt;br /&gt;
* https://www.youtube.com/watch?v=3EEZmSwMXp8&lt;br /&gt;
* https://www.dynatrace.com/news/tag/sre/&lt;br /&gt;
* https://video.dynatrace.com/watch/UDw5uqrt1xSigePvtceqAf?&lt;br /&gt;
* https://www.dynatrace.com/trial/resources/&lt;br /&gt;
* https://www.youtube.com/playlist?list=PLqt2rd0eew1arEMzMM_tCZzF0JwgANaFt&lt;br /&gt;
* https://www.dynatrace.com/support/help/how-to-use-dynatrace/&lt;br /&gt;
&lt;br /&gt;
=INIT-Text=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
- Matric: Latency, Call count, Erroneous calls, Error rate&lt;br /&gt;
- Aggregation: sum, mean, min, max, 25,50,75,90,95,98,99th&lt;br /&gt;
- Threshold: Is the pass/fail criteria in (time, count, %) that you define for your test metrics.&lt;br /&gt;
- Latency: The time taken for a packet to be transferred across a network. You can measure this as one-way to its destination or as a round trip.&lt;br /&gt;
- Throughput: The quantity of data being sent and received within a unit of time.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=InIt-Notes=&lt;br /&gt;
*SRE focuses on improving software system reliability across key categories including availability, performance, latency, efficiency, capacity, and incident response.&lt;br /&gt;
*service-level indicators (SLIs) and service-level objectives (SLOs)&lt;br /&gt;
*Uptime: &amp;quot;five nines&amp;quot; or 99.999%, over five minutes of downtime per year.&lt;br /&gt;
*Uptime: &amp;quot;four nines&amp;quot; or 99.99%, nearly an hour of downtime per year.&lt;br /&gt;
*Dynatrace is both an Application Performance Monitoring and application Management tool, it can be used as Cloud based SaaS offering or installed on-prem and more.&lt;br /&gt;
* APM: application performance management&lt;br /&gt;
* ELK Stack: is the acronym for three open source projects: Elasticsearch, Logstash, and Kibana&lt;br /&gt;
* ELK Stack/Elastic &amp;amp; New Relic &amp;amp; Datadog &amp;amp; Dynatrace&lt;br /&gt;
* Azure, Terraform, Ansible, concourse-ci, Elasticsearch/Kibana, Dynatrace, Prometheus, Graylog, StoreBox&lt;br /&gt;
* NEW-Work: AWS, Azure, concourse, Jenkins, Aurora DB, Dynatrace, New Relic, ElasticSearch, Kibana&lt;br /&gt;
&lt;br /&gt;
=InIt-Youtube=&lt;br /&gt;
* https://www.youtube.com/watch?v=X9r0sjBWdlA&lt;br /&gt;
* https://www.dynatrace.com/news/blog/openstack-monitoring-beyond-the-elastic-stack-part-2/&lt;br /&gt;
* https://www.youtube.com/watch?v=C9Sm0pmQLC0 (Turbonomic)&lt;br /&gt;
* https://www.youtube.com/watch?v=MjehIjs8ilY (Instana &amp;amp; Turbonomic)&lt;br /&gt;
&lt;br /&gt;
=SRE-Google=&lt;br /&gt;
* https://cloud.google.com/blog/products/devops-sre/sre-fundamentals-sli-vs-slo-vs-sla&lt;br /&gt;
&lt;br /&gt;
=InIt-Definitions=&lt;br /&gt;
Source: https://www.leanix.net/en/wiki/vsm/site-reliability-engineering-sre&lt;br /&gt;
* SRE monitor systems in production and analyze their performance to detect areas of improvement.&lt;br /&gt;
* SRE observations help them calculate the potential cost of outages and plan for contingency.&lt;br /&gt;
* SRE usually split their time between operations and the development of systems and software.&lt;br /&gt;
* SRE spent time on building and deploying services that optimize the workflow for IT and support departments.&lt;br /&gt;
* SRE determine what new features can be implemented and when this is possible through the help of SLAs, SLIs, SLOs.&lt;br /&gt;
* Service Level '''Agreements''' (SLAs), Service Level '''Indicators''' (SLI), and Service Level '''Objectives''' (SLO).&lt;br /&gt;
&lt;br /&gt;
=Monitoring &amp;amp; Observability=&lt;br /&gt;
* https://www.instana.com/blog/observability-vs-monitoring/&lt;br /&gt;
* https://cloud.google.com/architecture/devops/devops-measurement-monitoring-and-observability#:~:text=Monitoring%20is%20based%20on%20gathering,patterns%20not%20defined%20in%20advance.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Monitoring is tooling or a technical solution that allows teams to watch and understand the state of their systems. Monitoring is based on gathering predefined sets of metrics or logs.&lt;br /&gt;
Observability is tooling or a technical solution that allows teams to actively debug their system. Observability is based on exploring properties and patterns not defined in advance.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Monitoring is the process of using pre-configurd telemetry data with dashboards and alerts to understand your application's health and performance.&lt;br /&gt;
Oberservability is the ability to understand the inner state of your evolving systems by analyzing all available outputs in real time.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Obeservability==&lt;br /&gt;
* https://www.instana.com/media/securepdfs/Ranking-the-Observability-Offerings-APM-Experts.pdf&lt;br /&gt;
* https://play-with.instana.io/#/home&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
- Comprehensive Log Collection.&lt;br /&gt;
- Comprehensive Metric Collection.&lt;br /&gt;
- Comprehensive Tracing Collection.&lt;br /&gt;
- Comprehensive Dependency Collection.&lt;br /&gt;
- Comprehensive Relating of Logs, Metrics, Dependencies.&lt;br /&gt;
- Automated and Instant Instrumentation.&lt;br /&gt;
- High Cardinality Analytics.&lt;br /&gt;
- Dependency Map and AI Based Root Cause.&lt;br /&gt;
- Automated Problem Resolution.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Definitions=&lt;br /&gt;
*source: https://cloud.google.com/blog/products/devops-sre/sre-fundamentals-sli-vs-slo-vs-sla&lt;br /&gt;
==Service-Level Objective (SLO)==&lt;br /&gt;
SRE begins with the idea that a prerequisite to success is availability. A system that is unavailable cannot perform its function and will fail by default. Availability, in SRE terms, defines whether a system is able to fulfill its intended function at a point in time. In addition to being used as a reporting tool, the historical availability measurement can also describe the probability that your system will perform as expected in the future.&lt;br /&gt;
&lt;br /&gt;
==Service-Level Agreement (SLA)==&lt;br /&gt;
An SLA normally involves a promise to someone using your service that its availability SLO should meet a certain level over a certain period, and if it fails to do so then some kind of penalty will be paid. This might be a partial refund of the service subscription fee paid by customers for that period, or additional subscription time added for free. The concept is that going out of SLO is going to hurt the service team, so they will push hard to stay within SLO. If you’re charging your customers money, you will probably need an SLA.&lt;br /&gt;
&lt;br /&gt;
==Service-Level Indicator (SLI)==&lt;br /&gt;
A service’s behavior: the frequency of successful probes of a system. This is a Service-Level Indicator (SLI). When we evaluate whether our system has been running within SLO for the past week, we look at the SLI to get the service availability percentage. If it goes below the specified SLO, we have a problem and may need to make the system more available in some way, such as running a second instance of the service in a different city and load-balancing between the two. If you want to know how reliable your service is, you must be able to measure the rates of successful and unsuccessful queries as your SLIs.&lt;br /&gt;
&lt;br /&gt;
=Dynatrace=&lt;br /&gt;
*https://www.dynatrace.com/support/help/&lt;br /&gt;
*https://university.dynatrace.com/ondemand/course/22170&lt;br /&gt;
*https://www.dynatrace.com/support/help/&lt;br /&gt;
*https://community.dynatrace.com/&lt;br /&gt;
&lt;br /&gt;
=SRE Toolchain=&lt;br /&gt;
* https://www.dynatrace.com/news/blog/sre-vs-devops/&lt;br /&gt;
&lt;br /&gt;
==Containers for Microservices==&lt;br /&gt;
* Docker&lt;br /&gt;
* Kubernetes&lt;br /&gt;
* Swarm&lt;br /&gt;
* Apache Mesos&lt;br /&gt;
* Podman&lt;br /&gt;
==Source Control Tools==&lt;br /&gt;
* Git&lt;br /&gt;
==CI/CD Tools==&lt;br /&gt;
* Jenkins&lt;br /&gt;
* CircleCI&lt;br /&gt;
* GitLab&lt;br /&gt;
* GoCD&lt;br /&gt;
* Semaphore&lt;br /&gt;
* Concourse: https://concourse-ci.org/&lt;br /&gt;
&lt;br /&gt;
==Data Storage Tools==&lt;br /&gt;
* MySQL&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* MonogoDB&lt;br /&gt;
* Apache Hadoop&lt;br /&gt;
* Apache Hive&lt;br /&gt;
* Amazon Aurora (MySQL and PostgreSQL-compatible)&lt;br /&gt;
* MariaDB (fork from MySQL)&lt;br /&gt;
==Configuration Management Tools==&lt;br /&gt;
* Ansible&lt;br /&gt;
* Chef&lt;br /&gt;
* Puppet&lt;br /&gt;
* Saltstack&lt;br /&gt;
==Metrics Collection Tools==&lt;br /&gt;
* Prometheus&lt;br /&gt;
* Stackdriver (Google Cloud Operations)&lt;br /&gt;
* InfluxDB&lt;br /&gt;
* Sensu Go&lt;br /&gt;
==Log Aggregation Tools==&lt;br /&gt;
* Fluentd &lt;br /&gt;
* Sentry&lt;br /&gt;
* Logstash&lt;br /&gt;
==Distributed Tracing Tools==&lt;br /&gt;
* OpenTelemetry&lt;br /&gt;
* Jaeger&lt;br /&gt;
==Application Performance Monitoring Tools==&lt;br /&gt;
* Appdynamics&lt;br /&gt;
* New Relic&lt;br /&gt;
* Dynatrace&lt;br /&gt;
==Dashboarding Tools==&lt;br /&gt;
* Grafana&lt;br /&gt;
* Stashboard&lt;br /&gt;
* Redash&lt;br /&gt;
* Metabase&lt;br /&gt;
==Incident Management==&lt;br /&gt;
* Pagerduty&lt;br /&gt;
* Opsgenie&lt;br /&gt;
* Squadcast&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=Main_Page&amp;diff=2799</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=Main_Page&amp;diff=2799"/>
		<updated>2022-11-30T16:27:05Z</updated>

		<summary type="html">&lt;p&gt;Studying: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installation process]]&lt;br /&gt;
{{Special:Allpages}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  (function(s,t,a,n){s[t]||(s[t]=a,n=s[a]=function(){n.q.push(arguments)},&lt;br /&gt;
  n.q=[],n.v=2,n.l=1*new Date)})(window,&amp;quot;InstanaEumObject&amp;quot;,&amp;quot;ineum&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  ineum('reportingUrl', 'https://eum-green-saas.instana.io');&lt;br /&gt;
  ineum('key', 'iL43y0MtSUmgUQPOY9F_hw');&lt;br /&gt;
  ineum('trackSessions');&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script defer crossorigin=&amp;quot;anonymous&amp;quot; src=&amp;quot;https://eum.instana.io/eum.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-macOS&amp;diff=2761</id>
		<title>IT-OS-Admin-macOS</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-macOS&amp;diff=2761"/>
		<updated>2022-11-18T08:53:58Z</updated>

		<summary type="html">&lt;p&gt;Studying: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*https://support.apple.com/en-gb/guide/terminal/trmlshtcts/mac&lt;br /&gt;
*https://support.apple.com/en-us/HT201236&lt;br /&gt;
*https://macos-defaults.com/finder/appleshowallfiles.html&lt;br /&gt;
*Show hidden files (Command + Shift + .)&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Security&amp;diff=2752</id>
		<title>IT-SDK-Security</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Security&amp;diff=2752"/>
		<updated>2022-11-15T08:46:52Z</updated>

		<summary type="html">&lt;p&gt;Studying: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Certificate=&lt;br /&gt;
=Ref.=&lt;br /&gt;
* https://openest.io/en/services/mqtts-how-to-use-mqtt-with-tls/&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Security&amp;diff=2751</id>
		<title>IT-SDK-Security</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Security&amp;diff=2751"/>
		<updated>2022-11-15T08:45:48Z</updated>

		<summary type="html">&lt;p&gt;Studying: Created page with &amp;quot;=Certificate= *&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Certificate=&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Load&amp;diff=2750</id>
		<title>IT-SDK-Testing-Load</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Load&amp;diff=2750"/>
		<updated>2022-11-15T07:44:18Z</updated>

		<summary type="html">&lt;p&gt;Studying: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://locust.io/&lt;br /&gt;
* https://openest.io/en/services/mqtts-how-to-use-mqtt-with-tls/&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-Tools&amp;diff=2746</id>
		<title>IT-Tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-Tools&amp;diff=2746"/>
		<updated>2022-11-15T07:27:52Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Online-Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# A Collection of Tools&lt;br /&gt;
=OS=&lt;br /&gt;
* MobileOS: Tizen (https://www.tizen.org)&lt;br /&gt;
* MobileOS: LineageOS (https://lineageos.org)&lt;br /&gt;
* MobileOS: OxygenOS (https://oneplus.net/oxygenos)&lt;br /&gt;
=Online-Tools=&lt;br /&gt;
* https://www.gliffy.com/&lt;br /&gt;
* https://draw.io&lt;br /&gt;
* https://miro.com/&lt;br /&gt;
&lt;br /&gt;
=Tools: Admin=&lt;br /&gt;
* https://www.proxmox.com/en/&lt;br /&gt;
* https://www.balena.io/etcher/&lt;br /&gt;
&lt;br /&gt;
=Tools: Guides=&lt;br /&gt;
* https://www.markdownguide.org/&lt;br /&gt;
* https://joplinapp.org/markdown/&lt;br /&gt;
&lt;br /&gt;
=Tools: PC=&lt;br /&gt;
* Rufus: https://rufus.ie/&lt;br /&gt;
* https://axialis.com/icongenerator/&lt;br /&gt;
* https://www.opengroup.org&lt;br /&gt;
* https://www.archimatetool.com/download/&lt;br /&gt;
* yFiles-Diagramming und yEd-Graphing: https://www.yworks.com/&lt;br /&gt;
* SoftMaker Office-Application: https://www.freeoffice.com/de/&lt;br /&gt;
* Modelling toolkit to create ArchiMate models: https://www.archimatetool.com/&lt;br /&gt;
* https://www.rapidee.com/en/about&lt;br /&gt;
* Markdown-Notes: https://www.qownnotes.org/&lt;br /&gt;
* business automation platform: https://github.com/kiegroup/kogito-tooling/releases&lt;br /&gt;
* I-NEX: http://i-nex.linux.pl/install/&lt;br /&gt;
* CPU-G: https://sourceforge.net/projects/cpug/&lt;br /&gt;
* CPU-G: https://github.com/atareao/cpu-g&lt;br /&gt;
* HW-Info: https://www.hwinfo.com/download/&lt;br /&gt;
* https://miro.com/&lt;br /&gt;
* SQL: https://dbeaver.io/&lt;br /&gt;
* Storage Browser: https://cyberduck.io/&lt;br /&gt;
* Screenshot tool: https://github.com/ksnip/ksnip&lt;br /&gt;
* sublimetext: https://www.sublimetext.com/&lt;br /&gt;
* uBlock: https://github.com/gorhill/uBlock&lt;br /&gt;
* k9s (CLI-Manager for k8s): https://github.com/derailed/k9s&lt;br /&gt;
* https://itsfoss.com/pdf-editors-linux/&lt;br /&gt;
* Email-Client: https://getmailspring.com/&lt;br /&gt;
* Stacer: https://oguzhaninan.github.io/Stacer-Web/&lt;br /&gt;
* Modeler: https://camunda.com/download/modeler/&lt;br /&gt;
* Joplin: https://joplinapp.org/&lt;br /&gt;
* Video editor: https://kdenlive.org/en/&lt;br /&gt;
&lt;br /&gt;
=Tools: Online=&lt;br /&gt;
* AllInOne: https://tools.knowledgewalls.com/&lt;br /&gt;
* JSON: https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc&lt;br /&gt;
* JSON-JP: https://jqplay.org/&lt;br /&gt;
* JSON-JP: https://stedolan.github.io/jq/&lt;br /&gt;
* Yaml: https://jsonformatter.org/yaml-formatter&lt;br /&gt;
* Yaml: http://www.yamllint.com/&lt;br /&gt;
* Regular Expressions: https://regexr.com/&lt;br /&gt;
* CodeSandBox: https://codesandbox.io/index2&lt;br /&gt;
* Unterschrift: https://www.fontspace.com/&lt;br /&gt;
* Git-Ignor: https://www.toptal.com/developers/gitignore&lt;br /&gt;
* Markdown: https://stackedit.io/&lt;br /&gt;
* Markdown: https://pandao.github.io/editor.md/index.html&lt;br /&gt;
* Wetter: https://www.meteoblue.com/&lt;br /&gt;
* SpeedReading Tool: http://www.spreeder.com&lt;br /&gt;
* SpeedTyping Tool: http://www.keybr.com&lt;br /&gt;
* Gramatik-DE: http://mein-deutschbuch.de&lt;br /&gt;
* UI-Design-Tool: http://www.axure.com&lt;br /&gt;
* SD Formatter: http://www.sdcard.org&lt;br /&gt;
* Disk Clean Tool: http://www.bleachbit.org&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Functional&amp;diff=2734</id>
		<title>IT-SDK-Testing-Functional</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Functional&amp;diff=2734"/>
		<updated>2022-10-28T14:17:11Z</updated>

		<summary type="html">&lt;p&gt;Studying: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To add the jars to the classpath in Fitnesse you can use !path, e.g. !path /myETLjars/*.jar&lt;br /&gt;
=Test Objectives=&lt;br /&gt;
* '''verification''', Confirm that the software '''meets''' the various business and technical requirements stated by the client.&lt;br /&gt;
* '''Validation''': Confirms that the software '''performs''' as expected and as per the requirements of the clients.&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Functional&amp;diff=2733</id>
		<title>IT-SDK-Testing-Functional</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Functional&amp;diff=2733"/>
		<updated>2022-10-28T14:16:41Z</updated>

		<summary type="html">&lt;p&gt;Studying: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To add the jars to the classpath in Fitnesse you can use !path, e.g. !path /myETLjars/*.jar&lt;br /&gt;
* '''verification''', Confirm that the software '''meets''' the various business and technical requirements stated by the client.&lt;br /&gt;
* '''Validation''': Confirms that the software '''performs''' as expected and as per the requirements of the clients.&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2731</id>
		<title>IT-SDK-Git</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2731"/>
		<updated>2022-10-27T17:43:29Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* .bashrc &amp;amp; .zshrc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://blog.jinlaixu.net/books/ProGit/en/index.html&lt;br /&gt;
* https://help.github.com/en/github/using-git&lt;br /&gt;
* https://www.atlassian.com/git/tutorials/setting-up-a-repository&lt;br /&gt;
* https://fedoraproject.org/wiki/Git_quick_reference&lt;br /&gt;
* https://www.git-tower.com/learn/git/ebook/en/command-line/advanced-topics/merge-conflicts&lt;br /&gt;
* https://hackernoon.com/understanding-git-index-4821a0765cf&lt;br /&gt;
* https://docs.gitlab.com/ee/topics/git/numerous_undo_possibilities_in_git/&lt;br /&gt;
* Git-Branching-Game: https://learngitbranching.js.org/&lt;br /&gt;
* https://www.toptal.com/software/trunk-based-development-git-flow&lt;br /&gt;
* Cheat-Sheet: https://github.github.com/training-kit/downloads/de/github-git-cheat-sheet/&lt;br /&gt;
* Cheat-Sheet: https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet&lt;br /&gt;
* https://www.gitignore.io&lt;br /&gt;
* JGit: https://www.vogella.com/tutorials/JGit/article.html&lt;br /&gt;
* JGit-Cookbook: https://github.com/centic9/jgit-cookbook/&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
* '''Stages''': worktree, staged(index), HEAD&lt;br /&gt;
=.bashrc &amp;amp; .zshrc=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git_branch() {&lt;br /&gt;
  git branch 2&amp;gt; /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'&lt;br /&gt;
}&lt;br /&gt;
git_branch() {&lt;br /&gt;
    branch=$(git symbolic-ref --short HEAD 2&amp;gt; /dev/null)&lt;br /&gt;
    if [[ $branch == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        :&lt;br /&gt;
    else&lt;br /&gt;
        echo '('$branch')'&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
setopt PROMPT_SUBST&lt;br /&gt;
PROMPT='[%F{green}%d%f]%F{red} $(git_branch)%f&lt;br /&gt;
$ '&lt;br /&gt;
PS1='\[\033[32m\][\w]\[\033[31m\] $(git_branch)\[\033[0m\]\n$ '&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Global==&lt;br /&gt;
* https://www.git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --local --list       # List Configs for repos. config file &amp;quot;repo/.git/config&amp;quot;&lt;br /&gt;
git config --global --list      # List Configs for global config file &amp;quot;~/.gitconfig&amp;quot;&lt;br /&gt;
git config --system --list      # List Configs for System config file &amp;quot;installed/git/etc/gitconfig&amp;quot;&lt;br /&gt;
---&lt;br /&gt;
git config --global --edit               # Edit Configs&lt;br /&gt;
git config --global user.name            # Show config for user.name&lt;br /&gt;
git config --global user.name &amp;quot;King&amp;quot;     # Set Value &amp;quot;King&amp;quot; to user.name&lt;br /&gt;
git config --global --unset user.name    # Unset Value from user.name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global user.name &amp;quot;Samer Hijazi&amp;quot;&lt;br /&gt;
git config --global user.email &amp;quot;samer.hijazi@samerhijazi.net&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global alias.ss 'status -s'&lt;br /&gt;
git config --global alias.rs 'reset --hard origin/master'&lt;br /&gt;
git config --global alias.cp '!git commit -a -m &amp;quot;Update $1&amp;quot; &amp;amp;&amp;amp; git push'&lt;br /&gt;
----&lt;br /&gt;
git config --global core.editor &amp;quot;nano&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;vim&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global http.proxy $PROXY_URL&lt;br /&gt;
git config --global https.proxy $PROXY_URL&lt;br /&gt;
----&lt;br /&gt;
git config --global core.autocrlf true       # Working on Windows, Linux, macOS Maschines.&lt;br /&gt;
git config --global core.safecrlf false      # Disable showing Warnning for LF&lt;br /&gt;
git config --global core.longpaths true&lt;br /&gt;
----&lt;br /&gt;
git config --global diff.tool bc&lt;br /&gt;
git config --global difftool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git config --global merge.tool bc&lt;br /&gt;
git config --global mergetool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global advice.addIgnoredFile false   # Turen off advice for adding Ignored files&lt;br /&gt;
----&lt;br /&gt;
git commit --amend --reset-author&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# https://mattferderer.com/fix-git-self-signed-certificate-in-certificate-chain-on-windows&lt;br /&gt;
git config --global http.sslVerify false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Credential==&lt;br /&gt;
===Refs===&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/docs/wsl.md&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md#linux-install-instructions&lt;br /&gt;
===Settings===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global --edit&lt;br /&gt;
git config --global credential.helper cache                                      ### keeps credentials in memory for a 15min  (default cache timeout).&lt;br /&gt;
git config --global credential.helper 'cache --timeout=3600'                     ### keeps credentials in memory for a 36min.&lt;br /&gt;
git config --global credential.helper store                                      ### save entered password in (~/.git-credentials) by default.&lt;br /&gt;
git config --global credential.helper 'store --file ~/.my-credentials'&lt;br /&gt;
git config --global credential.helper '/usr/local/share/gcm-core/git-credential-manager-core'                 ### Set &amp;quot;Git Credential Manager&amp;quot; on Linux.&lt;br /&gt;
git config --global credential.credentialStore secretservice                                                  ### GUI Storage für Linux&lt;br /&gt;
git config --global credential.helper '/mnt/c/git/mingw64/bin/git-credential-manager-core.exe'   ### Set &amp;quot;Git Credential Manager&amp;quot; on WSL.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ssh===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
type %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
cat %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
chmod 600 ~/.ssh/key_github&lt;br /&gt;
eval &amp;quot;$(ssh-agent -s)&amp;quot;&lt;br /&gt;
ssh-add ~/.ssh/key_github&lt;br /&gt;
ssh -T git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ssh -T git@gitlab.com&lt;br /&gt;
ssh -T git@bitbucket.org&lt;br /&gt;
git remote set-url origin https://github.com/username/repository-name.git    ### For SSH-Connection&lt;br /&gt;
git remote set-url origin git@github.com:username/repository-name.git        ### For HTTPS-Connection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==.getignore==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
folder/&lt;br /&gt;
.file&lt;br /&gt;
*.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
* All-in-One&lt;br /&gt;
* Initial&lt;br /&gt;
* create files &amp;amp; folders &amp;amp; branches&lt;br /&gt;
* del files &amp;amp; folders &amp;amp; braches&lt;br /&gt;
* merge branches&lt;br /&gt;
* revert changes&lt;br /&gt;
&lt;br /&gt;
==Main==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git pull&lt;br /&gt;
git add README.md&lt;br /&gt;
git commit -m &amp;quot;First commit&amp;quot;&lt;br /&gt;
git push -u origin master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Initialisieren==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git init --bare         # Initial Repo for remote&lt;br /&gt;
git init                # Initial Repo for local&lt;br /&gt;
...&lt;br /&gt;
git remote add origin https://samerhijazi@gitlab.com/samerhijazi/public.git       ### Add URl for remote.&lt;br /&gt;
git remote set-url origin https://samerhijazi@gitlab.com/samerhijazi/public.git   ### Change URL for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Clone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git clone ssh://ssh-w0000000@servername.com/www/htdocs/w0000000/repository/git/projectname.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Checkout==&lt;br /&gt;
* HEAD reflects 'git checkout'&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout main          # checkout main-Branch@HEAD&lt;br /&gt;
git checkout main^         # moves HEAD 1-commit back from main-Branch&lt;br /&gt;
git checkout main~4        # moves HEAD 4-commits back from main-Branch&lt;br /&gt;
git branch -f main HEAD~3  # moves (by force) the main-Branch 3-commits back from HEAD.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Branch==&lt;br /&gt;
* Checkout&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch                                              # list branches local.&lt;br /&gt;
git branch -r						# list branches remote.&lt;br /&gt;
git branch -a						# list branches all (local &amp;amp; remote).&lt;br /&gt;
---&lt;br /&gt;
git branch $NAME_BRANCH_NEW                             # Create a new Branch&lt;br /&gt;
git switch $NAME_BRANCH_NEW                             # Switch to branch&lt;br /&gt;
---&lt;br /&gt;
git checkout $NAME_BRANCH_EXISIT			# checkout exiting branch&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW			# create a new branch from HEAD and then checkout &amp;lt;new-branch&amp;gt;&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW $NAME_BRANCH_EXISIT	# create a new branch from $NAME_BRANCH_EXISIT and then checkout $NAME_BRANCH_NEW&lt;br /&gt;
---&lt;br /&gt;
git push --set-upstream origin $NAME_BRANCH_NEW         # Push the $NAME_BRANCH_NEW branch and set the remote as upstream.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -m $NAME_OLD $NAME_NEW     		        # To rename a local branch&lt;br /&gt;
git push origin -u $NAME_OLD :$NAME_NEW 		# To rename a remote branch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Delete&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -d $NAME_BRANCH_TO_DELETE			# Delete a branch on local.&lt;br /&gt;
git push origin --delete $NAME_BRANCH_TO_DELETE		# Delete a branch on remote.&lt;br /&gt;
git push origin :$NAME_BRANCH_TO_DELETE                 # Delete a branch on remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Merge==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch_merge_to&amp;gt;           # change to branch where the merge will be done&lt;br /&gt;
git merge --no-ff &amp;lt;branch_merge_from&amp;gt;    # merge &amp;lt;branch_merge_from&amp;gt; in &amp;lt;branch_merge_to&amp;gt;&lt;br /&gt;
git push&lt;br /&gt;
...&lt;br /&gt;
git merge --abort   # returen to the state before starting the merge.&lt;br /&gt;
git reset --hard    # roll back to the commit before the merge.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Taging==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git tag                                      # List tages&lt;br /&gt;
git tag -a v2021.09.03 -m &amp;quot;Messages&amp;quot;         # Add tag&lt;br /&gt;
git tag -m $TAG_OLD $TAG_NEW                 # Rename tag.&lt;br /&gt;
git push origin $TAG                         # Push a current tag to remote.&lt;br /&gt;
git push origin --tags                       # Push all tags to remote.&lt;br /&gt;
---              &lt;br /&gt;
git fetch				     # Fetch remote All tags.&lt;br /&gt;
git tag -d $TAG_TO_DELETE                    # Delete a tag on local.&lt;br /&gt;
git push origin :refs/tags/$TAG_TO_DELETE    # Delete a tag on remote variant 1.&lt;br /&gt;
git push origin --delete $TAG_TO_DELETE      # Delete a tag on remote variant 2.&lt;br /&gt;
---&lt;br /&gt;
git tag -d $(git tag -l)	             # Delete all local tags.&lt;br /&gt;
git push origin --delete $(git tag -l)       # Delete all remote tags.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove &amp;amp; Rename==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch-name&amp;gt;&lt;br /&gt;
git rm -r &amp;lt;file-to-remove&amp;gt;                  # remove file&lt;br /&gt;
git mv &amp;lt;filename-old&amp;gt; &amp;lt;filename-new&amp;gt;        # rename file&lt;br /&gt;
git clean -fd                               # remove directories forced&lt;br /&gt;
git commit -m &amp;quot;My Massage&amp;quot;&lt;br /&gt;
git push origin &amp;lt;branch-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Stash==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git stash                          # Save all local changes und remove them from workspace. &lt;br /&gt;
git fetch                          # fetch from the default remote, origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git reset HEAD~1                   # Moves branch reference 1-commit back.&lt;br /&gt;
git reset *                        # Undo &amp;quot;git add *&amp;quot;&lt;br /&gt;
git reset --hard origin/master     # Reset your current branch (master) to origin's master&lt;br /&gt;
---&lt;br /&gt;
git revert HEAD                    # Undo last commit and make ready for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Clean==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -f                       # Remove untracked files with force (-f).&lt;br /&gt;
git clean -f -n                    # Remove files with dry-run (-n).&lt;br /&gt;
git clean -f -d                    # Remove untracked files and directories (-d).&lt;br /&gt;
git clean -f -x                    # Remove ignored and non-ignored files (-x).&lt;br /&gt;
git clean -f -X                    # Remove ignored files only (-X).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remote==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git remote -v						# View remotes.&lt;br /&gt;
git remote add $REMOTE_NAME $REMOTE_PATH                # Add remote.&lt;br /&gt;
git remote rm $REMOTE_NAME                              # Delete remote.&lt;br /&gt;
git remote rename $REMOTE_NAME_OLD $REMOTE_NAME_NEW	# Change remote name from 'origin' to 'destination'&lt;br /&gt;
---&lt;br /&gt;
git remote prune origin --dry-run&lt;br /&gt;
git remote prune origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fetch &amp;amp; Pull &amp;amp; Push==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git fetch                        # Download new data (commits, files, and refs.) from a remote-repository into local-repository.                                        &lt;br /&gt;
git fetch --prune		 # Remove remote branches that not longer have a counterpart.&lt;br /&gt;
---&lt;br /&gt;
git pull                         # Download new data (commits, files, and refs.) from a remote-repository into local-repository and integrate the new data in working-files.&lt;br /&gt;
git pull --rebase origin master  # get changes from remote master. And commit it for local/user commit.&lt;br /&gt;
---&lt;br /&gt;
git push                         # Upload local-repository content to a remote-repository.&lt;br /&gt;
git push --force-with-lease      # To avoid overwrite history from rebase, Lease entsure that history dokumented. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset local workspace==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -fxd         ### Clean ignored and non-ignored files/directoryes.&lt;br /&gt;
git reset –-hard       ### Reset current HEAD to the specified state.&lt;br /&gt;
git restore .          ### Restore working tree files.&lt;br /&gt;
git checkout .         ### same as (git restore .).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Git branching model=&lt;br /&gt;
* src: http://blog.plasticscm.com/2017/04/how-we-do-trunk-based-development.html&lt;br /&gt;
* src: https://cloud.google.com/solutions/devops/devops-tech-trunk-based-development&lt;br /&gt;
* src: https://medium.com/safetycultureengineering/trunks-are-not-just-for-trees-from-git-flow-to-trunk-based-development-949d580697ef&lt;br /&gt;
* src: https://trunkbaseddevelopment.com/&lt;br /&gt;
* src: https://nvie.com/posts/a-successful-git-branching-model/&lt;br /&gt;
* src: https://medium.com/@patrickporto/4-branching-workflows-for-git-30d0aaee7bf&lt;br /&gt;
* src: https://guides.github.com/introduction/flow/index.html&lt;br /&gt;
* src: https://www.youtube.com/watch?v=1SXpE08hvGs&lt;br /&gt;
* Hauptbraches: master &amp;amp; develop&lt;br /&gt;
* Arbeitbraches: feature, release, hotfixes&lt;br /&gt;
==Branch Feature==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b myfeature develop&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff myfeature&lt;br /&gt;
git branch -d myfeature&lt;br /&gt;
...&lt;br /&gt;
git push origin develop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch Release==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b release-1.2 develop&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git tag -a 1.2&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git branch -d release-1.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch HotFix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b hotfix-1.2.1 master&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2.1&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git tag -a 1.2.1&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git branch -d hotfix-1.2.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CICD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git --no-pager show -s --format=\'%ae\'           # Disaply email address last commit&lt;br /&gt;
git config user.name                              # Dispaly email address user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2730</id>
		<title>IT-SDK-Git</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2730"/>
		<updated>2022-10-27T17:40:22Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* .bashrc &amp;amp; .zshrc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://blog.jinlaixu.net/books/ProGit/en/index.html&lt;br /&gt;
* https://help.github.com/en/github/using-git&lt;br /&gt;
* https://www.atlassian.com/git/tutorials/setting-up-a-repository&lt;br /&gt;
* https://fedoraproject.org/wiki/Git_quick_reference&lt;br /&gt;
* https://www.git-tower.com/learn/git/ebook/en/command-line/advanced-topics/merge-conflicts&lt;br /&gt;
* https://hackernoon.com/understanding-git-index-4821a0765cf&lt;br /&gt;
* https://docs.gitlab.com/ee/topics/git/numerous_undo_possibilities_in_git/&lt;br /&gt;
* Git-Branching-Game: https://learngitbranching.js.org/&lt;br /&gt;
* https://www.toptal.com/software/trunk-based-development-git-flow&lt;br /&gt;
* Cheat-Sheet: https://github.github.com/training-kit/downloads/de/github-git-cheat-sheet/&lt;br /&gt;
* Cheat-Sheet: https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet&lt;br /&gt;
* https://www.gitignore.io&lt;br /&gt;
* JGit: https://www.vogella.com/tutorials/JGit/article.html&lt;br /&gt;
* JGit-Cookbook: https://github.com/centic9/jgit-cookbook/&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
* '''Stages''': worktree, staged(index), HEAD&lt;br /&gt;
=.bashrc &amp;amp; .zshrc=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git_branch() {&lt;br /&gt;
  git branch 2&amp;gt; /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'&lt;br /&gt;
}&lt;br /&gt;
git_branch() {&lt;br /&gt;
    branch=$(git symbolic-ref --short HEAD 2&amp;gt; /dev/null)&lt;br /&gt;
    if [[ $branch == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        :&lt;br /&gt;
    else&lt;br /&gt;
        echo '('$branch')'&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
setopt PROMPT_SUBST&lt;br /&gt;
PROMPT='[%F{green}%d%f]%F{red} $(git_branch)%f&lt;br /&gt;
$ '&lt;br /&gt;
PS1='\[\033[34m\][\w]\[\033[32m\] $(git_branch)\[\033[0m\]\n$ '&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Global==&lt;br /&gt;
* https://www.git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --local --list       # List Configs for repos. config file &amp;quot;repo/.git/config&amp;quot;&lt;br /&gt;
git config --global --list      # List Configs for global config file &amp;quot;~/.gitconfig&amp;quot;&lt;br /&gt;
git config --system --list      # List Configs for System config file &amp;quot;installed/git/etc/gitconfig&amp;quot;&lt;br /&gt;
---&lt;br /&gt;
git config --global --edit               # Edit Configs&lt;br /&gt;
git config --global user.name            # Show config for user.name&lt;br /&gt;
git config --global user.name &amp;quot;King&amp;quot;     # Set Value &amp;quot;King&amp;quot; to user.name&lt;br /&gt;
git config --global --unset user.name    # Unset Value from user.name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global user.name &amp;quot;Samer Hijazi&amp;quot;&lt;br /&gt;
git config --global user.email &amp;quot;samer.hijazi@samerhijazi.net&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global alias.ss 'status -s'&lt;br /&gt;
git config --global alias.rs 'reset --hard origin/master'&lt;br /&gt;
git config --global alias.cp '!git commit -a -m &amp;quot;Update $1&amp;quot; &amp;amp;&amp;amp; git push'&lt;br /&gt;
----&lt;br /&gt;
git config --global core.editor &amp;quot;nano&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;vim&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global http.proxy $PROXY_URL&lt;br /&gt;
git config --global https.proxy $PROXY_URL&lt;br /&gt;
----&lt;br /&gt;
git config --global core.autocrlf true       # Working on Windows, Linux, macOS Maschines.&lt;br /&gt;
git config --global core.safecrlf false      # Disable showing Warnning for LF&lt;br /&gt;
git config --global core.longpaths true&lt;br /&gt;
----&lt;br /&gt;
git config --global diff.tool bc&lt;br /&gt;
git config --global difftool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git config --global merge.tool bc&lt;br /&gt;
git config --global mergetool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global advice.addIgnoredFile false   # Turen off advice for adding Ignored files&lt;br /&gt;
----&lt;br /&gt;
git commit --amend --reset-author&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# https://mattferderer.com/fix-git-self-signed-certificate-in-certificate-chain-on-windows&lt;br /&gt;
git config --global http.sslVerify false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Credential==&lt;br /&gt;
===Refs===&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/docs/wsl.md&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md#linux-install-instructions&lt;br /&gt;
===Settings===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global --edit&lt;br /&gt;
git config --global credential.helper cache                                      ### keeps credentials in memory for a 15min  (default cache timeout).&lt;br /&gt;
git config --global credential.helper 'cache --timeout=3600'                     ### keeps credentials in memory for a 36min.&lt;br /&gt;
git config --global credential.helper store                                      ### save entered password in (~/.git-credentials) by default.&lt;br /&gt;
git config --global credential.helper 'store --file ~/.my-credentials'&lt;br /&gt;
git config --global credential.helper '/usr/local/share/gcm-core/git-credential-manager-core'                 ### Set &amp;quot;Git Credential Manager&amp;quot; on Linux.&lt;br /&gt;
git config --global credential.credentialStore secretservice                                                  ### GUI Storage für Linux&lt;br /&gt;
git config --global credential.helper '/mnt/c/git/mingw64/bin/git-credential-manager-core.exe'   ### Set &amp;quot;Git Credential Manager&amp;quot; on WSL.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ssh===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
type %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
cat %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
chmod 600 ~/.ssh/key_github&lt;br /&gt;
eval &amp;quot;$(ssh-agent -s)&amp;quot;&lt;br /&gt;
ssh-add ~/.ssh/key_github&lt;br /&gt;
ssh -T git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ssh -T git@gitlab.com&lt;br /&gt;
ssh -T git@bitbucket.org&lt;br /&gt;
git remote set-url origin https://github.com/username/repository-name.git    ### For SSH-Connection&lt;br /&gt;
git remote set-url origin git@github.com:username/repository-name.git        ### For HTTPS-Connection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==.getignore==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
folder/&lt;br /&gt;
.file&lt;br /&gt;
*.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
* All-in-One&lt;br /&gt;
* Initial&lt;br /&gt;
* create files &amp;amp; folders &amp;amp; branches&lt;br /&gt;
* del files &amp;amp; folders &amp;amp; braches&lt;br /&gt;
* merge branches&lt;br /&gt;
* revert changes&lt;br /&gt;
&lt;br /&gt;
==Main==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git pull&lt;br /&gt;
git add README.md&lt;br /&gt;
git commit -m &amp;quot;First commit&amp;quot;&lt;br /&gt;
git push -u origin master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Initialisieren==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git init --bare         # Initial Repo for remote&lt;br /&gt;
git init                # Initial Repo for local&lt;br /&gt;
...&lt;br /&gt;
git remote add origin https://samerhijazi@gitlab.com/samerhijazi/public.git       ### Add URl for remote.&lt;br /&gt;
git remote set-url origin https://samerhijazi@gitlab.com/samerhijazi/public.git   ### Change URL for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Clone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git clone ssh://ssh-w0000000@servername.com/www/htdocs/w0000000/repository/git/projectname.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Checkout==&lt;br /&gt;
* HEAD reflects 'git checkout'&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout main          # checkout main-Branch@HEAD&lt;br /&gt;
git checkout main^         # moves HEAD 1-commit back from main-Branch&lt;br /&gt;
git checkout main~4        # moves HEAD 4-commits back from main-Branch&lt;br /&gt;
git branch -f main HEAD~3  # moves (by force) the main-Branch 3-commits back from HEAD.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Branch==&lt;br /&gt;
* Checkout&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch                                              # list branches local.&lt;br /&gt;
git branch -r						# list branches remote.&lt;br /&gt;
git branch -a						# list branches all (local &amp;amp; remote).&lt;br /&gt;
---&lt;br /&gt;
git branch $NAME_BRANCH_NEW                             # Create a new Branch&lt;br /&gt;
git switch $NAME_BRANCH_NEW                             # Switch to branch&lt;br /&gt;
---&lt;br /&gt;
git checkout $NAME_BRANCH_EXISIT			# checkout exiting branch&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW			# create a new branch from HEAD and then checkout &amp;lt;new-branch&amp;gt;&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW $NAME_BRANCH_EXISIT	# create a new branch from $NAME_BRANCH_EXISIT and then checkout $NAME_BRANCH_NEW&lt;br /&gt;
---&lt;br /&gt;
git push --set-upstream origin $NAME_BRANCH_NEW         # Push the $NAME_BRANCH_NEW branch and set the remote as upstream.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -m $NAME_OLD $NAME_NEW     		        # To rename a local branch&lt;br /&gt;
git push origin -u $NAME_OLD :$NAME_NEW 		# To rename a remote branch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Delete&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -d $NAME_BRANCH_TO_DELETE			# Delete a branch on local.&lt;br /&gt;
git push origin --delete $NAME_BRANCH_TO_DELETE		# Delete a branch on remote.&lt;br /&gt;
git push origin :$NAME_BRANCH_TO_DELETE                 # Delete a branch on remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Merge==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch_merge_to&amp;gt;           # change to branch where the merge will be done&lt;br /&gt;
git merge --no-ff &amp;lt;branch_merge_from&amp;gt;    # merge &amp;lt;branch_merge_from&amp;gt; in &amp;lt;branch_merge_to&amp;gt;&lt;br /&gt;
git push&lt;br /&gt;
...&lt;br /&gt;
git merge --abort   # returen to the state before starting the merge.&lt;br /&gt;
git reset --hard    # roll back to the commit before the merge.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Taging==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git tag                                      # List tages&lt;br /&gt;
git tag -a v2021.09.03 -m &amp;quot;Messages&amp;quot;         # Add tag&lt;br /&gt;
git tag -m $TAG_OLD $TAG_NEW                 # Rename tag.&lt;br /&gt;
git push origin $TAG                         # Push a current tag to remote.&lt;br /&gt;
git push origin --tags                       # Push all tags to remote.&lt;br /&gt;
---              &lt;br /&gt;
git fetch				     # Fetch remote All tags.&lt;br /&gt;
git tag -d $TAG_TO_DELETE                    # Delete a tag on local.&lt;br /&gt;
git push origin :refs/tags/$TAG_TO_DELETE    # Delete a tag on remote variant 1.&lt;br /&gt;
git push origin --delete $TAG_TO_DELETE      # Delete a tag on remote variant 2.&lt;br /&gt;
---&lt;br /&gt;
git tag -d $(git tag -l)	             # Delete all local tags.&lt;br /&gt;
git push origin --delete $(git tag -l)       # Delete all remote tags.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove &amp;amp; Rename==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch-name&amp;gt;&lt;br /&gt;
git rm -r &amp;lt;file-to-remove&amp;gt;                  # remove file&lt;br /&gt;
git mv &amp;lt;filename-old&amp;gt; &amp;lt;filename-new&amp;gt;        # rename file&lt;br /&gt;
git clean -fd                               # remove directories forced&lt;br /&gt;
git commit -m &amp;quot;My Massage&amp;quot;&lt;br /&gt;
git push origin &amp;lt;branch-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Stash==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git stash                          # Save all local changes und remove them from workspace. &lt;br /&gt;
git fetch                          # fetch from the default remote, origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git reset HEAD~1                   # Moves branch reference 1-commit back.&lt;br /&gt;
git reset *                        # Undo &amp;quot;git add *&amp;quot;&lt;br /&gt;
git reset --hard origin/master     # Reset your current branch (master) to origin's master&lt;br /&gt;
---&lt;br /&gt;
git revert HEAD                    # Undo last commit and make ready for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Clean==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -f                       # Remove untracked files with force (-f).&lt;br /&gt;
git clean -f -n                    # Remove files with dry-run (-n).&lt;br /&gt;
git clean -f -d                    # Remove untracked files and directories (-d).&lt;br /&gt;
git clean -f -x                    # Remove ignored and non-ignored files (-x).&lt;br /&gt;
git clean -f -X                    # Remove ignored files only (-X).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remote==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git remote -v						# View remotes.&lt;br /&gt;
git remote add $REMOTE_NAME $REMOTE_PATH                # Add remote.&lt;br /&gt;
git remote rm $REMOTE_NAME                              # Delete remote.&lt;br /&gt;
git remote rename $REMOTE_NAME_OLD $REMOTE_NAME_NEW	# Change remote name from 'origin' to 'destination'&lt;br /&gt;
---&lt;br /&gt;
git remote prune origin --dry-run&lt;br /&gt;
git remote prune origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fetch &amp;amp; Pull &amp;amp; Push==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git fetch                        # Download new data (commits, files, and refs.) from a remote-repository into local-repository.                                        &lt;br /&gt;
git fetch --prune		 # Remove remote branches that not longer have a counterpart.&lt;br /&gt;
---&lt;br /&gt;
git pull                         # Download new data (commits, files, and refs.) from a remote-repository into local-repository and integrate the new data in working-files.&lt;br /&gt;
git pull --rebase origin master  # get changes from remote master. And commit it for local/user commit.&lt;br /&gt;
---&lt;br /&gt;
git push                         # Upload local-repository content to a remote-repository.&lt;br /&gt;
git push --force-with-lease      # To avoid overwrite history from rebase, Lease entsure that history dokumented. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset local workspace==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -fxd         ### Clean ignored and non-ignored files/directoryes.&lt;br /&gt;
git reset –-hard       ### Reset current HEAD to the specified state.&lt;br /&gt;
git restore .          ### Restore working tree files.&lt;br /&gt;
git checkout .         ### same as (git restore .).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Git branching model=&lt;br /&gt;
* src: http://blog.plasticscm.com/2017/04/how-we-do-trunk-based-development.html&lt;br /&gt;
* src: https://cloud.google.com/solutions/devops/devops-tech-trunk-based-development&lt;br /&gt;
* src: https://medium.com/safetycultureengineering/trunks-are-not-just-for-trees-from-git-flow-to-trunk-based-development-949d580697ef&lt;br /&gt;
* src: https://trunkbaseddevelopment.com/&lt;br /&gt;
* src: https://nvie.com/posts/a-successful-git-branching-model/&lt;br /&gt;
* src: https://medium.com/@patrickporto/4-branching-workflows-for-git-30d0aaee7bf&lt;br /&gt;
* src: https://guides.github.com/introduction/flow/index.html&lt;br /&gt;
* src: https://www.youtube.com/watch?v=1SXpE08hvGs&lt;br /&gt;
* Hauptbraches: master &amp;amp; develop&lt;br /&gt;
* Arbeitbraches: feature, release, hotfixes&lt;br /&gt;
==Branch Feature==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b myfeature develop&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff myfeature&lt;br /&gt;
git branch -d myfeature&lt;br /&gt;
...&lt;br /&gt;
git push origin develop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch Release==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b release-1.2 develop&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git tag -a 1.2&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git branch -d release-1.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch HotFix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b hotfix-1.2.1 master&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2.1&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git tag -a 1.2.1&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git branch -d hotfix-1.2.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CICD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git --no-pager show -s --format=\'%ae\'           # Disaply email address last commit&lt;br /&gt;
git config user.name                              # Dispaly email address user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2729</id>
		<title>IT-SDK-Git</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2729"/>
		<updated>2022-10-27T17:12:01Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* .bashrc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://blog.jinlaixu.net/books/ProGit/en/index.html&lt;br /&gt;
* https://help.github.com/en/github/using-git&lt;br /&gt;
* https://www.atlassian.com/git/tutorials/setting-up-a-repository&lt;br /&gt;
* https://fedoraproject.org/wiki/Git_quick_reference&lt;br /&gt;
* https://www.git-tower.com/learn/git/ebook/en/command-line/advanced-topics/merge-conflicts&lt;br /&gt;
* https://hackernoon.com/understanding-git-index-4821a0765cf&lt;br /&gt;
* https://docs.gitlab.com/ee/topics/git/numerous_undo_possibilities_in_git/&lt;br /&gt;
* Git-Branching-Game: https://learngitbranching.js.org/&lt;br /&gt;
* https://www.toptal.com/software/trunk-based-development-git-flow&lt;br /&gt;
* Cheat-Sheet: https://github.github.com/training-kit/downloads/de/github-git-cheat-sheet/&lt;br /&gt;
* Cheat-Sheet: https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet&lt;br /&gt;
* https://www.gitignore.io&lt;br /&gt;
* JGit: https://www.vogella.com/tutorials/JGit/article.html&lt;br /&gt;
* JGit-Cookbook: https://github.com/centic9/jgit-cookbook/&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
* '''Stages''': worktree, staged(index), HEAD&lt;br /&gt;
=.bashrc &amp;amp; .zshrc=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git_branch() {&lt;br /&gt;
  git branch 2&amp;gt; /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'&lt;br /&gt;
}&lt;br /&gt;
git_branch() {&lt;br /&gt;
    branch=$(git symbolic-ref --short HEAD 2&amp;gt; /dev/null)&lt;br /&gt;
    if [[ $branch == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        :&lt;br /&gt;
    else&lt;br /&gt;
        echo '('$branch')'&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
setopt PROMPT_SUBST&lt;br /&gt;
PROMPT='[%F{green}%d%f]%F{red} $(git_branch)%f&lt;br /&gt;
$ '&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Global==&lt;br /&gt;
* https://www.git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --local --list       # List Configs for repos. config file &amp;quot;repo/.git/config&amp;quot;&lt;br /&gt;
git config --global --list      # List Configs for global config file &amp;quot;~/.gitconfig&amp;quot;&lt;br /&gt;
git config --system --list      # List Configs for System config file &amp;quot;installed/git/etc/gitconfig&amp;quot;&lt;br /&gt;
---&lt;br /&gt;
git config --global --edit               # Edit Configs&lt;br /&gt;
git config --global user.name            # Show config for user.name&lt;br /&gt;
git config --global user.name &amp;quot;King&amp;quot;     # Set Value &amp;quot;King&amp;quot; to user.name&lt;br /&gt;
git config --global --unset user.name    # Unset Value from user.name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global user.name &amp;quot;Samer Hijazi&amp;quot;&lt;br /&gt;
git config --global user.email &amp;quot;samer.hijazi@samerhijazi.net&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global alias.ss 'status -s'&lt;br /&gt;
git config --global alias.rs 'reset --hard origin/master'&lt;br /&gt;
git config --global alias.cp '!git commit -a -m &amp;quot;Update $1&amp;quot; &amp;amp;&amp;amp; git push'&lt;br /&gt;
----&lt;br /&gt;
git config --global core.editor &amp;quot;nano&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;vim&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global http.proxy $PROXY_URL&lt;br /&gt;
git config --global https.proxy $PROXY_URL&lt;br /&gt;
----&lt;br /&gt;
git config --global core.autocrlf true       # Working on Windows, Linux, macOS Maschines.&lt;br /&gt;
git config --global core.safecrlf false      # Disable showing Warnning for LF&lt;br /&gt;
git config --global core.longpaths true&lt;br /&gt;
----&lt;br /&gt;
git config --global diff.tool bc&lt;br /&gt;
git config --global difftool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git config --global merge.tool bc&lt;br /&gt;
git config --global mergetool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global advice.addIgnoredFile false   # Turen off advice for adding Ignored files&lt;br /&gt;
----&lt;br /&gt;
git commit --amend --reset-author&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# https://mattferderer.com/fix-git-self-signed-certificate-in-certificate-chain-on-windows&lt;br /&gt;
git config --global http.sslVerify false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Credential==&lt;br /&gt;
===Refs===&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/docs/wsl.md&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md#linux-install-instructions&lt;br /&gt;
===Settings===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global --edit&lt;br /&gt;
git config --global credential.helper cache                                      ### keeps credentials in memory for a 15min  (default cache timeout).&lt;br /&gt;
git config --global credential.helper 'cache --timeout=3600'                     ### keeps credentials in memory for a 36min.&lt;br /&gt;
git config --global credential.helper store                                      ### save entered password in (~/.git-credentials) by default.&lt;br /&gt;
git config --global credential.helper 'store --file ~/.my-credentials'&lt;br /&gt;
git config --global credential.helper '/usr/local/share/gcm-core/git-credential-manager-core'                 ### Set &amp;quot;Git Credential Manager&amp;quot; on Linux.&lt;br /&gt;
git config --global credential.credentialStore secretservice                                                  ### GUI Storage für Linux&lt;br /&gt;
git config --global credential.helper '/mnt/c/git/mingw64/bin/git-credential-manager-core.exe'   ### Set &amp;quot;Git Credential Manager&amp;quot; on WSL.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ssh===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
type %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
cat %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
chmod 600 ~/.ssh/key_github&lt;br /&gt;
eval &amp;quot;$(ssh-agent -s)&amp;quot;&lt;br /&gt;
ssh-add ~/.ssh/key_github&lt;br /&gt;
ssh -T git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ssh -T git@gitlab.com&lt;br /&gt;
ssh -T git@bitbucket.org&lt;br /&gt;
git remote set-url origin https://github.com/username/repository-name.git    ### For SSH-Connection&lt;br /&gt;
git remote set-url origin git@github.com:username/repository-name.git        ### For HTTPS-Connection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==.getignore==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
folder/&lt;br /&gt;
.file&lt;br /&gt;
*.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
* All-in-One&lt;br /&gt;
* Initial&lt;br /&gt;
* create files &amp;amp; folders &amp;amp; branches&lt;br /&gt;
* del files &amp;amp; folders &amp;amp; braches&lt;br /&gt;
* merge branches&lt;br /&gt;
* revert changes&lt;br /&gt;
&lt;br /&gt;
==Main==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git pull&lt;br /&gt;
git add README.md&lt;br /&gt;
git commit -m &amp;quot;First commit&amp;quot;&lt;br /&gt;
git push -u origin master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Initialisieren==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git init --bare         # Initial Repo for remote&lt;br /&gt;
git init                # Initial Repo for local&lt;br /&gt;
...&lt;br /&gt;
git remote add origin https://samerhijazi@gitlab.com/samerhijazi/public.git       ### Add URl for remote.&lt;br /&gt;
git remote set-url origin https://samerhijazi@gitlab.com/samerhijazi/public.git   ### Change URL for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Clone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git clone ssh://ssh-w0000000@servername.com/www/htdocs/w0000000/repository/git/projectname.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Checkout==&lt;br /&gt;
* HEAD reflects 'git checkout'&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout main          # checkout main-Branch@HEAD&lt;br /&gt;
git checkout main^         # moves HEAD 1-commit back from main-Branch&lt;br /&gt;
git checkout main~4        # moves HEAD 4-commits back from main-Branch&lt;br /&gt;
git branch -f main HEAD~3  # moves (by force) the main-Branch 3-commits back from HEAD.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Branch==&lt;br /&gt;
* Checkout&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch                                              # list branches local.&lt;br /&gt;
git branch -r						# list branches remote.&lt;br /&gt;
git branch -a						# list branches all (local &amp;amp; remote).&lt;br /&gt;
---&lt;br /&gt;
git branch $NAME_BRANCH_NEW                             # Create a new Branch&lt;br /&gt;
git switch $NAME_BRANCH_NEW                             # Switch to branch&lt;br /&gt;
---&lt;br /&gt;
git checkout $NAME_BRANCH_EXISIT			# checkout exiting branch&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW			# create a new branch from HEAD and then checkout &amp;lt;new-branch&amp;gt;&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW $NAME_BRANCH_EXISIT	# create a new branch from $NAME_BRANCH_EXISIT and then checkout $NAME_BRANCH_NEW&lt;br /&gt;
---&lt;br /&gt;
git push --set-upstream origin $NAME_BRANCH_NEW         # Push the $NAME_BRANCH_NEW branch and set the remote as upstream.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -m $NAME_OLD $NAME_NEW     		        # To rename a local branch&lt;br /&gt;
git push origin -u $NAME_OLD :$NAME_NEW 		# To rename a remote branch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Delete&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -d $NAME_BRANCH_TO_DELETE			# Delete a branch on local.&lt;br /&gt;
git push origin --delete $NAME_BRANCH_TO_DELETE		# Delete a branch on remote.&lt;br /&gt;
git push origin :$NAME_BRANCH_TO_DELETE                 # Delete a branch on remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Merge==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch_merge_to&amp;gt;           # change to branch where the merge will be done&lt;br /&gt;
git merge --no-ff &amp;lt;branch_merge_from&amp;gt;    # merge &amp;lt;branch_merge_from&amp;gt; in &amp;lt;branch_merge_to&amp;gt;&lt;br /&gt;
git push&lt;br /&gt;
...&lt;br /&gt;
git merge --abort   # returen to the state before starting the merge.&lt;br /&gt;
git reset --hard    # roll back to the commit before the merge.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Taging==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git tag                                      # List tages&lt;br /&gt;
git tag -a v2021.09.03 -m &amp;quot;Messages&amp;quot;         # Add tag&lt;br /&gt;
git tag -m $TAG_OLD $TAG_NEW                 # Rename tag.&lt;br /&gt;
git push origin $TAG                         # Push a current tag to remote.&lt;br /&gt;
git push origin --tags                       # Push all tags to remote.&lt;br /&gt;
---              &lt;br /&gt;
git fetch				     # Fetch remote All tags.&lt;br /&gt;
git tag -d $TAG_TO_DELETE                    # Delete a tag on local.&lt;br /&gt;
git push origin :refs/tags/$TAG_TO_DELETE    # Delete a tag on remote variant 1.&lt;br /&gt;
git push origin --delete $TAG_TO_DELETE      # Delete a tag on remote variant 2.&lt;br /&gt;
---&lt;br /&gt;
git tag -d $(git tag -l)	             # Delete all local tags.&lt;br /&gt;
git push origin --delete $(git tag -l)       # Delete all remote tags.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove &amp;amp; Rename==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch-name&amp;gt;&lt;br /&gt;
git rm -r &amp;lt;file-to-remove&amp;gt;                  # remove file&lt;br /&gt;
git mv &amp;lt;filename-old&amp;gt; &amp;lt;filename-new&amp;gt;        # rename file&lt;br /&gt;
git clean -fd                               # remove directories forced&lt;br /&gt;
git commit -m &amp;quot;My Massage&amp;quot;&lt;br /&gt;
git push origin &amp;lt;branch-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Stash==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git stash                          # Save all local changes und remove them from workspace. &lt;br /&gt;
git fetch                          # fetch from the default remote, origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git reset HEAD~1                   # Moves branch reference 1-commit back.&lt;br /&gt;
git reset *                        # Undo &amp;quot;git add *&amp;quot;&lt;br /&gt;
git reset --hard origin/master     # Reset your current branch (master) to origin's master&lt;br /&gt;
---&lt;br /&gt;
git revert HEAD                    # Undo last commit and make ready for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Clean==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -f                       # Remove untracked files with force (-f).&lt;br /&gt;
git clean -f -n                    # Remove files with dry-run (-n).&lt;br /&gt;
git clean -f -d                    # Remove untracked files and directories (-d).&lt;br /&gt;
git clean -f -x                    # Remove ignored and non-ignored files (-x).&lt;br /&gt;
git clean -f -X                    # Remove ignored files only (-X).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remote==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git remote -v						# View remotes.&lt;br /&gt;
git remote add $REMOTE_NAME $REMOTE_PATH                # Add remote.&lt;br /&gt;
git remote rm $REMOTE_NAME                              # Delete remote.&lt;br /&gt;
git remote rename $REMOTE_NAME_OLD $REMOTE_NAME_NEW	# Change remote name from 'origin' to 'destination'&lt;br /&gt;
---&lt;br /&gt;
git remote prune origin --dry-run&lt;br /&gt;
git remote prune origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fetch &amp;amp; Pull &amp;amp; Push==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git fetch                        # Download new data (commits, files, and refs.) from a remote-repository into local-repository.                                        &lt;br /&gt;
git fetch --prune		 # Remove remote branches that not longer have a counterpart.&lt;br /&gt;
---&lt;br /&gt;
git pull                         # Download new data (commits, files, and refs.) from a remote-repository into local-repository and integrate the new data in working-files.&lt;br /&gt;
git pull --rebase origin master  # get changes from remote master. And commit it for local/user commit.&lt;br /&gt;
---&lt;br /&gt;
git push                         # Upload local-repository content to a remote-repository.&lt;br /&gt;
git push --force-with-lease      # To avoid overwrite history from rebase, Lease entsure that history dokumented. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset local workspace==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -fxd         ### Clean ignored and non-ignored files/directoryes.&lt;br /&gt;
git reset –-hard       ### Reset current HEAD to the specified state.&lt;br /&gt;
git restore .          ### Restore working tree files.&lt;br /&gt;
git checkout .         ### same as (git restore .).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Git branching model=&lt;br /&gt;
* src: http://blog.plasticscm.com/2017/04/how-we-do-trunk-based-development.html&lt;br /&gt;
* src: https://cloud.google.com/solutions/devops/devops-tech-trunk-based-development&lt;br /&gt;
* src: https://medium.com/safetycultureengineering/trunks-are-not-just-for-trees-from-git-flow-to-trunk-based-development-949d580697ef&lt;br /&gt;
* src: https://trunkbaseddevelopment.com/&lt;br /&gt;
* src: https://nvie.com/posts/a-successful-git-branching-model/&lt;br /&gt;
* src: https://medium.com/@patrickporto/4-branching-workflows-for-git-30d0aaee7bf&lt;br /&gt;
* src: https://guides.github.com/introduction/flow/index.html&lt;br /&gt;
* src: https://www.youtube.com/watch?v=1SXpE08hvGs&lt;br /&gt;
* Hauptbraches: master &amp;amp; develop&lt;br /&gt;
* Arbeitbraches: feature, release, hotfixes&lt;br /&gt;
==Branch Feature==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b myfeature develop&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff myfeature&lt;br /&gt;
git branch -d myfeature&lt;br /&gt;
...&lt;br /&gt;
git push origin develop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch Release==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b release-1.2 develop&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git tag -a 1.2&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git branch -d release-1.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch HotFix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b hotfix-1.2.1 master&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2.1&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git tag -a 1.2.1&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git branch -d hotfix-1.2.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CICD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git --no-pager show -s --format=\'%ae\'           # Disaply email address last commit&lt;br /&gt;
git config user.name                              # Dispaly email address user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2728</id>
		<title>IT-SDK-Git</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2728"/>
		<updated>2022-10-27T17:11:37Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* .bashrc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://blog.jinlaixu.net/books/ProGit/en/index.html&lt;br /&gt;
* https://help.github.com/en/github/using-git&lt;br /&gt;
* https://www.atlassian.com/git/tutorials/setting-up-a-repository&lt;br /&gt;
* https://fedoraproject.org/wiki/Git_quick_reference&lt;br /&gt;
* https://www.git-tower.com/learn/git/ebook/en/command-line/advanced-topics/merge-conflicts&lt;br /&gt;
* https://hackernoon.com/understanding-git-index-4821a0765cf&lt;br /&gt;
* https://docs.gitlab.com/ee/topics/git/numerous_undo_possibilities_in_git/&lt;br /&gt;
* Git-Branching-Game: https://learngitbranching.js.org/&lt;br /&gt;
* https://www.toptal.com/software/trunk-based-development-git-flow&lt;br /&gt;
* Cheat-Sheet: https://github.github.com/training-kit/downloads/de/github-git-cheat-sheet/&lt;br /&gt;
* Cheat-Sheet: https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet&lt;br /&gt;
* https://www.gitignore.io&lt;br /&gt;
* JGit: https://www.vogella.com/tutorials/JGit/article.html&lt;br /&gt;
* JGit-Cookbook: https://github.com/centic9/jgit-cookbook/&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
* '''Stages''': worktree, staged(index), HEAD&lt;br /&gt;
=.bashrc=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git_branch() {&lt;br /&gt;
  git branch 2&amp;gt; /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'&lt;br /&gt;
}&lt;br /&gt;
git_branch() {&lt;br /&gt;
    branch=$(git symbolic-ref --short HEAD 2&amp;gt; /dev/null)&lt;br /&gt;
    if [[ $branch == &amp;quot;&amp;quot; ]]; then&lt;br /&gt;
        :&lt;br /&gt;
    else&lt;br /&gt;
        echo '('$branch')'&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
setopt PROMPT_SUBST&lt;br /&gt;
PROMPT='[%F{green}%d%f]%F{red} $(git_branch)%f&lt;br /&gt;
$ '&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Global==&lt;br /&gt;
* https://www.git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --local --list       # List Configs for repos. config file &amp;quot;repo/.git/config&amp;quot;&lt;br /&gt;
git config --global --list      # List Configs for global config file &amp;quot;~/.gitconfig&amp;quot;&lt;br /&gt;
git config --system --list      # List Configs for System config file &amp;quot;installed/git/etc/gitconfig&amp;quot;&lt;br /&gt;
---&lt;br /&gt;
git config --global --edit               # Edit Configs&lt;br /&gt;
git config --global user.name            # Show config for user.name&lt;br /&gt;
git config --global user.name &amp;quot;King&amp;quot;     # Set Value &amp;quot;King&amp;quot; to user.name&lt;br /&gt;
git config --global --unset user.name    # Unset Value from user.name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global user.name &amp;quot;Samer Hijazi&amp;quot;&lt;br /&gt;
git config --global user.email &amp;quot;samer.hijazi@samerhijazi.net&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global alias.ss 'status -s'&lt;br /&gt;
git config --global alias.rs 'reset --hard origin/master'&lt;br /&gt;
git config --global alias.cp '!git commit -a -m &amp;quot;Update $1&amp;quot; &amp;amp;&amp;amp; git push'&lt;br /&gt;
----&lt;br /&gt;
git config --global core.editor &amp;quot;nano&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;vim&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global http.proxy $PROXY_URL&lt;br /&gt;
git config --global https.proxy $PROXY_URL&lt;br /&gt;
----&lt;br /&gt;
git config --global core.autocrlf true       # Working on Windows, Linux, macOS Maschines.&lt;br /&gt;
git config --global core.safecrlf false      # Disable showing Warnning for LF&lt;br /&gt;
git config --global core.longpaths true&lt;br /&gt;
----&lt;br /&gt;
git config --global diff.tool bc&lt;br /&gt;
git config --global difftool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git config --global merge.tool bc&lt;br /&gt;
git config --global mergetool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global advice.addIgnoredFile false   # Turen off advice for adding Ignored files&lt;br /&gt;
----&lt;br /&gt;
git commit --amend --reset-author&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# https://mattferderer.com/fix-git-self-signed-certificate-in-certificate-chain-on-windows&lt;br /&gt;
git config --global http.sslVerify false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Credential==&lt;br /&gt;
===Refs===&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/docs/wsl.md&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md#linux-install-instructions&lt;br /&gt;
===Settings===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global --edit&lt;br /&gt;
git config --global credential.helper cache                                      ### keeps credentials in memory for a 15min  (default cache timeout).&lt;br /&gt;
git config --global credential.helper 'cache --timeout=3600'                     ### keeps credentials in memory for a 36min.&lt;br /&gt;
git config --global credential.helper store                                      ### save entered password in (~/.git-credentials) by default.&lt;br /&gt;
git config --global credential.helper 'store --file ~/.my-credentials'&lt;br /&gt;
git config --global credential.helper '/usr/local/share/gcm-core/git-credential-manager-core'                 ### Set &amp;quot;Git Credential Manager&amp;quot; on Linux.&lt;br /&gt;
git config --global credential.credentialStore secretservice                                                  ### GUI Storage für Linux&lt;br /&gt;
git config --global credential.helper '/mnt/c/git/mingw64/bin/git-credential-manager-core.exe'   ### Set &amp;quot;Git Credential Manager&amp;quot; on WSL.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ssh===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
type %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
cat %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
chmod 600 ~/.ssh/key_github&lt;br /&gt;
eval &amp;quot;$(ssh-agent -s)&amp;quot;&lt;br /&gt;
ssh-add ~/.ssh/key_github&lt;br /&gt;
ssh -T git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ssh -T git@gitlab.com&lt;br /&gt;
ssh -T git@bitbucket.org&lt;br /&gt;
git remote set-url origin https://github.com/username/repository-name.git    ### For SSH-Connection&lt;br /&gt;
git remote set-url origin git@github.com:username/repository-name.git        ### For HTTPS-Connection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==.getignore==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
folder/&lt;br /&gt;
.file&lt;br /&gt;
*.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
* All-in-One&lt;br /&gt;
* Initial&lt;br /&gt;
* create files &amp;amp; folders &amp;amp; branches&lt;br /&gt;
* del files &amp;amp; folders &amp;amp; braches&lt;br /&gt;
* merge branches&lt;br /&gt;
* revert changes&lt;br /&gt;
&lt;br /&gt;
==Main==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git pull&lt;br /&gt;
git add README.md&lt;br /&gt;
git commit -m &amp;quot;First commit&amp;quot;&lt;br /&gt;
git push -u origin master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Initialisieren==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git init --bare         # Initial Repo for remote&lt;br /&gt;
git init                # Initial Repo for local&lt;br /&gt;
...&lt;br /&gt;
git remote add origin https://samerhijazi@gitlab.com/samerhijazi/public.git       ### Add URl for remote.&lt;br /&gt;
git remote set-url origin https://samerhijazi@gitlab.com/samerhijazi/public.git   ### Change URL for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Clone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git clone ssh://ssh-w0000000@servername.com/www/htdocs/w0000000/repository/git/projectname.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Checkout==&lt;br /&gt;
* HEAD reflects 'git checkout'&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout main          # checkout main-Branch@HEAD&lt;br /&gt;
git checkout main^         # moves HEAD 1-commit back from main-Branch&lt;br /&gt;
git checkout main~4        # moves HEAD 4-commits back from main-Branch&lt;br /&gt;
git branch -f main HEAD~3  # moves (by force) the main-Branch 3-commits back from HEAD.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Branch==&lt;br /&gt;
* Checkout&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch                                              # list branches local.&lt;br /&gt;
git branch -r						# list branches remote.&lt;br /&gt;
git branch -a						# list branches all (local &amp;amp; remote).&lt;br /&gt;
---&lt;br /&gt;
git branch $NAME_BRANCH_NEW                             # Create a new Branch&lt;br /&gt;
git switch $NAME_BRANCH_NEW                             # Switch to branch&lt;br /&gt;
---&lt;br /&gt;
git checkout $NAME_BRANCH_EXISIT			# checkout exiting branch&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW			# create a new branch from HEAD and then checkout &amp;lt;new-branch&amp;gt;&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW $NAME_BRANCH_EXISIT	# create a new branch from $NAME_BRANCH_EXISIT and then checkout $NAME_BRANCH_NEW&lt;br /&gt;
---&lt;br /&gt;
git push --set-upstream origin $NAME_BRANCH_NEW         # Push the $NAME_BRANCH_NEW branch and set the remote as upstream.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -m $NAME_OLD $NAME_NEW     		        # To rename a local branch&lt;br /&gt;
git push origin -u $NAME_OLD :$NAME_NEW 		# To rename a remote branch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Delete&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -d $NAME_BRANCH_TO_DELETE			# Delete a branch on local.&lt;br /&gt;
git push origin --delete $NAME_BRANCH_TO_DELETE		# Delete a branch on remote.&lt;br /&gt;
git push origin :$NAME_BRANCH_TO_DELETE                 # Delete a branch on remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Merge==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch_merge_to&amp;gt;           # change to branch where the merge will be done&lt;br /&gt;
git merge --no-ff &amp;lt;branch_merge_from&amp;gt;    # merge &amp;lt;branch_merge_from&amp;gt; in &amp;lt;branch_merge_to&amp;gt;&lt;br /&gt;
git push&lt;br /&gt;
...&lt;br /&gt;
git merge --abort   # returen to the state before starting the merge.&lt;br /&gt;
git reset --hard    # roll back to the commit before the merge.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Taging==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git tag                                      # List tages&lt;br /&gt;
git tag -a v2021.09.03 -m &amp;quot;Messages&amp;quot;         # Add tag&lt;br /&gt;
git tag -m $TAG_OLD $TAG_NEW                 # Rename tag.&lt;br /&gt;
git push origin $TAG                         # Push a current tag to remote.&lt;br /&gt;
git push origin --tags                       # Push all tags to remote.&lt;br /&gt;
---              &lt;br /&gt;
git fetch				     # Fetch remote All tags.&lt;br /&gt;
git tag -d $TAG_TO_DELETE                    # Delete a tag on local.&lt;br /&gt;
git push origin :refs/tags/$TAG_TO_DELETE    # Delete a tag on remote variant 1.&lt;br /&gt;
git push origin --delete $TAG_TO_DELETE      # Delete a tag on remote variant 2.&lt;br /&gt;
---&lt;br /&gt;
git tag -d $(git tag -l)	             # Delete all local tags.&lt;br /&gt;
git push origin --delete $(git tag -l)       # Delete all remote tags.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove &amp;amp; Rename==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch-name&amp;gt;&lt;br /&gt;
git rm -r &amp;lt;file-to-remove&amp;gt;                  # remove file&lt;br /&gt;
git mv &amp;lt;filename-old&amp;gt; &amp;lt;filename-new&amp;gt;        # rename file&lt;br /&gt;
git clean -fd                               # remove directories forced&lt;br /&gt;
git commit -m &amp;quot;My Massage&amp;quot;&lt;br /&gt;
git push origin &amp;lt;branch-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Stash==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git stash                          # Save all local changes und remove them from workspace. &lt;br /&gt;
git fetch                          # fetch from the default remote, origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git reset HEAD~1                   # Moves branch reference 1-commit back.&lt;br /&gt;
git reset *                        # Undo &amp;quot;git add *&amp;quot;&lt;br /&gt;
git reset --hard origin/master     # Reset your current branch (master) to origin's master&lt;br /&gt;
---&lt;br /&gt;
git revert HEAD                    # Undo last commit and make ready for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Clean==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -f                       # Remove untracked files with force (-f).&lt;br /&gt;
git clean -f -n                    # Remove files with dry-run (-n).&lt;br /&gt;
git clean -f -d                    # Remove untracked files and directories (-d).&lt;br /&gt;
git clean -f -x                    # Remove ignored and non-ignored files (-x).&lt;br /&gt;
git clean -f -X                    # Remove ignored files only (-X).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remote==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git remote -v						# View remotes.&lt;br /&gt;
git remote add $REMOTE_NAME $REMOTE_PATH                # Add remote.&lt;br /&gt;
git remote rm $REMOTE_NAME                              # Delete remote.&lt;br /&gt;
git remote rename $REMOTE_NAME_OLD $REMOTE_NAME_NEW	# Change remote name from 'origin' to 'destination'&lt;br /&gt;
---&lt;br /&gt;
git remote prune origin --dry-run&lt;br /&gt;
git remote prune origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fetch &amp;amp; Pull &amp;amp; Push==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git fetch                        # Download new data (commits, files, and refs.) from a remote-repository into local-repository.                                        &lt;br /&gt;
git fetch --prune		 # Remove remote branches that not longer have a counterpart.&lt;br /&gt;
---&lt;br /&gt;
git pull                         # Download new data (commits, files, and refs.) from a remote-repository into local-repository and integrate the new data in working-files.&lt;br /&gt;
git pull --rebase origin master  # get changes from remote master. And commit it for local/user commit.&lt;br /&gt;
---&lt;br /&gt;
git push                         # Upload local-repository content to a remote-repository.&lt;br /&gt;
git push --force-with-lease      # To avoid overwrite history from rebase, Lease entsure that history dokumented. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset local workspace==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -fxd         ### Clean ignored and non-ignored files/directoryes.&lt;br /&gt;
git reset –-hard       ### Reset current HEAD to the specified state.&lt;br /&gt;
git restore .          ### Restore working tree files.&lt;br /&gt;
git checkout .         ### same as (git restore .).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Git branching model=&lt;br /&gt;
* src: http://blog.plasticscm.com/2017/04/how-we-do-trunk-based-development.html&lt;br /&gt;
* src: https://cloud.google.com/solutions/devops/devops-tech-trunk-based-development&lt;br /&gt;
* src: https://medium.com/safetycultureengineering/trunks-are-not-just-for-trees-from-git-flow-to-trunk-based-development-949d580697ef&lt;br /&gt;
* src: https://trunkbaseddevelopment.com/&lt;br /&gt;
* src: https://nvie.com/posts/a-successful-git-branching-model/&lt;br /&gt;
* src: https://medium.com/@patrickporto/4-branching-workflows-for-git-30d0aaee7bf&lt;br /&gt;
* src: https://guides.github.com/introduction/flow/index.html&lt;br /&gt;
* src: https://www.youtube.com/watch?v=1SXpE08hvGs&lt;br /&gt;
* Hauptbraches: master &amp;amp; develop&lt;br /&gt;
* Arbeitbraches: feature, release, hotfixes&lt;br /&gt;
==Branch Feature==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b myfeature develop&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff myfeature&lt;br /&gt;
git branch -d myfeature&lt;br /&gt;
...&lt;br /&gt;
git push origin develop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch Release==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b release-1.2 develop&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git tag -a 1.2&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git branch -d release-1.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch HotFix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b hotfix-1.2.1 master&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2.1&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git tag -a 1.2.1&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git branch -d hotfix-1.2.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CICD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git --no-pager show -s --format=\'%ae\'           # Disaply email address last commit&lt;br /&gt;
git config user.name                              # Dispaly email address user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2727</id>
		<title>IT-SDK-Git</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Git&amp;diff=2727"/>
		<updated>2022-10-27T11:03:08Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Global */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://blog.jinlaixu.net/books/ProGit/en/index.html&lt;br /&gt;
* https://help.github.com/en/github/using-git&lt;br /&gt;
* https://www.atlassian.com/git/tutorials/setting-up-a-repository&lt;br /&gt;
* https://fedoraproject.org/wiki/Git_quick_reference&lt;br /&gt;
* https://www.git-tower.com/learn/git/ebook/en/command-line/advanced-topics/merge-conflicts&lt;br /&gt;
* https://hackernoon.com/understanding-git-index-4821a0765cf&lt;br /&gt;
* https://docs.gitlab.com/ee/topics/git/numerous_undo_possibilities_in_git/&lt;br /&gt;
* Git-Branching-Game: https://learngitbranching.js.org/&lt;br /&gt;
* https://www.toptal.com/software/trunk-based-development-git-flow&lt;br /&gt;
* Cheat-Sheet: https://github.github.com/training-kit/downloads/de/github-git-cheat-sheet/&lt;br /&gt;
* Cheat-Sheet: https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet&lt;br /&gt;
* https://www.gitignore.io&lt;br /&gt;
* JGit: https://www.vogella.com/tutorials/JGit/article.html&lt;br /&gt;
* JGit-Cookbook: https://github.com/centic9/jgit-cookbook/&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
* '''Stages''': worktree, staged(index), HEAD&lt;br /&gt;
=.bashrc=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
force_color_prompt=yes&lt;br /&gt;
color_prompt=yes&lt;br /&gt;
parse_git_branch() {&lt;br /&gt;
   git branch 2&amp;gt; /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'&lt;br /&gt;
}&lt;br /&gt;
PROMPT=&amp;quot;[%F{green}%d%f] %F{red}$(parse_git_branch)%f&lt;br /&gt;
$ &amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Global==&lt;br /&gt;
* https://www.git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --local --list       # List Configs for repos. config file &amp;quot;repo/.git/config&amp;quot;&lt;br /&gt;
git config --global --list      # List Configs for global config file &amp;quot;~/.gitconfig&amp;quot;&lt;br /&gt;
git config --system --list      # List Configs for System config file &amp;quot;installed/git/etc/gitconfig&amp;quot;&lt;br /&gt;
---&lt;br /&gt;
git config --global --edit               # Edit Configs&lt;br /&gt;
git config --global user.name            # Show config for user.name&lt;br /&gt;
git config --global user.name &amp;quot;King&amp;quot;     # Set Value &amp;quot;King&amp;quot; to user.name&lt;br /&gt;
git config --global --unset user.name    # Unset Value from user.name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global user.name &amp;quot;Samer Hijazi&amp;quot;&lt;br /&gt;
git config --global user.email &amp;quot;samer.hijazi@samerhijazi.net&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global alias.ss 'status -s'&lt;br /&gt;
git config --global alias.rs 'reset --hard origin/master'&lt;br /&gt;
git config --global alias.cp '!git commit -a -m &amp;quot;Update $1&amp;quot; &amp;amp;&amp;amp; git push'&lt;br /&gt;
----&lt;br /&gt;
git config --global core.editor &amp;quot;nano&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;vim&amp;quot;&lt;br /&gt;
git config --global core.editor &amp;quot;'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global http.proxy $PROXY_URL&lt;br /&gt;
git config --global https.proxy $PROXY_URL&lt;br /&gt;
----&lt;br /&gt;
git config --global core.autocrlf true       # Working on Windows, Linux, macOS Maschines.&lt;br /&gt;
git config --global core.safecrlf false      # Disable showing Warnning for LF&lt;br /&gt;
git config --global core.longpaths true&lt;br /&gt;
----&lt;br /&gt;
git config --global diff.tool bc&lt;br /&gt;
git config --global difftool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git config --global merge.tool bc&lt;br /&gt;
git config --global mergetool.bc.path &amp;quot;C:/Program Files/Beyond Compare 4/bcomp.exe&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
git config --global advice.addIgnoredFile false   # Turen off advice for adding Ignored files&lt;br /&gt;
----&lt;br /&gt;
git commit --amend --reset-author&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# https://mattferderer.com/fix-git-self-signed-certificate-in-certificate-chain-on-windows&lt;br /&gt;
git config --global http.sslVerify false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Credential==&lt;br /&gt;
===Refs===&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/docs/wsl.md&lt;br /&gt;
* https://github.com/GitCredentialManager/git-credential-manager/blob/main/README.md#linux-install-instructions&lt;br /&gt;
===Settings===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git config --global --edit&lt;br /&gt;
git config --global credential.helper cache                                      ### keeps credentials in memory for a 15min  (default cache timeout).&lt;br /&gt;
git config --global credential.helper 'cache --timeout=3600'                     ### keeps credentials in memory for a 36min.&lt;br /&gt;
git config --global credential.helper store                                      ### save entered password in (~/.git-credentials) by default.&lt;br /&gt;
git config --global credential.helper 'store --file ~/.my-credentials'&lt;br /&gt;
git config --global credential.helper '/usr/local/share/gcm-core/git-credential-manager-core'                 ### Set &amp;quot;Git Credential Manager&amp;quot; on Linux.&lt;br /&gt;
git config --global credential.credentialStore secretservice                                                  ### GUI Storage für Linux&lt;br /&gt;
git config --global credential.helper '/mnt/c/git/mingw64/bin/git-credential-manager-core.exe'   ### Set &amp;quot;Git Credential Manager&amp;quot; on WSL.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ssh===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
type %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
cat %userprofile%\.ssh\id_rsa.pub | clip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
chmod 600 ~/.ssh/key_github&lt;br /&gt;
eval &amp;quot;$(ssh-agent -s)&amp;quot;&lt;br /&gt;
ssh-add ~/.ssh/key_github&lt;br /&gt;
ssh -T git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ssh -T git@gitlab.com&lt;br /&gt;
ssh -T git@bitbucket.org&lt;br /&gt;
git remote set-url origin https://github.com/username/repository-name.git    ### For SSH-Connection&lt;br /&gt;
git remote set-url origin git@github.com:username/repository-name.git        ### For HTTPS-Connection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==.getignore==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
folder/&lt;br /&gt;
.file&lt;br /&gt;
*.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
* All-in-One&lt;br /&gt;
* Initial&lt;br /&gt;
* create files &amp;amp; folders &amp;amp; branches&lt;br /&gt;
* del files &amp;amp; folders &amp;amp; braches&lt;br /&gt;
* merge branches&lt;br /&gt;
* revert changes&lt;br /&gt;
&lt;br /&gt;
==Main==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git pull&lt;br /&gt;
git add README.md&lt;br /&gt;
git commit -m &amp;quot;First commit&amp;quot;&lt;br /&gt;
git push -u origin master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Initialisieren==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git init --bare         # Initial Repo for remote&lt;br /&gt;
git init                # Initial Repo for local&lt;br /&gt;
...&lt;br /&gt;
git remote add origin https://samerhijazi@gitlab.com/samerhijazi/public.git       ### Add URl for remote.&lt;br /&gt;
git remote set-url origin https://samerhijazi@gitlab.com/samerhijazi/public.git   ### Change URL for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Clone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/samerhijazi/automation.git -b branchname ./local-folder&lt;br /&gt;
git clone ssh://ssh-w0000000@servername.com/www/htdocs/w0000000/repository/git/projectname.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Checkout==&lt;br /&gt;
* HEAD reflects 'git checkout'&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout main          # checkout main-Branch@HEAD&lt;br /&gt;
git checkout main^         # moves HEAD 1-commit back from main-Branch&lt;br /&gt;
git checkout main~4        # moves HEAD 4-commits back from main-Branch&lt;br /&gt;
git branch -f main HEAD~3  # moves (by force) the main-Branch 3-commits back from HEAD.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Branch==&lt;br /&gt;
* Checkout&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch                                              # list branches local.&lt;br /&gt;
git branch -r						# list branches remote.&lt;br /&gt;
git branch -a						# list branches all (local &amp;amp; remote).&lt;br /&gt;
---&lt;br /&gt;
git branch $NAME_BRANCH_NEW                             # Create a new Branch&lt;br /&gt;
git switch $NAME_BRANCH_NEW                             # Switch to branch&lt;br /&gt;
---&lt;br /&gt;
git checkout $NAME_BRANCH_EXISIT			# checkout exiting branch&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW			# create a new branch from HEAD and then checkout &amp;lt;new-branch&amp;gt;&lt;br /&gt;
git checkout -b $NAME_BRANCH_NEW $NAME_BRANCH_EXISIT	# create a new branch from $NAME_BRANCH_EXISIT and then checkout $NAME_BRANCH_NEW&lt;br /&gt;
---&lt;br /&gt;
git push --set-upstream origin $NAME_BRANCH_NEW         # Push the $NAME_BRANCH_NEW branch and set the remote as upstream.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -m $NAME_OLD $NAME_NEW     		        # To rename a local branch&lt;br /&gt;
git push origin -u $NAME_OLD :$NAME_NEW 		# To rename a remote branch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Delete&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git branch -d $NAME_BRANCH_TO_DELETE			# Delete a branch on local.&lt;br /&gt;
git push origin --delete $NAME_BRANCH_TO_DELETE		# Delete a branch on remote.&lt;br /&gt;
git push origin :$NAME_BRANCH_TO_DELETE                 # Delete a branch on remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Merge==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch_merge_to&amp;gt;           # change to branch where the merge will be done&lt;br /&gt;
git merge --no-ff &amp;lt;branch_merge_from&amp;gt;    # merge &amp;lt;branch_merge_from&amp;gt; in &amp;lt;branch_merge_to&amp;gt;&lt;br /&gt;
git push&lt;br /&gt;
...&lt;br /&gt;
git merge --abort   # returen to the state before starting the merge.&lt;br /&gt;
git reset --hard    # roll back to the commit before the merge.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Taging==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git tag                                      # List tages&lt;br /&gt;
git tag -a v2021.09.03 -m &amp;quot;Messages&amp;quot;         # Add tag&lt;br /&gt;
git tag -m $TAG_OLD $TAG_NEW                 # Rename tag.&lt;br /&gt;
git push origin $TAG                         # Push a current tag to remote.&lt;br /&gt;
git push origin --tags                       # Push all tags to remote.&lt;br /&gt;
---              &lt;br /&gt;
git fetch				     # Fetch remote All tags.&lt;br /&gt;
git tag -d $TAG_TO_DELETE                    # Delete a tag on local.&lt;br /&gt;
git push origin :refs/tags/$TAG_TO_DELETE    # Delete a tag on remote variant 1.&lt;br /&gt;
git push origin --delete $TAG_TO_DELETE      # Delete a tag on remote variant 2.&lt;br /&gt;
---&lt;br /&gt;
git tag -d $(git tag -l)	             # Delete all local tags.&lt;br /&gt;
git push origin --delete $(git tag -l)       # Delete all remote tags.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove &amp;amp; Rename==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;branch-name&amp;gt;&lt;br /&gt;
git rm -r &amp;lt;file-to-remove&amp;gt;                  # remove file&lt;br /&gt;
git mv &amp;lt;filename-old&amp;gt; &amp;lt;filename-new&amp;gt;        # rename file&lt;br /&gt;
git clean -fd                               # remove directories forced&lt;br /&gt;
git commit -m &amp;quot;My Massage&amp;quot;&lt;br /&gt;
git push origin &amp;lt;branch-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Stash==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git stash                          # Save all local changes und remove them from workspace. &lt;br /&gt;
git fetch                          # fetch from the default remote, origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git reset HEAD~1                   # Moves branch reference 1-commit back.&lt;br /&gt;
git reset *                        # Undo &amp;quot;git add *&amp;quot;&lt;br /&gt;
git reset --hard origin/master     # Reset your current branch (master) to origin's master&lt;br /&gt;
---&lt;br /&gt;
git revert HEAD                    # Undo last commit and make ready for remote.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Clean==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -f                       # Remove untracked files with force (-f).&lt;br /&gt;
git clean -f -n                    # Remove files with dry-run (-n).&lt;br /&gt;
git clean -f -d                    # Remove untracked files and directories (-d).&lt;br /&gt;
git clean -f -x                    # Remove ignored and non-ignored files (-x).&lt;br /&gt;
git clean -f -X                    # Remove ignored files only (-X).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remote==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git remote -v						# View remotes.&lt;br /&gt;
git remote add $REMOTE_NAME $REMOTE_PATH                # Add remote.&lt;br /&gt;
git remote rm $REMOTE_NAME                              # Delete remote.&lt;br /&gt;
git remote rename $REMOTE_NAME_OLD $REMOTE_NAME_NEW	# Change remote name from 'origin' to 'destination'&lt;br /&gt;
---&lt;br /&gt;
git remote prune origin --dry-run&lt;br /&gt;
git remote prune origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fetch &amp;amp; Pull &amp;amp; Push==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git fetch                        # Download new data (commits, files, and refs.) from a remote-repository into local-repository.                                        &lt;br /&gt;
git fetch --prune		 # Remove remote branches that not longer have a counterpart.&lt;br /&gt;
---&lt;br /&gt;
git pull                         # Download new data (commits, files, and refs.) from a remote-repository into local-repository and integrate the new data in working-files.&lt;br /&gt;
git pull --rebase origin master  # get changes from remote master. And commit it for local/user commit.&lt;br /&gt;
---&lt;br /&gt;
git push                         # Upload local-repository content to a remote-repository.&lt;br /&gt;
git push --force-with-lease      # To avoid overwrite history from rebase, Lease entsure that history dokumented. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Reset local workspace==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git clean -fxd         ### Clean ignored and non-ignored files/directoryes.&lt;br /&gt;
git reset –-hard       ### Reset current HEAD to the specified state.&lt;br /&gt;
git restore .          ### Restore working tree files.&lt;br /&gt;
git checkout .         ### same as (git restore .).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Git branching model=&lt;br /&gt;
* src: http://blog.plasticscm.com/2017/04/how-we-do-trunk-based-development.html&lt;br /&gt;
* src: https://cloud.google.com/solutions/devops/devops-tech-trunk-based-development&lt;br /&gt;
* src: https://medium.com/safetycultureengineering/trunks-are-not-just-for-trees-from-git-flow-to-trunk-based-development-949d580697ef&lt;br /&gt;
* src: https://trunkbaseddevelopment.com/&lt;br /&gt;
* src: https://nvie.com/posts/a-successful-git-branching-model/&lt;br /&gt;
* src: https://medium.com/@patrickporto/4-branching-workflows-for-git-30d0aaee7bf&lt;br /&gt;
* src: https://guides.github.com/introduction/flow/index.html&lt;br /&gt;
* src: https://www.youtube.com/watch?v=1SXpE08hvGs&lt;br /&gt;
* Hauptbraches: master &amp;amp; develop&lt;br /&gt;
* Arbeitbraches: feature, release, hotfixes&lt;br /&gt;
==Branch Feature==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b myfeature develop&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff myfeature&lt;br /&gt;
git branch -d myfeature&lt;br /&gt;
...&lt;br /&gt;
git push origin develop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch Release==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b release-1.2 develop&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git tag -a 1.2&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff release-1.2&lt;br /&gt;
git branch -d release-1.2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Branch HotFix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git checkout -b hotfix-1.2.1 master&lt;br /&gt;
git commit -a -m &amp;quot;Bumped version number to 1.2.1&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
git checkout master&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git tag -a 1.2.1&lt;br /&gt;
...&lt;br /&gt;
git checkout develop&lt;br /&gt;
git merge --no-ff hotfix-1.2.1&lt;br /&gt;
git branch -d hotfix-1.2.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CICD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
git --no-pager show -s --format=\'%ae\'           # Disaply email address last commit&lt;br /&gt;
git config user.name                              # Dispaly email address user&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2724</id>
		<title>IT-OS-Admin-Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2724"/>
		<updated>2022-10-20T13:15:37Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Proxy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* Commands: https://ss64.com/bash/&lt;br /&gt;
* Commands: https://www.codecademy.com/learn/learn-the-command-line&lt;br /&gt;
* Commands: https://www.javatpoint.com/linux-tutorial&lt;br /&gt;
* Configurations: https://www.server-world.info/en/note?os=Fedora_32&lt;br /&gt;
* Docs: https://docs.fedoraproject.org/en-US/docs/&lt;br /&gt;
* RHEL-Trainig: https://www.redhat.com/en/services/training/rh024-red-hat-linux-technical-overview&lt;br /&gt;
* HowTo: https://www.howtoforge.com/&lt;br /&gt;
* Software-Flat: https://flathub.org/&lt;br /&gt;
* Software-Snap: https://snapcraft.io/&lt;br /&gt;
* News: https://vitux.com/&lt;br /&gt;
* https://www.shellscript.sh/functions.html&lt;br /&gt;
* https://www.feistyduck.com/library/openssl-cookbook/online/&lt;br /&gt;
&lt;br /&gt;
=Basics=&lt;br /&gt;
==Fast shortcuts==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cd                         ### Go back to home directory &lt;br /&gt;
cd ~                       ### Go back to home directory&lt;br /&gt;
cd -                       ### Switch back to the last working directory&lt;br /&gt;
Ctrl+A/Ctrl+E              ### Ctrl+A to go to the beginning of the line and Ctrl+E to go to the end.&lt;br /&gt;
tail -f path_to_Log        ### Reading a log file in real time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Folders==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/boot    &amp;gt;&amp;gt;Contains boot loader related files.&lt;br /&gt;
/bin     &amp;gt;&amp;gt;Contains binary executables.&lt;br /&gt;
/sbin    &amp;gt;&amp;gt;Contains administrator binary executables, just like /bin.&lt;br /&gt;
/lib     &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
/lib64   &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/dev     &amp;gt;&amp;gt;Contains device files.&lt;br /&gt;
/etc     &amp;gt;&amp;gt;Contains configuration files required by all programs.&lt;br /&gt;
/opt     &amp;gt;&amp;gt;Contains add-on applications from individual vendors.&lt;br /&gt;
/usr     &amp;gt;&amp;gt;Contains binaries, libraries and source for second level programs.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/root    &amp;gt;&amp;gt;Home directory for the root user.&lt;br /&gt;
/home    &amp;gt;&amp;gt;Home directories for all users to store their personal files.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/mnt     &amp;gt;&amp;gt;Temporary mount directory where sysadmins can mount filesystems.&lt;br /&gt;
/media   &amp;gt;&amp;gt;Temporary mount directory for removable devices.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/proc    &amp;gt;&amp;gt;Contains information about system process.&lt;br /&gt;
/run     &amp;gt;&amp;gt;Run-time variable data&lt;br /&gt;
/srv     &amp;gt;&amp;gt;Contains server specific services related data.&lt;br /&gt;
/sys     &amp;gt;&amp;gt;Contains information about the devices connected to the computer.&lt;br /&gt;
/var     &amp;gt;&amp;gt;Contains files that are expected to grow.&lt;br /&gt;
/tmp     &amp;gt;&amp;gt;Contains temporary files created by system and users.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/lib/systemd/system-shutdown/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/profile (~/.bash_profile or ~/.profile)   ### Configuration of environment for login shell&lt;br /&gt;
/etc/bashrc (~/.bashrc)                        ### Configuration of environment for non-login shell&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/etc/environment                               ### Configuration of environment&lt;br /&gt;
/etc/hosts                                     ### Configuration for hosts&lt;br /&gt;
/etc/fstab                                     ### Configuration of Disks&lt;br /&gt;
/etc/mtab                                      ### Configuration of Mount Devices&lt;br /&gt;
/etc/hostname                                  ### Where Hostname is saved&lt;br /&gt;
/etc/init.d/                                   ### Skripts that will be executed at system start up&lt;br /&gt;
/etc/apt/sources.list.d                        ### Ubuntu Reposotiery-Folder&lt;br /&gt;
/etc/apt/apt.conf                              ### Ubuntu Reposotiery-Config&lt;br /&gt;
/etc/yum.repos.d/                              ### Fedora Reposotiery-Folder&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0      ### Network-cfg&lt;br /&gt;
/etc/fonts/conf.d                              ### Font-Configuration Directory for System&lt;br /&gt;
/etc/fonts/fonts.conf                          ### Font-Configuration System&lt;br /&gt;
/etc/fonts/local.conf                          ### Font-Configuration Local&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/usr/share/fonts/                              ### Users Fonts&lt;br /&gt;
/usr/share/themes/                             ### Users Themes&lt;br /&gt;
/usr/share/applications/                       ### Users Application Launcher&lt;br /&gt;
/usr/share/xsessions/                          ### Users Desktop envirument sessions&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.fonts.conf.d                                ### Font-Configuration Directory for User.&lt;br /&gt;
~/.fonts.conf                                  ### Font-Configuration User.&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.bash_profile                                ###&lt;br /&gt;
~/.bashrc                                      ### Shell-Config&lt;br /&gt;
~/.bash_login                                  ###&lt;br /&gt;
~/.themes/                                     ### Location of Themes&lt;br /&gt;
~/.icons/                                      ### Location of Icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Configs==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.config/user-dirs.dirs&lt;br /&gt;
~/.config/gtk-3.0/bookmarks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Top CMD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
whoiam    # Current user&lt;br /&gt;
man       # Help&lt;br /&gt;
pwd       # Present working Directory&lt;br /&gt;
ls        # List File/Directory&lt;br /&gt;
cd        # Change Directory&lt;br /&gt;
cp        # Copy&lt;br /&gt;
mv        # Move&lt;br /&gt;
rm        # Remove&lt;br /&gt;
mkdir     # Create Directory&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cal       # Calender&lt;br /&gt;
date      # Current Date &amp;amp; Time&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
df        # Report disk space usage&lt;br /&gt;
du        # Report file space usage&lt;br /&gt;
lsblk     # List block devices&lt;br /&gt;
fdisk     # manipulate disk partition table&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cat&lt;br /&gt;
less&lt;br /&gt;
tail&lt;br /&gt;
find&lt;br /&gt;
diff&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
vi&lt;br /&gt;
nano&lt;br /&gt;
toch     # Create File&lt;br /&gt;
grep     # print lines matching a pattern&lt;br /&gt;
awk      # print column matching a pattern&lt;br /&gt;
sed      # Substitute, replace test&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
free     # RAM allocation&lt;br /&gt;
lscpu    # CPU Info&lt;br /&gt;
top&lt;br /&gt;
ps&lt;br /&gt;
history&lt;br /&gt;
shutdown&lt;br /&gt;
reboot&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;command&amp;gt; &amp;amp;   # Start command in Background&lt;br /&gt;
exit          # exit process&lt;br /&gt;
kill          # kill -9 $PID;&lt;br /&gt;
crontab       # crontab -e; crontab -l&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
if &amp;lt;command&amp;gt;; then &amp;lt;command&amp;gt; fi&lt;br /&gt;
for x in {1..10}; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
while:; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
until false; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
ctrl+a; ctrl+e; ctrl+d; ctrl+c; ctrl+z; ctrl+r&lt;br /&gt;
ctrl+alt+f1          # New tty Session&lt;br /&gt;
ctrl+alt+t           # New Termina&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
==Basics==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ find ./folder -type f -name testfile.txt           # Find a file called testfile.txt in the ./folder and sub-directories&lt;br /&gt;
$ mv $SOURCE $TARGET                  # move folder&lt;br /&gt;
$ rm -rf $Folder_Name                 # remove directories force &amp;amp; recursively&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ln -s $SOURCE $LINK                 # create symbolic link&lt;br /&gt;
$ ls -l $LINK                         # list symbolic link&lt;br /&gt;
$ unlink $LINK                        # unlinke symbolic link&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ toch file.txt                       # create new empty.&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot;                  # Print out 'Hallo World'&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt; file.txt       # Overwrite the content of file.txt&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt;&amp;gt; file.txt      # Append to the end of file.txt&lt;br /&gt;
$ source file.txt                     # Source the file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ cat file.txt                        # Print out the content of file.exe&lt;br /&gt;
$ cat source.txt &amp;gt; file.txt           # To overwrite the content of file.txt&lt;br /&gt;
$ cat source.txt &amp;gt;&amp;gt; file.txt          # To append to the end of file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ls /usr/javalib/*.jar               # List all the .jar files in current directory.&lt;br /&gt;
$ ls /usr/javalib/**.jar              # List all the .jar files in current directory and subdirectories.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ tar -xfv $NAME_ARCHIVE                      # x: extract, f: file, v: Verbose&lt;br /&gt;
$ tar -xfv -C ./$NAME_FOLDER $NAME_ARCHIVE    # x: extract, f: file, v: Verbose, C: Directory&lt;br /&gt;
$ tar -cf $NAME_ARCHIVE file1 file2 file3     # c: create, f: file&lt;br /&gt;
$ unzip $NAME_FILE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==chmod &amp;amp; chown &amp;amp; chgrp==&lt;br /&gt;
* https://chmod-calculator.com/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * &lt;br /&gt;
┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ └──────&amp;gt; Other (everyone) permissions&lt;br /&gt;
│ │ └────────&amp;gt; Group permissions&lt;br /&gt;
│ └──────────&amp;gt; User permissions&lt;br /&gt;
└────────────&amp;gt; File type&lt;br /&gt;
######################################################################&lt;br /&gt;
0 (---), 1 (--x), 2 (-w-), 3 (-wx), 4 (r--), 5 (r-x), 6 (rw-), 7 (rwx)&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod 777 file.txt              ### rwx rwx rwx&lt;br /&gt;
chmod 755 file.txt              ### rwx r_x r_x&lt;br /&gt;
chmod 700 file.txt              ### User can rw-&lt;br /&gt;
chmod 400 file.txt              ### User can r--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# USERS &amp;gt;&amp;gt; u:Owner, g:Group, o:Others, a:Everyone:[ugo]&lt;br /&gt;
# OPERATION  &amp;gt;&amp;gt; +:Add, -:Remove, =:Only&lt;br /&gt;
# PERMISSIONS &amp;gt;&amp;gt; r:Read, w:Write, x:Execute&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod $USERS $OPERATION $PERMISSIONS $FILE_NAME&lt;br /&gt;
chmod uga+rwx -R $FILE_NAME&lt;br /&gt;
chmod u=rwx,g=rwx,o=rwx $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ chown $OWNER_ID $FILE_NAME&lt;br /&gt;
$ chgrp $GROUP_ID $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==System==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
hostnamectl set-hostname new-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CronJob==&lt;br /&gt;
* Ref.: https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/crontab&lt;br /&gt;
/etc/cron.x/&lt;br /&gt;
crontab -e&lt;br /&gt;
@reboot ~/box-sandbox/k8s/vagrant up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * * auszuführender Befehl&lt;br /&gt;
┬ ┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ │&lt;br /&gt;
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)&lt;br /&gt;
│ │ │ └────── Monat (1-12)&lt;br /&gt;
│ │ └──────── Tag (1-31)&lt;br /&gt;
│ └────────── Stunde (0-23)&lt;br /&gt;
└──────────── Minute (0-59)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Bootloader-GRUB=&lt;br /&gt;
*https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/&lt;br /&gt;
==Settings files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/default/grub                                 ### Is the main GRUB settings file.&lt;br /&gt;
/boot/grub2/grub.cfg                              ### Is automatically generated by grub2-mkconfig based on /etc/default/grub.&lt;br /&gt;
/boot/efi/EFI/fedora/grub.cfg                     ### Is automatically generated for EFI systems.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mounting boot and root partitions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /mnt/&lt;br /&gt;
mount /dev/sda2 /mnt                              ### Mount the boot partition in the mount point.&lt;br /&gt;
mount /dev/sda1 /mnt/root/boot                    ### Mount the root partition on the mount point.&lt;br /&gt;
chroot /mnt/root                                  ### Change the filesystem into the mount point /mnt/root.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing the Bootloader==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
grub2-mkconfig -o /boot/grub2/grub.cfg            ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg   ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-install /dev/sda                            ### Install GRUB2 into the MBR of the primary hard disk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CMD-HowTo=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# Rename all file names from uppercase to lowercase&lt;br /&gt;
for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* https://www.cyberciti.biz/faq/using-heredoc-rediection-in-bash-shell-script-to-write-to-file/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
----&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; output_file.txt&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Shell=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
-d file			# True if file is a directory.&lt;br /&gt;
-e file			# True if file exists.&lt;br /&gt;
-f file			# True if file exists and is a regular file.&lt;br /&gt;
-L file			# True if file is a symbolic link.&lt;br /&gt;
-r file			# True if file is a file readable by you.&lt;br /&gt;
-w file			# True if file is a file writable by you.&lt;br /&gt;
-x file			# True if file is a file executable by you.&lt;br /&gt;
file1 -nt file2		# True if file1 is newer than (according to modification time) file2&lt;br /&gt;
file1 -ot file2		# True if file1 is older than file2&lt;br /&gt;
-z string			# True if string is empty.&lt;br /&gt;
-n string			# True if string is not empty.&lt;br /&gt;
string1 = string2		# True if string1 equals string2.&lt;br /&gt;
string1 != string2		# True if string1 does not equal string2.&lt;br /&gt;
&lt;br /&gt;
Don't leave a blank variable, unset it if it was empty&lt;br /&gt;
read -sr OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PASSWORD=$OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PROJECT_NAME=&amp;quot;demo&amp;quot;&lt;br /&gt;
unset OS_USER_DOMAIN_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
timestamp=$(date +%Y%m%d%H%M%S)&lt;br /&gt;
nano ~/.bashrc                                   # Auto start the agent&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
if [[ &amp;quot;$(ps -u $USER | grep ssh-agent | wc -l)&amp;quot; -lt &amp;quot;1&amp;quot; ]]; then&lt;br /&gt;
    ssh-agent -s &amp;gt;~/.ssh/ssh-agent&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
    ssh-add ~/.ssh/id_rsa&lt;br /&gt;
else&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
fi&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=User=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser –G [GROUP-ID] [USER-ID]					# Add a new Group &amp;amp; User&lt;br /&gt;
sudo deluser [USER-ID]							# Delete User&lt;br /&gt;
sudo remove [USER-ID]							# Remove User&lt;br /&gt;
...&lt;br /&gt;
echo &amp;quot;USER-ID ALL=(ALL) NOPASSWD: ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
usermod -aG sudo [USER-ID]						# Add User to Sudo-Group&lt;br /&gt;
sudo visudo								# Add “USER-ID ALL=(ALL:ALL) ALL”&lt;br /&gt;
id	&lt;br /&gt;
...&lt;br /&gt;
su [USER-ID]								# Change User in current Folder&lt;br /&gt;
su - [USER-ID]								# Change User in User Home-Folder&lt;br /&gt;
sudo bash								# Login as root&lt;br /&gt;
sudo -i									# Login as root&lt;br /&gt;
sudo -i –u [USER-ID]							# Login in account user&lt;br /&gt;
passwd [USER-ID]							# Change User Password&lt;br /&gt;
gpasswd -a user-ID group-ID						#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Locale &amp;amp; Keymap &amp;amp; Time=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/environment&lt;br /&gt;
/etc/locale.conf&lt;br /&gt;
~/.config/locale.conf&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-locales&lt;br /&gt;
localectl set-locale LANG=en_US.UTF-8&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-keymaps&lt;br /&gt;
localectl set-keymap de&lt;br /&gt;
...&lt;br /&gt;
timedatectl&lt;br /&gt;
timedatectl list-timezones&lt;br /&gt;
timedatectl set-timezone Europe/Berlin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=SSH=&lt;br /&gt;
==Settings==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo dnf install openssh-client&lt;br /&gt;
$ sudo dnf install openssh-server&lt;br /&gt;
$ sudo systemctl restart sshd.service&lt;br /&gt;
$ sudo systemctl enable sshd.service&lt;br /&gt;
...&lt;br /&gt;
ssh box-black -L 8888:localhost:32400 ## Redirect localhost to Server &amp;quot;box-black&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Key-Typs: RSA algorithm and DSA algorithm.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ~/.ssh/id_rsa.pvt           # The file contains the RSA private key.&lt;br /&gt;
$ ~/.ssh/id_rsa.pub           # The file contains the RSA public key.&lt;br /&gt;
$ ~/.ssh/authorized_keys      # The file contains the keys that can be used for logging into system.&lt;br /&gt;
...&lt;br /&gt;
$ chmod go-w ~/&lt;br /&gt;
$ chmod 700 ~/.ssh&lt;br /&gt;
$ chmod 600 ~/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/ssh/ssh_config&lt;br /&gt;
sudo nano /etc/ssh/sshd_config&lt;br /&gt;
------------------------------&lt;br /&gt;
RSAAuthentication yes&lt;br /&gt;
PubkeyAuthentication yes&lt;br /&gt;
AuthorizedKeysFile %h/.ssh/authorized_keys&lt;br /&gt;
PasswordAuthentication no      # Yes: Can login with Password; No: Can’t login with Password&lt;br /&gt;
------------------------------&lt;br /&gt;
/etc/init.d/ssh restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Generate Key==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C &amp;quot;username@mail.com&amp;quot;     # Generate prv and pub Key&lt;br /&gt;
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys&lt;br /&gt;
$ chmod -R 600 ~/.ssh/id_rsa&lt;br /&gt;
$ ssh -i ~/.ssh/id_rsa username@server.com                      # Login server with prv-key       	&lt;br /&gt;
...&lt;br /&gt;
$ ssh-copy-id –i $PATH_PUBLIC_KEY $USERNAME@IP_ADDRESS	     # Copy Pub-Key to server&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh user@hostname &amp;quot;mkdir -p ~/.ssh &amp;amp;&amp;amp; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
$ ssh user@hostname &amp;quot;echo `cat ~/.ssh/id_rsa.pub` &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ssh-agent &amp;amp; ssh-add==&lt;br /&gt;
* src: https://blog.tinned-software.net/manage-ssh-keys-with-the-ssh-agent/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ vim ~/.ssh/config                            # Add key automatically to a running agent&lt;br /&gt;
-----------------------------------&lt;br /&gt;
AddKeysToAgent yes&lt;br /&gt;
## Home nas server ##&lt;br /&gt;
Host nas01&lt;br /&gt;
     HostName 192.168.1.100&lt;br /&gt;
     User root&lt;br /&gt;
     IdentityFile ~/.ssh/nas01.key&lt;br /&gt;
Host github.com&lt;br /&gt;
     IdentityFile ~/.ssh/github.key&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ eval $(ssh-agent -s)                          # Start the agent&lt;br /&gt;
$ ssh-add ~/.ssh/id_rsa                         # Add the defualt key&lt;br /&gt;
$ ssh-add -l                                    # List keys&lt;br /&gt;
$ ssh-add -d /home/user/.ssh/id_rsa             # Remove key&lt;br /&gt;
$ ssh-add -D                                    # Remove all Keys&lt;br /&gt;
$ eval $(ssh-agent -s -k)                       # Kill the agent&lt;br /&gt;
$ ssh -T git@github.com&lt;br /&gt;
$ ssh -T git@bitbucket.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network=&lt;br /&gt;
==KVM==&lt;br /&gt;
* KVM: Kernel-Based Virtual Machine&lt;br /&gt;
* https://computingforgeeks.com/how-to-install-kvm-on-fedora/&lt;br /&gt;
* https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvm&lt;br /&gt;
* https://libvirt.org/sources/virshcmdref/html/chap-Virsh_Command_Reference-Commands.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @virtualization&lt;br /&gt;
sudo dnf install bridge-utils libvirt virt-install qemu-kvm&lt;br /&gt;
sudo systemctl status libvirtd&lt;br /&gt;
sudo systemctl start libvirtd&lt;br /&gt;
sudo systemctl enable libvirtd&lt;br /&gt;
sudo virt-host-validate&lt;br /&gt;
...&lt;br /&gt;
sudo curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-centos7 -o /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-list --all&lt;br /&gt;
sudo virsh net-info $NAME_NETWORK&lt;br /&gt;
sudo virsh net-dumpxml $NAME_NETWORK&lt;br /&gt;
sudo virsh net-destroy $NAME_NETWORK&lt;br /&gt;
sudo virsh net-undefine $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-define $NAME_FILE.xml&lt;br /&gt;
sudo virsh net-start $NAME_NETWORK&lt;br /&gt;
sudo virsh net-autostart $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh list --all&lt;br /&gt;
sudo virsh edit $NAME_VM&lt;br /&gt;
...&lt;br /&gt;
sudo brctl show br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nmcli==&lt;br /&gt;
* https://fedoraproject.org/wiki/Networking/CLI&lt;br /&gt;
===nmcli-genreral===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli dev show&lt;br /&gt;
nmcli conn show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===nmcli-ethernet===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-wifi===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-bridge===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli con add type bridge autoconnect yes con-name br0 ifname br0 ipv4.method auto&lt;br /&gt;
nmcli con del enp2s0&lt;br /&gt;
nmcli con add type bridge-slave autoconnect yes con-name enp2s0 ifname enp2s0 master br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ping samerhijazi.net         ### resolve a hostname to an IP address&lt;br /&gt;
host samerhijazi.net&lt;br /&gt;
nslookup samerhijazi.net&lt;br /&gt;
speedtest                    ### ubuntu&lt;br /&gt;
speedtest-cli                ### fedora&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
arp -a&lt;br /&gt;
nmap -sP 192.168.1.0/24&lt;br /&gt;
sudo mount -t cifs -o username=user,password=pin //172.29.32.184/sharename /media/Data/&lt;br /&gt;
sudo mount -t davfs -o username=user,password=pin https://sd2dav.1und1.de /1und1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Proxy==&lt;br /&gt;
* Zscaler&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
env | grep -i proxy&lt;br /&gt;
export {http,https,ftp}_proxy=&amp;quot;http://PROXY_SERVER:PORT&amp;quot;&lt;br /&gt;
unset {http,https,ftp}_proxy&lt;br /&gt;
curl -I https://linuxconfig.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Firewall=&lt;br /&gt;
==Service==&lt;br /&gt;
* cmd: status, start, stop, restart, reload, enable, disable&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo systemctl status firewalld&lt;br /&gt;
$ sudo systemctl status NetworkManager&lt;br /&gt;
$ sudo systemctl status network&lt;br /&gt;
...&lt;br /&gt;
sudo firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --get-zones&lt;br /&gt;
sudo firewall-cmd --get-active-zones&lt;br /&gt;
sudo firewall-cmd --get-default-zone&lt;br /&gt;
sudo firewall-cmd --get-services&lt;br /&gt;
sudo firewall-cmd --list-all&lt;br /&gt;
sudo firewall-cmd --list-ports&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Zone-home==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --zone=home --list-all&lt;br /&gt;
sudo firewall-cmd --zone=home --list-ports&lt;br /&gt;
sudo firewall-cmd --zone=home --list-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone: Configuration==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --set-default-zone=home&lt;br /&gt;
sudo firewall-cmd --zone=home --change-interface=eth0&lt;br /&gt;
sudo firewall-cmd --zone=home --add-service=http&lt;br /&gt;
sudo firewall-cmd --zone=home --add-port=80/tcp --permanent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New Zone &amp;quot;boxblue&amp;quot;==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --permanent --new-zone=boxblue&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=ssh&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=http&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=https&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=samba&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=80/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=22/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --change-interface=wlp0s19f2u1&lt;br /&gt;
sudo firewall-cmd --permanent --set-default-zone=boxblue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Editors=&lt;br /&gt;
==Vim==&lt;br /&gt;
* https://vim.rtorr.com/&lt;br /&gt;
* https://linuxize.com/post/vim-delete-line/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Get used to copy/paste/cut with vim:&lt;br /&gt;
---&lt;br /&gt;
Mark lines: Esc+V (then arrow keys)&lt;br /&gt;
Copy marked lines: y&lt;br /&gt;
Cut marked lines: d&lt;br /&gt;
Past lines: p or P&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc   Exit the current mode.&lt;br /&gt;
i     Enter &amp;quot;Insert mode&amp;quot; for inserting text.&lt;br /&gt;
v     Enter &amp;quot;Visual mode&amp;quot; for character.&lt;br /&gt;
V     Enter &amp;quot;Visual mode&amp;quot; for line.&lt;br /&gt;
:     Enter &amp;quot;Command mode&amp;quot;. &lt;br /&gt;
...&lt;br /&gt;
h     Move Left&lt;br /&gt;
j     Move Down&lt;br /&gt;
k     Move Up&lt;br /&gt;
l     Move Right&lt;br /&gt;
...&lt;br /&gt;
ggVG  Select hole text&lt;br /&gt;
...&lt;br /&gt;
u     Undo the last operation.&lt;br /&gt;
d     Delete or Cut selected item.&lt;br /&gt;
y     Copy line.&lt;br /&gt;
p     Paste storage buffer after the cursor.&lt;br /&gt;
...&lt;br /&gt;
:q    Quit Vim.&lt;br /&gt;
:q!   Quit Vim without saving the changes.&lt;br /&gt;
:w    Save the file&lt;br /&gt;
:wq   Save the file and quit Vim.&lt;br /&gt;
:w $FILE_NAME Save the file with the filename &amp;quot;yx&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc §§ Place the cursor on the first line you want to delete. §§ Type 5dd and hit Enter to delete the next five lines.&lt;br /&gt;
:[start],[end]d      ### Delete a range of lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nano==&lt;br /&gt;
* https://keycombiner.com/collections/nano/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Paste:     Strg+u&lt;br /&gt;
Delete:     Strg+k&lt;br /&gt;
Search:     Strg+w&lt;br /&gt;
Select_&amp;amp;_Copy:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Alt+6&lt;br /&gt;
Select_&amp;amp;_Delete:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Strg+k&lt;br /&gt;
---&lt;br /&gt;
ALt+# &amp;gt;&amp;gt; show Line numbers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* nanorc&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls /usr/share/nano/&lt;br /&gt;
nano /usr/share/nano/yaml.nanorc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Package Manager=&lt;br /&gt;
* sudo dpkg -i filename.deb&lt;br /&gt;
* sudo rpm -i filename.rpm&lt;br /&gt;
&lt;br /&gt;
==APT (Advanced Package Tool)==&lt;br /&gt;
* Debian, Ubuntu, usw.&lt;br /&gt;
* Repo-Location: /etc/apt/sources.list&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install ./filename.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DNF (Dandified YUM)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo ls /etc/yum.repos.d/                         ## Repositories-Folder&lt;br /&gt;
sudo rpm –i filename.rpm&lt;br /&gt;
sudo dnf install https://website.com/file-name.rpm&lt;br /&gt;
sudo dnf config-manager --add-repo https://website.com/repositorie-name.repo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf repolist --all&lt;br /&gt;
sudo dnf config-manager --add-repo $REPO_URL&lt;br /&gt;
sudo dnf config-manager --set-enabled $REPO_ID&lt;br /&gt;
sudo dnf config-manager --set-disabled $REPO_ID&lt;br /&gt;
---&lt;br /&gt;
sudo dnf copr [enable|disable|remove|list|search] $PACKAG_NAME&lt;br /&gt;
...&lt;br /&gt;
sudo dnf list&lt;br /&gt;
sudo dnf list installed&lt;br /&gt;
sudo dnf list available&lt;br /&gt;
sudo dnf list updates&lt;br /&gt;
---&lt;br /&gt;
sudo dnf check-update&lt;br /&gt;
sudo dnf autoremove&lt;br /&gt;
sudo dnf clean all&lt;br /&gt;
...&lt;br /&gt;
sudo dnf update&lt;br /&gt;
sudo dnf upgrade&lt;br /&gt;
sudo dnf update vim&lt;br /&gt;
sudo dnf search vim&lt;br /&gt;
sudo dnf download vim&lt;br /&gt;
sudo dnf install vim&lt;br /&gt;
sudo dnf install https://website.com/filename.rpm&lt;br /&gt;
sudo dnf reinstall vim&lt;br /&gt;
sudo dnf remove vim&lt;br /&gt;
sudo dnf erase vim&lt;br /&gt;
...&lt;br /&gt;
sudo dnf group list -v&lt;br /&gt;
sudo dnf group info 'Development Tools'&lt;br /&gt;
sudo dnf group install 'Development Tools'&lt;br /&gt;
sudo dnf group update 'Development Tools'&lt;br /&gt;
sudo dnf group remove 'Development Tools'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Storage=&lt;br /&gt;
==Mount 1&amp;amp;1==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir /mnt/1und1&lt;br /&gt;
mount -t davfs https://sd2dav.1und1.de/ /mnt/1und1&lt;br /&gt;
umount /mnt/1und1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mount VirtualHardDisk==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=/storage/vhd.img bs=1M count=24    ### VHD volume of size 20MB image.&lt;br /&gt;
sudo mkfs -t ext4 /storage/vhd.img                         ### Format the VHD image with EXT4 file system type.&lt;br /&gt;
sudo mkdir /mnt/vhd/&lt;br /&gt;
sudo mount -t auto -o loop /storage/vhd.img /mnt/vhd/&lt;br /&gt;
sudo nano /etc/fstab &amp;lt;&amp;lt;&amp;lt; &amp;quot;/storage/vhd.img  /mnt/vhd/  ext4    defaults        0  0&amp;quot;&lt;br /&gt;
sudo umount /mnt/vhd/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Encrypted disk image with Cryptsetup==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=./vhd.img bs=1M count=24    ### Create the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup -y luksFormat ./vhd.img             ### Encrypt the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup luksOpen ./vhd.img cryvhd           ### Maps the Disk Image File vhd.img to /dev/mapper/cryvhd.&lt;br /&gt;
sudo mkfs.ext4 /dev/mapper/cryvhd                   ### Format the Disk Image File vhd.img with ext4 File System. &lt;br /&gt;
sudo mount /dev/mapper/cryvhd /mnt/vhd&lt;br /&gt;
sudo chown king:king /mnt/vhd &lt;br /&gt;
sudo umount /mnt/vhd&lt;br /&gt;
sudo cryptsetup luksClose cryvhd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Samba==&lt;br /&gt;
* src: https://www.server-world.info/en/note?os=Fedora_34&amp;amp;p=samba&amp;amp;f=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ /etc/samba/smb.conf&lt;br /&gt;
$ systemctl enable --now smb&lt;br /&gt;
$ firewall-cmd --add-service=samba --permanent&lt;br /&gt;
$ firewall-cmd --reload&lt;br /&gt;
$ testparm&lt;br /&gt;
----------------------------------------&lt;br /&gt;
[global]&lt;br /&gt;
workgroup = WORKGROUP&lt;br /&gt;
security = user&lt;br /&gt;
netbios name = box-black&lt;br /&gt;
map to guest = Bad User&lt;br /&gt;
idmap config * : backend = tdb&lt;br /&gt;
wins support = yes&lt;br /&gt;
local master = yes&lt;br /&gt;
preferred master = yes&lt;br /&gt;
&lt;br /&gt;
[storage-a]&lt;br /&gt;
path = /storage_a&lt;br /&gt;
browsable = yes&lt;br /&gt;
writable = yes&lt;br /&gt;
guest ok = yes&lt;br /&gt;
guest only = yes&lt;br /&gt;
read only = no&lt;br /&gt;
force user = nobody&lt;br /&gt;
force create mode = 777&lt;br /&gt;
force directory mode = 777&lt;br /&gt;
&lt;br /&gt;
public = yes&lt;br /&gt;
available = yes&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Screen=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
screen -S &amp;lt;name&amp;gt;		# start screen new&lt;br /&gt;
screen -ls			# list screen runing&lt;br /&gt;
screen -r &amp;lt;name&amp;gt;		# reattach to a session name&lt;br /&gt;
..&lt;br /&gt;
Ctrl+a c			# create window&lt;br /&gt;
Ctrl+a n			# next window&lt;br /&gt;
Ctrl+a p			# previous window&lt;br /&gt;
Ctrl+a k			# kill window&lt;br /&gt;
Ctrl+a d			# detach window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Desktop Environments=&lt;br /&gt;
==Links==&lt;br /&gt;
* src: https://www.ukui.org/index.html&lt;br /&gt;
* src: https://www.ubuntukylin.com/index.php?lang=en&lt;br /&gt;
==Display Server (Xorg/Wayland)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
loginctl	                   # get session number from command output &lt;br /&gt;
loginctl show-session 2 -p Type&lt;br /&gt;
...&lt;br /&gt;
vi /etc/gdm/custom.conf&lt;br /&gt;
vi /etc/gdm3/custom.conf&lt;br /&gt;
-----------------------&lt;br /&gt;
WaylandEnable=false                  # To disable Wayland&lt;br /&gt;
DefaultSession=gnome-xorg.desktop    # To enable Xorg&lt;br /&gt;
-----------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sessions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /usr/share/xsessions/    # Lists installed desktop enviruments&lt;br /&gt;
echo $XDG_CURRENT_DESKTOP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Display Manager: lightdm==&lt;br /&gt;
* Install Display-Manager&lt;br /&gt;
* Install Greeter&lt;br /&gt;
* Setting Greeter&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install lightdm                                                                         # Display-Manager&lt;br /&gt;
sudo dnf install elementary-greeter slick-greeter slick-greeter-cinnamon slick-greeter-mate      # Greeter-Typs&lt;br /&gt;
sudo dnf install lightdm-settings                                                                # For Settings&lt;br /&gt;
...&lt;br /&gt;
ls /usr/share/lightdm/lightdm.conf.d/        # System-Settings&lt;br /&gt;
ls /etc/lightdm/lightdm.conf.d/              # User-Settings&lt;br /&gt;
lightdm --show-config&lt;br /&gt;
...&lt;br /&gt;
[Seat:*]&lt;br /&gt;
greeter-session=slick-greeter&lt;br /&gt;
user-session=cinnamon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Fixs=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo -e /etc/needrestart/needrestart.conf&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Uncomment and change the following settings:&lt;br /&gt;
$nrconf{kernelhints} = 0;&lt;br /&gt;
$nrconf{ucodehints} = 0;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2723</id>
		<title>IT-OS-Admin-Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2723"/>
		<updated>2022-10-20T13:09:15Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* Commands: https://ss64.com/bash/&lt;br /&gt;
* Commands: https://www.codecademy.com/learn/learn-the-command-line&lt;br /&gt;
* Commands: https://www.javatpoint.com/linux-tutorial&lt;br /&gt;
* Configurations: https://www.server-world.info/en/note?os=Fedora_32&lt;br /&gt;
* Docs: https://docs.fedoraproject.org/en-US/docs/&lt;br /&gt;
* RHEL-Trainig: https://www.redhat.com/en/services/training/rh024-red-hat-linux-technical-overview&lt;br /&gt;
* HowTo: https://www.howtoforge.com/&lt;br /&gt;
* Software-Flat: https://flathub.org/&lt;br /&gt;
* Software-Snap: https://snapcraft.io/&lt;br /&gt;
* News: https://vitux.com/&lt;br /&gt;
* https://www.shellscript.sh/functions.html&lt;br /&gt;
* https://www.feistyduck.com/library/openssl-cookbook/online/&lt;br /&gt;
&lt;br /&gt;
=Basics=&lt;br /&gt;
==Fast shortcuts==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cd                         ### Go back to home directory &lt;br /&gt;
cd ~                       ### Go back to home directory&lt;br /&gt;
cd -                       ### Switch back to the last working directory&lt;br /&gt;
Ctrl+A/Ctrl+E              ### Ctrl+A to go to the beginning of the line and Ctrl+E to go to the end.&lt;br /&gt;
tail -f path_to_Log        ### Reading a log file in real time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Folders==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/boot    &amp;gt;&amp;gt;Contains boot loader related files.&lt;br /&gt;
/bin     &amp;gt;&amp;gt;Contains binary executables.&lt;br /&gt;
/sbin    &amp;gt;&amp;gt;Contains administrator binary executables, just like /bin.&lt;br /&gt;
/lib     &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
/lib64   &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/dev     &amp;gt;&amp;gt;Contains device files.&lt;br /&gt;
/etc     &amp;gt;&amp;gt;Contains configuration files required by all programs.&lt;br /&gt;
/opt     &amp;gt;&amp;gt;Contains add-on applications from individual vendors.&lt;br /&gt;
/usr     &amp;gt;&amp;gt;Contains binaries, libraries and source for second level programs.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/root    &amp;gt;&amp;gt;Home directory for the root user.&lt;br /&gt;
/home    &amp;gt;&amp;gt;Home directories for all users to store their personal files.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/mnt     &amp;gt;&amp;gt;Temporary mount directory where sysadmins can mount filesystems.&lt;br /&gt;
/media   &amp;gt;&amp;gt;Temporary mount directory for removable devices.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/proc    &amp;gt;&amp;gt;Contains information about system process.&lt;br /&gt;
/run     &amp;gt;&amp;gt;Run-time variable data&lt;br /&gt;
/srv     &amp;gt;&amp;gt;Contains server specific services related data.&lt;br /&gt;
/sys     &amp;gt;&amp;gt;Contains information about the devices connected to the computer.&lt;br /&gt;
/var     &amp;gt;&amp;gt;Contains files that are expected to grow.&lt;br /&gt;
/tmp     &amp;gt;&amp;gt;Contains temporary files created by system and users.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/lib/systemd/system-shutdown/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/profile (~/.bash_profile or ~/.profile)   ### Configuration of environment for login shell&lt;br /&gt;
/etc/bashrc (~/.bashrc)                        ### Configuration of environment for non-login shell&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/etc/environment                               ### Configuration of environment&lt;br /&gt;
/etc/hosts                                     ### Configuration for hosts&lt;br /&gt;
/etc/fstab                                     ### Configuration of Disks&lt;br /&gt;
/etc/mtab                                      ### Configuration of Mount Devices&lt;br /&gt;
/etc/hostname                                  ### Where Hostname is saved&lt;br /&gt;
/etc/init.d/                                   ### Skripts that will be executed at system start up&lt;br /&gt;
/etc/apt/sources.list.d                        ### Ubuntu Reposotiery-Folder&lt;br /&gt;
/etc/apt/apt.conf                              ### Ubuntu Reposotiery-Config&lt;br /&gt;
/etc/yum.repos.d/                              ### Fedora Reposotiery-Folder&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0      ### Network-cfg&lt;br /&gt;
/etc/fonts/conf.d                              ### Font-Configuration Directory for System&lt;br /&gt;
/etc/fonts/fonts.conf                          ### Font-Configuration System&lt;br /&gt;
/etc/fonts/local.conf                          ### Font-Configuration Local&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/usr/share/fonts/                              ### Users Fonts&lt;br /&gt;
/usr/share/themes/                             ### Users Themes&lt;br /&gt;
/usr/share/applications/                       ### Users Application Launcher&lt;br /&gt;
/usr/share/xsessions/                          ### Users Desktop envirument sessions&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.fonts.conf.d                                ### Font-Configuration Directory for User.&lt;br /&gt;
~/.fonts.conf                                  ### Font-Configuration User.&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.bash_profile                                ###&lt;br /&gt;
~/.bashrc                                      ### Shell-Config&lt;br /&gt;
~/.bash_login                                  ###&lt;br /&gt;
~/.themes/                                     ### Location of Themes&lt;br /&gt;
~/.icons/                                      ### Location of Icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Configs==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.config/user-dirs.dirs&lt;br /&gt;
~/.config/gtk-3.0/bookmarks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Top CMD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
whoiam    # Current user&lt;br /&gt;
man       # Help&lt;br /&gt;
pwd       # Present working Directory&lt;br /&gt;
ls        # List File/Directory&lt;br /&gt;
cd        # Change Directory&lt;br /&gt;
cp        # Copy&lt;br /&gt;
mv        # Move&lt;br /&gt;
rm        # Remove&lt;br /&gt;
mkdir     # Create Directory&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cal       # Calender&lt;br /&gt;
date      # Current Date &amp;amp; Time&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
df        # Report disk space usage&lt;br /&gt;
du        # Report file space usage&lt;br /&gt;
lsblk     # List block devices&lt;br /&gt;
fdisk     # manipulate disk partition table&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cat&lt;br /&gt;
less&lt;br /&gt;
tail&lt;br /&gt;
find&lt;br /&gt;
diff&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
vi&lt;br /&gt;
nano&lt;br /&gt;
toch     # Create File&lt;br /&gt;
grep     # print lines matching a pattern&lt;br /&gt;
awk      # print column matching a pattern&lt;br /&gt;
sed      # Substitute, replace test&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
free     # RAM allocation&lt;br /&gt;
lscpu    # CPU Info&lt;br /&gt;
top&lt;br /&gt;
ps&lt;br /&gt;
history&lt;br /&gt;
shutdown&lt;br /&gt;
reboot&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;command&amp;gt; &amp;amp;   # Start command in Background&lt;br /&gt;
exit          # exit process&lt;br /&gt;
kill          # kill -9 $PID;&lt;br /&gt;
crontab       # crontab -e; crontab -l&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
if &amp;lt;command&amp;gt;; then &amp;lt;command&amp;gt; fi&lt;br /&gt;
for x in {1..10}; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
while:; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
until false; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
ctrl+a; ctrl+e; ctrl+d; ctrl+c; ctrl+z; ctrl+r&lt;br /&gt;
ctrl+alt+f1          # New tty Session&lt;br /&gt;
ctrl+alt+t           # New Termina&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
==Basics==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ find ./folder -type f -name testfile.txt           # Find a file called testfile.txt in the ./folder and sub-directories&lt;br /&gt;
$ mv $SOURCE $TARGET                  # move folder&lt;br /&gt;
$ rm -rf $Folder_Name                 # remove directories force &amp;amp; recursively&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ln -s $SOURCE $LINK                 # create symbolic link&lt;br /&gt;
$ ls -l $LINK                         # list symbolic link&lt;br /&gt;
$ unlink $LINK                        # unlinke symbolic link&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ toch file.txt                       # create new empty.&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot;                  # Print out 'Hallo World'&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt; file.txt       # Overwrite the content of file.txt&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt;&amp;gt; file.txt      # Append to the end of file.txt&lt;br /&gt;
$ source file.txt                     # Source the file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ cat file.txt                        # Print out the content of file.exe&lt;br /&gt;
$ cat source.txt &amp;gt; file.txt           # To overwrite the content of file.txt&lt;br /&gt;
$ cat source.txt &amp;gt;&amp;gt; file.txt          # To append to the end of file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ls /usr/javalib/*.jar               # List all the .jar files in current directory.&lt;br /&gt;
$ ls /usr/javalib/**.jar              # List all the .jar files in current directory and subdirectories.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ tar -xfv $NAME_ARCHIVE                      # x: extract, f: file, v: Verbose&lt;br /&gt;
$ tar -xfv -C ./$NAME_FOLDER $NAME_ARCHIVE    # x: extract, f: file, v: Verbose, C: Directory&lt;br /&gt;
$ tar -cf $NAME_ARCHIVE file1 file2 file3     # c: create, f: file&lt;br /&gt;
$ unzip $NAME_FILE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==chmod &amp;amp; chown &amp;amp; chgrp==&lt;br /&gt;
* https://chmod-calculator.com/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * &lt;br /&gt;
┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ └──────&amp;gt; Other (everyone) permissions&lt;br /&gt;
│ │ └────────&amp;gt; Group permissions&lt;br /&gt;
│ └──────────&amp;gt; User permissions&lt;br /&gt;
└────────────&amp;gt; File type&lt;br /&gt;
######################################################################&lt;br /&gt;
0 (---), 1 (--x), 2 (-w-), 3 (-wx), 4 (r--), 5 (r-x), 6 (rw-), 7 (rwx)&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod 777 file.txt              ### rwx rwx rwx&lt;br /&gt;
chmod 755 file.txt              ### rwx r_x r_x&lt;br /&gt;
chmod 700 file.txt              ### User can rw-&lt;br /&gt;
chmod 400 file.txt              ### User can r--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# USERS &amp;gt;&amp;gt; u:Owner, g:Group, o:Others, a:Everyone:[ugo]&lt;br /&gt;
# OPERATION  &amp;gt;&amp;gt; +:Add, -:Remove, =:Only&lt;br /&gt;
# PERMISSIONS &amp;gt;&amp;gt; r:Read, w:Write, x:Execute&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod $USERS $OPERATION $PERMISSIONS $FILE_NAME&lt;br /&gt;
chmod uga+rwx -R $FILE_NAME&lt;br /&gt;
chmod u=rwx,g=rwx,o=rwx $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ chown $OWNER_ID $FILE_NAME&lt;br /&gt;
$ chgrp $GROUP_ID $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==System==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
hostnamectl set-hostname new-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CronJob==&lt;br /&gt;
* Ref.: https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/crontab&lt;br /&gt;
/etc/cron.x/&lt;br /&gt;
crontab -e&lt;br /&gt;
@reboot ~/box-sandbox/k8s/vagrant up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * * auszuführender Befehl&lt;br /&gt;
┬ ┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ │&lt;br /&gt;
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)&lt;br /&gt;
│ │ │ └────── Monat (1-12)&lt;br /&gt;
│ │ └──────── Tag (1-31)&lt;br /&gt;
│ └────────── Stunde (0-23)&lt;br /&gt;
└──────────── Minute (0-59)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Bootloader-GRUB=&lt;br /&gt;
*https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/&lt;br /&gt;
==Settings files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/default/grub                                 ### Is the main GRUB settings file.&lt;br /&gt;
/boot/grub2/grub.cfg                              ### Is automatically generated by grub2-mkconfig based on /etc/default/grub.&lt;br /&gt;
/boot/efi/EFI/fedora/grub.cfg                     ### Is automatically generated for EFI systems.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mounting boot and root partitions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /mnt/&lt;br /&gt;
mount /dev/sda2 /mnt                              ### Mount the boot partition in the mount point.&lt;br /&gt;
mount /dev/sda1 /mnt/root/boot                    ### Mount the root partition on the mount point.&lt;br /&gt;
chroot /mnt/root                                  ### Change the filesystem into the mount point /mnt/root.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing the Bootloader==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
grub2-mkconfig -o /boot/grub2/grub.cfg            ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg   ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-install /dev/sda                            ### Install GRUB2 into the MBR of the primary hard disk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CMD-HowTo=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# Rename all file names from uppercase to lowercase&lt;br /&gt;
for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* https://www.cyberciti.biz/faq/using-heredoc-rediection-in-bash-shell-script-to-write-to-file/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
----&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; output_file.txt&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Shell=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
-d file			# True if file is a directory.&lt;br /&gt;
-e file			# True if file exists.&lt;br /&gt;
-f file			# True if file exists and is a regular file.&lt;br /&gt;
-L file			# True if file is a symbolic link.&lt;br /&gt;
-r file			# True if file is a file readable by you.&lt;br /&gt;
-w file			# True if file is a file writable by you.&lt;br /&gt;
-x file			# True if file is a file executable by you.&lt;br /&gt;
file1 -nt file2		# True if file1 is newer than (according to modification time) file2&lt;br /&gt;
file1 -ot file2		# True if file1 is older than file2&lt;br /&gt;
-z string			# True if string is empty.&lt;br /&gt;
-n string			# True if string is not empty.&lt;br /&gt;
string1 = string2		# True if string1 equals string2.&lt;br /&gt;
string1 != string2		# True if string1 does not equal string2.&lt;br /&gt;
&lt;br /&gt;
Don't leave a blank variable, unset it if it was empty&lt;br /&gt;
read -sr OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PASSWORD=$OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PROJECT_NAME=&amp;quot;demo&amp;quot;&lt;br /&gt;
unset OS_USER_DOMAIN_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
timestamp=$(date +%Y%m%d%H%M%S)&lt;br /&gt;
nano ~/.bashrc                                   # Auto start the agent&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
if [[ &amp;quot;$(ps -u $USER | grep ssh-agent | wc -l)&amp;quot; -lt &amp;quot;1&amp;quot; ]]; then&lt;br /&gt;
    ssh-agent -s &amp;gt;~/.ssh/ssh-agent&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
    ssh-add ~/.ssh/id_rsa&lt;br /&gt;
else&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
fi&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=User=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser –G [GROUP-ID] [USER-ID]					# Add a new Group &amp;amp; User&lt;br /&gt;
sudo deluser [USER-ID]							# Delete User&lt;br /&gt;
sudo remove [USER-ID]							# Remove User&lt;br /&gt;
...&lt;br /&gt;
echo &amp;quot;USER-ID ALL=(ALL) NOPASSWD: ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
usermod -aG sudo [USER-ID]						# Add User to Sudo-Group&lt;br /&gt;
sudo visudo								# Add “USER-ID ALL=(ALL:ALL) ALL”&lt;br /&gt;
id	&lt;br /&gt;
...&lt;br /&gt;
su [USER-ID]								# Change User in current Folder&lt;br /&gt;
su - [USER-ID]								# Change User in User Home-Folder&lt;br /&gt;
sudo bash								# Login as root&lt;br /&gt;
sudo -i									# Login as root&lt;br /&gt;
sudo -i –u [USER-ID]							# Login in account user&lt;br /&gt;
passwd [USER-ID]							# Change User Password&lt;br /&gt;
gpasswd -a user-ID group-ID						#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Locale &amp;amp; Keymap &amp;amp; Time=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/environment&lt;br /&gt;
/etc/locale.conf&lt;br /&gt;
~/.config/locale.conf&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-locales&lt;br /&gt;
localectl set-locale LANG=en_US.UTF-8&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-keymaps&lt;br /&gt;
localectl set-keymap de&lt;br /&gt;
...&lt;br /&gt;
timedatectl&lt;br /&gt;
timedatectl list-timezones&lt;br /&gt;
timedatectl set-timezone Europe/Berlin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=SSH=&lt;br /&gt;
==Settings==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo dnf install openssh-client&lt;br /&gt;
$ sudo dnf install openssh-server&lt;br /&gt;
$ sudo systemctl restart sshd.service&lt;br /&gt;
$ sudo systemctl enable sshd.service&lt;br /&gt;
...&lt;br /&gt;
ssh box-black -L 8888:localhost:32400 ## Redirect localhost to Server &amp;quot;box-black&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Key-Typs: RSA algorithm and DSA algorithm.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ~/.ssh/id_rsa.pvt           # The file contains the RSA private key.&lt;br /&gt;
$ ~/.ssh/id_rsa.pub           # The file contains the RSA public key.&lt;br /&gt;
$ ~/.ssh/authorized_keys      # The file contains the keys that can be used for logging into system.&lt;br /&gt;
...&lt;br /&gt;
$ chmod go-w ~/&lt;br /&gt;
$ chmod 700 ~/.ssh&lt;br /&gt;
$ chmod 600 ~/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/ssh/ssh_config&lt;br /&gt;
sudo nano /etc/ssh/sshd_config&lt;br /&gt;
------------------------------&lt;br /&gt;
RSAAuthentication yes&lt;br /&gt;
PubkeyAuthentication yes&lt;br /&gt;
AuthorizedKeysFile %h/.ssh/authorized_keys&lt;br /&gt;
PasswordAuthentication no      # Yes: Can login with Password; No: Can’t login with Password&lt;br /&gt;
------------------------------&lt;br /&gt;
/etc/init.d/ssh restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Generate Key==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C &amp;quot;username@mail.com&amp;quot;     # Generate prv and pub Key&lt;br /&gt;
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys&lt;br /&gt;
$ chmod -R 600 ~/.ssh/id_rsa&lt;br /&gt;
$ ssh -i ~/.ssh/id_rsa username@server.com                      # Login server with prv-key       	&lt;br /&gt;
...&lt;br /&gt;
$ ssh-copy-id –i $PATH_PUBLIC_KEY $USERNAME@IP_ADDRESS	     # Copy Pub-Key to server&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh user@hostname &amp;quot;mkdir -p ~/.ssh &amp;amp;&amp;amp; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
$ ssh user@hostname &amp;quot;echo `cat ~/.ssh/id_rsa.pub` &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ssh-agent &amp;amp; ssh-add==&lt;br /&gt;
* src: https://blog.tinned-software.net/manage-ssh-keys-with-the-ssh-agent/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ vim ~/.ssh/config                            # Add key automatically to a running agent&lt;br /&gt;
-----------------------------------&lt;br /&gt;
AddKeysToAgent yes&lt;br /&gt;
## Home nas server ##&lt;br /&gt;
Host nas01&lt;br /&gt;
     HostName 192.168.1.100&lt;br /&gt;
     User root&lt;br /&gt;
     IdentityFile ~/.ssh/nas01.key&lt;br /&gt;
Host github.com&lt;br /&gt;
     IdentityFile ~/.ssh/github.key&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ eval $(ssh-agent -s)                          # Start the agent&lt;br /&gt;
$ ssh-add ~/.ssh/id_rsa                         # Add the defualt key&lt;br /&gt;
$ ssh-add -l                                    # List keys&lt;br /&gt;
$ ssh-add -d /home/user/.ssh/id_rsa             # Remove key&lt;br /&gt;
$ ssh-add -D                                    # Remove all Keys&lt;br /&gt;
$ eval $(ssh-agent -s -k)                       # Kill the agent&lt;br /&gt;
$ ssh -T git@github.com&lt;br /&gt;
$ ssh -T git@bitbucket.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network=&lt;br /&gt;
==KVM==&lt;br /&gt;
* KVM: Kernel-Based Virtual Machine&lt;br /&gt;
* https://computingforgeeks.com/how-to-install-kvm-on-fedora/&lt;br /&gt;
* https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvm&lt;br /&gt;
* https://libvirt.org/sources/virshcmdref/html/chap-Virsh_Command_Reference-Commands.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @virtualization&lt;br /&gt;
sudo dnf install bridge-utils libvirt virt-install qemu-kvm&lt;br /&gt;
sudo systemctl status libvirtd&lt;br /&gt;
sudo systemctl start libvirtd&lt;br /&gt;
sudo systemctl enable libvirtd&lt;br /&gt;
sudo virt-host-validate&lt;br /&gt;
...&lt;br /&gt;
sudo curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-centos7 -o /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-list --all&lt;br /&gt;
sudo virsh net-info $NAME_NETWORK&lt;br /&gt;
sudo virsh net-dumpxml $NAME_NETWORK&lt;br /&gt;
sudo virsh net-destroy $NAME_NETWORK&lt;br /&gt;
sudo virsh net-undefine $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-define $NAME_FILE.xml&lt;br /&gt;
sudo virsh net-start $NAME_NETWORK&lt;br /&gt;
sudo virsh net-autostart $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh list --all&lt;br /&gt;
sudo virsh edit $NAME_VM&lt;br /&gt;
...&lt;br /&gt;
sudo brctl show br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nmcli==&lt;br /&gt;
* https://fedoraproject.org/wiki/Networking/CLI&lt;br /&gt;
===nmcli-genreral===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli dev show&lt;br /&gt;
nmcli conn show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===nmcli-ethernet===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-wifi===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-bridge===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli con add type bridge autoconnect yes con-name br0 ifname br0 ipv4.method auto&lt;br /&gt;
nmcli con del enp2s0&lt;br /&gt;
nmcli con add type bridge-slave autoconnect yes con-name enp2s0 ifname enp2s0 master br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ping samerhijazi.net         ### resolve a hostname to an IP address&lt;br /&gt;
host samerhijazi.net&lt;br /&gt;
nslookup samerhijazi.net&lt;br /&gt;
speedtest                    ### ubuntu&lt;br /&gt;
speedtest-cli                ### fedora&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
arp -a&lt;br /&gt;
nmap -sP 192.168.1.0/24&lt;br /&gt;
sudo mount -t cifs -o username=user,password=pin //172.29.32.184/sharename /media/Data/&lt;br /&gt;
sudo mount -t davfs -o username=user,password=pin https://sd2dav.1und1.de /1und1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Proxy==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
env | grep -i proxy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Firewall=&lt;br /&gt;
==Service==&lt;br /&gt;
* cmd: status, start, stop, restart, reload, enable, disable&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo systemctl status firewalld&lt;br /&gt;
$ sudo systemctl status NetworkManager&lt;br /&gt;
$ sudo systemctl status network&lt;br /&gt;
...&lt;br /&gt;
sudo firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --get-zones&lt;br /&gt;
sudo firewall-cmd --get-active-zones&lt;br /&gt;
sudo firewall-cmd --get-default-zone&lt;br /&gt;
sudo firewall-cmd --get-services&lt;br /&gt;
sudo firewall-cmd --list-all&lt;br /&gt;
sudo firewall-cmd --list-ports&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Zone-home==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --zone=home --list-all&lt;br /&gt;
sudo firewall-cmd --zone=home --list-ports&lt;br /&gt;
sudo firewall-cmd --zone=home --list-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone: Configuration==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --set-default-zone=home&lt;br /&gt;
sudo firewall-cmd --zone=home --change-interface=eth0&lt;br /&gt;
sudo firewall-cmd --zone=home --add-service=http&lt;br /&gt;
sudo firewall-cmd --zone=home --add-port=80/tcp --permanent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New Zone &amp;quot;boxblue&amp;quot;==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --permanent --new-zone=boxblue&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=ssh&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=http&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=https&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=samba&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=80/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=22/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --change-interface=wlp0s19f2u1&lt;br /&gt;
sudo firewall-cmd --permanent --set-default-zone=boxblue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Editors=&lt;br /&gt;
==Vim==&lt;br /&gt;
* https://vim.rtorr.com/&lt;br /&gt;
* https://linuxize.com/post/vim-delete-line/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Get used to copy/paste/cut with vim:&lt;br /&gt;
---&lt;br /&gt;
Mark lines: Esc+V (then arrow keys)&lt;br /&gt;
Copy marked lines: y&lt;br /&gt;
Cut marked lines: d&lt;br /&gt;
Past lines: p or P&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc   Exit the current mode.&lt;br /&gt;
i     Enter &amp;quot;Insert mode&amp;quot; for inserting text.&lt;br /&gt;
v     Enter &amp;quot;Visual mode&amp;quot; for character.&lt;br /&gt;
V     Enter &amp;quot;Visual mode&amp;quot; for line.&lt;br /&gt;
:     Enter &amp;quot;Command mode&amp;quot;. &lt;br /&gt;
...&lt;br /&gt;
h     Move Left&lt;br /&gt;
j     Move Down&lt;br /&gt;
k     Move Up&lt;br /&gt;
l     Move Right&lt;br /&gt;
...&lt;br /&gt;
ggVG  Select hole text&lt;br /&gt;
...&lt;br /&gt;
u     Undo the last operation.&lt;br /&gt;
d     Delete or Cut selected item.&lt;br /&gt;
y     Copy line.&lt;br /&gt;
p     Paste storage buffer after the cursor.&lt;br /&gt;
...&lt;br /&gt;
:q    Quit Vim.&lt;br /&gt;
:q!   Quit Vim without saving the changes.&lt;br /&gt;
:w    Save the file&lt;br /&gt;
:wq   Save the file and quit Vim.&lt;br /&gt;
:w $FILE_NAME Save the file with the filename &amp;quot;yx&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc §§ Place the cursor on the first line you want to delete. §§ Type 5dd and hit Enter to delete the next five lines.&lt;br /&gt;
:[start],[end]d      ### Delete a range of lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nano==&lt;br /&gt;
* https://keycombiner.com/collections/nano/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Paste:     Strg+u&lt;br /&gt;
Delete:     Strg+k&lt;br /&gt;
Search:     Strg+w&lt;br /&gt;
Select_&amp;amp;_Copy:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Alt+6&lt;br /&gt;
Select_&amp;amp;_Delete:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Strg+k&lt;br /&gt;
---&lt;br /&gt;
ALt+# &amp;gt;&amp;gt; show Line numbers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* nanorc&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls /usr/share/nano/&lt;br /&gt;
nano /usr/share/nano/yaml.nanorc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Package Manager=&lt;br /&gt;
* sudo dpkg -i filename.deb&lt;br /&gt;
* sudo rpm -i filename.rpm&lt;br /&gt;
&lt;br /&gt;
==APT (Advanced Package Tool)==&lt;br /&gt;
* Debian, Ubuntu, usw.&lt;br /&gt;
* Repo-Location: /etc/apt/sources.list&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install ./filename.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DNF (Dandified YUM)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo ls /etc/yum.repos.d/                         ## Repositories-Folder&lt;br /&gt;
sudo rpm –i filename.rpm&lt;br /&gt;
sudo dnf install https://website.com/file-name.rpm&lt;br /&gt;
sudo dnf config-manager --add-repo https://website.com/repositorie-name.repo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf repolist --all&lt;br /&gt;
sudo dnf config-manager --add-repo $REPO_URL&lt;br /&gt;
sudo dnf config-manager --set-enabled $REPO_ID&lt;br /&gt;
sudo dnf config-manager --set-disabled $REPO_ID&lt;br /&gt;
---&lt;br /&gt;
sudo dnf copr [enable|disable|remove|list|search] $PACKAG_NAME&lt;br /&gt;
...&lt;br /&gt;
sudo dnf list&lt;br /&gt;
sudo dnf list installed&lt;br /&gt;
sudo dnf list available&lt;br /&gt;
sudo dnf list updates&lt;br /&gt;
---&lt;br /&gt;
sudo dnf check-update&lt;br /&gt;
sudo dnf autoremove&lt;br /&gt;
sudo dnf clean all&lt;br /&gt;
...&lt;br /&gt;
sudo dnf update&lt;br /&gt;
sudo dnf upgrade&lt;br /&gt;
sudo dnf update vim&lt;br /&gt;
sudo dnf search vim&lt;br /&gt;
sudo dnf download vim&lt;br /&gt;
sudo dnf install vim&lt;br /&gt;
sudo dnf install https://website.com/filename.rpm&lt;br /&gt;
sudo dnf reinstall vim&lt;br /&gt;
sudo dnf remove vim&lt;br /&gt;
sudo dnf erase vim&lt;br /&gt;
...&lt;br /&gt;
sudo dnf group list -v&lt;br /&gt;
sudo dnf group info 'Development Tools'&lt;br /&gt;
sudo dnf group install 'Development Tools'&lt;br /&gt;
sudo dnf group update 'Development Tools'&lt;br /&gt;
sudo dnf group remove 'Development Tools'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Storage=&lt;br /&gt;
==Mount 1&amp;amp;1==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir /mnt/1und1&lt;br /&gt;
mount -t davfs https://sd2dav.1und1.de/ /mnt/1und1&lt;br /&gt;
umount /mnt/1und1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mount VirtualHardDisk==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=/storage/vhd.img bs=1M count=24    ### VHD volume of size 20MB image.&lt;br /&gt;
sudo mkfs -t ext4 /storage/vhd.img                         ### Format the VHD image with EXT4 file system type.&lt;br /&gt;
sudo mkdir /mnt/vhd/&lt;br /&gt;
sudo mount -t auto -o loop /storage/vhd.img /mnt/vhd/&lt;br /&gt;
sudo nano /etc/fstab &amp;lt;&amp;lt;&amp;lt; &amp;quot;/storage/vhd.img  /mnt/vhd/  ext4    defaults        0  0&amp;quot;&lt;br /&gt;
sudo umount /mnt/vhd/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Encrypted disk image with Cryptsetup==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=./vhd.img bs=1M count=24    ### Create the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup -y luksFormat ./vhd.img             ### Encrypt the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup luksOpen ./vhd.img cryvhd           ### Maps the Disk Image File vhd.img to /dev/mapper/cryvhd.&lt;br /&gt;
sudo mkfs.ext4 /dev/mapper/cryvhd                   ### Format the Disk Image File vhd.img with ext4 File System. &lt;br /&gt;
sudo mount /dev/mapper/cryvhd /mnt/vhd&lt;br /&gt;
sudo chown king:king /mnt/vhd &lt;br /&gt;
sudo umount /mnt/vhd&lt;br /&gt;
sudo cryptsetup luksClose cryvhd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Samba==&lt;br /&gt;
* src: https://www.server-world.info/en/note?os=Fedora_34&amp;amp;p=samba&amp;amp;f=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ /etc/samba/smb.conf&lt;br /&gt;
$ systemctl enable --now smb&lt;br /&gt;
$ firewall-cmd --add-service=samba --permanent&lt;br /&gt;
$ firewall-cmd --reload&lt;br /&gt;
$ testparm&lt;br /&gt;
----------------------------------------&lt;br /&gt;
[global]&lt;br /&gt;
workgroup = WORKGROUP&lt;br /&gt;
security = user&lt;br /&gt;
netbios name = box-black&lt;br /&gt;
map to guest = Bad User&lt;br /&gt;
idmap config * : backend = tdb&lt;br /&gt;
wins support = yes&lt;br /&gt;
local master = yes&lt;br /&gt;
preferred master = yes&lt;br /&gt;
&lt;br /&gt;
[storage-a]&lt;br /&gt;
path = /storage_a&lt;br /&gt;
browsable = yes&lt;br /&gt;
writable = yes&lt;br /&gt;
guest ok = yes&lt;br /&gt;
guest only = yes&lt;br /&gt;
read only = no&lt;br /&gt;
force user = nobody&lt;br /&gt;
force create mode = 777&lt;br /&gt;
force directory mode = 777&lt;br /&gt;
&lt;br /&gt;
public = yes&lt;br /&gt;
available = yes&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Screen=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
screen -S &amp;lt;name&amp;gt;		# start screen new&lt;br /&gt;
screen -ls			# list screen runing&lt;br /&gt;
screen -r &amp;lt;name&amp;gt;		# reattach to a session name&lt;br /&gt;
..&lt;br /&gt;
Ctrl+a c			# create window&lt;br /&gt;
Ctrl+a n			# next window&lt;br /&gt;
Ctrl+a p			# previous window&lt;br /&gt;
Ctrl+a k			# kill window&lt;br /&gt;
Ctrl+a d			# detach window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Desktop Environments=&lt;br /&gt;
==Links==&lt;br /&gt;
* src: https://www.ukui.org/index.html&lt;br /&gt;
* src: https://www.ubuntukylin.com/index.php?lang=en&lt;br /&gt;
==Display Server (Xorg/Wayland)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
loginctl	                   # get session number from command output &lt;br /&gt;
loginctl show-session 2 -p Type&lt;br /&gt;
...&lt;br /&gt;
vi /etc/gdm/custom.conf&lt;br /&gt;
vi /etc/gdm3/custom.conf&lt;br /&gt;
-----------------------&lt;br /&gt;
WaylandEnable=false                  # To disable Wayland&lt;br /&gt;
DefaultSession=gnome-xorg.desktop    # To enable Xorg&lt;br /&gt;
-----------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sessions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /usr/share/xsessions/    # Lists installed desktop enviruments&lt;br /&gt;
echo $XDG_CURRENT_DESKTOP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Display Manager: lightdm==&lt;br /&gt;
* Install Display-Manager&lt;br /&gt;
* Install Greeter&lt;br /&gt;
* Setting Greeter&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install lightdm                                                                         # Display-Manager&lt;br /&gt;
sudo dnf install elementary-greeter slick-greeter slick-greeter-cinnamon slick-greeter-mate      # Greeter-Typs&lt;br /&gt;
sudo dnf install lightdm-settings                                                                # For Settings&lt;br /&gt;
...&lt;br /&gt;
ls /usr/share/lightdm/lightdm.conf.d/        # System-Settings&lt;br /&gt;
ls /etc/lightdm/lightdm.conf.d/              # User-Settings&lt;br /&gt;
lightdm --show-config&lt;br /&gt;
...&lt;br /&gt;
[Seat:*]&lt;br /&gt;
greeter-session=slick-greeter&lt;br /&gt;
user-session=cinnamon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Fixs=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo -e /etc/needrestart/needrestart.conf&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Uncomment and change the following settings:&lt;br /&gt;
$nrconf{kernelhints} = 0;&lt;br /&gt;
$nrconf{ucodehints} = 0;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2722</id>
		<title>IT-OS-Admin-Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2722"/>
		<updated>2022-10-20T13:06:49Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* Commands: https://ss64.com/bash/&lt;br /&gt;
* Commands: https://www.codecademy.com/learn/learn-the-command-line&lt;br /&gt;
* Commands: https://www.javatpoint.com/linux-tutorial&lt;br /&gt;
* Configurations: https://www.server-world.info/en/note?os=Fedora_32&lt;br /&gt;
* Docs: https://docs.fedoraproject.org/en-US/docs/&lt;br /&gt;
* RHEL-Trainig: https://www.redhat.com/en/services/training/rh024-red-hat-linux-technical-overview&lt;br /&gt;
* HowTo: https://www.howtoforge.com/&lt;br /&gt;
* Software-Flat: https://flathub.org/&lt;br /&gt;
* Software-Snap: https://snapcraft.io/&lt;br /&gt;
* News: https://vitux.com/&lt;br /&gt;
* https://www.shellscript.sh/functions.html&lt;br /&gt;
* https://www.feistyduck.com/library/openssl-cookbook/online/&lt;br /&gt;
&lt;br /&gt;
=Basics=&lt;br /&gt;
==Fast shortcuts==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cd                         ### Go back to home directory &lt;br /&gt;
cd ~                       ### Go back to home directory&lt;br /&gt;
cd -                       ### Switch back to the last working directory&lt;br /&gt;
Ctrl+A/Ctrl+E              ### Ctrl+A to go to the beginning of the line and Ctrl+E to go to the end.&lt;br /&gt;
tail -f path_to_Log        ### Reading a log file in real time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Folders==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/boot    &amp;gt;&amp;gt;Contains boot loader related files.&lt;br /&gt;
/bin     &amp;gt;&amp;gt;Contains binary executables.&lt;br /&gt;
/sbin    &amp;gt;&amp;gt;Contains administrator binary executables, just like /bin.&lt;br /&gt;
/lib     &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
/lib64   &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/dev     &amp;gt;&amp;gt;Contains device files.&lt;br /&gt;
/etc     &amp;gt;&amp;gt;Contains configuration files required by all programs.&lt;br /&gt;
/opt     &amp;gt;&amp;gt;Contains add-on applications from individual vendors.&lt;br /&gt;
/usr     &amp;gt;&amp;gt;Contains binaries, libraries and source for second level programs.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/root    &amp;gt;&amp;gt;Home directory for the root user.&lt;br /&gt;
/home    &amp;gt;&amp;gt;Home directories for all users to store their personal files.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/mnt     &amp;gt;&amp;gt;Temporary mount directory where sysadmins can mount filesystems.&lt;br /&gt;
/media   &amp;gt;&amp;gt;Temporary mount directory for removable devices.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/proc    &amp;gt;&amp;gt;Contains information about system process.&lt;br /&gt;
/run     &amp;gt;&amp;gt;Run-time variable data&lt;br /&gt;
/srv     &amp;gt;&amp;gt;Contains server specific services related data.&lt;br /&gt;
/sys     &amp;gt;&amp;gt;Contains information about the devices connected to the computer.&lt;br /&gt;
/var     &amp;gt;&amp;gt;Contains files that are expected to grow.&lt;br /&gt;
/tmp     &amp;gt;&amp;gt;Contains temporary files created by system and users.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/lib/systemd/system-shutdown/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/profile (~/.bash_profile or ~/.profile)   ### Configuration of environment for login shell&lt;br /&gt;
/etc/bashrc (~/.bashrc)                        ### Configuration of environment for non-login shell&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/etc/environment                               ### Configuration of environment&lt;br /&gt;
/etc/hosts                                     ### Configuration for hosts&lt;br /&gt;
/etc/fstab                                     ### Configuration of Disks&lt;br /&gt;
/etc/mtab                                      ### Configuration of Mount Devices&lt;br /&gt;
/etc/hostname                                  ### Where Hostname is saved&lt;br /&gt;
/etc/init.d/                                   ### Skripts that will be executed at system start up&lt;br /&gt;
/etc/apt/sources.list.d                        ### Ubuntu Reposotiery-Folder&lt;br /&gt;
/etc/apt/apt.conf                              ### Ubuntu Reposotiery-Config&lt;br /&gt;
/etc/yum.repos.d/                              ### Fedora Reposotiery-Folder&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0      ### Network-cfg&lt;br /&gt;
/etc/fonts/conf.d                              ### Font-Configuration Directory for System&lt;br /&gt;
/etc/fonts/fonts.conf                          ### Font-Configuration System&lt;br /&gt;
/etc/fonts/local.conf                          ### Font-Configuration Local&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/usr/share/fonts/                              ### Users Fonts&lt;br /&gt;
/usr/share/themes/                             ### Users Themes&lt;br /&gt;
/usr/share/applications/                       ### Users Application Launcher&lt;br /&gt;
/usr/share/xsessions/                          ### Users Desktop envirument sessions&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.fonts.conf.d                                ### Font-Configuration Directory for User.&lt;br /&gt;
~/.fonts.conf                                  ### Font-Configuration User.&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.bash_profile                                ###&lt;br /&gt;
~/.bashrc                                      ### Shell-Config&lt;br /&gt;
~/.bash_login                                  ###&lt;br /&gt;
~/.themes/                                     ### Location of Themes&lt;br /&gt;
~/.icons/                                      ### Location of Icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Configs==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.config/user-dirs.dirs&lt;br /&gt;
~/.config/gtk-3.0/bookmarks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Top CMD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
whoiam    # Current user&lt;br /&gt;
man       # Help&lt;br /&gt;
pwd       # Present working Directory&lt;br /&gt;
ls        # List File/Directory&lt;br /&gt;
cd        # Change Directory&lt;br /&gt;
cp        # Copy&lt;br /&gt;
mv        # Move&lt;br /&gt;
rm        # Remove&lt;br /&gt;
mkdir     # Create Directory&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cal       # Calender&lt;br /&gt;
date      # Current Date &amp;amp; Time&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
df        # Report disk space usage&lt;br /&gt;
du        # Report file space usage&lt;br /&gt;
lsblk     # List block devices&lt;br /&gt;
fdisk     # manipulate disk partition table&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cat&lt;br /&gt;
less&lt;br /&gt;
tail&lt;br /&gt;
find&lt;br /&gt;
diff&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
vi&lt;br /&gt;
nano&lt;br /&gt;
toch     # Create File&lt;br /&gt;
grep     # print lines matching a pattern&lt;br /&gt;
awk      # print column matching a pattern&lt;br /&gt;
sed      # Substitute, replace test&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
free     # RAM allocation&lt;br /&gt;
lscpu    # CPU Info&lt;br /&gt;
top&lt;br /&gt;
ps&lt;br /&gt;
history&lt;br /&gt;
shutdown&lt;br /&gt;
reboot&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;command&amp;gt; &amp;amp;   # Start command in Background&lt;br /&gt;
exit          # exit process&lt;br /&gt;
kill          # kill -9 $PID;&lt;br /&gt;
crontab       # crontab -e; crontab -l&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
if &amp;lt;command&amp;gt;; then &amp;lt;command&amp;gt; fi&lt;br /&gt;
for x in {1..10}; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
while:; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
until false; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
ctrl+a; ctrl+e; ctrl+d; ctrl+c; ctrl+z; ctrl+r&lt;br /&gt;
ctrl+alt+f1          # New tty Session&lt;br /&gt;
ctrl+alt+t           # New Termina&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
==Basics==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ find ./folder -type f -name testfile.txt           # Find a file called testfile.txt in the ./folder and sub-directories&lt;br /&gt;
$ mv $SOURCE $TARGET                  # move folder&lt;br /&gt;
$ rm -rf $Folder_Name                 # remove directories force &amp;amp; recursively&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ln -s $SOURCE $LINK                 # create symbolic link&lt;br /&gt;
$ ls -l $LINK                         # list symbolic link&lt;br /&gt;
$ unlink $LINK                        # unlinke symbolic link&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ toch file.txt                       # create new empty.&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot;                  # Print out 'Hallo World'&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt; file.txt       # Overwrite the content of file.txt&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt;&amp;gt; file.txt      # Append to the end of file.txt&lt;br /&gt;
$ source file.txt                     # Source the file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ cat file.txt                        # Print out the content of file.exe&lt;br /&gt;
$ cat source.txt &amp;gt; file.txt           # To overwrite the content of file.txt&lt;br /&gt;
$ cat source.txt &amp;gt;&amp;gt; file.txt          # To append to the end of file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ls /usr/javalib/*.jar               # List all the .jar files in current directory.&lt;br /&gt;
$ ls /usr/javalib/**.jar              # List all the .jar files in current directory and subdirectories.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ tar -xfv $NAME_ARCHIVE                      # x: extract, f: file, v: Verbose&lt;br /&gt;
$ tar -xfv -C ./$NAME_FOLDER $NAME_ARCHIVE    # x: extract, f: file, v: Verbose, C: Directory&lt;br /&gt;
$ tar -cf $NAME_ARCHIVE file1 file2 file3     # c: create, f: file&lt;br /&gt;
$ unzip $NAME_FILE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==chmod &amp;amp; chown &amp;amp; chgrp==&lt;br /&gt;
* https://chmod-calculator.com/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * &lt;br /&gt;
┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ └──────&amp;gt; Other (everyone) permissions&lt;br /&gt;
│ │ └────────&amp;gt; Group permissions&lt;br /&gt;
│ └──────────&amp;gt; User permissions&lt;br /&gt;
└────────────&amp;gt; File type&lt;br /&gt;
######################################################################&lt;br /&gt;
0 (---), 1 (--x), 2 (-w-), 3 (-wx), 4 (r--), 5 (r-x), 6 (rw-), 7 (rwx)&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod 777 file.txt              ### rwx rwx rwx&lt;br /&gt;
chmod 755 file.txt              ### rwx r_x r_x&lt;br /&gt;
chmod 700 file.txt              ### User can rw-&lt;br /&gt;
chmod 400 file.txt              ### User can r--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# USERS &amp;gt;&amp;gt; u:Owner, g:Group, o:Others, a:Everyone:[ugo]&lt;br /&gt;
# OPERATION  &amp;gt;&amp;gt; +:Add, -:Remove, =:Only&lt;br /&gt;
# PERMISSIONS &amp;gt;&amp;gt; r:Read, w:Write, x:Execute&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod $USERS $OPERATION $PERMISSIONS $FILE_NAME&lt;br /&gt;
chmod uga+rwx -R $FILE_NAME&lt;br /&gt;
chmod u=rwx,g=rwx,o=rwx $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ chown $OWNER_ID $FILE_NAME&lt;br /&gt;
$ chgrp $GROUP_ID $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==System==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
hostnamectl set-hostname new-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CronJob==&lt;br /&gt;
* Ref.: https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/crontab&lt;br /&gt;
/etc/cron.x/&lt;br /&gt;
crontab -e&lt;br /&gt;
@reboot ~/box-sandbox/k8s/vagrant up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * * auszuführender Befehl&lt;br /&gt;
┬ ┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ │&lt;br /&gt;
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)&lt;br /&gt;
│ │ │ └────── Monat (1-12)&lt;br /&gt;
│ │ └──────── Tag (1-31)&lt;br /&gt;
│ └────────── Stunde (0-23)&lt;br /&gt;
└──────────── Minute (0-59)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Bootloader-GRUB=&lt;br /&gt;
*https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/&lt;br /&gt;
==Settings files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/default/grub                                 ### Is the main GRUB settings file.&lt;br /&gt;
/boot/grub2/grub.cfg                              ### Is automatically generated by grub2-mkconfig based on /etc/default/grub.&lt;br /&gt;
/boot/efi/EFI/fedora/grub.cfg                     ### Is automatically generated for EFI systems.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mounting boot and root partitions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /mnt/&lt;br /&gt;
mount /dev/sda2 /mnt                              ### Mount the boot partition in the mount point.&lt;br /&gt;
mount /dev/sda1 /mnt/root/boot                    ### Mount the root partition on the mount point.&lt;br /&gt;
chroot /mnt/root                                  ### Change the filesystem into the mount point /mnt/root.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing the Bootloader==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
grub2-mkconfig -o /boot/grub2/grub.cfg            ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg   ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-install /dev/sda                            ### Install GRUB2 into the MBR of the primary hard disk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CMD-HowTo=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# Rename all file names from uppercase to lowercase&lt;br /&gt;
for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* https://www.cyberciti.biz/faq/using-heredoc-rediection-in-bash-shell-script-to-write-to-file/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
----&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; output_file.txt&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Shell=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
-d file			# True if file is a directory.&lt;br /&gt;
-e file			# True if file exists.&lt;br /&gt;
-f file			# True if file exists and is a regular file.&lt;br /&gt;
-L file			# True if file is a symbolic link.&lt;br /&gt;
-r file			# True if file is a file readable by you.&lt;br /&gt;
-w file			# True if file is a file writable by you.&lt;br /&gt;
-x file			# True if file is a file executable by you.&lt;br /&gt;
file1 -nt file2		# True if file1 is newer than (according to modification time) file2&lt;br /&gt;
file1 -ot file2		# True if file1 is older than file2&lt;br /&gt;
-z string			# True if string is empty.&lt;br /&gt;
-n string			# True if string is not empty.&lt;br /&gt;
string1 = string2		# True if string1 equals string2.&lt;br /&gt;
string1 != string2		# True if string1 does not equal string2.&lt;br /&gt;
&lt;br /&gt;
Don't leave a blank variable, unset it if it was empty&lt;br /&gt;
read -sr OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PASSWORD=$OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PROJECT_NAME=&amp;quot;demo&amp;quot;&lt;br /&gt;
unset OS_USER_DOMAIN_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
timestamp=$(date +%Y%m%d%H%M%S)&lt;br /&gt;
nano ~/.bashrc                                   # Auto start the agent&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
if [[ &amp;quot;$(ps -u $USER | grep ssh-agent | wc -l)&amp;quot; -lt &amp;quot;1&amp;quot; ]]; then&lt;br /&gt;
    ssh-agent -s &amp;gt;~/.ssh/ssh-agent&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
    ssh-add ~/.ssh/id_rsa&lt;br /&gt;
else&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
fi&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=User=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser –G [GROUP-ID] [USER-ID]					# Add a new Group &amp;amp; User&lt;br /&gt;
sudo deluser [USER-ID]							# Delete User&lt;br /&gt;
sudo remove [USER-ID]							# Remove User&lt;br /&gt;
...&lt;br /&gt;
echo &amp;quot;USER-ID ALL=(ALL) NOPASSWD: ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
usermod -aG sudo [USER-ID]						# Add User to Sudo-Group&lt;br /&gt;
sudo visudo								# Add “USER-ID ALL=(ALL:ALL) ALL”&lt;br /&gt;
id	&lt;br /&gt;
...&lt;br /&gt;
su [USER-ID]								# Change User in current Folder&lt;br /&gt;
su - [USER-ID]								# Change User in User Home-Folder&lt;br /&gt;
sudo bash								# Login as root&lt;br /&gt;
sudo -i									# Login as root&lt;br /&gt;
sudo -i –u [USER-ID]							# Login in account user&lt;br /&gt;
passwd [USER-ID]							# Change User Password&lt;br /&gt;
gpasswd -a user-ID group-ID						#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Locale &amp;amp; Keymap &amp;amp; Time=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/environment&lt;br /&gt;
/etc/locale.conf&lt;br /&gt;
~/.config/locale.conf&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-locales&lt;br /&gt;
localectl set-locale LANG=en_US.UTF-8&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-keymaps&lt;br /&gt;
localectl set-keymap de&lt;br /&gt;
...&lt;br /&gt;
timedatectl&lt;br /&gt;
timedatectl list-timezones&lt;br /&gt;
timedatectl set-timezone Europe/Berlin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=SSH=&lt;br /&gt;
==Settings==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo dnf install openssh-client&lt;br /&gt;
$ sudo dnf install openssh-server&lt;br /&gt;
$ sudo systemctl restart sshd.service&lt;br /&gt;
$ sudo systemctl enable sshd.service&lt;br /&gt;
...&lt;br /&gt;
ssh box-black -L 8888:localhost:32400 ## Redirect localhost to Server &amp;quot;box-black&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Key-Typs: RSA algorithm and DSA algorithm.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ~/.ssh/id_rsa.pvt           # The file contains the RSA private key.&lt;br /&gt;
$ ~/.ssh/id_rsa.pub           # The file contains the RSA public key.&lt;br /&gt;
$ ~/.ssh/authorized_keys      # The file contains the keys that can be used for logging into system.&lt;br /&gt;
...&lt;br /&gt;
$ chmod go-w ~/&lt;br /&gt;
$ chmod 700 ~/.ssh&lt;br /&gt;
$ chmod 600 ~/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/ssh/ssh_config&lt;br /&gt;
sudo nano /etc/ssh/sshd_config&lt;br /&gt;
------------------------------&lt;br /&gt;
RSAAuthentication yes&lt;br /&gt;
PubkeyAuthentication yes&lt;br /&gt;
AuthorizedKeysFile %h/.ssh/authorized_keys&lt;br /&gt;
PasswordAuthentication no      # Yes: Can login with Password; No: Can’t login with Password&lt;br /&gt;
------------------------------&lt;br /&gt;
/etc/init.d/ssh restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Generate Key==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C &amp;quot;username@mail.com&amp;quot;     # Generate prv and pub Key&lt;br /&gt;
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys&lt;br /&gt;
$ chmod -R 600 ~/.ssh/id_rsa&lt;br /&gt;
$ ssh -i ~/.ssh/id_rsa username@server.com                      # Login server with prv-key       	&lt;br /&gt;
...&lt;br /&gt;
$ ssh-copy-id –i $PATH_PUBLIC_KEY $USERNAME@IP_ADDRESS	     # Copy Pub-Key to server&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh user@hostname &amp;quot;mkdir -p ~/.ssh &amp;amp;&amp;amp; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
$ ssh user@hostname &amp;quot;echo `cat ~/.ssh/id_rsa.pub` &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ssh-agent &amp;amp; ssh-add==&lt;br /&gt;
* src: https://blog.tinned-software.net/manage-ssh-keys-with-the-ssh-agent/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ vim ~/.ssh/config                            # Add key automatically to a running agent&lt;br /&gt;
-----------------------------------&lt;br /&gt;
AddKeysToAgent yes&lt;br /&gt;
## Home nas server ##&lt;br /&gt;
Host nas01&lt;br /&gt;
     HostName 192.168.1.100&lt;br /&gt;
     User root&lt;br /&gt;
     IdentityFile ~/.ssh/nas01.key&lt;br /&gt;
Host github.com&lt;br /&gt;
     IdentityFile ~/.ssh/github.key&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ eval $(ssh-agent -s)                          # Start the agent&lt;br /&gt;
$ ssh-add ~/.ssh/id_rsa                         # Add the defualt key&lt;br /&gt;
$ ssh-add -l                                    # List keys&lt;br /&gt;
$ ssh-add -d /home/user/.ssh/id_rsa             # Remove key&lt;br /&gt;
$ ssh-add -D                                    # Remove all Keys&lt;br /&gt;
$ eval $(ssh-agent -s -k)                       # Kill the agent&lt;br /&gt;
$ ssh -T git@github.com&lt;br /&gt;
$ ssh -T git@bitbucket.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network=&lt;br /&gt;
==KVM==&lt;br /&gt;
* KVM: Kernel-Based Virtual Machine&lt;br /&gt;
* https://computingforgeeks.com/how-to-install-kvm-on-fedora/&lt;br /&gt;
* https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvm&lt;br /&gt;
* https://libvirt.org/sources/virshcmdref/html/chap-Virsh_Command_Reference-Commands.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @virtualization&lt;br /&gt;
sudo dnf install bridge-utils libvirt virt-install qemu-kvm&lt;br /&gt;
sudo systemctl status libvirtd&lt;br /&gt;
sudo systemctl start libvirtd&lt;br /&gt;
sudo systemctl enable libvirtd&lt;br /&gt;
sudo virt-host-validate&lt;br /&gt;
...&lt;br /&gt;
sudo curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-centos7 -o /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-list --all&lt;br /&gt;
sudo virsh net-info $NAME_NETWORK&lt;br /&gt;
sudo virsh net-dumpxml $NAME_NETWORK&lt;br /&gt;
sudo virsh net-destroy $NAME_NETWORK&lt;br /&gt;
sudo virsh net-undefine $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-define $NAME_FILE.xml&lt;br /&gt;
sudo virsh net-start $NAME_NETWORK&lt;br /&gt;
sudo virsh net-autostart $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh list --all&lt;br /&gt;
sudo virsh edit $NAME_VM&lt;br /&gt;
...&lt;br /&gt;
sudo brctl show br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nmcli==&lt;br /&gt;
* https://fedoraproject.org/wiki/Networking/CLI&lt;br /&gt;
===nmcli-genreral===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli dev show&lt;br /&gt;
nmcli conn show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===nmcli-ethernet===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-wifi===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-bridge===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli con add type bridge autoconnect yes con-name br0 ifname br0 ipv4.method auto&lt;br /&gt;
nmcli con del enp2s0&lt;br /&gt;
nmcli con add type bridge-slave autoconnect yes con-name enp2s0 ifname enp2s0 master br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ping samerhijazi.net         ### resolve a hostname to an IP address&lt;br /&gt;
host samerhijazi.net&lt;br /&gt;
nslookup samerhijazi.net&lt;br /&gt;
speedtest                    ### ubuntu&lt;br /&gt;
speedtest-cli                ### fedora&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
arp -a&lt;br /&gt;
nmap -sP 192.168.1.0/24&lt;br /&gt;
sudo mount -t cifs -o username=user,password=pin //172.29.32.184/sharename /media/Data/&lt;br /&gt;
sudo mount -t davfs -o username=user,password=pin https://sd2dav.1und1.de /1und1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Firewall=&lt;br /&gt;
==Service==&lt;br /&gt;
* cmd: status, start, stop, restart, reload, enable, disable&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo systemctl status firewalld&lt;br /&gt;
$ sudo systemctl status NetworkManager&lt;br /&gt;
$ sudo systemctl status network&lt;br /&gt;
...&lt;br /&gt;
sudo firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --get-zones&lt;br /&gt;
sudo firewall-cmd --get-active-zones&lt;br /&gt;
sudo firewall-cmd --get-default-zone&lt;br /&gt;
sudo firewall-cmd --get-services&lt;br /&gt;
sudo firewall-cmd --list-all&lt;br /&gt;
sudo firewall-cmd --list-ports&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Zone-home==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --zone=home --list-all&lt;br /&gt;
sudo firewall-cmd --zone=home --list-ports&lt;br /&gt;
sudo firewall-cmd --zone=home --list-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone: Configuration==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --set-default-zone=home&lt;br /&gt;
sudo firewall-cmd --zone=home --change-interface=eth0&lt;br /&gt;
sudo firewall-cmd --zone=home --add-service=http&lt;br /&gt;
sudo firewall-cmd --zone=home --add-port=80/tcp --permanent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New Zone &amp;quot;boxblue&amp;quot;==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --permanent --new-zone=boxblue&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=ssh&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=http&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=https&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=samba&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=80/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=22/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --change-interface=wlp0s19f2u1&lt;br /&gt;
sudo firewall-cmd --permanent --set-default-zone=boxblue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Editors=&lt;br /&gt;
==Vim==&lt;br /&gt;
* https://vim.rtorr.com/&lt;br /&gt;
* https://linuxize.com/post/vim-delete-line/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Get used to copy/paste/cut with vim:&lt;br /&gt;
---&lt;br /&gt;
Mark lines: Esc+V (then arrow keys)&lt;br /&gt;
Copy marked lines: y&lt;br /&gt;
Cut marked lines: d&lt;br /&gt;
Past lines: p or P&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc   Exit the current mode.&lt;br /&gt;
i     Enter &amp;quot;Insert mode&amp;quot; for inserting text.&lt;br /&gt;
v     Enter &amp;quot;Visual mode&amp;quot; for character.&lt;br /&gt;
V     Enter &amp;quot;Visual mode&amp;quot; for line.&lt;br /&gt;
:     Enter &amp;quot;Command mode&amp;quot;. &lt;br /&gt;
...&lt;br /&gt;
h     Move Left&lt;br /&gt;
j     Move Down&lt;br /&gt;
k     Move Up&lt;br /&gt;
l     Move Right&lt;br /&gt;
...&lt;br /&gt;
ggVG  Select hole text&lt;br /&gt;
...&lt;br /&gt;
u     Undo the last operation.&lt;br /&gt;
d     Delete or Cut selected item.&lt;br /&gt;
y     Copy line.&lt;br /&gt;
p     Paste storage buffer after the cursor.&lt;br /&gt;
...&lt;br /&gt;
:q    Quit Vim.&lt;br /&gt;
:q!   Quit Vim without saving the changes.&lt;br /&gt;
:w    Save the file&lt;br /&gt;
:wq   Save the file and quit Vim.&lt;br /&gt;
:w $FILE_NAME Save the file with the filename &amp;quot;yx&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc §§ Place the cursor on the first line you want to delete. §§ Type 5dd and hit Enter to delete the next five lines.&lt;br /&gt;
:[start],[end]d      ### Delete a range of lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nano==&lt;br /&gt;
* https://keycombiner.com/collections/nano/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Paste:     Strg+u&lt;br /&gt;
Delete:     Strg+k&lt;br /&gt;
Search:     Strg+w&lt;br /&gt;
Select_&amp;amp;_Copy:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Alt+6&lt;br /&gt;
Select_&amp;amp;_Delete:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Strg+k&lt;br /&gt;
---&lt;br /&gt;
ALt+# &amp;gt;&amp;gt; show Line numbers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* nanorc&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls /usr/share/nano/&lt;br /&gt;
nano /usr/share/nano/yaml.nanorc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Package Manager=&lt;br /&gt;
* sudo dpkg -i filename.deb&lt;br /&gt;
* sudo rpm -i filename.rpm&lt;br /&gt;
&lt;br /&gt;
==APT (Advanced Package Tool)==&lt;br /&gt;
* Debian, Ubuntu, usw.&lt;br /&gt;
* Repo-Location: /etc/apt/sources.list&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install ./filename.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DNF (Dandified YUM)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo ls /etc/yum.repos.d/                         ## Repositories-Folder&lt;br /&gt;
sudo rpm –i filename.rpm&lt;br /&gt;
sudo dnf install https://website.com/file-name.rpm&lt;br /&gt;
sudo dnf config-manager --add-repo https://website.com/repositorie-name.repo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf repolist --all&lt;br /&gt;
sudo dnf config-manager --add-repo $REPO_URL&lt;br /&gt;
sudo dnf config-manager --set-enabled $REPO_ID&lt;br /&gt;
sudo dnf config-manager --set-disabled $REPO_ID&lt;br /&gt;
---&lt;br /&gt;
sudo dnf copr [enable|disable|remove|list|search] $PACKAG_NAME&lt;br /&gt;
...&lt;br /&gt;
sudo dnf list&lt;br /&gt;
sudo dnf list installed&lt;br /&gt;
sudo dnf list available&lt;br /&gt;
sudo dnf list updates&lt;br /&gt;
---&lt;br /&gt;
sudo dnf check-update&lt;br /&gt;
sudo dnf autoremove&lt;br /&gt;
sudo dnf clean all&lt;br /&gt;
...&lt;br /&gt;
sudo dnf update&lt;br /&gt;
sudo dnf upgrade&lt;br /&gt;
sudo dnf update vim&lt;br /&gt;
sudo dnf search vim&lt;br /&gt;
sudo dnf download vim&lt;br /&gt;
sudo dnf install vim&lt;br /&gt;
sudo dnf install https://website.com/filename.rpm&lt;br /&gt;
sudo dnf reinstall vim&lt;br /&gt;
sudo dnf remove vim&lt;br /&gt;
sudo dnf erase vim&lt;br /&gt;
...&lt;br /&gt;
sudo dnf group list -v&lt;br /&gt;
sudo dnf group info 'Development Tools'&lt;br /&gt;
sudo dnf group install 'Development Tools'&lt;br /&gt;
sudo dnf group update 'Development Tools'&lt;br /&gt;
sudo dnf group remove 'Development Tools'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Storage=&lt;br /&gt;
==Mount 1&amp;amp;1==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir /mnt/1und1&lt;br /&gt;
mount -t davfs https://sd2dav.1und1.de/ /mnt/1und1&lt;br /&gt;
umount /mnt/1und1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mount VirtualHardDisk==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=/storage/vhd.img bs=1M count=24    ### VHD volume of size 20MB image.&lt;br /&gt;
sudo mkfs -t ext4 /storage/vhd.img                         ### Format the VHD image with EXT4 file system type.&lt;br /&gt;
sudo mkdir /mnt/vhd/&lt;br /&gt;
sudo mount -t auto -o loop /storage/vhd.img /mnt/vhd/&lt;br /&gt;
sudo nano /etc/fstab &amp;lt;&amp;lt;&amp;lt; &amp;quot;/storage/vhd.img  /mnt/vhd/  ext4    defaults        0  0&amp;quot;&lt;br /&gt;
sudo umount /mnt/vhd/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Encrypted disk image with Cryptsetup==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=./vhd.img bs=1M count=24    ### Create the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup -y luksFormat ./vhd.img             ### Encrypt the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup luksOpen ./vhd.img cryvhd           ### Maps the Disk Image File vhd.img to /dev/mapper/cryvhd.&lt;br /&gt;
sudo mkfs.ext4 /dev/mapper/cryvhd                   ### Format the Disk Image File vhd.img with ext4 File System. &lt;br /&gt;
sudo mount /dev/mapper/cryvhd /mnt/vhd&lt;br /&gt;
sudo chown king:king /mnt/vhd &lt;br /&gt;
sudo umount /mnt/vhd&lt;br /&gt;
sudo cryptsetup luksClose cryvhd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Samba==&lt;br /&gt;
* src: https://www.server-world.info/en/note?os=Fedora_34&amp;amp;p=samba&amp;amp;f=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ /etc/samba/smb.conf&lt;br /&gt;
$ systemctl enable --now smb&lt;br /&gt;
$ firewall-cmd --add-service=samba --permanent&lt;br /&gt;
$ firewall-cmd --reload&lt;br /&gt;
$ testparm&lt;br /&gt;
----------------------------------------&lt;br /&gt;
[global]&lt;br /&gt;
workgroup = WORKGROUP&lt;br /&gt;
security = user&lt;br /&gt;
netbios name = box-black&lt;br /&gt;
map to guest = Bad User&lt;br /&gt;
idmap config * : backend = tdb&lt;br /&gt;
wins support = yes&lt;br /&gt;
local master = yes&lt;br /&gt;
preferred master = yes&lt;br /&gt;
&lt;br /&gt;
[storage-a]&lt;br /&gt;
path = /storage_a&lt;br /&gt;
browsable = yes&lt;br /&gt;
writable = yes&lt;br /&gt;
guest ok = yes&lt;br /&gt;
guest only = yes&lt;br /&gt;
read only = no&lt;br /&gt;
force user = nobody&lt;br /&gt;
force create mode = 777&lt;br /&gt;
force directory mode = 777&lt;br /&gt;
&lt;br /&gt;
public = yes&lt;br /&gt;
available = yes&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Screen=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
screen -S &amp;lt;name&amp;gt;		# start screen new&lt;br /&gt;
screen -ls			# list screen runing&lt;br /&gt;
screen -r &amp;lt;name&amp;gt;		# reattach to a session name&lt;br /&gt;
..&lt;br /&gt;
Ctrl+a c			# create window&lt;br /&gt;
Ctrl+a n			# next window&lt;br /&gt;
Ctrl+a p			# previous window&lt;br /&gt;
Ctrl+a k			# kill window&lt;br /&gt;
Ctrl+a d			# detach window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Desktop Environments=&lt;br /&gt;
==Links==&lt;br /&gt;
* src: https://www.ukui.org/index.html&lt;br /&gt;
* src: https://www.ubuntukylin.com/index.php?lang=en&lt;br /&gt;
==Display Server (Xorg/Wayland)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
loginctl	                   # get session number from command output &lt;br /&gt;
loginctl show-session 2 -p Type&lt;br /&gt;
...&lt;br /&gt;
vi /etc/gdm/custom.conf&lt;br /&gt;
vi /etc/gdm3/custom.conf&lt;br /&gt;
-----------------------&lt;br /&gt;
WaylandEnable=false                  # To disable Wayland&lt;br /&gt;
DefaultSession=gnome-xorg.desktop    # To enable Xorg&lt;br /&gt;
-----------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sessions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /usr/share/xsessions/    # Lists installed desktop enviruments&lt;br /&gt;
echo $XDG_CURRENT_DESKTOP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Display Manager: lightdm==&lt;br /&gt;
* Install Display-Manager&lt;br /&gt;
* Install Greeter&lt;br /&gt;
* Setting Greeter&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install lightdm                                                                         # Display-Manager&lt;br /&gt;
sudo dnf install elementary-greeter slick-greeter slick-greeter-cinnamon slick-greeter-mate      # Greeter-Typs&lt;br /&gt;
sudo dnf install lightdm-settings                                                                # For Settings&lt;br /&gt;
...&lt;br /&gt;
ls /usr/share/lightdm/lightdm.conf.d/        # System-Settings&lt;br /&gt;
ls /etc/lightdm/lightdm.conf.d/              # User-Settings&lt;br /&gt;
lightdm --show-config&lt;br /&gt;
...&lt;br /&gt;
[Seat:*]&lt;br /&gt;
greeter-session=slick-greeter&lt;br /&gt;
user-session=cinnamon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Fixs=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo -e /etc/needrestart/needrestart.conf&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Uncomment and change the following settings:&lt;br /&gt;
$nrconf{kernelhints} = 0;&lt;br /&gt;
$nrconf{ucodehints} = 0;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2721</id>
		<title>IT-OS-Admin-Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2721"/>
		<updated>2022-10-20T13:06:24Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Mix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* Commands: https://ss64.com/bash/&lt;br /&gt;
* Commands: https://www.codecademy.com/learn/learn-the-command-line&lt;br /&gt;
* Commands: https://www.javatpoint.com/linux-tutorial&lt;br /&gt;
* Configurations: https://www.server-world.info/en/note?os=Fedora_32&lt;br /&gt;
* Docs: https://docs.fedoraproject.org/en-US/docs/&lt;br /&gt;
* RHEL-Trainig: https://www.redhat.com/en/services/training/rh024-red-hat-linux-technical-overview&lt;br /&gt;
* HowTo: https://www.howtoforge.com/&lt;br /&gt;
* Software-Flat: https://flathub.org/&lt;br /&gt;
* Software-Snap: https://snapcraft.io/&lt;br /&gt;
* News: https://vitux.com/&lt;br /&gt;
* https://www.shellscript.sh/functions.html&lt;br /&gt;
* https://www.feistyduck.com/library/openssl-cookbook/online/&lt;br /&gt;
&lt;br /&gt;
=Basics=&lt;br /&gt;
==Fast shortcuts==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cd                         ### Go back to home directory &lt;br /&gt;
cd ~                       ### Go back to home directory&lt;br /&gt;
cd -                       ### Switch back to the last working directory&lt;br /&gt;
Ctrl+A/Ctrl+E              ### Ctrl+A to go to the beginning of the line and Ctrl+E to go to the end.&lt;br /&gt;
tail -f path_to_Log        ### Reading a log file in real time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Folders==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/boot    &amp;gt;&amp;gt;Contains boot loader related files.&lt;br /&gt;
/bin     &amp;gt;&amp;gt;Contains binary executables.&lt;br /&gt;
/sbin    &amp;gt;&amp;gt;Contains administrator binary executables, just like /bin.&lt;br /&gt;
/lib     &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
/lib64   &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/dev     &amp;gt;&amp;gt;Contains device files.&lt;br /&gt;
/etc     &amp;gt;&amp;gt;Contains configuration files required by all programs.&lt;br /&gt;
/opt     &amp;gt;&amp;gt;Contains add-on applications from individual vendors.&lt;br /&gt;
/usr     &amp;gt;&amp;gt;Contains binaries, libraries and source for second level programs.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/root    &amp;gt;&amp;gt;Home directory for the root user.&lt;br /&gt;
/home    &amp;gt;&amp;gt;Home directories for all users to store their personal files.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/mnt     &amp;gt;&amp;gt;Temporary mount directory where sysadmins can mount filesystems.&lt;br /&gt;
/media   &amp;gt;&amp;gt;Temporary mount directory for removable devices.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/proc    &amp;gt;&amp;gt;Contains information about system process.&lt;br /&gt;
/run     &amp;gt;&amp;gt;Run-time variable data&lt;br /&gt;
/srv     &amp;gt;&amp;gt;Contains server specific services related data.&lt;br /&gt;
/sys     &amp;gt;&amp;gt;Contains information about the devices connected to the computer.&lt;br /&gt;
/var     &amp;gt;&amp;gt;Contains files that are expected to grow.&lt;br /&gt;
/tmp     &amp;gt;&amp;gt;Contains temporary files created by system and users.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/lib/systemd/system-shutdown/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/profile (~/.bash_profile or ~/.profile)   ### Configuration of environment for login shell&lt;br /&gt;
/etc/bashrc (~/.bashrc)                        ### Configuration of environment for non-login shell&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/etc/environment                               ### Configuration of environment&lt;br /&gt;
/etc/hosts                                     ### Configuration for hosts&lt;br /&gt;
/etc/fstab                                     ### Configuration of Disks&lt;br /&gt;
/etc/mtab                                      ### Configuration of Mount Devices&lt;br /&gt;
/etc/hostname                                  ### Where Hostname is saved&lt;br /&gt;
/etc/init.d/                                   ### Skripts that will be executed at system start up&lt;br /&gt;
/etc/apt/sources.list.d                        ### Ubuntu Reposotiery-Folder&lt;br /&gt;
/etc/apt/apt.conf                              ### Ubuntu Reposotiery-Config&lt;br /&gt;
/etc/yum.repos.d/                              ### Fedora Reposotiery-Folder&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0      ### Network-cfg&lt;br /&gt;
/etc/fonts/conf.d                              ### Font-Configuration Directory for System&lt;br /&gt;
/etc/fonts/fonts.conf                          ### Font-Configuration System&lt;br /&gt;
/etc/fonts/local.conf                          ### Font-Configuration Local&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/usr/share/fonts/                              ### Users Fonts&lt;br /&gt;
/usr/share/themes/                             ### Users Themes&lt;br /&gt;
/usr/share/applications/                       ### Users Application Launcher&lt;br /&gt;
/usr/share/xsessions/                          ### Users Desktop envirument sessions&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.fonts.conf.d                                ### Font-Configuration Directory for User.&lt;br /&gt;
~/.fonts.conf                                  ### Font-Configuration User.&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.bash_profile                                ###&lt;br /&gt;
~/.bashrc                                      ### Shell-Config&lt;br /&gt;
~/.bash_login                                  ###&lt;br /&gt;
~/.themes/                                     ### Location of Themes&lt;br /&gt;
~/.icons/                                      ### Location of Icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Configs==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.config/user-dirs.dirs&lt;br /&gt;
~/.config/gtk-3.0/bookmarks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Top CMD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
whoiam    # Current user&lt;br /&gt;
man       # Help&lt;br /&gt;
pwd       # Present working Directory&lt;br /&gt;
ls        # List File/Directory&lt;br /&gt;
cd        # Change Directory&lt;br /&gt;
cp        # Copy&lt;br /&gt;
mv        # Move&lt;br /&gt;
rm        # Remove&lt;br /&gt;
mkdir     # Create Directory&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cal       # Calender&lt;br /&gt;
date      # Current Date &amp;amp; Time&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
df        # Report disk space usage&lt;br /&gt;
du        # Report file space usage&lt;br /&gt;
lsblk     # List block devices&lt;br /&gt;
fdisk     # manipulate disk partition table&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cat&lt;br /&gt;
less&lt;br /&gt;
tail&lt;br /&gt;
find&lt;br /&gt;
diff&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
vi&lt;br /&gt;
nano&lt;br /&gt;
toch     # Create File&lt;br /&gt;
grep     # print lines matching a pattern&lt;br /&gt;
awk      # print column matching a pattern&lt;br /&gt;
sed      # Substitute, replace test&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
free     # RAM allocation&lt;br /&gt;
lscpu    # CPU Info&lt;br /&gt;
top&lt;br /&gt;
ps&lt;br /&gt;
history&lt;br /&gt;
shutdown&lt;br /&gt;
reboot&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;command&amp;gt; &amp;amp;   # Start command in Background&lt;br /&gt;
exit          # exit process&lt;br /&gt;
kill          # kill -9 $PID;&lt;br /&gt;
crontab       # crontab -e; crontab -l&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
if &amp;lt;command&amp;gt;; then &amp;lt;command&amp;gt; fi&lt;br /&gt;
for x in {1..10}; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
while:; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
until false; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
ctrl+a; ctrl+e; ctrl+d; ctrl+c; ctrl+z; ctrl+r&lt;br /&gt;
ctrl+alt+f1          # New tty Session&lt;br /&gt;
ctrl+alt+t           # New Termina&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
==Basics==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ find ./folder -type f -name testfile.txt           # Find a file called testfile.txt in the ./folder and sub-directories&lt;br /&gt;
$ mv $SOURCE $TARGET                  # move folder&lt;br /&gt;
$ rm -rf $Folder_Name                 # remove directories force &amp;amp; recursively&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ln -s $SOURCE $LINK                 # create symbolic link&lt;br /&gt;
$ ls -l $LINK                         # list symbolic link&lt;br /&gt;
$ unlink $LINK                        # unlinke symbolic link&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ toch file.txt                       # create new empty.&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot;                  # Print out 'Hallo World'&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt; file.txt       # Overwrite the content of file.txt&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt;&amp;gt; file.txt      # Append to the end of file.txt&lt;br /&gt;
$ source file.txt                     # Source the file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ cat file.txt                        # Print out the content of file.exe&lt;br /&gt;
$ cat source.txt &amp;gt; file.txt           # To overwrite the content of file.txt&lt;br /&gt;
$ cat source.txt &amp;gt;&amp;gt; file.txt          # To append to the end of file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ls /usr/javalib/*.jar               # List all the .jar files in current directory.&lt;br /&gt;
$ ls /usr/javalib/**.jar              # List all the .jar files in current directory and subdirectories.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ tar -xfv $NAME_ARCHIVE                      # x: extract, f: file, v: Verbose&lt;br /&gt;
$ tar -xfv -C ./$NAME_FOLDER $NAME_ARCHIVE    # x: extract, f: file, v: Verbose, C: Directory&lt;br /&gt;
$ tar -cf $NAME_ARCHIVE file1 file2 file3     # c: create, f: file&lt;br /&gt;
$ unzip $NAME_FILE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==chmod &amp;amp; chown &amp;amp; chgrp==&lt;br /&gt;
* https://chmod-calculator.com/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * &lt;br /&gt;
┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ └──────&amp;gt; Other (everyone) permissions&lt;br /&gt;
│ │ └────────&amp;gt; Group permissions&lt;br /&gt;
│ └──────────&amp;gt; User permissions&lt;br /&gt;
└────────────&amp;gt; File type&lt;br /&gt;
######################################################################&lt;br /&gt;
0 (---), 1 (--x), 2 (-w-), 3 (-wx), 4 (r--), 5 (r-x), 6 (rw-), 7 (rwx)&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod 777 file.txt              ### rwx rwx rwx&lt;br /&gt;
chmod 755 file.txt              ### rwx r_x r_x&lt;br /&gt;
chmod 700 file.txt              ### User can rw-&lt;br /&gt;
chmod 400 file.txt              ### User can r--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# USERS &amp;gt;&amp;gt; u:Owner, g:Group, o:Others, a:Everyone:[ugo]&lt;br /&gt;
# OPERATION  &amp;gt;&amp;gt; +:Add, -:Remove, =:Only&lt;br /&gt;
# PERMISSIONS &amp;gt;&amp;gt; r:Read, w:Write, x:Execute&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod $USERS $OPERATION $PERMISSIONS $FILE_NAME&lt;br /&gt;
chmod uga+rwx -R $FILE_NAME&lt;br /&gt;
chmod u=rwx,g=rwx,o=rwx $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ chown $OWNER_ID $FILE_NAME&lt;br /&gt;
$ chgrp $GROUP_ID $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==System==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
hostnamectl set-hostname new-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CronJob==&lt;br /&gt;
* Ref.: https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/crontab&lt;br /&gt;
/etc/cron.x/&lt;br /&gt;
crontab -e&lt;br /&gt;
@reboot ~/box-sandbox/k8s/vagrant up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * * auszuführender Befehl&lt;br /&gt;
┬ ┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ │&lt;br /&gt;
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)&lt;br /&gt;
│ │ │ └────── Monat (1-12)&lt;br /&gt;
│ │ └──────── Tag (1-31)&lt;br /&gt;
│ └────────── Stunde (0-23)&lt;br /&gt;
└──────────── Minute (0-59)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Bootloader-GRUB=&lt;br /&gt;
*https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/&lt;br /&gt;
==Settings files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/default/grub                                 ### Is the main GRUB settings file.&lt;br /&gt;
/boot/grub2/grub.cfg                              ### Is automatically generated by grub2-mkconfig based on /etc/default/grub.&lt;br /&gt;
/boot/efi/EFI/fedora/grub.cfg                     ### Is automatically generated for EFI systems.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mounting boot and root partitions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /mnt/&lt;br /&gt;
mount /dev/sda2 /mnt                              ### Mount the boot partition in the mount point.&lt;br /&gt;
mount /dev/sda1 /mnt/root/boot                    ### Mount the root partition on the mount point.&lt;br /&gt;
chroot /mnt/root                                  ### Change the filesystem into the mount point /mnt/root.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing the Bootloader==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
grub2-mkconfig -o /boot/grub2/grub.cfg            ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg   ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-install /dev/sda                            ### Install GRUB2 into the MBR of the primary hard disk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CMD-HowTo=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# Rename all file names from uppercase to lowercase&lt;br /&gt;
for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* https://www.cyberciti.biz/faq/using-heredoc-rediection-in-bash-shell-script-to-write-to-file/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
----&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; output_file.txt&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Shell=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
-d file			# True if file is a directory.&lt;br /&gt;
-e file			# True if file exists.&lt;br /&gt;
-f file			# True if file exists and is a regular file.&lt;br /&gt;
-L file			# True if file is a symbolic link.&lt;br /&gt;
-r file			# True if file is a file readable by you.&lt;br /&gt;
-w file			# True if file is a file writable by you.&lt;br /&gt;
-x file			# True if file is a file executable by you.&lt;br /&gt;
file1 -nt file2		# True if file1 is newer than (according to modification time) file2&lt;br /&gt;
file1 -ot file2		# True if file1 is older than file2&lt;br /&gt;
-z string			# True if string is empty.&lt;br /&gt;
-n string			# True if string is not empty.&lt;br /&gt;
string1 = string2		# True if string1 equals string2.&lt;br /&gt;
string1 != string2		# True if string1 does not equal string2.&lt;br /&gt;
&lt;br /&gt;
Don't leave a blank variable, unset it if it was empty&lt;br /&gt;
read -sr OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PASSWORD=$OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PROJECT_NAME=&amp;quot;demo&amp;quot;&lt;br /&gt;
unset OS_USER_DOMAIN_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
timestamp=$(date +%Y%m%d%H%M%S)&lt;br /&gt;
nano ~/.bashrc                                   # Auto start the agent&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
if [[ &amp;quot;$(ps -u $USER | grep ssh-agent | wc -l)&amp;quot; -lt &amp;quot;1&amp;quot; ]]; then&lt;br /&gt;
    ssh-agent -s &amp;gt;~/.ssh/ssh-agent&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
    ssh-add ~/.ssh/id_rsa&lt;br /&gt;
else&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
fi&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=User=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser –G [GROUP-ID] [USER-ID]					# Add a new Group &amp;amp; User&lt;br /&gt;
sudo deluser [USER-ID]							# Delete User&lt;br /&gt;
sudo remove [USER-ID]							# Remove User&lt;br /&gt;
...&lt;br /&gt;
echo &amp;quot;USER-ID ALL=(ALL) NOPASSWD: ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
usermod -aG sudo [USER-ID]						# Add User to Sudo-Group&lt;br /&gt;
sudo visudo								# Add “USER-ID ALL=(ALL:ALL) ALL”&lt;br /&gt;
id	&lt;br /&gt;
...&lt;br /&gt;
su [USER-ID]								# Change User in current Folder&lt;br /&gt;
su - [USER-ID]								# Change User in User Home-Folder&lt;br /&gt;
sudo bash								# Login as root&lt;br /&gt;
sudo -i									# Login as root&lt;br /&gt;
sudo -i –u [USER-ID]							# Login in account user&lt;br /&gt;
passwd [USER-ID]							# Change User Password&lt;br /&gt;
gpasswd -a user-ID group-ID						#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Locale &amp;amp; Keymap &amp;amp; Time=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/environment&lt;br /&gt;
/etc/locale.conf&lt;br /&gt;
~/.config/locale.conf&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-locales&lt;br /&gt;
localectl set-locale LANG=en_US.UTF-8&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-keymaps&lt;br /&gt;
localectl set-keymap de&lt;br /&gt;
...&lt;br /&gt;
timedatectl&lt;br /&gt;
timedatectl list-timezones&lt;br /&gt;
timedatectl set-timezone Europe/Berlin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=SSH=&lt;br /&gt;
==Settings==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo dnf install openssh-client&lt;br /&gt;
$ sudo dnf install openssh-server&lt;br /&gt;
$ sudo systemctl restart sshd.service&lt;br /&gt;
$ sudo systemctl enable sshd.service&lt;br /&gt;
...&lt;br /&gt;
ssh box-black -L 8888:localhost:32400 ## Redirect localhost to Server &amp;quot;box-black&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Key-Typs: RSA algorithm and DSA algorithm.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ~/.ssh/id_rsa.pvt           # The file contains the RSA private key.&lt;br /&gt;
$ ~/.ssh/id_rsa.pub           # The file contains the RSA public key.&lt;br /&gt;
$ ~/.ssh/authorized_keys      # The file contains the keys that can be used for logging into system.&lt;br /&gt;
...&lt;br /&gt;
$ chmod go-w ~/&lt;br /&gt;
$ chmod 700 ~/.ssh&lt;br /&gt;
$ chmod 600 ~/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/ssh/ssh_config&lt;br /&gt;
sudo nano /etc/ssh/sshd_config&lt;br /&gt;
------------------------------&lt;br /&gt;
RSAAuthentication yes&lt;br /&gt;
PubkeyAuthentication yes&lt;br /&gt;
AuthorizedKeysFile %h/.ssh/authorized_keys&lt;br /&gt;
PasswordAuthentication no      # Yes: Can login with Password; No: Can’t login with Password&lt;br /&gt;
------------------------------&lt;br /&gt;
/etc/init.d/ssh restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Generate Key==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C &amp;quot;username@mail.com&amp;quot;     # Generate prv and pub Key&lt;br /&gt;
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys&lt;br /&gt;
$ chmod -R 600 ~/.ssh/id_rsa&lt;br /&gt;
$ ssh -i ~/.ssh/id_rsa username@server.com                      # Login server with prv-key       	&lt;br /&gt;
...&lt;br /&gt;
$ ssh-copy-id –i $PATH_PUBLIC_KEY $USERNAME@IP_ADDRESS	     # Copy Pub-Key to server&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh user@hostname &amp;quot;mkdir -p ~/.ssh &amp;amp;&amp;amp; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
$ ssh user@hostname &amp;quot;echo `cat ~/.ssh/id_rsa.pub` &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ssh-agent &amp;amp; ssh-add==&lt;br /&gt;
* src: https://blog.tinned-software.net/manage-ssh-keys-with-the-ssh-agent/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ vim ~/.ssh/config                            # Add key automatically to a running agent&lt;br /&gt;
-----------------------------------&lt;br /&gt;
AddKeysToAgent yes&lt;br /&gt;
## Home nas server ##&lt;br /&gt;
Host nas01&lt;br /&gt;
     HostName 192.168.1.100&lt;br /&gt;
     User root&lt;br /&gt;
     IdentityFile ~/.ssh/nas01.key&lt;br /&gt;
Host github.com&lt;br /&gt;
     IdentityFile ~/.ssh/github.key&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ eval $(ssh-agent -s)                          # Start the agent&lt;br /&gt;
$ ssh-add ~/.ssh/id_rsa                         # Add the defualt key&lt;br /&gt;
$ ssh-add -l                                    # List keys&lt;br /&gt;
$ ssh-add -d /home/user/.ssh/id_rsa             # Remove key&lt;br /&gt;
$ ssh-add -D                                    # Remove all Keys&lt;br /&gt;
$ eval $(ssh-agent -s -k)                       # Kill the agent&lt;br /&gt;
$ ssh -T git@github.com&lt;br /&gt;
$ ssh -T git@bitbucket.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network=&lt;br /&gt;
==KVM==&lt;br /&gt;
* KVM: Kernel-Based Virtual Machine&lt;br /&gt;
* https://computingforgeeks.com/how-to-install-kvm-on-fedora/&lt;br /&gt;
* https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvm&lt;br /&gt;
* https://libvirt.org/sources/virshcmdref/html/chap-Virsh_Command_Reference-Commands.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @virtualization&lt;br /&gt;
sudo dnf install bridge-utils libvirt virt-install qemu-kvm&lt;br /&gt;
sudo systemctl status libvirtd&lt;br /&gt;
sudo systemctl start libvirtd&lt;br /&gt;
sudo systemctl enable libvirtd&lt;br /&gt;
sudo virt-host-validate&lt;br /&gt;
...&lt;br /&gt;
sudo curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-centos7 -o /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-list --all&lt;br /&gt;
sudo virsh net-info $NAME_NETWORK&lt;br /&gt;
sudo virsh net-dumpxml $NAME_NETWORK&lt;br /&gt;
sudo virsh net-destroy $NAME_NETWORK&lt;br /&gt;
sudo virsh net-undefine $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-define $NAME_FILE.xml&lt;br /&gt;
sudo virsh net-start $NAME_NETWORK&lt;br /&gt;
sudo virsh net-autostart $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh list --all&lt;br /&gt;
sudo virsh edit $NAME_VM&lt;br /&gt;
...&lt;br /&gt;
sudo brctl show br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nmcli==&lt;br /&gt;
* https://fedoraproject.org/wiki/Networking/CLI&lt;br /&gt;
===nmcli-genreral===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli dev show&lt;br /&gt;
nmcli conn show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===nmcli-ethernet===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-wifi===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-bridge===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli con add type bridge autoconnect yes con-name br0 ifname br0 ipv4.method auto&lt;br /&gt;
nmcli con del enp2s0&lt;br /&gt;
nmcli con add type bridge-slave autoconnect yes con-name enp2s0 ifname enp2s0 master br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ping samerhijazi.net       ### resolve a hostname to an IP address&lt;br /&gt;
host samerhijazi.net&lt;br /&gt;
nslookup samerhijazi.net&lt;br /&gt;
speedtest        ### ubuntu&lt;br /&gt;
speedtest-cli    ### fedora&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
arp -a&lt;br /&gt;
nmap -sP 192.168.1.0/24&lt;br /&gt;
sudo mount -t cifs -o username=user,password=pin //172.29.32.184/sharename /media/Data/&lt;br /&gt;
sudo mount -t davfs -o username=user,password=pin https://sd2dav.1und1.de /1und1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Firewall=&lt;br /&gt;
==Service==&lt;br /&gt;
* cmd: status, start, stop, restart, reload, enable, disable&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo systemctl status firewalld&lt;br /&gt;
$ sudo systemctl status NetworkManager&lt;br /&gt;
$ sudo systemctl status network&lt;br /&gt;
...&lt;br /&gt;
sudo firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --get-zones&lt;br /&gt;
sudo firewall-cmd --get-active-zones&lt;br /&gt;
sudo firewall-cmd --get-default-zone&lt;br /&gt;
sudo firewall-cmd --get-services&lt;br /&gt;
sudo firewall-cmd --list-all&lt;br /&gt;
sudo firewall-cmd --list-ports&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Zone-home==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --zone=home --list-all&lt;br /&gt;
sudo firewall-cmd --zone=home --list-ports&lt;br /&gt;
sudo firewall-cmd --zone=home --list-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone: Configuration==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --set-default-zone=home&lt;br /&gt;
sudo firewall-cmd --zone=home --change-interface=eth0&lt;br /&gt;
sudo firewall-cmd --zone=home --add-service=http&lt;br /&gt;
sudo firewall-cmd --zone=home --add-port=80/tcp --permanent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New Zone &amp;quot;boxblue&amp;quot;==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --permanent --new-zone=boxblue&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=ssh&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=http&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=https&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=samba&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=80/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=22/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --change-interface=wlp0s19f2u1&lt;br /&gt;
sudo firewall-cmd --permanent --set-default-zone=boxblue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Editors=&lt;br /&gt;
==Vim==&lt;br /&gt;
* https://vim.rtorr.com/&lt;br /&gt;
* https://linuxize.com/post/vim-delete-line/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Get used to copy/paste/cut with vim:&lt;br /&gt;
---&lt;br /&gt;
Mark lines: Esc+V (then arrow keys)&lt;br /&gt;
Copy marked lines: y&lt;br /&gt;
Cut marked lines: d&lt;br /&gt;
Past lines: p or P&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc   Exit the current mode.&lt;br /&gt;
i     Enter &amp;quot;Insert mode&amp;quot; for inserting text.&lt;br /&gt;
v     Enter &amp;quot;Visual mode&amp;quot; for character.&lt;br /&gt;
V     Enter &amp;quot;Visual mode&amp;quot; for line.&lt;br /&gt;
:     Enter &amp;quot;Command mode&amp;quot;. &lt;br /&gt;
...&lt;br /&gt;
h     Move Left&lt;br /&gt;
j     Move Down&lt;br /&gt;
k     Move Up&lt;br /&gt;
l     Move Right&lt;br /&gt;
...&lt;br /&gt;
ggVG  Select hole text&lt;br /&gt;
...&lt;br /&gt;
u     Undo the last operation.&lt;br /&gt;
d     Delete or Cut selected item.&lt;br /&gt;
y     Copy line.&lt;br /&gt;
p     Paste storage buffer after the cursor.&lt;br /&gt;
...&lt;br /&gt;
:q    Quit Vim.&lt;br /&gt;
:q!   Quit Vim without saving the changes.&lt;br /&gt;
:w    Save the file&lt;br /&gt;
:wq   Save the file and quit Vim.&lt;br /&gt;
:w $FILE_NAME Save the file with the filename &amp;quot;yx&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc §§ Place the cursor on the first line you want to delete. §§ Type 5dd and hit Enter to delete the next five lines.&lt;br /&gt;
:[start],[end]d      ### Delete a range of lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nano==&lt;br /&gt;
* https://keycombiner.com/collections/nano/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Paste:     Strg+u&lt;br /&gt;
Delete:     Strg+k&lt;br /&gt;
Search:     Strg+w&lt;br /&gt;
Select_&amp;amp;_Copy:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Alt+6&lt;br /&gt;
Select_&amp;amp;_Delete:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Strg+k&lt;br /&gt;
---&lt;br /&gt;
ALt+# &amp;gt;&amp;gt; show Line numbers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* nanorc&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls /usr/share/nano/&lt;br /&gt;
nano /usr/share/nano/yaml.nanorc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Package Manager=&lt;br /&gt;
* sudo dpkg -i filename.deb&lt;br /&gt;
* sudo rpm -i filename.rpm&lt;br /&gt;
&lt;br /&gt;
==APT (Advanced Package Tool)==&lt;br /&gt;
* Debian, Ubuntu, usw.&lt;br /&gt;
* Repo-Location: /etc/apt/sources.list&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install ./filename.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DNF (Dandified YUM)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo ls /etc/yum.repos.d/                         ## Repositories-Folder&lt;br /&gt;
sudo rpm –i filename.rpm&lt;br /&gt;
sudo dnf install https://website.com/file-name.rpm&lt;br /&gt;
sudo dnf config-manager --add-repo https://website.com/repositorie-name.repo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf repolist --all&lt;br /&gt;
sudo dnf config-manager --add-repo $REPO_URL&lt;br /&gt;
sudo dnf config-manager --set-enabled $REPO_ID&lt;br /&gt;
sudo dnf config-manager --set-disabled $REPO_ID&lt;br /&gt;
---&lt;br /&gt;
sudo dnf copr [enable|disable|remove|list|search] $PACKAG_NAME&lt;br /&gt;
...&lt;br /&gt;
sudo dnf list&lt;br /&gt;
sudo dnf list installed&lt;br /&gt;
sudo dnf list available&lt;br /&gt;
sudo dnf list updates&lt;br /&gt;
---&lt;br /&gt;
sudo dnf check-update&lt;br /&gt;
sudo dnf autoremove&lt;br /&gt;
sudo dnf clean all&lt;br /&gt;
...&lt;br /&gt;
sudo dnf update&lt;br /&gt;
sudo dnf upgrade&lt;br /&gt;
sudo dnf update vim&lt;br /&gt;
sudo dnf search vim&lt;br /&gt;
sudo dnf download vim&lt;br /&gt;
sudo dnf install vim&lt;br /&gt;
sudo dnf install https://website.com/filename.rpm&lt;br /&gt;
sudo dnf reinstall vim&lt;br /&gt;
sudo dnf remove vim&lt;br /&gt;
sudo dnf erase vim&lt;br /&gt;
...&lt;br /&gt;
sudo dnf group list -v&lt;br /&gt;
sudo dnf group info 'Development Tools'&lt;br /&gt;
sudo dnf group install 'Development Tools'&lt;br /&gt;
sudo dnf group update 'Development Tools'&lt;br /&gt;
sudo dnf group remove 'Development Tools'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Storage=&lt;br /&gt;
==Mount 1&amp;amp;1==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir /mnt/1und1&lt;br /&gt;
mount -t davfs https://sd2dav.1und1.de/ /mnt/1und1&lt;br /&gt;
umount /mnt/1und1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mount VirtualHardDisk==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=/storage/vhd.img bs=1M count=24    ### VHD volume of size 20MB image.&lt;br /&gt;
sudo mkfs -t ext4 /storage/vhd.img                         ### Format the VHD image with EXT4 file system type.&lt;br /&gt;
sudo mkdir /mnt/vhd/&lt;br /&gt;
sudo mount -t auto -o loop /storage/vhd.img /mnt/vhd/&lt;br /&gt;
sudo nano /etc/fstab &amp;lt;&amp;lt;&amp;lt; &amp;quot;/storage/vhd.img  /mnt/vhd/  ext4    defaults        0  0&amp;quot;&lt;br /&gt;
sudo umount /mnt/vhd/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Encrypted disk image with Cryptsetup==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=./vhd.img bs=1M count=24    ### Create the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup -y luksFormat ./vhd.img             ### Encrypt the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup luksOpen ./vhd.img cryvhd           ### Maps the Disk Image File vhd.img to /dev/mapper/cryvhd.&lt;br /&gt;
sudo mkfs.ext4 /dev/mapper/cryvhd                   ### Format the Disk Image File vhd.img with ext4 File System. &lt;br /&gt;
sudo mount /dev/mapper/cryvhd /mnt/vhd&lt;br /&gt;
sudo chown king:king /mnt/vhd &lt;br /&gt;
sudo umount /mnt/vhd&lt;br /&gt;
sudo cryptsetup luksClose cryvhd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Samba==&lt;br /&gt;
* src: https://www.server-world.info/en/note?os=Fedora_34&amp;amp;p=samba&amp;amp;f=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ /etc/samba/smb.conf&lt;br /&gt;
$ systemctl enable --now smb&lt;br /&gt;
$ firewall-cmd --add-service=samba --permanent&lt;br /&gt;
$ firewall-cmd --reload&lt;br /&gt;
$ testparm&lt;br /&gt;
----------------------------------------&lt;br /&gt;
[global]&lt;br /&gt;
workgroup = WORKGROUP&lt;br /&gt;
security = user&lt;br /&gt;
netbios name = box-black&lt;br /&gt;
map to guest = Bad User&lt;br /&gt;
idmap config * : backend = tdb&lt;br /&gt;
wins support = yes&lt;br /&gt;
local master = yes&lt;br /&gt;
preferred master = yes&lt;br /&gt;
&lt;br /&gt;
[storage-a]&lt;br /&gt;
path = /storage_a&lt;br /&gt;
browsable = yes&lt;br /&gt;
writable = yes&lt;br /&gt;
guest ok = yes&lt;br /&gt;
guest only = yes&lt;br /&gt;
read only = no&lt;br /&gt;
force user = nobody&lt;br /&gt;
force create mode = 777&lt;br /&gt;
force directory mode = 777&lt;br /&gt;
&lt;br /&gt;
public = yes&lt;br /&gt;
available = yes&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Screen=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
screen -S &amp;lt;name&amp;gt;		# start screen new&lt;br /&gt;
screen -ls			# list screen runing&lt;br /&gt;
screen -r &amp;lt;name&amp;gt;		# reattach to a session name&lt;br /&gt;
..&lt;br /&gt;
Ctrl+a c			# create window&lt;br /&gt;
Ctrl+a n			# next window&lt;br /&gt;
Ctrl+a p			# previous window&lt;br /&gt;
Ctrl+a k			# kill window&lt;br /&gt;
Ctrl+a d			# detach window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Desktop Environments=&lt;br /&gt;
==Links==&lt;br /&gt;
* src: https://www.ukui.org/index.html&lt;br /&gt;
* src: https://www.ubuntukylin.com/index.php?lang=en&lt;br /&gt;
==Display Server (Xorg/Wayland)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
loginctl	                   # get session number from command output &lt;br /&gt;
loginctl show-session 2 -p Type&lt;br /&gt;
...&lt;br /&gt;
vi /etc/gdm/custom.conf&lt;br /&gt;
vi /etc/gdm3/custom.conf&lt;br /&gt;
-----------------------&lt;br /&gt;
WaylandEnable=false                  # To disable Wayland&lt;br /&gt;
DefaultSession=gnome-xorg.desktop    # To enable Xorg&lt;br /&gt;
-----------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sessions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /usr/share/xsessions/    # Lists installed desktop enviruments&lt;br /&gt;
echo $XDG_CURRENT_DESKTOP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Display Manager: lightdm==&lt;br /&gt;
* Install Display-Manager&lt;br /&gt;
* Install Greeter&lt;br /&gt;
* Setting Greeter&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install lightdm                                                                         # Display-Manager&lt;br /&gt;
sudo dnf install elementary-greeter slick-greeter slick-greeter-cinnamon slick-greeter-mate      # Greeter-Typs&lt;br /&gt;
sudo dnf install lightdm-settings                                                                # For Settings&lt;br /&gt;
...&lt;br /&gt;
ls /usr/share/lightdm/lightdm.conf.d/        # System-Settings&lt;br /&gt;
ls /etc/lightdm/lightdm.conf.d/              # User-Settings&lt;br /&gt;
lightdm --show-config&lt;br /&gt;
...&lt;br /&gt;
[Seat:*]&lt;br /&gt;
greeter-session=slick-greeter&lt;br /&gt;
user-session=cinnamon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Fixs=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo -e /etc/needrestart/needrestart.conf&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Uncomment and change the following settings:&lt;br /&gt;
$nrconf{kernelhints} = 0;&lt;br /&gt;
$nrconf{ucodehints} = 0;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2720</id>
		<title>IT-OS-Admin-Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2720"/>
		<updated>2022-10-20T13:03:44Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* KVM (Kernel-Based Virtual Machine) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* Commands: https://ss64.com/bash/&lt;br /&gt;
* Commands: https://www.codecademy.com/learn/learn-the-command-line&lt;br /&gt;
* Commands: https://www.javatpoint.com/linux-tutorial&lt;br /&gt;
* Configurations: https://www.server-world.info/en/note?os=Fedora_32&lt;br /&gt;
* Docs: https://docs.fedoraproject.org/en-US/docs/&lt;br /&gt;
* RHEL-Trainig: https://www.redhat.com/en/services/training/rh024-red-hat-linux-technical-overview&lt;br /&gt;
* HowTo: https://www.howtoforge.com/&lt;br /&gt;
* Software-Flat: https://flathub.org/&lt;br /&gt;
* Software-Snap: https://snapcraft.io/&lt;br /&gt;
* News: https://vitux.com/&lt;br /&gt;
* https://www.shellscript.sh/functions.html&lt;br /&gt;
* https://www.feistyduck.com/library/openssl-cookbook/online/&lt;br /&gt;
&lt;br /&gt;
=Basics=&lt;br /&gt;
==Fast shortcuts==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cd                         ### Go back to home directory &lt;br /&gt;
cd ~                       ### Go back to home directory&lt;br /&gt;
cd -                       ### Switch back to the last working directory&lt;br /&gt;
Ctrl+A/Ctrl+E              ### Ctrl+A to go to the beginning of the line and Ctrl+E to go to the end.&lt;br /&gt;
tail -f path_to_Log        ### Reading a log file in real time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Folders==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/boot    &amp;gt;&amp;gt;Contains boot loader related files.&lt;br /&gt;
/bin     &amp;gt;&amp;gt;Contains binary executables.&lt;br /&gt;
/sbin    &amp;gt;&amp;gt;Contains administrator binary executables, just like /bin.&lt;br /&gt;
/lib     &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
/lib64   &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/dev     &amp;gt;&amp;gt;Contains device files.&lt;br /&gt;
/etc     &amp;gt;&amp;gt;Contains configuration files required by all programs.&lt;br /&gt;
/opt     &amp;gt;&amp;gt;Contains add-on applications from individual vendors.&lt;br /&gt;
/usr     &amp;gt;&amp;gt;Contains binaries, libraries and source for second level programs.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/root    &amp;gt;&amp;gt;Home directory for the root user.&lt;br /&gt;
/home    &amp;gt;&amp;gt;Home directories for all users to store their personal files.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/mnt     &amp;gt;&amp;gt;Temporary mount directory where sysadmins can mount filesystems.&lt;br /&gt;
/media   &amp;gt;&amp;gt;Temporary mount directory for removable devices.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/proc    &amp;gt;&amp;gt;Contains information about system process.&lt;br /&gt;
/run     &amp;gt;&amp;gt;Run-time variable data&lt;br /&gt;
/srv     &amp;gt;&amp;gt;Contains server specific services related data.&lt;br /&gt;
/sys     &amp;gt;&amp;gt;Contains information about the devices connected to the computer.&lt;br /&gt;
/var     &amp;gt;&amp;gt;Contains files that are expected to grow.&lt;br /&gt;
/tmp     &amp;gt;&amp;gt;Contains temporary files created by system and users.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/lib/systemd/system-shutdown/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/profile (~/.bash_profile or ~/.profile)   ### Configuration of environment for login shell&lt;br /&gt;
/etc/bashrc (~/.bashrc)                        ### Configuration of environment for non-login shell&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/etc/environment                               ### Configuration of environment&lt;br /&gt;
/etc/hosts                                     ### Configuration for hosts&lt;br /&gt;
/etc/fstab                                     ### Configuration of Disks&lt;br /&gt;
/etc/mtab                                      ### Configuration of Mount Devices&lt;br /&gt;
/etc/hostname                                  ### Where Hostname is saved&lt;br /&gt;
/etc/init.d/                                   ### Skripts that will be executed at system start up&lt;br /&gt;
/etc/apt/sources.list.d                        ### Ubuntu Reposotiery-Folder&lt;br /&gt;
/etc/apt/apt.conf                              ### Ubuntu Reposotiery-Config&lt;br /&gt;
/etc/yum.repos.d/                              ### Fedora Reposotiery-Folder&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0      ### Network-cfg&lt;br /&gt;
/etc/fonts/conf.d                              ### Font-Configuration Directory for System&lt;br /&gt;
/etc/fonts/fonts.conf                          ### Font-Configuration System&lt;br /&gt;
/etc/fonts/local.conf                          ### Font-Configuration Local&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/usr/share/fonts/                              ### Users Fonts&lt;br /&gt;
/usr/share/themes/                             ### Users Themes&lt;br /&gt;
/usr/share/applications/                       ### Users Application Launcher&lt;br /&gt;
/usr/share/xsessions/                          ### Users Desktop envirument sessions&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.fonts.conf.d                                ### Font-Configuration Directory for User.&lt;br /&gt;
~/.fonts.conf                                  ### Font-Configuration User.&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.bash_profile                                ###&lt;br /&gt;
~/.bashrc                                      ### Shell-Config&lt;br /&gt;
~/.bash_login                                  ###&lt;br /&gt;
~/.themes/                                     ### Location of Themes&lt;br /&gt;
~/.icons/                                      ### Location of Icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Configs==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.config/user-dirs.dirs&lt;br /&gt;
~/.config/gtk-3.0/bookmarks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Top CMD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
whoiam    # Current user&lt;br /&gt;
man       # Help&lt;br /&gt;
pwd       # Present working Directory&lt;br /&gt;
ls        # List File/Directory&lt;br /&gt;
cd        # Change Directory&lt;br /&gt;
cp        # Copy&lt;br /&gt;
mv        # Move&lt;br /&gt;
rm        # Remove&lt;br /&gt;
mkdir     # Create Directory&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cal       # Calender&lt;br /&gt;
date      # Current Date &amp;amp; Time&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
df        # Report disk space usage&lt;br /&gt;
du        # Report file space usage&lt;br /&gt;
lsblk     # List block devices&lt;br /&gt;
fdisk     # manipulate disk partition table&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cat&lt;br /&gt;
less&lt;br /&gt;
tail&lt;br /&gt;
find&lt;br /&gt;
diff&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
vi&lt;br /&gt;
nano&lt;br /&gt;
toch     # Create File&lt;br /&gt;
grep     # print lines matching a pattern&lt;br /&gt;
awk      # print column matching a pattern&lt;br /&gt;
sed      # Substitute, replace test&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
free     # RAM allocation&lt;br /&gt;
lscpu    # CPU Info&lt;br /&gt;
top&lt;br /&gt;
ps&lt;br /&gt;
history&lt;br /&gt;
shutdown&lt;br /&gt;
reboot&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;command&amp;gt; &amp;amp;   # Start command in Background&lt;br /&gt;
exit          # exit process&lt;br /&gt;
kill          # kill -9 $PID;&lt;br /&gt;
crontab       # crontab -e; crontab -l&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
if &amp;lt;command&amp;gt;; then &amp;lt;command&amp;gt; fi&lt;br /&gt;
for x in {1..10}; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
while:; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
until false; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
ctrl+a; ctrl+e; ctrl+d; ctrl+c; ctrl+z; ctrl+r&lt;br /&gt;
ctrl+alt+f1          # New tty Session&lt;br /&gt;
ctrl+alt+t           # New Termina&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
==Basics==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ find ./folder -type f -name testfile.txt           # Find a file called testfile.txt in the ./folder and sub-directories&lt;br /&gt;
$ mv $SOURCE $TARGET                  # move folder&lt;br /&gt;
$ rm -rf $Folder_Name                 # remove directories force &amp;amp; recursively&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ln -s $SOURCE $LINK                 # create symbolic link&lt;br /&gt;
$ ls -l $LINK                         # list symbolic link&lt;br /&gt;
$ unlink $LINK                        # unlinke symbolic link&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ toch file.txt                       # create new empty.&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot;                  # Print out 'Hallo World'&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt; file.txt       # Overwrite the content of file.txt&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt;&amp;gt; file.txt      # Append to the end of file.txt&lt;br /&gt;
$ source file.txt                     # Source the file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ cat file.txt                        # Print out the content of file.exe&lt;br /&gt;
$ cat source.txt &amp;gt; file.txt           # To overwrite the content of file.txt&lt;br /&gt;
$ cat source.txt &amp;gt;&amp;gt; file.txt          # To append to the end of file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ls /usr/javalib/*.jar               # List all the .jar files in current directory.&lt;br /&gt;
$ ls /usr/javalib/**.jar              # List all the .jar files in current directory and subdirectories.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ tar -xfv $NAME_ARCHIVE                      # x: extract, f: file, v: Verbose&lt;br /&gt;
$ tar -xfv -C ./$NAME_FOLDER $NAME_ARCHIVE    # x: extract, f: file, v: Verbose, C: Directory&lt;br /&gt;
$ tar -cf $NAME_ARCHIVE file1 file2 file3     # c: create, f: file&lt;br /&gt;
$ unzip $NAME_FILE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==chmod &amp;amp; chown &amp;amp; chgrp==&lt;br /&gt;
* https://chmod-calculator.com/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * &lt;br /&gt;
┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ │ &lt;br /&gt;
│ │ │ └──────&amp;gt; Other (everyone) permissions&lt;br /&gt;
│ │ └────────&amp;gt; Group permissions&lt;br /&gt;
│ └──────────&amp;gt; User permissions&lt;br /&gt;
└────────────&amp;gt; File type&lt;br /&gt;
######################################################################&lt;br /&gt;
0 (---), 1 (--x), 2 (-w-), 3 (-wx), 4 (r--), 5 (r-x), 6 (rw-), 7 (rwx)&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod 777 file.txt              ### rwx rwx rwx&lt;br /&gt;
chmod 755 file.txt              ### rwx r_x r_x&lt;br /&gt;
chmod 700 file.txt              ### User can rw-&lt;br /&gt;
chmod 400 file.txt              ### User can r--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# USERS &amp;gt;&amp;gt; u:Owner, g:Group, o:Others, a:Everyone:[ugo]&lt;br /&gt;
# OPERATION  &amp;gt;&amp;gt; +:Add, -:Remove, =:Only&lt;br /&gt;
# PERMISSIONS &amp;gt;&amp;gt; r:Read, w:Write, x:Execute&lt;br /&gt;
######################################################################&lt;br /&gt;
chmod $USERS $OPERATION $PERMISSIONS $FILE_NAME&lt;br /&gt;
chmod uga+rwx -R $FILE_NAME&lt;br /&gt;
chmod u=rwx,g=rwx,o=rwx $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ chown $OWNER_ID $FILE_NAME&lt;br /&gt;
$ chgrp $GROUP_ID $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==System==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
hostnamectl set-hostname new-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CronJob==&lt;br /&gt;
* Ref.: https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/crontab&lt;br /&gt;
/etc/cron.x/&lt;br /&gt;
crontab -e&lt;br /&gt;
@reboot ~/box-sandbox/k8s/vagrant up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * * auszuführender Befehl&lt;br /&gt;
┬ ┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ │&lt;br /&gt;
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)&lt;br /&gt;
│ │ │ └────── Monat (1-12)&lt;br /&gt;
│ │ └──────── Tag (1-31)&lt;br /&gt;
│ └────────── Stunde (0-23)&lt;br /&gt;
└──────────── Minute (0-59)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Bootloader-GRUB=&lt;br /&gt;
*https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/&lt;br /&gt;
==Settings files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/default/grub                                 ### Is the main GRUB settings file.&lt;br /&gt;
/boot/grub2/grub.cfg                              ### Is automatically generated by grub2-mkconfig based on /etc/default/grub.&lt;br /&gt;
/boot/efi/EFI/fedora/grub.cfg                     ### Is automatically generated for EFI systems.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mounting boot and root partitions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /mnt/&lt;br /&gt;
mount /dev/sda2 /mnt                              ### Mount the boot partition in the mount point.&lt;br /&gt;
mount /dev/sda1 /mnt/root/boot                    ### Mount the root partition on the mount point.&lt;br /&gt;
chroot /mnt/root                                  ### Change the filesystem into the mount point /mnt/root.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing the Bootloader==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
grub2-mkconfig -o /boot/grub2/grub.cfg            ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg   ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-install /dev/sda                            ### Install GRUB2 into the MBR of the primary hard disk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CMD-HowTo=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# Rename all file names from uppercase to lowercase&lt;br /&gt;
for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* https://www.cyberciti.biz/faq/using-heredoc-rediection-in-bash-shell-script-to-write-to-file/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
----&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; output_file.txt&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Shell=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
-d file			# True if file is a directory.&lt;br /&gt;
-e file			# True if file exists.&lt;br /&gt;
-f file			# True if file exists and is a regular file.&lt;br /&gt;
-L file			# True if file is a symbolic link.&lt;br /&gt;
-r file			# True if file is a file readable by you.&lt;br /&gt;
-w file			# True if file is a file writable by you.&lt;br /&gt;
-x file			# True if file is a file executable by you.&lt;br /&gt;
file1 -nt file2		# True if file1 is newer than (according to modification time) file2&lt;br /&gt;
file1 -ot file2		# True if file1 is older than file2&lt;br /&gt;
-z string			# True if string is empty.&lt;br /&gt;
-n string			# True if string is not empty.&lt;br /&gt;
string1 = string2		# True if string1 equals string2.&lt;br /&gt;
string1 != string2		# True if string1 does not equal string2.&lt;br /&gt;
&lt;br /&gt;
Don't leave a blank variable, unset it if it was empty&lt;br /&gt;
read -sr OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PASSWORD=$OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PROJECT_NAME=&amp;quot;demo&amp;quot;&lt;br /&gt;
unset OS_USER_DOMAIN_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
timestamp=$(date +%Y%m%d%H%M%S)&lt;br /&gt;
nano ~/.bashrc                                   # Auto start the agent&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
if [[ &amp;quot;$(ps -u $USER | grep ssh-agent | wc -l)&amp;quot; -lt &amp;quot;1&amp;quot; ]]; then&lt;br /&gt;
    ssh-agent -s &amp;gt;~/.ssh/ssh-agent&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
    ssh-add ~/.ssh/id_rsa&lt;br /&gt;
else&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
fi&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=User=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser –G [GROUP-ID] [USER-ID]					# Add a new Group &amp;amp; User&lt;br /&gt;
sudo deluser [USER-ID]							# Delete User&lt;br /&gt;
sudo remove [USER-ID]							# Remove User&lt;br /&gt;
...&lt;br /&gt;
echo &amp;quot;USER-ID ALL=(ALL) NOPASSWD: ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
usermod -aG sudo [USER-ID]						# Add User to Sudo-Group&lt;br /&gt;
sudo visudo								# Add “USER-ID ALL=(ALL:ALL) ALL”&lt;br /&gt;
id	&lt;br /&gt;
...&lt;br /&gt;
su [USER-ID]								# Change User in current Folder&lt;br /&gt;
su - [USER-ID]								# Change User in User Home-Folder&lt;br /&gt;
sudo bash								# Login as root&lt;br /&gt;
sudo -i									# Login as root&lt;br /&gt;
sudo -i –u [USER-ID]							# Login in account user&lt;br /&gt;
passwd [USER-ID]							# Change User Password&lt;br /&gt;
gpasswd -a user-ID group-ID						#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Locale &amp;amp; Keymap &amp;amp; Time=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/environment&lt;br /&gt;
/etc/locale.conf&lt;br /&gt;
~/.config/locale.conf&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-locales&lt;br /&gt;
localectl set-locale LANG=en_US.UTF-8&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-keymaps&lt;br /&gt;
localectl set-keymap de&lt;br /&gt;
...&lt;br /&gt;
timedatectl&lt;br /&gt;
timedatectl list-timezones&lt;br /&gt;
timedatectl set-timezone Europe/Berlin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=SSH=&lt;br /&gt;
==Settings==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo dnf install openssh-client&lt;br /&gt;
$ sudo dnf install openssh-server&lt;br /&gt;
$ sudo systemctl restart sshd.service&lt;br /&gt;
$ sudo systemctl enable sshd.service&lt;br /&gt;
...&lt;br /&gt;
ssh box-black -L 8888:localhost:32400 ## Redirect localhost to Server &amp;quot;box-black&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Key-Typs: RSA algorithm and DSA algorithm.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ~/.ssh/id_rsa.pvt           # The file contains the RSA private key.&lt;br /&gt;
$ ~/.ssh/id_rsa.pub           # The file contains the RSA public key.&lt;br /&gt;
$ ~/.ssh/authorized_keys      # The file contains the keys that can be used for logging into system.&lt;br /&gt;
...&lt;br /&gt;
$ chmod go-w ~/&lt;br /&gt;
$ chmod 700 ~/.ssh&lt;br /&gt;
$ chmod 600 ~/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/ssh/ssh_config&lt;br /&gt;
sudo nano /etc/ssh/sshd_config&lt;br /&gt;
------------------------------&lt;br /&gt;
RSAAuthentication yes&lt;br /&gt;
PubkeyAuthentication yes&lt;br /&gt;
AuthorizedKeysFile %h/.ssh/authorized_keys&lt;br /&gt;
PasswordAuthentication no      # Yes: Can login with Password; No: Can’t login with Password&lt;br /&gt;
------------------------------&lt;br /&gt;
/etc/init.d/ssh restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Generate Key==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C &amp;quot;username@mail.com&amp;quot;     # Generate prv and pub Key&lt;br /&gt;
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys&lt;br /&gt;
$ chmod -R 600 ~/.ssh/id_rsa&lt;br /&gt;
$ ssh -i ~/.ssh/id_rsa username@server.com                      # Login server with prv-key       	&lt;br /&gt;
...&lt;br /&gt;
$ ssh-copy-id –i $PATH_PUBLIC_KEY $USERNAME@IP_ADDRESS	     # Copy Pub-Key to server&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh user@hostname &amp;quot;mkdir -p ~/.ssh &amp;amp;&amp;amp; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
$ ssh user@hostname &amp;quot;echo `cat ~/.ssh/id_rsa.pub` &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ssh-agent &amp;amp; ssh-add==&lt;br /&gt;
* src: https://blog.tinned-software.net/manage-ssh-keys-with-the-ssh-agent/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ vim ~/.ssh/config                            # Add key automatically to a running agent&lt;br /&gt;
-----------------------------------&lt;br /&gt;
AddKeysToAgent yes&lt;br /&gt;
## Home nas server ##&lt;br /&gt;
Host nas01&lt;br /&gt;
     HostName 192.168.1.100&lt;br /&gt;
     User root&lt;br /&gt;
     IdentityFile ~/.ssh/nas01.key&lt;br /&gt;
Host github.com&lt;br /&gt;
     IdentityFile ~/.ssh/github.key&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ eval $(ssh-agent -s)                          # Start the agent&lt;br /&gt;
$ ssh-add ~/.ssh/id_rsa                         # Add the defualt key&lt;br /&gt;
$ ssh-add -l                                    # List keys&lt;br /&gt;
$ ssh-add -d /home/user/.ssh/id_rsa             # Remove key&lt;br /&gt;
$ ssh-add -D                                    # Remove all Keys&lt;br /&gt;
$ eval $(ssh-agent -s -k)                       # Kill the agent&lt;br /&gt;
$ ssh -T git@github.com&lt;br /&gt;
$ ssh -T git@bitbucket.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network=&lt;br /&gt;
==KVM==&lt;br /&gt;
* KVM: Kernel-Based Virtual Machine&lt;br /&gt;
* https://computingforgeeks.com/how-to-install-kvm-on-fedora/&lt;br /&gt;
* https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvm&lt;br /&gt;
* https://libvirt.org/sources/virshcmdref/html/chap-Virsh_Command_Reference-Commands.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @virtualization&lt;br /&gt;
sudo dnf install bridge-utils libvirt virt-install qemu-kvm&lt;br /&gt;
sudo systemctl status libvirtd&lt;br /&gt;
sudo systemctl start libvirtd&lt;br /&gt;
sudo systemctl enable libvirtd&lt;br /&gt;
sudo virt-host-validate&lt;br /&gt;
...&lt;br /&gt;
sudo curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-centos7 -o /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-list --all&lt;br /&gt;
sudo virsh net-info $NAME_NETWORK&lt;br /&gt;
sudo virsh net-dumpxml $NAME_NETWORK&lt;br /&gt;
sudo virsh net-destroy $NAME_NETWORK&lt;br /&gt;
sudo virsh net-undefine $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-define $NAME_FILE.xml&lt;br /&gt;
sudo virsh net-start $NAME_NETWORK&lt;br /&gt;
sudo virsh net-autostart $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh list --all&lt;br /&gt;
sudo virsh edit $NAME_VM&lt;br /&gt;
...&lt;br /&gt;
sudo brctl show br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nmcli==&lt;br /&gt;
* https://fedoraproject.org/wiki/Networking/CLI&lt;br /&gt;
===nmcli-genreral===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli dev show&lt;br /&gt;
nmcli conn show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===nmcli-ethernet===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-wifi===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-bridge===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli con add type bridge autoconnect yes con-name br0 ifname br0 ipv4.method auto&lt;br /&gt;
nmcli con del enp2s0&lt;br /&gt;
nmcli con add type bridge-slave autoconnect yes con-name enp2s0 ifname enp2s0 master br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ping samerhijazi.net       ### resolve a hostname to an IP address&lt;br /&gt;
host samerhijazi.net&lt;br /&gt;
nslookup samerhijazi.net&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
arp -a&lt;br /&gt;
nmap -sP 192.168.1.0/24&lt;br /&gt;
sudo mount -t cifs -o username=user,password=pin //172.29.32.184/sharename /media/Data/&lt;br /&gt;
sudo mount -t davfs -o username=user,password=pin https://sd2dav.1und1.de /1und1&lt;br /&gt;
speedtest        ### ubuntu&lt;br /&gt;
speedtest-cli    ### fedora&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Firewall=&lt;br /&gt;
==Service==&lt;br /&gt;
* cmd: status, start, stop, restart, reload, enable, disable&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo systemctl status firewalld&lt;br /&gt;
$ sudo systemctl status NetworkManager&lt;br /&gt;
$ sudo systemctl status network&lt;br /&gt;
...&lt;br /&gt;
sudo firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --get-zones&lt;br /&gt;
sudo firewall-cmd --get-active-zones&lt;br /&gt;
sudo firewall-cmd --get-default-zone&lt;br /&gt;
sudo firewall-cmd --get-services&lt;br /&gt;
sudo firewall-cmd --list-all&lt;br /&gt;
sudo firewall-cmd --list-ports&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Zone-home==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --zone=home --list-all&lt;br /&gt;
sudo firewall-cmd --zone=home --list-ports&lt;br /&gt;
sudo firewall-cmd --zone=home --list-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone: Configuration==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --set-default-zone=home&lt;br /&gt;
sudo firewall-cmd --zone=home --change-interface=eth0&lt;br /&gt;
sudo firewall-cmd --zone=home --add-service=http&lt;br /&gt;
sudo firewall-cmd --zone=home --add-port=80/tcp --permanent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New Zone &amp;quot;boxblue&amp;quot;==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --permanent --new-zone=boxblue&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=ssh&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=http&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=https&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=samba&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=80/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=22/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --change-interface=wlp0s19f2u1&lt;br /&gt;
sudo firewall-cmd --permanent --set-default-zone=boxblue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Editors=&lt;br /&gt;
==Vim==&lt;br /&gt;
* https://vim.rtorr.com/&lt;br /&gt;
* https://linuxize.com/post/vim-delete-line/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Get used to copy/paste/cut with vim:&lt;br /&gt;
---&lt;br /&gt;
Mark lines: Esc+V (then arrow keys)&lt;br /&gt;
Copy marked lines: y&lt;br /&gt;
Cut marked lines: d&lt;br /&gt;
Past lines: p or P&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc   Exit the current mode.&lt;br /&gt;
i     Enter &amp;quot;Insert mode&amp;quot; for inserting text.&lt;br /&gt;
v     Enter &amp;quot;Visual mode&amp;quot; for character.&lt;br /&gt;
V     Enter &amp;quot;Visual mode&amp;quot; for line.&lt;br /&gt;
:     Enter &amp;quot;Command mode&amp;quot;. &lt;br /&gt;
...&lt;br /&gt;
h     Move Left&lt;br /&gt;
j     Move Down&lt;br /&gt;
k     Move Up&lt;br /&gt;
l     Move Right&lt;br /&gt;
...&lt;br /&gt;
ggVG  Select hole text&lt;br /&gt;
...&lt;br /&gt;
u     Undo the last operation.&lt;br /&gt;
d     Delete or Cut selected item.&lt;br /&gt;
y     Copy line.&lt;br /&gt;
p     Paste storage buffer after the cursor.&lt;br /&gt;
...&lt;br /&gt;
:q    Quit Vim.&lt;br /&gt;
:q!   Quit Vim without saving the changes.&lt;br /&gt;
:w    Save the file&lt;br /&gt;
:wq   Save the file and quit Vim.&lt;br /&gt;
:w $FILE_NAME Save the file with the filename &amp;quot;yx&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc §§ Place the cursor on the first line you want to delete. §§ Type 5dd and hit Enter to delete the next five lines.&lt;br /&gt;
:[start],[end]d      ### Delete a range of lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nano==&lt;br /&gt;
* https://keycombiner.com/collections/nano/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Paste:     Strg+u&lt;br /&gt;
Delete:     Strg+k&lt;br /&gt;
Search:     Strg+w&lt;br /&gt;
Select_&amp;amp;_Copy:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Alt+6&lt;br /&gt;
Select_&amp;amp;_Delete:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Strg+k&lt;br /&gt;
---&lt;br /&gt;
ALt+# &amp;gt;&amp;gt; show Line numbers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* nanorc&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls /usr/share/nano/&lt;br /&gt;
nano /usr/share/nano/yaml.nanorc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Package Manager=&lt;br /&gt;
* sudo dpkg -i filename.deb&lt;br /&gt;
* sudo rpm -i filename.rpm&lt;br /&gt;
&lt;br /&gt;
==APT (Advanced Package Tool)==&lt;br /&gt;
* Debian, Ubuntu, usw.&lt;br /&gt;
* Repo-Location: /etc/apt/sources.list&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install ./filename.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DNF (Dandified YUM)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo ls /etc/yum.repos.d/                         ## Repositories-Folder&lt;br /&gt;
sudo rpm –i filename.rpm&lt;br /&gt;
sudo dnf install https://website.com/file-name.rpm&lt;br /&gt;
sudo dnf config-manager --add-repo https://website.com/repositorie-name.repo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf repolist --all&lt;br /&gt;
sudo dnf config-manager --add-repo $REPO_URL&lt;br /&gt;
sudo dnf config-manager --set-enabled $REPO_ID&lt;br /&gt;
sudo dnf config-manager --set-disabled $REPO_ID&lt;br /&gt;
---&lt;br /&gt;
sudo dnf copr [enable|disable|remove|list|search] $PACKAG_NAME&lt;br /&gt;
...&lt;br /&gt;
sudo dnf list&lt;br /&gt;
sudo dnf list installed&lt;br /&gt;
sudo dnf list available&lt;br /&gt;
sudo dnf list updates&lt;br /&gt;
---&lt;br /&gt;
sudo dnf check-update&lt;br /&gt;
sudo dnf autoremove&lt;br /&gt;
sudo dnf clean all&lt;br /&gt;
...&lt;br /&gt;
sudo dnf update&lt;br /&gt;
sudo dnf upgrade&lt;br /&gt;
sudo dnf update vim&lt;br /&gt;
sudo dnf search vim&lt;br /&gt;
sudo dnf download vim&lt;br /&gt;
sudo dnf install vim&lt;br /&gt;
sudo dnf install https://website.com/filename.rpm&lt;br /&gt;
sudo dnf reinstall vim&lt;br /&gt;
sudo dnf remove vim&lt;br /&gt;
sudo dnf erase vim&lt;br /&gt;
...&lt;br /&gt;
sudo dnf group list -v&lt;br /&gt;
sudo dnf group info 'Development Tools'&lt;br /&gt;
sudo dnf group install 'Development Tools'&lt;br /&gt;
sudo dnf group update 'Development Tools'&lt;br /&gt;
sudo dnf group remove 'Development Tools'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Storage=&lt;br /&gt;
==Mount 1&amp;amp;1==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir /mnt/1und1&lt;br /&gt;
mount -t davfs https://sd2dav.1und1.de/ /mnt/1und1&lt;br /&gt;
umount /mnt/1und1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mount VirtualHardDisk==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=/storage/vhd.img bs=1M count=24    ### VHD volume of size 20MB image.&lt;br /&gt;
sudo mkfs -t ext4 /storage/vhd.img                         ### Format the VHD image with EXT4 file system type.&lt;br /&gt;
sudo mkdir /mnt/vhd/&lt;br /&gt;
sudo mount -t auto -o loop /storage/vhd.img /mnt/vhd/&lt;br /&gt;
sudo nano /etc/fstab &amp;lt;&amp;lt;&amp;lt; &amp;quot;/storage/vhd.img  /mnt/vhd/  ext4    defaults        0  0&amp;quot;&lt;br /&gt;
sudo umount /mnt/vhd/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Encrypted disk image with Cryptsetup==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=./vhd.img bs=1M count=24    ### Create the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup -y luksFormat ./vhd.img             ### Encrypt the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup luksOpen ./vhd.img cryvhd           ### Maps the Disk Image File vhd.img to /dev/mapper/cryvhd.&lt;br /&gt;
sudo mkfs.ext4 /dev/mapper/cryvhd                   ### Format the Disk Image File vhd.img with ext4 File System. &lt;br /&gt;
sudo mount /dev/mapper/cryvhd /mnt/vhd&lt;br /&gt;
sudo chown king:king /mnt/vhd &lt;br /&gt;
sudo umount /mnt/vhd&lt;br /&gt;
sudo cryptsetup luksClose cryvhd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Samba==&lt;br /&gt;
* src: https://www.server-world.info/en/note?os=Fedora_34&amp;amp;p=samba&amp;amp;f=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ /etc/samba/smb.conf&lt;br /&gt;
$ systemctl enable --now smb&lt;br /&gt;
$ firewall-cmd --add-service=samba --permanent&lt;br /&gt;
$ firewall-cmd --reload&lt;br /&gt;
$ testparm&lt;br /&gt;
----------------------------------------&lt;br /&gt;
[global]&lt;br /&gt;
workgroup = WORKGROUP&lt;br /&gt;
security = user&lt;br /&gt;
netbios name = box-black&lt;br /&gt;
map to guest = Bad User&lt;br /&gt;
idmap config * : backend = tdb&lt;br /&gt;
wins support = yes&lt;br /&gt;
local master = yes&lt;br /&gt;
preferred master = yes&lt;br /&gt;
&lt;br /&gt;
[storage-a]&lt;br /&gt;
path = /storage_a&lt;br /&gt;
browsable = yes&lt;br /&gt;
writable = yes&lt;br /&gt;
guest ok = yes&lt;br /&gt;
guest only = yes&lt;br /&gt;
read only = no&lt;br /&gt;
force user = nobody&lt;br /&gt;
force create mode = 777&lt;br /&gt;
force directory mode = 777&lt;br /&gt;
&lt;br /&gt;
public = yes&lt;br /&gt;
available = yes&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Screen=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
screen -S &amp;lt;name&amp;gt;		# start screen new&lt;br /&gt;
screen -ls			# list screen runing&lt;br /&gt;
screen -r &amp;lt;name&amp;gt;		# reattach to a session name&lt;br /&gt;
..&lt;br /&gt;
Ctrl+a c			# create window&lt;br /&gt;
Ctrl+a n			# next window&lt;br /&gt;
Ctrl+a p			# previous window&lt;br /&gt;
Ctrl+a k			# kill window&lt;br /&gt;
Ctrl+a d			# detach window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Desktop Environments=&lt;br /&gt;
==Links==&lt;br /&gt;
* src: https://www.ukui.org/index.html&lt;br /&gt;
* src: https://www.ubuntukylin.com/index.php?lang=en&lt;br /&gt;
==Display Server (Xorg/Wayland)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
loginctl	                   # get session number from command output &lt;br /&gt;
loginctl show-session 2 -p Type&lt;br /&gt;
...&lt;br /&gt;
vi /etc/gdm/custom.conf&lt;br /&gt;
vi /etc/gdm3/custom.conf&lt;br /&gt;
-----------------------&lt;br /&gt;
WaylandEnable=false                  # To disable Wayland&lt;br /&gt;
DefaultSession=gnome-xorg.desktop    # To enable Xorg&lt;br /&gt;
-----------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sessions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /usr/share/xsessions/    # Lists installed desktop enviruments&lt;br /&gt;
echo $XDG_CURRENT_DESKTOP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Display Manager: lightdm==&lt;br /&gt;
* Install Display-Manager&lt;br /&gt;
* Install Greeter&lt;br /&gt;
* Setting Greeter&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install lightdm                                                                         # Display-Manager&lt;br /&gt;
sudo dnf install elementary-greeter slick-greeter slick-greeter-cinnamon slick-greeter-mate      # Greeter-Typs&lt;br /&gt;
sudo dnf install lightdm-settings                                                                # For Settings&lt;br /&gt;
...&lt;br /&gt;
ls /usr/share/lightdm/lightdm.conf.d/        # System-Settings&lt;br /&gt;
ls /etc/lightdm/lightdm.conf.d/              # User-Settings&lt;br /&gt;
lightdm --show-config&lt;br /&gt;
...&lt;br /&gt;
[Seat:*]&lt;br /&gt;
greeter-session=slick-greeter&lt;br /&gt;
user-session=cinnamon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Fixs=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo -e /etc/needrestart/needrestart.conf&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Uncomment and change the following settings:&lt;br /&gt;
$nrconf{kernelhints} = 0;&lt;br /&gt;
$nrconf{ucodehints} = 0;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2711</id>
		<title>IT-OS-Admin-Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Linux&amp;diff=2711"/>
		<updated>2022-09-26T14:50:19Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Mix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* Commands: https://ss64.com/bash/&lt;br /&gt;
* Commands: https://www.codecademy.com/learn/learn-the-command-line&lt;br /&gt;
* Commands: https://www.javatpoint.com/linux-tutorial&lt;br /&gt;
* Configurations: https://www.server-world.info/en/note?os=Fedora_32&lt;br /&gt;
* Docs: https://docs.fedoraproject.org/en-US/docs/&lt;br /&gt;
* RHEL-Trainig: https://www.redhat.com/en/services/training/rh024-red-hat-linux-technical-overview&lt;br /&gt;
* HowTo: https://www.howtoforge.com/&lt;br /&gt;
* Software-Flat: https://flathub.org/&lt;br /&gt;
* Software-Snap: https://snapcraft.io/&lt;br /&gt;
* News: https://vitux.com/&lt;br /&gt;
* https://www.shellscript.sh/functions.html&lt;br /&gt;
* https://www.feistyduck.com/library/openssl-cookbook/online/&lt;br /&gt;
&lt;br /&gt;
=Basics=&lt;br /&gt;
==Fast shortcuts==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cd                         ### Go back to home directory &lt;br /&gt;
cd ~                       ### Go back to home directory&lt;br /&gt;
cd -                       ### Switch back to the last working directory&lt;br /&gt;
Ctrl+A/Ctrl+E              ### Ctrl+A to go to the beginning of the line and Ctrl+E to go to the end.&lt;br /&gt;
tail -f path_to_Log        ### Reading a log file in real time&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Folders==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/boot    &amp;gt;&amp;gt;Contains boot loader related files.&lt;br /&gt;
/bin     &amp;gt;&amp;gt;Contains binary executables.&lt;br /&gt;
/sbin    &amp;gt;&amp;gt;Contains administrator binary executables, just like /bin.&lt;br /&gt;
/lib     &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
/lib64   &amp;gt;&amp;gt;Contains 32bit libraries essential for binaries  in /bin and /sbin&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/dev     &amp;gt;&amp;gt;Contains device files.&lt;br /&gt;
/etc     &amp;gt;&amp;gt;Contains configuration files required by all programs.&lt;br /&gt;
/opt     &amp;gt;&amp;gt;Contains add-on applications from individual vendors.&lt;br /&gt;
/usr     &amp;gt;&amp;gt;Contains binaries, libraries and source for second level programs.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/root    &amp;gt;&amp;gt;Home directory for the root user.&lt;br /&gt;
/home    &amp;gt;&amp;gt;Home directories for all users to store their personal files.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/mnt     &amp;gt;&amp;gt;Temporary mount directory where sysadmins can mount filesystems.&lt;br /&gt;
/media   &amp;gt;&amp;gt;Temporary mount directory for removable devices.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
/proc    &amp;gt;&amp;gt;Contains information about system process.&lt;br /&gt;
/run     &amp;gt;&amp;gt;Run-time variable data&lt;br /&gt;
/srv     &amp;gt;&amp;gt;Contains server specific services related data.&lt;br /&gt;
/sys     &amp;gt;&amp;gt;Contains information about the devices connected to the computer.&lt;br /&gt;
/var     &amp;gt;&amp;gt;Contains files that are expected to grow.&lt;br /&gt;
/tmp     &amp;gt;&amp;gt;Contains temporary files created by system and users.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/lib/systemd/system-shutdown/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/profile (~/.bash_profile or ~/.profile)   ### Configuration of environment for login shell&lt;br /&gt;
/etc/bashrc (~/.bashrc)                        ### Configuration of environment for non-login shell&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/etc/environment                               ### Configuration of environment&lt;br /&gt;
/etc/hosts                                     ### Configuration for hosts&lt;br /&gt;
/etc/fstab                                     ### Configuration of Disks&lt;br /&gt;
/etc/mtab                                      ### Configuration of Mount Devices&lt;br /&gt;
/etc/hostname                                  ### Where Hostname is saved&lt;br /&gt;
/etc/init.d/                                   ### Skripts that will be executed at system start up&lt;br /&gt;
/etc/apt/sources.list.d                        ### Ubuntu Reposotiery-Folder&lt;br /&gt;
/etc/apt/apt.conf                              ### Ubuntu Reposotiery-Config&lt;br /&gt;
/etc/yum.repos.d/                              ### Fedora Reposotiery-Folder&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-eth0      ### Network-cfg&lt;br /&gt;
/etc/fonts/conf.d                              ### Font-Configuration Directory for System&lt;br /&gt;
/etc/fonts/fonts.conf                          ### Font-Configuration System&lt;br /&gt;
/etc/fonts/local.conf                          ### Font-Configuration Local&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
/usr/share/fonts/                              ### Users Fonts&lt;br /&gt;
/usr/share/themes/                             ### Users Themes&lt;br /&gt;
/usr/share/applications/                       ### Users Application Launcher&lt;br /&gt;
/usr/share/xsessions/                          ### Users Desktop envirument sessions&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.fonts.conf.d                                ### Font-Configuration Directory for User.&lt;br /&gt;
~/.fonts.conf                                  ### Font-Configuration User.&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
~/.bash_profile                                ###&lt;br /&gt;
~/.bashrc                                      ### Shell-Config&lt;br /&gt;
~/.bash_login                                  ###&lt;br /&gt;
~/.themes/                                     ### Location of Themes&lt;br /&gt;
~/.icons/                                      ### Location of Icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Configs==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.config/user-dirs.dirs&lt;br /&gt;
~/.config/gtk-3.0/bookmarks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Top CMD==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
whoiam    # Current user&lt;br /&gt;
man       # Help&lt;br /&gt;
pwd       # Present working Directory&lt;br /&gt;
ls        # List File/Directory&lt;br /&gt;
cd        # Change Directory&lt;br /&gt;
cp        # Copy&lt;br /&gt;
mv        # Move&lt;br /&gt;
rm        # Remove&lt;br /&gt;
mkdir     # Create Directory&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cal       # Calender&lt;br /&gt;
date      # Current Date &amp;amp; Time&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
df        # Report disk space usage&lt;br /&gt;
du        # Report file space usage&lt;br /&gt;
lsblk     # List block devices&lt;br /&gt;
fdisk     # manipulate disk partition table&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
cat&lt;br /&gt;
less&lt;br /&gt;
tail&lt;br /&gt;
find&lt;br /&gt;
diff&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
vi&lt;br /&gt;
nano&lt;br /&gt;
toch     # Create File&lt;br /&gt;
grep     # print lines matching a pattern&lt;br /&gt;
awk      # print column matching a pattern&lt;br /&gt;
sed      # Substitute, replace test&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
free     # RAM allocation&lt;br /&gt;
lscpu    # CPU Info&lt;br /&gt;
top&lt;br /&gt;
ps&lt;br /&gt;
history&lt;br /&gt;
shutdown&lt;br /&gt;
reboot&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;command&amp;gt; &amp;amp;   # Start command in Background&lt;br /&gt;
exit          # exit process&lt;br /&gt;
kill          # kill -9 $PID;&lt;br /&gt;
crontab       # crontab -e; crontab -l&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
if &amp;lt;command&amp;gt;; then &amp;lt;command&amp;gt; fi&lt;br /&gt;
for x in {1..10}; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
while:; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
until false; do &amp;lt;command&amp;gt;; done&lt;br /&gt;
-----------------------------------------------------------------------------------------------------&lt;br /&gt;
ctrl+a; ctrl+e; ctrl+d; ctrl+c; ctrl+z; ctrl+r&lt;br /&gt;
ctrl+alt+f1          # New tty Session&lt;br /&gt;
ctrl+alt+t           # New Termina&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
==Basics==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ find ./folder -type f -name testfile.txt           # Find a file called testfile.txt in the ./folder and sub-directories&lt;br /&gt;
$ mv $SOURCE $TARGET                  # move folder&lt;br /&gt;
$ rm -rf $Folder_Name                 # remove directories force &amp;amp; recursively&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ln -s $SOURCE $LINK                 # create symbolic link&lt;br /&gt;
$ ls -l $LINK                         # list symbolic link&lt;br /&gt;
$ unlink $LINK                        # unlinke symbolic link&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ toch file.txt                       # create new empty.&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot;                  # Print out 'Hallo World'&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt; file.txt       # Overwrite the content of file.txt&lt;br /&gt;
$ echo &amp;quot;Hallo World&amp;quot; &amp;gt;&amp;gt; file.txt      # Append to the end of file.txt&lt;br /&gt;
$ source file.txt                     # Source the file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ cat file.txt                        # Print out the content of file.exe&lt;br /&gt;
$ cat source.txt &amp;gt; file.txt           # To overwrite the content of file.txt&lt;br /&gt;
$ cat source.txt &amp;gt;&amp;gt; file.txt          # To append to the end of file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ls /usr/javalib/*.jar               # List all the .jar files in current directory.&lt;br /&gt;
$ ls /usr/javalib/**.jar              # List all the .jar files in current directory and subdirectories.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ tar -xfv $NAME_ARCHIVE                      # x: extract, f: file, v: Verbose&lt;br /&gt;
$ tar -xfv -C ./$NAME_FOLDER $NAME_ARCHIVE    # x: extract, f: file, v: Verbose, C: Directory&lt;br /&gt;
$ tar -cf $NAME_ARCHIVE file1 file2 file3     # c: create, f: file&lt;br /&gt;
$ unzip $NAME_FILE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==chmod &amp;amp; chown &amp;amp; chgrp==&lt;br /&gt;
* https://chmod-calculator.com/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# USERS &amp;gt;&amp;gt; u:Owner, g:Group, o:Others, a:Everyone:[ugo]&lt;br /&gt;
# OPERATION  &amp;gt;&amp;gt; +:Add, -:Remove, =:Only&lt;br /&gt;
# PERMISSIONS &amp;gt;&amp;gt; r:Read, w:Write, x:Execute&lt;br /&gt;
# 0 (---), 1 (--x), 2 (-w-), 3 (-wx), 4 (r--), 5 (r-x), 6 (rw-), 7 (rwx)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ chmod $USERS $OPERATION $PERMISSIONS $FILE_NAME&lt;br /&gt;
$ chmod uga+rwx -R $FILE_NAME&lt;br /&gt;
$ chmod u=rwx,g=rwx,o=rwx $FILE_NAME&lt;br /&gt;
-----------------------------------------------------&lt;br /&gt;
$ chmod 777 file.name # Everyone can rwx&lt;br /&gt;
$ chmod 700 file.name # User can rw-&lt;br /&gt;
$ chmod 400 file.name # User can r--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ chown $OWNER_NAME $FILE_NAME&lt;br /&gt;
$ chgrp $GROUP_NAME $FILE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==System==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
hostnamectl set-hostname new-name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CronJob==&lt;br /&gt;
* Ref.: https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/crontab&lt;br /&gt;
/etc/cron.x/&lt;br /&gt;
crontab -e&lt;br /&gt;
@reboot ~/box-sandbox/k8s/vagrant up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* * * * * auszuführender Befehl&lt;br /&gt;
┬ ┬ ┬ ┬ ┬&lt;br /&gt;
│ │ │ │ │&lt;br /&gt;
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)&lt;br /&gt;
│ │ │ └────── Monat (1-12)&lt;br /&gt;
│ │ └──────── Tag (1-31)&lt;br /&gt;
│ └────────── Stunde (0-23)&lt;br /&gt;
└──────────── Minute (0-59)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Bootloader-GRUB=&lt;br /&gt;
*https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/&lt;br /&gt;
==Settings files==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/default/grub                                 ### Is the main GRUB settings file.&lt;br /&gt;
/boot/grub2/grub.cfg                              ### Is automatically generated by grub2-mkconfig based on /etc/default/grub.&lt;br /&gt;
/boot/efi/EFI/fedora/grub.cfg                     ### Is automatically generated for EFI systems.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mounting boot and root partitions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /mnt/&lt;br /&gt;
mount /dev/sda2 /mnt                              ### Mount the boot partition in the mount point.&lt;br /&gt;
mount /dev/sda1 /mnt/root/boot                    ### Mount the root partition on the mount point.&lt;br /&gt;
chroot /mnt/root                                  ### Change the filesystem into the mount point /mnt/root.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing the Bootloader==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
grub2-mkconfig -o /boot/grub2/grub.cfg            ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg   ### Create the GRUB2 configuration file.&lt;br /&gt;
grub2-install /dev/sda                            ### Install GRUB2 into the MBR of the primary hard disk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CMD-HowTo=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# Rename all file names from uppercase to lowercase&lt;br /&gt;
for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* https://www.cyberciti.biz/faq/using-heredoc-rediection-in-bash-shell-script-to-write-to-file/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
----&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; output_file.txt&lt;br /&gt;
command1&lt;br /&gt;
command2&lt;br /&gt;
command3&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Shell=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
-d file			# True if file is a directory.&lt;br /&gt;
-e file			# True if file exists.&lt;br /&gt;
-f file			# True if file exists and is a regular file.&lt;br /&gt;
-L file			# True if file is a symbolic link.&lt;br /&gt;
-r file			# True if file is a file readable by you.&lt;br /&gt;
-w file			# True if file is a file writable by you.&lt;br /&gt;
-x file			# True if file is a file executable by you.&lt;br /&gt;
file1 -nt file2		# True if file1 is newer than (according to modification time) file2&lt;br /&gt;
file1 -ot file2		# True if file1 is older than file2&lt;br /&gt;
-z string			# True if string is empty.&lt;br /&gt;
-n string			# True if string is not empty.&lt;br /&gt;
string1 = string2		# True if string1 equals string2.&lt;br /&gt;
string1 != string2		# True if string1 does not equal string2.&lt;br /&gt;
&lt;br /&gt;
Don't leave a blank variable, unset it if it was empty&lt;br /&gt;
read -sr OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PASSWORD=$OS_PASSWORD_INPUT&lt;br /&gt;
export OS_PROJECT_NAME=&amp;quot;demo&amp;quot;&lt;br /&gt;
unset OS_USER_DOMAIN_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
timestamp=$(date +%Y%m%d%H%M%S)&lt;br /&gt;
nano ~/.bashrc                                   # Auto start the agent&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
if [[ &amp;quot;$(ps -u $USER | grep ssh-agent | wc -l)&amp;quot; -lt &amp;quot;1&amp;quot; ]]; then&lt;br /&gt;
    ssh-agent -s &amp;gt;~/.ssh/ssh-agent&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
    ssh-add ~/.ssh/id_rsa&lt;br /&gt;
else&lt;br /&gt;
    . ~/.ssh/ssh-agent &amp;gt;/dev/null&lt;br /&gt;
fi&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=User=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser –G [GROUP-ID] [USER-ID]					# Add a new Group &amp;amp; User&lt;br /&gt;
sudo deluser [USER-ID]							# Delete User&lt;br /&gt;
sudo remove [USER-ID]							# Remove User&lt;br /&gt;
...&lt;br /&gt;
echo &amp;quot;USER-ID ALL=(ALL) NOPASSWD: ALL&amp;quot; &amp;gt;&amp;gt; /etc/sudoers&lt;br /&gt;
usermod -aG sudo [USER-ID]						# Add User to Sudo-Group&lt;br /&gt;
sudo visudo								# Add “USER-ID ALL=(ALL:ALL) ALL”&lt;br /&gt;
id	&lt;br /&gt;
...&lt;br /&gt;
su [USER-ID]								# Change User in current Folder&lt;br /&gt;
su - [USER-ID]								# Change User in User Home-Folder&lt;br /&gt;
sudo bash								# Login as root&lt;br /&gt;
sudo -i									# Login as root&lt;br /&gt;
sudo -i –u [USER-ID]							# Login in account user&lt;br /&gt;
passwd [USER-ID]							# Change User Password&lt;br /&gt;
gpasswd -a user-ID group-ID						#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Locale &amp;amp; Keymap &amp;amp; Time=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/environment&lt;br /&gt;
/etc/locale.conf&lt;br /&gt;
~/.config/locale.conf&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-locales&lt;br /&gt;
localectl set-locale LANG=en_US.UTF-8&lt;br /&gt;
...&lt;br /&gt;
localectl&lt;br /&gt;
localectl list-keymaps&lt;br /&gt;
localectl set-keymap de&lt;br /&gt;
...&lt;br /&gt;
timedatectl&lt;br /&gt;
timedatectl list-timezones&lt;br /&gt;
timedatectl set-timezone Europe/Berlin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=SSH=&lt;br /&gt;
==Settings==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo dnf install openssh-client&lt;br /&gt;
$ sudo dnf install openssh-server&lt;br /&gt;
$ sudo systemctl restart sshd.service&lt;br /&gt;
$ sudo systemctl enable sshd.service&lt;br /&gt;
...&lt;br /&gt;
ssh box-black -L 8888:localhost:32400 ## Redirect localhost to Server &amp;quot;box-black&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Key-Typs: RSA algorithm and DSA algorithm.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ~/.ssh/id_rsa.pvt           # The file contains the RSA private key.&lt;br /&gt;
$ ~/.ssh/id_rsa.pub           # The file contains the RSA public key.&lt;br /&gt;
$ ~/.ssh/authorized_keys      # The file contains the keys that can be used for logging into system.&lt;br /&gt;
...&lt;br /&gt;
$ chmod go-w ~/&lt;br /&gt;
$ chmod 700 ~/.ssh&lt;br /&gt;
$ chmod 600 ~/.ssh/authorized_keys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/ssh/ssh_config&lt;br /&gt;
sudo nano /etc/ssh/sshd_config&lt;br /&gt;
------------------------------&lt;br /&gt;
RSAAuthentication yes&lt;br /&gt;
PubkeyAuthentication yes&lt;br /&gt;
AuthorizedKeysFile %h/.ssh/authorized_keys&lt;br /&gt;
PasswordAuthentication no      # Yes: Can login with Password; No: Can’t login with Password&lt;br /&gt;
------------------------------&lt;br /&gt;
/etc/init.d/ssh restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Generate Key==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C &amp;quot;username@mail.com&amp;quot;     # Generate prv and pub Key&lt;br /&gt;
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys&lt;br /&gt;
$ chmod -R 600 ~/.ssh/id_rsa&lt;br /&gt;
$ ssh -i ~/.ssh/id_rsa username@server.com                      # Login server with prv-key       	&lt;br /&gt;
...&lt;br /&gt;
$ ssh-copy-id –i $PATH_PUBLIC_KEY $USERNAME@IP_ADDRESS	     # Copy Pub-Key to server&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh user@hostname &amp;quot;mkdir -p ~/.ssh &amp;amp;&amp;amp; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
$ ssh user@hostname &amp;quot;echo `cat ~/.ssh/id_rsa.pub` &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ssh-agent &amp;amp; ssh-add==&lt;br /&gt;
* src: https://blog.tinned-software.net/manage-ssh-keys-with-the-ssh-agent/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ vim ~/.ssh/config                            # Add key automatically to a running agent&lt;br /&gt;
-----------------------------------&lt;br /&gt;
AddKeysToAgent yes&lt;br /&gt;
## Home nas server ##&lt;br /&gt;
Host nas01&lt;br /&gt;
     HostName 192.168.1.100&lt;br /&gt;
     User root&lt;br /&gt;
     IdentityFile ~/.ssh/nas01.key&lt;br /&gt;
Host github.com&lt;br /&gt;
     IdentityFile ~/.ssh/github.key&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ eval $(ssh-agent -s)                          # Start the agent&lt;br /&gt;
$ ssh-add ~/.ssh/id_rsa                         # Add the defualt key&lt;br /&gt;
$ ssh-add -l                                    # List keys&lt;br /&gt;
$ ssh-add -d /home/user/.ssh/id_rsa             # Remove key&lt;br /&gt;
$ ssh-add -D                                    # Remove all Keys&lt;br /&gt;
$ eval $(ssh-agent -s -k)                       # Kill the agent&lt;br /&gt;
$ ssh -T git@github.com&lt;br /&gt;
$ ssh -T git@bitbucket.org&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network=&lt;br /&gt;
==KVM (Kernel-Based Virtual Machine)==&lt;br /&gt;
* https://computingforgeeks.com/how-to-install-kvm-on-fedora/&lt;br /&gt;
* https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvm&lt;br /&gt;
* https://libvirt.org/sources/virshcmdref/html/chap-Virsh_Command_Reference-Commands.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @virtualization&lt;br /&gt;
sudo dnf install bridge-utils libvirt virt-install qemu-kvm&lt;br /&gt;
sudo systemctl status libvirtd&lt;br /&gt;
sudo systemctl start libvirtd&lt;br /&gt;
sudo systemctl enable libvirtd&lt;br /&gt;
sudo virt-host-validate&lt;br /&gt;
...&lt;br /&gt;
sudo curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-centos7 -o /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-machine-driver-kvm&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-list --all&lt;br /&gt;
sudo virsh net-info $NAME_NETWORK&lt;br /&gt;
sudo virsh net-dumpxml $NAME_NETWORK&lt;br /&gt;
sudo virsh net-destroy $NAME_NETWORK&lt;br /&gt;
sudo virsh net-undefine $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh net-define $NAME_FILE.xml&lt;br /&gt;
sudo virsh net-start $NAME_NETWORK&lt;br /&gt;
sudo virsh net-autostart $NAME_NETWORK&lt;br /&gt;
...&lt;br /&gt;
sudo virsh list --all&lt;br /&gt;
sudo virsh edit $NAME_VM&lt;br /&gt;
...&lt;br /&gt;
sudo brctl show br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nmcli==&lt;br /&gt;
* https://fedoraproject.org/wiki/Networking/CLI&lt;br /&gt;
===nmcli-genreral===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli dev show&lt;br /&gt;
nmcli conn show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===nmcli-ethernet===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-wifi===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===nmcli-bridge===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nmcli con add type bridge autoconnect yes con-name br0 ifname br0 ipv4.method auto&lt;br /&gt;
nmcli con del enp2s0&lt;br /&gt;
nmcli con add type bridge-slave autoconnect yes con-name enp2s0 ifname enp2s0 master br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ping samerhijazi.net       ### resolve a hostname to an IP address&lt;br /&gt;
host samerhijazi.net&lt;br /&gt;
nslookup samerhijazi.net&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
arp -a&lt;br /&gt;
nmap -sP 192.168.1.0/24&lt;br /&gt;
sudo mount -t cifs -o username=user,password=pin //172.29.32.184/sharename /media/Data/&lt;br /&gt;
sudo mount -t davfs -o username=user,password=pin https://sd2dav.1und1.de /1und1&lt;br /&gt;
speedtest        ### ubuntu&lt;br /&gt;
speedtest-cli    ### fedora&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Firewall=&lt;br /&gt;
==Service==&lt;br /&gt;
* cmd: status, start, stop, restart, reload, enable, disable&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo systemctl status firewalld&lt;br /&gt;
$ sudo systemctl status NetworkManager&lt;br /&gt;
$ sudo systemctl status network&lt;br /&gt;
...&lt;br /&gt;
sudo firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --get-zones&lt;br /&gt;
sudo firewall-cmd --get-active-zones&lt;br /&gt;
sudo firewall-cmd --get-default-zone&lt;br /&gt;
sudo firewall-cmd --get-services&lt;br /&gt;
sudo firewall-cmd --list-all&lt;br /&gt;
sudo firewall-cmd --list-ports&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Zone-home==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --zone=home --list-all&lt;br /&gt;
sudo firewall-cmd --zone=home --list-ports&lt;br /&gt;
sudo firewall-cmd --zone=home --list-services&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zone: Configuration==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --set-default-zone=home&lt;br /&gt;
sudo firewall-cmd --zone=home --change-interface=eth0&lt;br /&gt;
sudo firewall-cmd --zone=home --add-service=http&lt;br /&gt;
sudo firewall-cmd --zone=home --add-port=80/tcp --permanent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New Zone &amp;quot;boxblue&amp;quot;==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo firewall-cmd --permanent --new-zone=boxblue&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=ssh&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=http&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=https&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-service=samba&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=80/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --add-port=22/tcp&lt;br /&gt;
sudo firewall-cmd --permanent --zone=boxblue --change-interface=wlp0s19f2u1&lt;br /&gt;
sudo firewall-cmd --permanent --set-default-zone=boxblue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Editors=&lt;br /&gt;
==Vim==&lt;br /&gt;
* https://vim.rtorr.com/&lt;br /&gt;
* https://linuxize.com/post/vim-delete-line/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Get used to copy/paste/cut with vim:&lt;br /&gt;
---&lt;br /&gt;
Mark lines: Esc+V (then arrow keys)&lt;br /&gt;
Copy marked lines: y&lt;br /&gt;
Cut marked lines: d&lt;br /&gt;
Past lines: p or P&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc   Exit the current mode.&lt;br /&gt;
i     Enter &amp;quot;Insert mode&amp;quot; for inserting text.&lt;br /&gt;
v     Enter &amp;quot;Visual mode&amp;quot; for character.&lt;br /&gt;
V     Enter &amp;quot;Visual mode&amp;quot; for line.&lt;br /&gt;
:     Enter &amp;quot;Command mode&amp;quot;. &lt;br /&gt;
...&lt;br /&gt;
h     Move Left&lt;br /&gt;
j     Move Down&lt;br /&gt;
k     Move Up&lt;br /&gt;
l     Move Right&lt;br /&gt;
...&lt;br /&gt;
ggVG  Select hole text&lt;br /&gt;
...&lt;br /&gt;
u     Undo the last operation.&lt;br /&gt;
d     Delete or Cut selected item.&lt;br /&gt;
y     Copy line.&lt;br /&gt;
p     Paste storage buffer after the cursor.&lt;br /&gt;
...&lt;br /&gt;
:q    Quit Vim.&lt;br /&gt;
:q!   Quit Vim without saving the changes.&lt;br /&gt;
:w    Save the file&lt;br /&gt;
:wq   Save the file and quit Vim.&lt;br /&gt;
:w $FILE_NAME Save the file with the filename &amp;quot;yx&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Esc §§ Place the cursor on the first line you want to delete. §§ Type 5dd and hit Enter to delete the next five lines.&lt;br /&gt;
:[start],[end]d      ### Delete a range of lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==nano==&lt;br /&gt;
* https://keycombiner.com/collections/nano/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Paste:     Strg+u&lt;br /&gt;
Delete:     Strg+k&lt;br /&gt;
Search:     Strg+w&lt;br /&gt;
Select_&amp;amp;_Copy:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Alt+6&lt;br /&gt;
Select_&amp;amp;_Delete:     Strg+6  &amp;gt;&amp;gt;&amp;gt;  Strg+k&lt;br /&gt;
---&lt;br /&gt;
ALt+# &amp;gt;&amp;gt; show Line numbers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* nanorc&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls /usr/share/nano/&lt;br /&gt;
nano /usr/share/nano/yaml.nanorc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Package Manager=&lt;br /&gt;
* sudo dpkg -i filename.deb&lt;br /&gt;
* sudo rpm -i filename.rpm&lt;br /&gt;
&lt;br /&gt;
==APT (Advanced Package Tool)==&lt;br /&gt;
* Debian, Ubuntu, usw.&lt;br /&gt;
* Repo-Location: /etc/apt/sources.list&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install ./filename.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DNF (Dandified YUM)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo ls /etc/yum.repos.d/                         ## Repositories-Folder&lt;br /&gt;
sudo rpm –i filename.rpm&lt;br /&gt;
sudo dnf install https://website.com/file-name.rpm&lt;br /&gt;
sudo dnf config-manager --add-repo https://website.com/repositorie-name.repo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf repolist --all&lt;br /&gt;
sudo dnf config-manager --add-repo $REPO_URL&lt;br /&gt;
sudo dnf config-manager --set-enabled $REPO_ID&lt;br /&gt;
sudo dnf config-manager --set-disabled $REPO_ID&lt;br /&gt;
---&lt;br /&gt;
sudo dnf copr [enable|disable|remove|list|search] $PACKAG_NAME&lt;br /&gt;
...&lt;br /&gt;
sudo dnf list&lt;br /&gt;
sudo dnf list installed&lt;br /&gt;
sudo dnf list available&lt;br /&gt;
sudo dnf list updates&lt;br /&gt;
---&lt;br /&gt;
sudo dnf check-update&lt;br /&gt;
sudo dnf autoremove&lt;br /&gt;
sudo dnf clean all&lt;br /&gt;
...&lt;br /&gt;
sudo dnf update&lt;br /&gt;
sudo dnf upgrade&lt;br /&gt;
sudo dnf update vim&lt;br /&gt;
sudo dnf search vim&lt;br /&gt;
sudo dnf download vim&lt;br /&gt;
sudo dnf install vim&lt;br /&gt;
sudo dnf install https://website.com/filename.rpm&lt;br /&gt;
sudo dnf reinstall vim&lt;br /&gt;
sudo dnf remove vim&lt;br /&gt;
sudo dnf erase vim&lt;br /&gt;
...&lt;br /&gt;
sudo dnf group list -v&lt;br /&gt;
sudo dnf group info 'Development Tools'&lt;br /&gt;
sudo dnf group install 'Development Tools'&lt;br /&gt;
sudo dnf group update 'Development Tools'&lt;br /&gt;
sudo dnf group remove 'Development Tools'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Storage=&lt;br /&gt;
==Mount 1&amp;amp;1==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mkdir /mnt/1und1&lt;br /&gt;
mount -t davfs https://sd2dav.1und1.de/ /mnt/1und1&lt;br /&gt;
umount /mnt/1und1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mount VirtualHardDisk==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=/storage/vhd.img bs=1M count=24    ### VHD volume of size 20MB image.&lt;br /&gt;
sudo mkfs -t ext4 /storage/vhd.img                         ### Format the VHD image with EXT4 file system type.&lt;br /&gt;
sudo mkdir /mnt/vhd/&lt;br /&gt;
sudo mount -t auto -o loop /storage/vhd.img /mnt/vhd/&lt;br /&gt;
sudo nano /etc/fstab &amp;lt;&amp;lt;&amp;lt; &amp;quot;/storage/vhd.img  /mnt/vhd/  ext4    defaults        0  0&amp;quot;&lt;br /&gt;
sudo umount /mnt/vhd/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Encrypted disk image with Cryptsetup==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dd if=/dev/zero of=./vhd.img bs=1M count=24    ### Create the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup -y luksFormat ./vhd.img             ### Encrypt the Disk Image File vhd.img.&lt;br /&gt;
sudo cryptsetup luksOpen ./vhd.img cryvhd           ### Maps the Disk Image File vhd.img to /dev/mapper/cryvhd.&lt;br /&gt;
sudo mkfs.ext4 /dev/mapper/cryvhd                   ### Format the Disk Image File vhd.img with ext4 File System. &lt;br /&gt;
sudo mount /dev/mapper/cryvhd /mnt/vhd&lt;br /&gt;
sudo chown king:king /mnt/vhd &lt;br /&gt;
sudo umount /mnt/vhd&lt;br /&gt;
sudo cryptsetup luksClose cryvhd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Samba==&lt;br /&gt;
* src: https://www.server-world.info/en/note?os=Fedora_34&amp;amp;p=samba&amp;amp;f=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ /etc/samba/smb.conf&lt;br /&gt;
$ systemctl enable --now smb&lt;br /&gt;
$ firewall-cmd --add-service=samba --permanent&lt;br /&gt;
$ firewall-cmd --reload&lt;br /&gt;
$ testparm&lt;br /&gt;
----------------------------------------&lt;br /&gt;
[global]&lt;br /&gt;
workgroup = WORKGROUP&lt;br /&gt;
security = user&lt;br /&gt;
netbios name = box-black&lt;br /&gt;
map to guest = Bad User&lt;br /&gt;
idmap config * : backend = tdb&lt;br /&gt;
wins support = yes&lt;br /&gt;
local master = yes&lt;br /&gt;
preferred master = yes&lt;br /&gt;
&lt;br /&gt;
[storage-a]&lt;br /&gt;
path = /storage_a&lt;br /&gt;
browsable = yes&lt;br /&gt;
writable = yes&lt;br /&gt;
guest ok = yes&lt;br /&gt;
guest only = yes&lt;br /&gt;
read only = no&lt;br /&gt;
force user = nobody&lt;br /&gt;
force create mode = 777&lt;br /&gt;
force directory mode = 777&lt;br /&gt;
&lt;br /&gt;
public = yes&lt;br /&gt;
available = yes&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Screen=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
screen -S &amp;lt;name&amp;gt;		# start screen new&lt;br /&gt;
screen -ls			# list screen runing&lt;br /&gt;
screen -r &amp;lt;name&amp;gt;		# reattach to a session name&lt;br /&gt;
..&lt;br /&gt;
Ctrl+a c			# create window&lt;br /&gt;
Ctrl+a n			# next window&lt;br /&gt;
Ctrl+a p			# previous window&lt;br /&gt;
Ctrl+a k			# kill window&lt;br /&gt;
Ctrl+a d			# detach window&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Desktop Environments=&lt;br /&gt;
==Links==&lt;br /&gt;
* src: https://www.ukui.org/index.html&lt;br /&gt;
* src: https://www.ubuntukylin.com/index.php?lang=en&lt;br /&gt;
==Display Server (Xorg/Wayland)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
loginctl	                   # get session number from command output &lt;br /&gt;
loginctl show-session 2 -p Type&lt;br /&gt;
...&lt;br /&gt;
vi /etc/gdm/custom.conf&lt;br /&gt;
vi /etc/gdm3/custom.conf&lt;br /&gt;
-----------------------&lt;br /&gt;
WaylandEnable=false                  # To disable Wayland&lt;br /&gt;
DefaultSession=gnome-xorg.desktop    # To enable Xorg&lt;br /&gt;
-----------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sessions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /usr/share/xsessions/    # Lists installed desktop enviruments&lt;br /&gt;
echo $XDG_CURRENT_DESKTOP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Display Manager: lightdm==&lt;br /&gt;
* Install Display-Manager&lt;br /&gt;
* Install Greeter&lt;br /&gt;
* Setting Greeter&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install lightdm                                                                         # Display-Manager&lt;br /&gt;
sudo dnf install elementary-greeter slick-greeter slick-greeter-cinnamon slick-greeter-mate      # Greeter-Typs&lt;br /&gt;
sudo dnf install lightdm-settings                                                                # For Settings&lt;br /&gt;
...&lt;br /&gt;
ls /usr/share/lightdm/lightdm.conf.d/        # System-Settings&lt;br /&gt;
ls /etc/lightdm/lightdm.conf.d/              # User-Settings&lt;br /&gt;
lightdm --show-config&lt;br /&gt;
...&lt;br /&gt;
[Seat:*]&lt;br /&gt;
greeter-session=slick-greeter&lt;br /&gt;
user-session=cinnamon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Fixs=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo -e /etc/needrestart/needrestart.conf&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Uncomment and change the following settings:&lt;br /&gt;
$nrconf{kernelhints} = 0;&lt;br /&gt;
$nrconf{ucodehints} = 0;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Docker&amp;diff=2710</id>
		<title>IT-SDK-Docker</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Docker&amp;diff=2710"/>
		<updated>2022-09-21T12:14:14Z</updated>

		<summary type="html">&lt;p&gt;Studying: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://docs.docker.com/docker-hub/access-tokens/&lt;br /&gt;
* https://cloud.google.com/container-registry/docs/pulling-cached-images#docker-ui&lt;br /&gt;
* https://github.com/Philip-Scott/docker-workspace&lt;br /&gt;
* VS-Code &amp;amp; Containers: https://code.visualstudio.com/docs/remote/containers&lt;br /&gt;
* CheatSheet: https://www.docker.com/sites/default/files/d8/2019-09/docker-cheat-sheet.pdf&lt;br /&gt;
* Source: https://docs.docker.com/v17.09/engine/reference/builder/&lt;br /&gt;
* Link: http://docs.projectatomic.io/container-best-practices/#_abstract&lt;br /&gt;
* Link: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/&lt;br /&gt;
* Website-CMD: (https://docs.docker.com/engine/reference/commandline/)&lt;br /&gt;
* Website-TUT: (https://docs.docker.com/engine/tutorials/usingdocker/)&lt;br /&gt;
* Portainer: (http://portainer.io/index.html) stammt aus UI-for-Docker (https://github.com/kevana/ui-for-docker)&lt;br /&gt;
* Docker &amp;amp; Kubernetes: https://www.middlewareinventory.com/blog/deploy-docker-image-to-kubernetes/&lt;br /&gt;
* Docker &amp;amp; Kubernetes: https://www.linode.com/docs/kubernetes/deploy-container-image-to-kubernetes/&lt;br /&gt;
&lt;br /&gt;
=Mix=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker info&lt;br /&gt;
nano ~/.docker/config.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Definitions=&lt;br /&gt;
* '''Docker Compose''' is a tool for defining and running multi-container Docker applications&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
=setting=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/containers/nodocker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==docker-compose==&lt;br /&gt;
* Source: https://docs.docker.com/compose/install/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -L &amp;quot;https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)&amp;quot; -o /usr/local/bin/docker-compose&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-compose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==fedora==&lt;br /&gt;
* https://docs.docker.com/engine/install/fedora/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine&lt;br /&gt;
-----&lt;br /&gt;
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo&lt;br /&gt;
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin&lt;br /&gt;
-----&lt;br /&gt;
sudo systemctl start docker&lt;br /&gt;
sudo systemctl enable docker&lt;br /&gt;
-----&lt;br /&gt;
sudo groupadd docker&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ubuntu==&lt;br /&gt;
* Source: https://docs.docker.com/engine/install/ubuntu/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get remove docker docker-engine docker.io containerd runc&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common&lt;br /&gt;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;br /&gt;
sudo add-apt-repository &amp;quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
-----------&lt;br /&gt;
sudo groupadd docker&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Life-Cycle=&lt;br /&gt;
==build (Build an image from a Dockerfile)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker build -t $NAME_IMAGE:0.1 $LOCATION_DOCKERFILE&lt;br /&gt;
---&lt;br /&gt;
$ docker build -t hijazi/app:v1 .&lt;br /&gt;
$ docker build -t hijazi/app:$(date +%Y%m%d.%H%M%S) .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==run (Run a command in a '''new''' container)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
[d]: Detached Mode, run container in Background.&lt;br /&gt;
[i]: Keep STDIN open.&lt;br /&gt;
[t]: Allocate a pseudo-TTY.&lt;br /&gt;
[rm]: Remove container after exit.&lt;br /&gt;
[v]: Mount a volume: $PATH_OUT:$PATH_IN.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker run --name $STRING --rm -it -d -p $PORT_OUT:$PORT_IN -v $PATH_OUT:$PATH_IN $NAME_IMAGE&lt;br /&gt;
---&lt;br /&gt;
$ docker run --name linux --rm -it -d -p 80:80 -v /home/user:/sandbox alpine&lt;br /&gt;
$ docker run -v C:/Users/admin:/home alpine              # In CMD-Windows&lt;br /&gt;
$ docker run -v C:\\Users\\admin:/home alpine            # In mintty, git-bash&lt;br /&gt;
---&lt;br /&gt;
$ docker run -it --rm ubuntu //bin/bash                  # In CMD-Windows&lt;br /&gt;
$ winpty docker run -it --rm ubuntu //bin/bash           # In mintty, git-bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==exec (Run a command in a '''running''' container)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# In bash, cmd &lt;br /&gt;
$ docker exec -it $NAME_CONTAINER bash&lt;br /&gt;
$ docker exec -it $NAME_CONTAINER sh&lt;br /&gt;
----&lt;br /&gt;
# In mintty, git-bash&lt;br /&gt;
$ winpty docker exec -it $NAME_CONTAINER bash&lt;br /&gt;
$ winpty docker exec -it $NAME_CONTAINER sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==start &amp;amp; stop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker start $NAME_CONTAINER    ## Start a stopped container.&lt;br /&gt;
$ docker stop $NAME_CONTAINER     ## Stop a running container.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Management=&lt;br /&gt;
==images==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker images -a                         # Liste all images&lt;br /&gt;
docker tag hijazi/app:v1 registry/hijazi/app:v2&lt;br /&gt;
docker tag 9d6e50edcaad hijazi/app:v3&lt;br /&gt;
docker pull hijazi/app:v1&lt;br /&gt;
docker pusch hijazi/app:v2&lt;br /&gt;
docker rmi hijazi/app:v0                  # Remove images&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==container==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker ps –a                            # Liste all Containers&lt;br /&gt;
docker rm $NAME                         # Remove one or more containers&lt;br /&gt;
decker rename $NAME_OLD $NEW_NAME       # Rename a container&lt;br /&gt;
docker commit -m &amp;quot;Massage&amp;quot; -a &amp;quot;Creator&amp;quot; 9d6e50edcaad hijazi/app:v1   # Create a new image from a container's changes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==config==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker ps -a -q&lt;br /&gt;
docker stop $(docker ps -a -q)&lt;br /&gt;
docker rm $(docker ps -a -q)&lt;br /&gt;
----&lt;br /&gt;
docker-machine ip&lt;br /&gt;
docker container ls&lt;br /&gt;
docker image ls&lt;br /&gt;
docker volume ls&lt;br /&gt;
----&lt;br /&gt;
docker system prune           # Remove all Unused container&lt;br /&gt;
docker system prune --all     # Remove all Unused container and all unused images&lt;br /&gt;
docker system prune --volumes # Remove all Unused container and all unused volumes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
curl https://registry-1.docker.io/v2/ &amp;amp;&amp;amp; echo Works&lt;br /&gt;
docker info | grep Proxy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Dockerfile=&lt;br /&gt;
==Ref==&lt;br /&gt;
* https://docs.docker.com/engine/reference/builder/&lt;br /&gt;
* https://developers.redhat.com/articles/2021/10/12/10-steps-better-dockerfile&lt;br /&gt;
==Dockerfile-Definition==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FROM        Sets the base image for subsequent&lt;br /&gt;
MAINTAINER  Sets the author field of the generated images&lt;br /&gt;
RUN	    Execute commands in a new layer on top of the current image and commit the results&lt;br /&gt;
CMD	    Allowed only once (if many then last one takes effect)&lt;br /&gt;
LABEL	    Adds metadata to an image&lt;br /&gt;
EXPOSE	    Informs container runtime that the container listens on the specified network ports at runtime&lt;br /&gt;
ENV	    Sets an environment variable&lt;br /&gt;
ADD	    Copy new files, directories, or remote file URLs from &amp;gt;&amp;gt; into the filesystem of the container&lt;br /&gt;
COPY (this) Copy new files or directories &amp;gt;&amp;gt; into the filesystem of the container&lt;br /&gt;
ENTRYPOINT  Allows you to configure a container that will run as an executable&lt;br /&gt;
VOLUME	    Creates a mount point and marks it as holding externally mounted volumes from native host or other containers&lt;br /&gt;
USER	    Sets the username or UID to use when running the image&lt;br /&gt;
WORKDIR	    Sets the working directory for any RUN, CMD, ENTRYPOINT, COPY, and ADD commands&lt;br /&gt;
ARG	    Defines a variable that users can pass at build-time to the builder using --build-arg&lt;br /&gt;
ONBUILD	    Adds an instruction to be executed later, when the image is used as the base for another build&lt;br /&gt;
STOPSIGNAL  Sets the system call signal that will be sent to the container to exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dockerfile-Template==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FROM debian:stretch-slim&lt;br /&gt;
USER root&lt;br /&gt;
LABEL maintainer=&amp;quot;NGINX Docker Maintainers &amp;lt;docker-maint@nginx.com&amp;gt;&amp;quot;&lt;br /&gt;
WORKDIR /app&lt;br /&gt;
COPY nginx-repo.crt /etc/ssl/nginx/&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; apt-get upgrade -y&lt;br /&gt;
# --------------------------------------------------------------&lt;br /&gt;
# nginx config for OpenShift&lt;br /&gt;
RUN chmod g+rwx /var/cache/nginx /var/run /var/log/nginx&lt;br /&gt;
RUN sed -i.bak 's/listen\(.*\)80;/listen 8081;/' /etc/nginx/conf.d/default.conf&lt;br /&gt;
RUN sed -i.bak 's/^user/#user/' /etc/nginx/nginx.conf&lt;br /&gt;
# --------------------------------------------------------------&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
STOPSIGNAL SIGTERM&lt;br /&gt;
CMD [&amp;quot;nginx&amp;quot;, &amp;quot;-g&amp;quot;, &amp;quot;daemon off;&amp;quot;]&lt;br /&gt;
USER 1001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Docker-Images=&lt;br /&gt;
==Image: Versions==&lt;br /&gt;
* maven:3.6.3-jdk-8&lt;br /&gt;
* maven:3.6.3-jdk-8-slim&lt;br /&gt;
* gradle:6.8.0-jdk8&lt;br /&gt;
* gradle:4.7.0-jdk8-alpine&lt;br /&gt;
* nginx:alpine&lt;br /&gt;
* node:10-alpine3.10&lt;br /&gt;
* openjdk:8-alpine&lt;br /&gt;
&lt;br /&gt;
==Image: Jenkins==&lt;br /&gt;
* src: https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+with+Docker&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export WORKSPACE=/workspace&lt;br /&gt;
...&lt;br /&gt;
sudo docker run --detach \&lt;br /&gt;
 --hostname jenkins.box-blue \&lt;br /&gt;
 --publish 49001:8080 \&lt;br /&gt;
 --name jenkins \&lt;br /&gt;
 --restart always \&lt;br /&gt;
 --volume $WORKSPACE/jenkins:/var/jenkins_home:z \&lt;br /&gt;
 --tty jenkins/jenkins&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Image: GitLab==&lt;br /&gt;
* src: https://docs.gitlab.com/omnibus/docker/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export WORKSPACE=/workspace&lt;br /&gt;
...&lt;br /&gt;
sudo docker run --detach \&lt;br /&gt;
  --hostname gitlab.box-blue \&lt;br /&gt;
  --publish 443:443 \&lt;br /&gt;
  --publish 80:80 \&lt;br /&gt;
  --publish 22:22 \&lt;br /&gt;
  --name gitlab \&lt;br /&gt;
  --restart always \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/config:/etc/gitlab \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/logs:/var/log/gitlab \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/data:/var/opt/gitlab \&lt;br /&gt;
  gitlab/gitlab-ce:latest&lt;br /&gt;
...&lt;br /&gt;
sudo docker exec -it gitlab /bin/bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Image: Postgres==&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ref: https://hub.docker.com/_/postgres/&lt;br /&gt;
* ref: https://quarkus.io/guides/reactive-sql-clients&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d --ulimit memlock=-1:-1 -it --rm=true --memory-swappiness=0 --name postgres -e POSTGRES_USER=db -e POSTGRES_PASSWORD=db -e POSTGRES_DB=db_01 -p 5432:5432 postgres:10.5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ref: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker pull dpage/pgadmin4&lt;br /&gt;
docker run -p 80:80 \&lt;br /&gt;
 --name pgadmin \&lt;br /&gt;
 -e 'PGADMIN_DEFAULT_EMAIL=user@mail.com' \&lt;br /&gt;
 -e 'PGADMIN_DEFAULT_PASSWORD=password' \&lt;br /&gt;
 -d dpage/pgadmin4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Image: HiveMQ==&lt;br /&gt;
* https://www.hivemq.com/downloads/docker/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm --name mqtt-ce -p 8080:8080 -p 1883:1883 hivemq/hivemq-ce&lt;br /&gt;
docker run --rm --name mqtt-pr -p 8080:8080 -p 1883:1883 hivemq/hivemq4&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
http://localhost:8080&lt;br /&gt;
User: admin&lt;br /&gt;
Password: hivemq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Docker&amp;diff=2701</id>
		<title>IT-SDK-Docker</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Docker&amp;diff=2701"/>
		<updated>2022-09-05T17:48:38Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://docs.docker.com/docker-hub/access-tokens/&lt;br /&gt;
* https://cloud.google.com/container-registry/docs/pulling-cached-images#docker-ui&lt;br /&gt;
* https://github.com/Philip-Scott/docker-workspace&lt;br /&gt;
* VS-Code &amp;amp; Containers: https://code.visualstudio.com/docs/remote/containers&lt;br /&gt;
* CheatSheet: https://www.docker.com/sites/default/files/d8/2019-09/docker-cheat-sheet.pdf&lt;br /&gt;
* Source: https://docs.docker.com/v17.09/engine/reference/builder/&lt;br /&gt;
* Link: http://docs.projectatomic.io/container-best-practices/#_abstract&lt;br /&gt;
* Link: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/&lt;br /&gt;
* Website-CMD: (https://docs.docker.com/engine/reference/commandline/)&lt;br /&gt;
* Website-TUT: (https://docs.docker.com/engine/tutorials/usingdocker/)&lt;br /&gt;
* Portainer: (http://portainer.io/index.html) stammt aus UI-for-Docker (https://github.com/kevana/ui-for-docker)&lt;br /&gt;
* Docker &amp;amp; Kubernetes: https://www.middlewareinventory.com/blog/deploy-docker-image-to-kubernetes/&lt;br /&gt;
* Docker &amp;amp; Kubernetes: https://www.linode.com/docs/kubernetes/deploy-container-image-to-kubernetes/&lt;br /&gt;
&lt;br /&gt;
=Mix=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker info&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Definitions=&lt;br /&gt;
* '''Docker Compose''' is a tool for defining and running multi-container Docker applications&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
=setting=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/containers/nodocker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==docker-compose==&lt;br /&gt;
* Source: https://docs.docker.com/compose/install/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -L &amp;quot;https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)&amp;quot; -o /usr/local/bin/docker-compose&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-compose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==fedora==&lt;br /&gt;
* https://docs.docker.com/engine/install/fedora/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine&lt;br /&gt;
-----&lt;br /&gt;
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo&lt;br /&gt;
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin&lt;br /&gt;
-----&lt;br /&gt;
sudo systemctl start docker&lt;br /&gt;
sudo systemctl enable docker&lt;br /&gt;
-----&lt;br /&gt;
sudo groupadd docker&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ubuntu==&lt;br /&gt;
* Source: https://docs.docker.com/engine/install/ubuntu/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get remove docker docker-engine docker.io containerd runc&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common&lt;br /&gt;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;br /&gt;
sudo add-apt-repository &amp;quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
-----------&lt;br /&gt;
sudo groupadd docker&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Life-Cycle=&lt;br /&gt;
==build (Build an image from a Dockerfile)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker build -t $NAME_IMAGE:0.1 $LOCATION_DOCKERFILE&lt;br /&gt;
---&lt;br /&gt;
$ docker build -t hijazi/app:v1 .&lt;br /&gt;
$ docker build -t hijazi/app:$(date +%Y%m%d.%H%M%S) .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==run (Run a command in a '''new''' container)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
[d]: Detached Mode, run container in Background.&lt;br /&gt;
[i]: Keep STDIN open.&lt;br /&gt;
[t]: Allocate a pseudo-TTY.&lt;br /&gt;
[rm]: Remove container after exit.&lt;br /&gt;
[v]: Mount a volume: $PATH_OUT:$PATH_IN.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker run --name $STRING --rm -it -d -p $PORT_OUT:$PORT_IN -v $PATH_OUT:$PATH_IN $NAME_IMAGE&lt;br /&gt;
---&lt;br /&gt;
$ docker run --name linux --rm -it -d -p 80:80 -v /home/user:/sandbox alpine&lt;br /&gt;
$ docker run -v C:/Users/admin:/home alpine              # In CMD-Windows&lt;br /&gt;
$ docker run -v C:\\Users\\admin:/home alpine            # In mintty, git-bash&lt;br /&gt;
---&lt;br /&gt;
$ docker run -it --rm ubuntu //bin/bash                  # In CMD-Windows&lt;br /&gt;
$ winpty docker run -it --rm ubuntu //bin/bash           # In mintty, git-bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==exec (Run a command in a '''running''' container)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# In bash, cmd &lt;br /&gt;
$ docker exec -it $NAME_CONTAINER bash&lt;br /&gt;
$ docker exec -it $NAME_CONTAINER sh&lt;br /&gt;
----&lt;br /&gt;
# In mintty, git-bash&lt;br /&gt;
$ winpty docker exec -it $NAME_CONTAINER bash&lt;br /&gt;
$ winpty docker exec -it $NAME_CONTAINER sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==start &amp;amp; stop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker start $NAME_CONTAINER    ## Start a stopped container.&lt;br /&gt;
$ docker stop $NAME_CONTAINER     ## Stop a running container.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Management=&lt;br /&gt;
==images==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker images -a                         # Liste all images&lt;br /&gt;
docker tag hijazi/app:v1 registry/hijazi/app:v2&lt;br /&gt;
docker tag 9d6e50edcaad hijazi/app:v3&lt;br /&gt;
docker pull hijazi/app:v1&lt;br /&gt;
docker pusch hijazi/app:v2&lt;br /&gt;
docker rmi hijazi/app:v0                  # Remove images&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==container==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker ps –a                            # Liste all Containers&lt;br /&gt;
docker rm $NAME                         # Remove one or more containers&lt;br /&gt;
decker rename $NAME_OLD $NEW_NAME       # Rename a container&lt;br /&gt;
docker commit -m &amp;quot;Massage&amp;quot; -a &amp;quot;Creator&amp;quot; 9d6e50edcaad hijazi/app:v1   # Create a new image from a container's changes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==config==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker ps -a -q&lt;br /&gt;
docker stop $(docker ps -a -q)&lt;br /&gt;
docker rm $(docker ps -a -q)&lt;br /&gt;
----&lt;br /&gt;
docker-machine ip&lt;br /&gt;
docker container ls&lt;br /&gt;
docker image ls&lt;br /&gt;
docker volume ls&lt;br /&gt;
----&lt;br /&gt;
docker system prune           # Remove all Unused container&lt;br /&gt;
docker system prune --all     # Remove all Unused container and all unused images&lt;br /&gt;
docker system prune --volumes # Remove all Unused container and all unused volumes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
curl https://registry-1.docker.io/v2/ &amp;amp;&amp;amp; echo Works&lt;br /&gt;
docker info | grep Proxy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Dockerfile=&lt;br /&gt;
==Ref==&lt;br /&gt;
* https://docs.docker.com/engine/reference/builder/&lt;br /&gt;
* https://developers.redhat.com/articles/2021/10/12/10-steps-better-dockerfile&lt;br /&gt;
==Dockerfile-Definition==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FROM        Sets the base image for subsequent&lt;br /&gt;
MAINTAINER  Sets the author field of the generated images&lt;br /&gt;
RUN	    Execute commands in a new layer on top of the current image and commit the results&lt;br /&gt;
CMD	    Allowed only once (if many then last one takes effect)&lt;br /&gt;
LABEL	    Adds metadata to an image&lt;br /&gt;
EXPOSE	    Informs container runtime that the container listens on the specified network ports at runtime&lt;br /&gt;
ENV	    Sets an environment variable&lt;br /&gt;
ADD	    Copy new files, directories, or remote file URLs from &amp;gt;&amp;gt; into the filesystem of the container&lt;br /&gt;
COPY (this) Copy new files or directories &amp;gt;&amp;gt; into the filesystem of the container&lt;br /&gt;
ENTRYPOINT  Allows you to configure a container that will run as an executable&lt;br /&gt;
VOLUME	    Creates a mount point and marks it as holding externally mounted volumes from native host or other containers&lt;br /&gt;
USER	    Sets the username or UID to use when running the image&lt;br /&gt;
WORKDIR	    Sets the working directory for any RUN, CMD, ENTRYPOINT, COPY, and ADD commands&lt;br /&gt;
ARG	    Defines a variable that users can pass at build-time to the builder using --build-arg&lt;br /&gt;
ONBUILD	    Adds an instruction to be executed later, when the image is used as the base for another build&lt;br /&gt;
STOPSIGNAL  Sets the system call signal that will be sent to the container to exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dockerfile-Template==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FROM debian:stretch-slim&lt;br /&gt;
USER root&lt;br /&gt;
LABEL maintainer=&amp;quot;NGINX Docker Maintainers &amp;lt;docker-maint@nginx.com&amp;gt;&amp;quot;&lt;br /&gt;
WORKDIR /app&lt;br /&gt;
COPY nginx-repo.crt /etc/ssl/nginx/&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; apt-get upgrade -y&lt;br /&gt;
# --------------------------------------------------------------&lt;br /&gt;
# nginx config for OpenShift&lt;br /&gt;
RUN chmod g+rwx /var/cache/nginx /var/run /var/log/nginx&lt;br /&gt;
RUN sed -i.bak 's/listen\(.*\)80;/listen 8081;/' /etc/nginx/conf.d/default.conf&lt;br /&gt;
RUN sed -i.bak 's/^user/#user/' /etc/nginx/nginx.conf&lt;br /&gt;
# --------------------------------------------------------------&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
STOPSIGNAL SIGTERM&lt;br /&gt;
CMD [&amp;quot;nginx&amp;quot;, &amp;quot;-g&amp;quot;, &amp;quot;daemon off;&amp;quot;]&lt;br /&gt;
USER 1001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Docker-Images=&lt;br /&gt;
==Image: Versions==&lt;br /&gt;
* maven:3.6.3-jdk-8&lt;br /&gt;
* maven:3.6.3-jdk-8-slim&lt;br /&gt;
* gradle:6.8.0-jdk8&lt;br /&gt;
* gradle:4.7.0-jdk8-alpine&lt;br /&gt;
* nginx:alpine&lt;br /&gt;
* node:10-alpine3.10&lt;br /&gt;
* openjdk:8-alpine&lt;br /&gt;
&lt;br /&gt;
==Image: Jenkins==&lt;br /&gt;
* src: https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+with+Docker&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export WORKSPACE=/workspace&lt;br /&gt;
...&lt;br /&gt;
sudo docker run --detach \&lt;br /&gt;
 --hostname jenkins.box-blue \&lt;br /&gt;
 --publish 49001:8080 \&lt;br /&gt;
 --name jenkins \&lt;br /&gt;
 --restart always \&lt;br /&gt;
 --volume $WORKSPACE/jenkins:/var/jenkins_home:z \&lt;br /&gt;
 --tty jenkins/jenkins&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Image: GitLab==&lt;br /&gt;
* src: https://docs.gitlab.com/omnibus/docker/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export WORKSPACE=/workspace&lt;br /&gt;
...&lt;br /&gt;
sudo docker run --detach \&lt;br /&gt;
  --hostname gitlab.box-blue \&lt;br /&gt;
  --publish 443:443 \&lt;br /&gt;
  --publish 80:80 \&lt;br /&gt;
  --publish 22:22 \&lt;br /&gt;
  --name gitlab \&lt;br /&gt;
  --restart always \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/config:/etc/gitlab \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/logs:/var/log/gitlab \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/data:/var/opt/gitlab \&lt;br /&gt;
  gitlab/gitlab-ce:latest&lt;br /&gt;
...&lt;br /&gt;
sudo docker exec -it gitlab /bin/bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Image: Postgres==&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ref: https://hub.docker.com/_/postgres/&lt;br /&gt;
* ref: https://quarkus.io/guides/reactive-sql-clients&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d --ulimit memlock=-1:-1 -it --rm=true --memory-swappiness=0 --name postgres -e POSTGRES_USER=db -e POSTGRES_PASSWORD=db -e POSTGRES_DB=db_01 -p 5432:5432 postgres:10.5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ref: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker pull dpage/pgadmin4&lt;br /&gt;
docker run -p 80:80 \&lt;br /&gt;
 --name pgadmin \&lt;br /&gt;
 -e 'PGADMIN_DEFAULT_EMAIL=user@mail.com' \&lt;br /&gt;
 -e 'PGADMIN_DEFAULT_PASSWORD=password' \&lt;br /&gt;
 -d dpage/pgadmin4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Image: HiveMQ==&lt;br /&gt;
* https://www.hivemq.com/downloads/docker/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm --name mqtt-ce -p 8080:8080 -p 1883:1883 hivemq/hivemq-ce&lt;br /&gt;
docker run --rm --name mqtt-pr -p 8080:8080 -p 1883:1883 hivemq/hivemq4&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
http://localhost:8080&lt;br /&gt;
User: admin&lt;br /&gt;
Password: hivemq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Quarkus&amp;diff=2696</id>
		<title>IT-SDK-Quarkus</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Quarkus&amp;diff=2696"/>
		<updated>2022-08-31T08:00:00Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Maven */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref=&lt;br /&gt;
* https://quarkus.io/guides/getting-started&lt;br /&gt;
* https://quarkus.io/guides/maven-tooling&lt;br /&gt;
* https://quarkus.io/guides/centralized-log-management&lt;br /&gt;
* https://quarkus.io/guides/rest-json&lt;br /&gt;
* https://lordofthejars.github.io/quarkus-cheat-sheet/&lt;br /&gt;
&lt;br /&gt;
=Initial=&lt;br /&gt;
==CLI==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
quarkus create app com.condolco.trymore:trymore --extension=resteasy&lt;br /&gt;
cd trymore&lt;br /&gt;
quarkus dev&lt;br /&gt;
quarkus build&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Maven==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn io.quarkus.platform:quarkus-maven-plugin:2.11.1.Final:create \&lt;br /&gt;
    -DprojectGroupId=com.condolco \&lt;br /&gt;
    -DprojectArtifactId=quarkus-app \&lt;br /&gt;
    -Dextensions=&amp;quot;resteasy&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
cd trymore&lt;br /&gt;
mvn quarkus:dev&lt;br /&gt;
mvn clean package&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenShift=&lt;br /&gt;
* https://www.youtube.com/watch?v=QxJQMb35RWU&lt;br /&gt;
* https://quarkus.io/guides/getting-started&lt;br /&gt;
* https://quarkus.io/guides/maven-tooling&lt;br /&gt;
* https://quarkus.io/guides/deploying-to-kubernetes&lt;br /&gt;
* https://quarkus.io/guides/deploying-to-openshift&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project $NAME_SPACE&lt;br /&gt;
oc project $NAME_SPACE&lt;br /&gt;
oc delete $NAME_SPACE&lt;br /&gt;
...&lt;br /&gt;
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --binary&lt;br /&gt;
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --binary --to=&amp;quot;$NAME_BUILD&amp;quot;&lt;br /&gt;
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --binary --docker-image $NAME_DOCKER:TAG&lt;br /&gt;
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --code . --dockerfile - &amp;lt; src/main/docker/Dockerfile.jvm&lt;br /&gt;
...&lt;br /&gt;
oc start-build $NAME_BUILD --from-dir . --follow --wait&lt;br /&gt;
oc new-app --name=$NAME_BUILD --image-stream=$NAME_SPACE/$NAME_BUILD:latest&lt;br /&gt;
oc expose svc/$NAME_BUILD&lt;br /&gt;
...&lt;br /&gt;
oc get is&lt;br /&gt;
oc get svc&lt;br /&gt;
oc get routes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ref: Roadmap==&lt;br /&gt;
* https://lankydan.dev/building-a-rest-api-with-quarkus&lt;br /&gt;
* https://github.com/quarkusio/quarkus-quickstarts&lt;br /&gt;
* https://redhat-developer-demos.github.io/quarkus-tutorial/quarkus-tutorial/index.html&lt;br /&gt;
* https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/server.html&lt;br /&gt;
* -------------------------------------------------------&lt;br /&gt;
* https://quarkus.io/guides/datasource&lt;br /&gt;
* https://quarkus.io/guides/getting-started&lt;br /&gt;
* https://quarkus.io/guides/getting-started-reactive&lt;br /&gt;
* https://quarkus.io/guides/rest-json&lt;br /&gt;
* https://quarkus.io/guides/rest-client&lt;br /&gt;
* https://quarkus.io/guides/reactive-sql-clients&lt;br /&gt;
* https://quarkus.io/guides/hibernate-orm&lt;br /&gt;
* -------------------------------------------------------&lt;br /&gt;
* https://quarkus.io/guides/config&lt;br /&gt;
* https://quarkus.io/guides/config-reference&lt;br /&gt;
* https://quarkus.io/guides/all-config&lt;br /&gt;
* https://quarkus.io/guides/maven-tooling&lt;br /&gt;
* https://microprofile.io/project/eclipse/microprofile-config&lt;br /&gt;
* https://smallrye.io/docs/smallrye-config/index.html&lt;br /&gt;
* -------------------------------------------------------&lt;br /&gt;
* https://quarkus.io/guides/flyway&lt;br /&gt;
* https://quarkus.io/guides/microprofile-graphql&lt;br /&gt;
* https://quarkus.io/guides/kubernetes&lt;br /&gt;
* https://quarkus.io/quarkus-workshops/super-heroes&lt;br /&gt;
* ----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==ref: Colletions==&lt;br /&gt;
* https://github.com/quarkusio/quarkus/blob/master/integration-tests/flyway/src/main/java/io/quarkus/it/flyway/FlywayFunctionalityResource.java&lt;br /&gt;
* https://dzone.com/articles/building-a-rest-api-with-quarkus&lt;br /&gt;
* https://www.programcreek.com/java-api-examples/?code=quarkusio%2Fquarkus-quickstarts%2Fquarkus-quickstarts-master&lt;br /&gt;
* https://blogs.oracle.com/developers/configuring-the-oracle-jdbc-drivers-with-quarkus&lt;br /&gt;
* https://antoniogoncalves.org/2019/06/07/configuring-a-quarkus-application/&lt;br /&gt;
* https://dzone.com/articles/build-a-java-rest-api-with-quarkus&lt;br /&gt;
* https://dzone.com/articles/quick-guide-to-microservices-with-quarkus-on-opens&lt;br /&gt;
* http://www.mastertheboss.com/soa-cloud/quarkus/getting-started-with-quarkus&lt;br /&gt;
* https://www.mailing.dzone.com/click.html?x=a62e&amp;amp;lc=Uhy&amp;amp;mc=h&amp;amp;s=hbIX&amp;amp;u=f&amp;amp;z=oIlBEZc&amp;amp;&lt;br /&gt;
* https://jaxenter.de/serverless/quarkus-full-stack-framework-87817&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker pull maven:3.6-jdk-11-slim&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Startup=&lt;br /&gt;
* https://quarkus.io/guides/maven-tooling&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn &amp;quot;io.quarkus:quarkus-maven-plugin:2.0.1.Final:create&amp;quot;&lt;br /&gt;
mvn &amp;quot;io.quarkus:quarkus-maven-plugin:1.11.7.Final:create&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn &amp;quot;io.quarkus:quarkus-maven-plugin:2.5.2.Final:create&amp;quot; \&lt;br /&gt;
    -DprojectGroupId=&amp;quot;net.samerhijazi.startup&amp;quot; \&lt;br /&gt;
    -DprojectArtifactId=&amp;quot;quarkus-startup&amp;quot; \&lt;br /&gt;
    -DclassName=&amp;quot;net.samerhijazi.startup.run&amp;quot; \&lt;br /&gt;
    -Dpath=&amp;quot;/hello&amp;quot; \&lt;br /&gt;
    -Dextensions=&amp;quot;resteasy&amp;quot;&lt;br /&gt;
---&lt;br /&gt;
mvn io.quarkus.platform:quarkus-maven-plugin:2.6.3.Final:create \&lt;br /&gt;
    -DprojectGroupId=my-groupId \&lt;br /&gt;
    -DprojectArtifactId=my-artifactId \&lt;br /&gt;
    -DprojectVersion=my-version \&lt;br /&gt;
    -DclassName=&amp;quot;org.my.group.MyResource&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn clean&lt;br /&gt;
mvn compile&lt;br /&gt;
mvn package&lt;br /&gt;
...&lt;br /&gt;
mvn quarkus:dev&lt;br /&gt;
mvn quarkus:list-extensions&lt;br /&gt;
mvn quarkus:add-extension -Dextensions=&amp;quot;openshift&amp;quot;&lt;br /&gt;
mvn quarkus:remove-extension -Dextensions=&amp;quot;openshift&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
## mode: jvm&lt;br /&gt;
mvn clean package -DskipTests&lt;br /&gt;
java -jar target/tutorial-app-1.0-SNAPSHOT-runner.jar&lt;br /&gt;
...&lt;br /&gt;
## mode: native&lt;br /&gt;
mvn clean package -DskipTests -Pnative&lt;br /&gt;
./target/tutorial-app-1.0-SNAPSHOT-runner&lt;br /&gt;
...&lt;br /&gt;
## mode: native contianer&lt;br /&gt;
mvn clean package -DskipTests -Pnative -Dquarkus.native.container-build=true&lt;br /&gt;
docker build -f src/main/docker/Dockerfile.native -t example/tutorial-app:1.0-SNAPSHOT .&lt;br /&gt;
docker run -it --rm -p 8080:8080 example/tutorial-app:1.0-SNAPSHOT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2695</id>
		<title>IT-SDK-Maven</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2695"/>
		<updated>2022-08-31T07:45:43Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Creating a Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://maven.apache.org/&lt;br /&gt;
* https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html&lt;br /&gt;
* https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
*https://maven.apache.org/settings.html#Proxies&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Creating a Project=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DinteractiveMode=false&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-quickstart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Install Pachage=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DgroupId=&amp;lt;group-id&amp;gt; -DartifactId=&amp;lt;artifact-id&amp;gt; -Dversion=&amp;lt;version&amp;gt; -Dpackaging=&amp;lt;packaging&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DpomFile=&amp;lt;path-to-pomfile&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Maven Phases=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn clean       # cleans up artifacts created by prior builds&lt;br /&gt;
mvn validate    # validate the project is correct and all necessary information is available&lt;br /&gt;
mvn compile     # compile the source code of the project&lt;br /&gt;
mvn package     # take the compiled code and package it in its distributable format, such as a JAR.&lt;br /&gt;
mvn install     # install the package into the local repository, for use as a dependency in other projects locally&lt;br /&gt;
mvn deploy      # done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Maven POM=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;project xmlns=&amp;quot;http://maven.apache.org/POM/4.0.0&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;&lt;br /&gt;
  &amp;lt;groupId&amp;gt;com.company&amp;lt;/groupId&amp;gt;&lt;br /&gt;
  &amp;lt;artifactId&amp;gt;mqtt-mvn&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
  &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;
  &amp;lt;packaging&amp;gt;jar&amp;lt;/packaging&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;mqtt-mvn&amp;lt;/name&amp;gt;  &lt;br /&gt;
  &amp;lt;properties&amp;gt;&lt;br /&gt;
    &amp;lt;compiler-plugin.version&amp;gt;3.8.1&amp;lt;/compiler-plugin.version&amp;gt;&lt;br /&gt;
    &amp;lt;maven.compiler.release&amp;gt;11&amp;lt;/maven.compiler.release&amp;gt;&lt;br /&gt;
    &amp;lt;maven.compiler.source&amp;gt;1.8&amp;lt;/maven.compiler.source&amp;gt;&lt;br /&gt;
    &amp;lt;maven.compiler.target&amp;gt;1.8&amp;lt;/maven.compiler.target&amp;gt;&lt;br /&gt;
    &amp;lt;project.build.sourceEncoding&amp;gt;UTF-8&amp;lt;/project.build.sourceEncoding&amp;gt;&lt;br /&gt;
    &amp;lt;project.reporting.outputEncoding&amp;gt;UTF-8&amp;lt;/project.reporting.outputEncoding&amp;gt;&lt;br /&gt;
  &amp;lt;/properties&amp;gt;&lt;br /&gt;
  &amp;lt;dependencies&amp;gt;&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
      &amp;lt;groupId&amp;gt;com.hivemq&amp;lt;/groupId&amp;gt;&lt;br /&gt;
      &amp;lt;artifactId&amp;gt;hivemq-mqtt-client&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.3.0&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
  &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
  &amp;lt;build&amp;gt;&lt;br /&gt;
    &amp;lt;plugins&amp;gt;&lt;br /&gt;
      &amp;lt;plugin&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;maven-compiler-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;3.8.1&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;configuration&amp;gt;&lt;br /&gt;
          &amp;lt;source&amp;gt;1.8&amp;lt;/source&amp;gt;&lt;br /&gt;
          &amp;lt;target&amp;gt;1.8&amp;lt;/target&amp;gt;&lt;br /&gt;
        &amp;lt;/configuration&amp;gt;&lt;br /&gt;
      &amp;lt;/plugin&amp;gt;&lt;br /&gt;
    &amp;lt;/plugins&amp;gt;&lt;br /&gt;
  &amp;lt;/build&amp;gt;&lt;br /&gt;
&amp;lt;/project&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-macOS&amp;diff=2693</id>
		<title>IT-OS-Admin-macOS</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-macOS&amp;diff=2693"/>
		<updated>2022-08-25T17:05:10Z</updated>

		<summary type="html">&lt;p&gt;Studying: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*https://support.apple.com/en-us/HT201236&lt;br /&gt;
*https://macos-defaults.com/finder/appleshowallfiles.html&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-macOS&amp;diff=2692</id>
		<title>IT-OS-Admin-macOS</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-macOS&amp;diff=2692"/>
		<updated>2022-08-25T16:26:18Z</updated>

		<summary type="html">&lt;p&gt;Studying: Created page with &amp;quot;* https://macos-defaults.com/finder/appleshowallfiles.html&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://macos-defaults.com/finder/appleshowallfiles.html&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Samer&amp;diff=2691</id>
		<title>IT-OS-Config-Samer</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Samer&amp;diff=2691"/>
		<updated>2022-08-08T11:01:34Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Needed-Apps=&lt;br /&gt;
* https://gist.github.com/grenade/6363978&lt;br /&gt;
* AppEditor: https://github.com/donadigo/appeditor&lt;br /&gt;
* gtk3-widget-factory&lt;br /&gt;
* gtk3-icon-browser&lt;br /&gt;
* https://download.jetbrains.com/fonts/JetBrainsMono-1.0.0.zip&lt;br /&gt;
* https://github.com/jnsh&lt;br /&gt;
* https://github.com/arc-design/arc-theme&lt;br /&gt;
* https://github.com/horst3180/arc-theme&lt;br /&gt;
* https://github.com/horst3180/arc-icon-theme&lt;br /&gt;
* https://github.com/elementary/stylesheet&lt;br /&gt;
* https://github.com/elementary/icons&lt;br /&gt;
* https://www.gnome-look.org/p/1334194/&lt;br /&gt;
* https://unetbootin.github.io/&lt;br /&gt;
&lt;br /&gt;
* Wallpapers: https://www.wallpaperflare.com/&lt;br /&gt;
&lt;br /&gt;
=System Arch=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
- sda1: 01GB &amp;gt;&amp;gt; /boot/efi&lt;br /&gt;
- sda2: 02GB &amp;gt;&amp;gt; swap&lt;br /&gt;
- sda3: 70GB &amp;gt;&amp;gt; /&lt;br /&gt;
- sda4: rest &amp;gt;&amp;gt; /home&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Prompt Customization==&lt;br /&gt;
* https://wiki.archlinux.org/title/Bash/Prompt_customization&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
\e[00;33;41m       # Start color scheme (\e[); (Text-Format; Foreground ; Background); Stop color scheme (m).&lt;br /&gt;
\[\033[00;34;41m\] # Start color scheme (\[\033); (Text-Format; Foreground ; Background); Stop color scheme (m\]).&lt;br /&gt;
-----------&lt;br /&gt;
Text-Format:&lt;br /&gt;
00: Normal Text&lt;br /&gt;
01: Bold&lt;br /&gt;
02: ???&lt;br /&gt;
03: Italic&lt;br /&gt;
04: Underlined text&lt;br /&gt;
-----------&lt;br /&gt;
Fortground:&lt;br /&gt;
30: Black&lt;br /&gt;
31: Red&lt;br /&gt;
32: Green&lt;br /&gt;
33: Yellow&lt;br /&gt;
34: Blue&lt;br /&gt;
35: Purple&lt;br /&gt;
36: Cyan&lt;br /&gt;
37: White&lt;br /&gt;
-----------&lt;br /&gt;
Background:&lt;br /&gt;
40: Black&lt;br /&gt;
41: Red&lt;br /&gt;
42: Green&lt;br /&gt;
43: Yellow&lt;br /&gt;
44: Blue&lt;br /&gt;
45: Purple&lt;br /&gt;
46: Cyan&lt;br /&gt;
47: White&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
PS1=&amp;quot;\[\033[32m\]\u@\h:\[\033[34m\][\w]\[\033[32m\]$(__git_ps1)\[\033[0m\]\n$ &amp;quot;&lt;br /&gt;
---&lt;br /&gt;
PROMPT_COMMAND=&lt;br /&gt;
echo -ne &amp;quot;\033]0;Git\a&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
alias ls='ls -alh'&lt;br /&gt;
alias ll='ls -alF'&lt;br /&gt;
alias cls='clear'&lt;br /&gt;
alias sysu='sudo dnf update'&lt;br /&gt;
alias sysi='sudo dnf install'&lt;br /&gt;
alias sysr='sudo dnf remove'&lt;br /&gt;
alias mc='LANG=en_EN.UTF-8 mc'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Setting VIM=&lt;br /&gt;
* File: .vimrc&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
map &amp;lt;C-a&amp;gt; &amp;lt;esc&amp;gt;ggVG&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Themeing=&lt;br /&gt;
* Tool (GTK+ Demo): gtk3-demo&lt;br /&gt;
* Tool (GTK+ Icon Browser): gtk3-icon-browser&lt;br /&gt;
* Tool (GTK+ Widget Factory): gtk3-widget-factory&lt;br /&gt;
* Arc-Theme-Colors: https://www.color-hex.com/color-palette/36646&lt;br /&gt;
==Terminal==&lt;br /&gt;
===Sams===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
BG= #2E2E2E&lt;br /&gt;
FG= #D3D7CF&lt;br /&gt;
Pallete: ['#073642','#dc322f','#859900','#b58900','#268bd2','#ec0048','#2aa198','#94a3a5','#586e75','#cb4b16','#859900','#b58900','#268bd2','#d33682','#2aa198','#6c71c4']&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dracula===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
BG= #282A36&lt;br /&gt;
FG= #F8F8F2&lt;br /&gt;
Pallete-gnome: ['#262626', '#E356A7', '#42E66C', '#E4F34A', '#9B6BDF', '#E64747', '#75D7EC', '#EFA554', '#7A7A7A', '#FF79C6', '#50FA7B', '#F1FA8C', '#BD93F9', '#FF5555', '#8BE9FD', '#FFB86C']&lt;br /&gt;
Pallete-eos: #262626:#E356A7:#42E66C:#E4F34A:#9B6BDF:#E64747:#75D7EC:#EFA554:#7A7A7A:#FF79C6:#50FA7B:#F1FA8C:#BD93F9:#FF5555:#8BE9FD:#FFB86C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Terminal: elementary==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
BG= rgba(46, 46, 46, 0.95) : #2E2E2E&lt;br /&gt;
FG= #a5a5a5&lt;br /&gt;
Pallete: '#073642:#dc322f:#859900:#b58900:#268bd2:#ec0048:#2aa198:#94a3a5:#586e75:#cb4b16:#859900:#b58900:#268bd2:#d33682:#2aa198:#6c71c4'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Terminal: Arc==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Terminal-BG= #4B5162 alternativ #282A36&lt;br /&gt;
Terminal-FG= #D3D7CF&lt;br /&gt;
Taskbar    = #001823 bzw. rgba(0, 24, 35, 1)&lt;br /&gt;
Taskbar    = #001923 bzw. rgba(0, 25, 35, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mix-Colors==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
###############################################&lt;br /&gt;
# Created by cinnamon-settings - please do not edit or reformat.&lt;br /&gt;
#&lt;br /&gt;
style &amp;quot;cs-scrollbar-style&amp;quot; {&lt;br /&gt;
GtkScrollbar::slider-width = 10&lt;br /&gt;
}&lt;br /&gt;
class &amp;quot;GtkScrollbar&amp;quot; style &amp;quot;cs-scrollbar-style&amp;quot;&lt;br /&gt;
###############################################&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CSS-Style==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.config/gtk-3.0/gtk.css&lt;br /&gt;
/*********************/&lt;br /&gt;
notebook tab {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
notebook tab button {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  padding: 1px;&lt;br /&gt;
  margin: 1px;&lt;br /&gt;
}&lt;br /&gt;
/*********************&lt;br /&gt;
* wingpanel support *&lt;br /&gt;
********************/&lt;br /&gt;
.panel {  &lt;br /&gt;
   background-color: rgba(47,55,66,1.0);  &lt;br /&gt;
   transition: all 1s ease-in-out;&lt;br /&gt;
}    &lt;br /&gt;
.panel.maximized {  &lt;br /&gt;
   background-color: rgba(47,55,66,1.0); &lt;br /&gt;
}&lt;br /&gt;
/*********************/&lt;br /&gt;
VteTerminal,&lt;br /&gt;
TerminalScreen {&lt;br /&gt;
padding: 10px 10px 10px 10px;&lt;br /&gt;
-VteTerminal-inner-border: 10px 10px 10px 10px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plank-Theme==&lt;br /&gt;
Save the new Theme under the following Folder:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.local/share/plank/themes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
* &amp;quot;'''Cascadia Mono'''&amp;quot; with Size: '''10'''&lt;br /&gt;
* https://github.com/microsoft/cascadia-code/releases&lt;br /&gt;
* Use &amp;quot;ttf&amp;quot; Version&lt;br /&gt;
* Colors: One Half Dark https://github.com/sonph/onehalf&lt;br /&gt;
* https://github.com/aarowill/base16-gnome-terminal&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;background&amp;quot;: &amp;quot;#282C34&amp;quot;,&lt;br /&gt;
&amp;quot;black&amp;quot;: &amp;quot;#282C34&amp;quot;,&lt;br /&gt;
&amp;quot;blue&amp;quot;: &amp;quot;#61AFEF&amp;quot;,&lt;br /&gt;
&amp;quot;brightBlack&amp;quot;: &amp;quot;#5A6374&amp;quot;,&lt;br /&gt;
&amp;quot;brightBlue&amp;quot;: &amp;quot;#61AFEF&amp;quot;,&lt;br /&gt;
&amp;quot;brightCyan&amp;quot;: &amp;quot;#56B6C2&amp;quot;,&lt;br /&gt;
&amp;quot;brightGreen&amp;quot;: &amp;quot;#98C379&amp;quot;,&lt;br /&gt;
&amp;quot;brightPurple&amp;quot;: &amp;quot;#C678DD&amp;quot;,&lt;br /&gt;
&amp;quot;brightRed&amp;quot;: &amp;quot;#E06C75&amp;quot;,&lt;br /&gt;
&amp;quot;brightWhite&amp;quot;: &amp;quot;#DCDFE4&amp;quot;,&lt;br /&gt;
&amp;quot;brightYellow&amp;quot;: &amp;quot;#E5C07B&amp;quot;,&lt;br /&gt;
&amp;quot;cursorColor&amp;quot;: &amp;quot;#FFFFFF&amp;quot;,&lt;br /&gt;
&amp;quot;cyan&amp;quot;: &amp;quot;#56B6C2&amp;quot;,&lt;br /&gt;
&amp;quot;foreground&amp;quot;: &amp;quot;#DCDFE4&amp;quot;,&lt;br /&gt;
&amp;quot;green&amp;quot;: &amp;quot;#98C379&amp;quot;,&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;One Half Dark&amp;quot;,&lt;br /&gt;
&amp;quot;purple&amp;quot;: &amp;quot;#C678DD&amp;quot;,&lt;br /&gt;
&amp;quot;red&amp;quot;: &amp;quot;#E06C75&amp;quot;,&lt;br /&gt;
&amp;quot;selectionBackground&amp;quot;: &amp;quot;#FFFFFF&amp;quot;,&lt;br /&gt;
&amp;quot;white&amp;quot;: &amp;quot;#DCDFE4&amp;quot;,&lt;br /&gt;
&amp;quot;yellow&amp;quot;: &amp;quot;#E5C07B&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Setting OS=&lt;br /&gt;
==OS: ubuntu==&lt;br /&gt;
* Ubuntu 18.04 LTS: ubuntu/bionic64&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install curl&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
sudo apt install python&lt;br /&gt;
...&lt;br /&gt;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;br /&gt;
sudo add-apt-repository &amp;quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot;&lt;br /&gt;
sudo apt install docker-ce&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
...&lt;br /&gt;
sudo curl -L &amp;quot;https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)&amp;quot; -o /usr/local/bin/docker-compose&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-compose&lt;br /&gt;
...&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==OS: fedora==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Images==&lt;br /&gt;
* https://www.howtogeek.com/109369/how-to-quickly-resize-convert-modify-images-from-the-linux-terminal/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install ImageMagick&lt;br /&gt;
convert howtogeek.png howtogeek.jpg&lt;br /&gt;
convert howtogeek.png -quality 95 howtogeek.jpg&lt;br /&gt;
convert example.png -resize 200x100 example.png&lt;br /&gt;
convert example.png -resize 200x100! example.png&lt;br /&gt;
convert example.png -resize 200 example.png         # Width 200&lt;br /&gt;
convert example.png -resize x100 example.png        # Hight 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
inkscape –-export-type=png image.svg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Samer&amp;diff=2690</id>
		<title>IT-OS-Config-Samer</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Samer&amp;diff=2690"/>
		<updated>2022-08-08T10:59:39Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Needed-Apps=&lt;br /&gt;
* https://gist.github.com/grenade/6363978&lt;br /&gt;
* AppEditor: https://github.com/donadigo/appeditor&lt;br /&gt;
* gtk3-widget-factory&lt;br /&gt;
* gtk3-icon-browser&lt;br /&gt;
* https://download.jetbrains.com/fonts/JetBrainsMono-1.0.0.zip&lt;br /&gt;
* https://github.com/jnsh&lt;br /&gt;
* https://github.com/arc-design/arc-theme&lt;br /&gt;
* https://github.com/horst3180/arc-theme&lt;br /&gt;
* https://github.com/horst3180/arc-icon-theme&lt;br /&gt;
* https://github.com/elementary/stylesheet&lt;br /&gt;
* https://github.com/elementary/icons&lt;br /&gt;
* https://www.gnome-look.org/p/1334194/&lt;br /&gt;
* https://unetbootin.github.io/&lt;br /&gt;
&lt;br /&gt;
* Wallpapers: https://www.wallpaperflare.com/&lt;br /&gt;
&lt;br /&gt;
=System Arch=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
- sda1: 01GB &amp;gt;&amp;gt; /boot/efi&lt;br /&gt;
- sda2: 02GB &amp;gt;&amp;gt; swap&lt;br /&gt;
- sda3: 70GB &amp;gt;&amp;gt; /&lt;br /&gt;
- sda4: rest &amp;gt;&amp;gt; /home&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Prompt Customization==&lt;br /&gt;
* https://wiki.archlinux.org/title/Bash/Prompt_customization&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
\e[00;33;41m       # Start color scheme (\e[); (Text-Format; Foreground ; Background); Stop color scheme (m).&lt;br /&gt;
\[\033[00;34;41m\] # Start color scheme (\[\033); (Text-Format; Foreground ; Background); Stop color scheme (m\]).&lt;br /&gt;
-----------&lt;br /&gt;
Text-Format:&lt;br /&gt;
00: Normal Text&lt;br /&gt;
01: Bold&lt;br /&gt;
02: ???&lt;br /&gt;
03: Italic&lt;br /&gt;
04: Underlined text&lt;br /&gt;
-----------&lt;br /&gt;
Fortground:&lt;br /&gt;
30: Black&lt;br /&gt;
31: Red&lt;br /&gt;
32: Green&lt;br /&gt;
33: Yellow&lt;br /&gt;
34: Blue&lt;br /&gt;
35: Purple&lt;br /&gt;
36: Cyan&lt;br /&gt;
37: White&lt;br /&gt;
-----------&lt;br /&gt;
Background:&lt;br /&gt;
40: Black&lt;br /&gt;
41: Red&lt;br /&gt;
42: Green&lt;br /&gt;
43: Yellow&lt;br /&gt;
44: Blue&lt;br /&gt;
45: Purple&lt;br /&gt;
46: Cyan&lt;br /&gt;
47: White&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
PS1=&amp;quot;\[\033[32m\]\u@\h:\[\033[34m\][\w]\[\033[32m\]$(__git_ps1)\[\033[0m\]\n$ &amp;quot;&lt;br /&gt;
---&lt;br /&gt;
PROMPT_COMMAND=&lt;br /&gt;
echo -ne &amp;quot;\033]0;Git\a&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
alias ls='ls -alh'&lt;br /&gt;
alias ll='ls -alF'&lt;br /&gt;
alias cls='clear'&lt;br /&gt;
alias sysu='sudo dnf update'&lt;br /&gt;
alias sysi='sudo dnf install'&lt;br /&gt;
alias sysr='sudo dnf remove'&lt;br /&gt;
alias mc='LANG=en_EN.UTF-8 mc'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Setting VIM=&lt;br /&gt;
* File: .vimrc&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
map &amp;lt;C-a&amp;gt; &amp;lt;esc&amp;gt;ggVG&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Themeing=&lt;br /&gt;
* Tool (GTK+ Demo): gtk3-demo&lt;br /&gt;
* Tool (GTK+ Icon Browser): gtk3-icon-browser&lt;br /&gt;
* Tool (GTK+ Widget Factory): gtk3-widget-factory&lt;br /&gt;
* Arc-Theme-Colors: https://www.color-hex.com/color-palette/36646&lt;br /&gt;
==Terminal==&lt;br /&gt;
===Sams===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
BG= #2E2E2E&lt;br /&gt;
FG= #D3D7CF&lt;br /&gt;
Pallete: ['#073642','#dc322f','#859900','#b58900','#268bd2','#ec0048','#2aa198','#94a3a5','#586e75','#cb4b16','#859900','#b58900','#268bd2','#d33682','#2aa198','#6c71c4']&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dracula===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
BG= #282A36&lt;br /&gt;
FG= #F8F8F2&lt;br /&gt;
Pallete-gnome: ['#262626', '#E356A7', '#42E66C', '#E4F34A', '#9B6BDF', '#E64747', '#75D7EC', '#EFA554', '#7A7A7A', '#FF79C6', '#50FA7B', '#F1FA8C', '#BD93F9', '#FF5555', '#8BE9FD', '#FFB86C']&lt;br /&gt;
Pallete-eos: #262626:#E356A7:#42E66C:#E4F34A:#9B6BDF:#E64747:#75D7EC:#EFA554:#7A7A7A:#FF79C6:#50FA7B:#F1FA8C:#BD93F9:#FF5555:#8BE9FD:#FFB86C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Terminal: elementary==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
BG= rgba(46, 46, 46, 0.95) : #2E2E2E&lt;br /&gt;
FG= #a5a5a5&lt;br /&gt;
Pallete: '#073642:#dc322f:#859900:#b58900:#268bd2:#ec0048:#2aa198:#94a3a5:#586e75:#cb4b16:#859900:#b58900:#268bd2:#d33682:#2aa198:#6c71c4'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Terminal: Arc==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Terminal-BG= #4B5162 alternativ #282A36&lt;br /&gt;
Terminal-FG= #D3D7CF&lt;br /&gt;
Taskbar    = #001823 bzw. rgba(0, 24, 35, 1)&lt;br /&gt;
Taskbar    = #001923 bzw. rgba(0, 25, 35, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Mix-Colors==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
###############################################&lt;br /&gt;
# Created by cinnamon-settings - please do not edit or reformat.&lt;br /&gt;
#&lt;br /&gt;
style &amp;quot;cs-scrollbar-style&amp;quot; {&lt;br /&gt;
GtkScrollbar::slider-width = 10&lt;br /&gt;
}&lt;br /&gt;
class &amp;quot;GtkScrollbar&amp;quot; style &amp;quot;cs-scrollbar-style&amp;quot;&lt;br /&gt;
###############################################&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CSS-Style==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.config/gtk-3.0/gtk.css&lt;br /&gt;
/*********************/&lt;br /&gt;
notebook tab {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
notebook tab button {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  padding: 1px;&lt;br /&gt;
  margin: 1px;&lt;br /&gt;
}&lt;br /&gt;
/*********************&lt;br /&gt;
* wingpanel support *&lt;br /&gt;
********************/&lt;br /&gt;
.panel {  &lt;br /&gt;
   background-color: rgba(47,55,66,1.0);  &lt;br /&gt;
   transition: all 1s ease-in-out;&lt;br /&gt;
}    &lt;br /&gt;
.panel.maximized {  &lt;br /&gt;
   background-color: rgba(47,55,66,1.0); &lt;br /&gt;
}&lt;br /&gt;
/*********************/&lt;br /&gt;
VteTerminal,&lt;br /&gt;
TerminalScreen {&lt;br /&gt;
padding: 10px 10px 10px 10px;&lt;br /&gt;
-VteTerminal-inner-border: 10px 10px 10px 10px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plank-Theme==&lt;br /&gt;
Save the new Theme under the following Folder:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
~/.local/share/plank/themes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
* &amp;quot;'''Cascadia Mono'''&amp;quot; with Size: '''10'''&lt;br /&gt;
* https://github.com/microsoft/cascadia-code/releases&lt;br /&gt;
* Use &amp;quot;ttf&amp;quot; Version&lt;br /&gt;
* Colors: One Half Dark https://github.com/sonph/onehalf&lt;br /&gt;
* https://github.com/aarowill/base16-gnome-terminal&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;background&amp;quot;: &amp;quot;#282C34&amp;quot;,&lt;br /&gt;
&amp;quot;black&amp;quot;: &amp;quot;#282C34&amp;quot;,&lt;br /&gt;
&amp;quot;blue&amp;quot;: &amp;quot;#61AFEF&amp;quot;,&lt;br /&gt;
&amp;quot;brightBlack&amp;quot;: &amp;quot;#5A6374&amp;quot;,&lt;br /&gt;
&amp;quot;brightBlue&amp;quot;: &amp;quot;#61AFEF&amp;quot;,&lt;br /&gt;
&amp;quot;brightCyan&amp;quot;: &amp;quot;#56B6C2&amp;quot;,&lt;br /&gt;
&amp;quot;brightGreen&amp;quot;: &amp;quot;#98C379&amp;quot;,&lt;br /&gt;
&amp;quot;brightPurple&amp;quot;: &amp;quot;#C678DD&amp;quot;,&lt;br /&gt;
&amp;quot;brightRed&amp;quot;: &amp;quot;#E06C75&amp;quot;,&lt;br /&gt;
&amp;quot;brightWhite&amp;quot;: &amp;quot;#DCDFE4&amp;quot;,&lt;br /&gt;
&amp;quot;brightYellow&amp;quot;: &amp;quot;#E5C07B&amp;quot;,&lt;br /&gt;
&amp;quot;cursorColor&amp;quot;: &amp;quot;#FFFFFF&amp;quot;,&lt;br /&gt;
&amp;quot;cyan&amp;quot;: &amp;quot;#56B6C2&amp;quot;,&lt;br /&gt;
&amp;quot;foreground&amp;quot;: &amp;quot;#DCDFE4&amp;quot;,&lt;br /&gt;
&amp;quot;green&amp;quot;: &amp;quot;#98C379&amp;quot;,&lt;br /&gt;
&amp;quot;name&amp;quot;: &amp;quot;One Half Dark&amp;quot;,&lt;br /&gt;
&amp;quot;purple&amp;quot;: &amp;quot;#C678DD&amp;quot;,&lt;br /&gt;
&amp;quot;red&amp;quot;: &amp;quot;#E06C75&amp;quot;,&lt;br /&gt;
&amp;quot;selectionBackground&amp;quot;: &amp;quot;#FFFFFF&amp;quot;,&lt;br /&gt;
&amp;quot;white&amp;quot;: &amp;quot;#DCDFE4&amp;quot;,&lt;br /&gt;
&amp;quot;yellow&amp;quot;: &amp;quot;#E5C07B&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Setting OS=&lt;br /&gt;
==OS: ubuntu==&lt;br /&gt;
* Ubuntu 18.04 LTS: ubuntu/bionic64&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install curl&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
sudo apt install python&lt;br /&gt;
...&lt;br /&gt;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;br /&gt;
sudo add-apt-repository &amp;quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot;&lt;br /&gt;
sudo apt install docker-ce&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
...&lt;br /&gt;
sudo curl -L &amp;quot;https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)&amp;quot; -o /usr/local/bin/docker-compose&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-compose&lt;br /&gt;
...&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==OS: fedora==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Images==&lt;br /&gt;
* https://www.howtogeek.com/109369/how-to-quickly-resize-convert-modify-images-from-the-linux-terminal/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install ImageMagick&lt;br /&gt;
convert howtogeek.png howtogeek.jpg&lt;br /&gt;
convert howtogeek.png -quality 95 howtogeek.jpg&lt;br /&gt;
convert example.png -resize 200x100 example.png&lt;br /&gt;
convert example.png -resize 200x100! example.png&lt;br /&gt;
convert example.png -resize 200 example.png         # Width 200&lt;br /&gt;
convert example.png -resize x100 example.png        # Hight 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
inkscape –export-type=png image.svg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2689</id>
		<title>IT-OS-Config-Themes</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2689"/>
		<updated>2022-08-08T10:40:12Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Theme-Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://www.svgs.us/&lt;br /&gt;
* http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
* https://developer.gnome.org/creating-metacity-themes/stable/&lt;br /&gt;
* https://developer.gnome.org/icon-theme-spec/&lt;br /&gt;
* https://docs.openstack.org/devstack/latest/_static/css/native.css&lt;br /&gt;
* https://git.archlinux.org/vhosts/wiki.archlinux.org.git&lt;br /&gt;
* https://gtkthemingguide.now.sh/#/&lt;br /&gt;
* https://iconset.io/&lt;br /&gt;
* https://mayccoll.github.io/Gogh/&lt;br /&gt;
* https://medium.com/@teejeetech/introducing-aptik-theme-manager-b99704cbcb43&lt;br /&gt;
* https://nucleoapp.com/&lt;br /&gt;
* https://rgb.to/&lt;br /&gt;
* https://sketchicons.com/&lt;br /&gt;
* https://surajmandal.in/elementary-x/&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GTK&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Icons&lt;br /&gt;
* https://wiki.gnome.org/Attic/GnomeArt/Tutorials/MetacityThemes&lt;br /&gt;
* https://www.lingoapp.com/&lt;br /&gt;
&lt;br /&gt;
=Theme-Tools=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install meson sassc glib&lt;br /&gt;
sudo dnf install gtk3-widget-factory&lt;br /&gt;
sudo dnf install gtk3-icon-browser &lt;br /&gt;
sudo apt-get install glade libgtk-3-dev geany&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Projects=&lt;br /&gt;
* https://github.com/andreisergiu98/arc-flatabulous-theme&lt;br /&gt;
* https://github.com/btd1337/Cairo-Dock-macOS-Sierra-Style&lt;br /&gt;
* https://github.com/btd1337/eOS-Sierra-Gtk&lt;br /&gt;
* https://github.com/btd1337/La-Sierra-Icon-Theme&lt;br /&gt;
* https://github.com/horst3180/Arc-theme&lt;br /&gt;
* https://github.com/jnsh/arc-theme&lt;br /&gt;
* https://github.com/keeferrourke/la-capitaine-icon-theme&lt;br /&gt;
* https://github.com/surajmandalcell/elementary-x&lt;br /&gt;
* https://github.com/themix-project/oomox&lt;br /&gt;
* https://github.com/thomas-kammerer/elementary-x2&lt;br /&gt;
* https://github.com/ubuntu/yaru&lt;br /&gt;
* https://github.com/vinceliuice/&lt;br /&gt;
* https://github.com/vinceliuice/grub2-themes&lt;br /&gt;
* https://github.com/vinceliuice/Mojave-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Sierra-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Toffee-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Yosemite-gtk-theme&lt;br /&gt;
* https://github.com/linuxmint/mint-themes&lt;br /&gt;
&lt;br /&gt;
=Theme-Settings=&lt;br /&gt;
==Terminal==&lt;br /&gt;
* https://draculatheme.com/&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
dconf dump /com/gexperts/Tilix/profiles/&lt;br /&gt;
dconf dump /org/gnome/terminal/legacy/profiles:/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Icons==&lt;br /&gt;
* https://www.iconfinder.com/iconsets/animal-kingdom-vol-2&lt;br /&gt;
* Inherits=Moka,Adwaita,gnome,hicolor&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
gtk-update-icon-cache ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==HiDPI==&lt;br /&gt;
*https://wiki.archlinux.org/index.php/HiDPI&lt;br /&gt;
*https://winaero.com/blog/find-change-screen-dpi-linux/&lt;br /&gt;
*https://computingforgeeks.com/how-to-set-correct-screen-dpi-in-linux-xresources/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt -y install x11-utils         ### Install on Debian / Ubuntu&lt;br /&gt;
sudo dnf -y install xorg-x11-utils    ### Install on Fedora / RHEL&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xdpyinfo | grep -B 2 resolution&lt;br /&gt;
xdpyinfo | grep dots&lt;br /&gt;
xrandr | grep -w connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
http://dpi.lv/&lt;br /&gt;
https://goodcalculators.com/ppi-pixels-per-inch-calculator/&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
echo 'Xft.dpi:   94'  &amp;gt; ~/.Xresources   ### set correct dots per inch (DPI)&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xrdb ~/.Xresources          ### Load a resource file&lt;br /&gt;
xrdb -merge ~/.Xresources   ### load a resource file, and merge with the current settings&lt;br /&gt;
xrdb -query -all            ### see the currently loaded resources&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# HP-Box: 15.6&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 100 DPI&lt;br /&gt;
# HP-Box: 17.3&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 91 DPI&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
*https://wiki.archlinux.org/title/font_configuration&lt;br /&gt;
*https://wiki.archlinux.org/title/Font_configuration/Examples&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/share/fonts/&lt;br /&gt;
~/.local/share/fonts&lt;br /&gt;
-----&lt;br /&gt;
/etc/fonts/fonts.conf&lt;br /&gt;
/etc/fonts/local.conf&lt;br /&gt;
/etc/fonts/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/fonts.conf            ### ~/.fonts.conf/&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
~/.config/fontconfig/fonts.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install open-sans-fonts&lt;br /&gt;
sudo dnf install google-roboto-fonts&lt;br /&gt;
sudo dnf install google-roboto-mono-fonts&lt;br /&gt;
sudo dnf install google-noto-sans-fonts&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
https://github.com/microsoft/cascadia-code/releases          ### &amp;quot;Cascadia Mono Regular&amp;quot; @ 12&lt;br /&gt;
wget https://download.jetbrains.com/fonts/JetBrainsMono-1.0.0.zip&lt;br /&gt;
wget https://raw.githubusercontent.com/mrbvrz/segoe-ui-linux/master/install.sh&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
sudo fc-cache -f -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Text scaling factor: 1.0&lt;br /&gt;
Hinting: Full&lt;br /&gt;
Antialiasing: RGBA&lt;br /&gt;
RGBA Order: RGB&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Interface Text: @10&lt;br /&gt;
Document font: @10&lt;br /&gt;
Monospace font: @10&lt;br /&gt;
Legacy Window Titels: @10&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Tweaks=&lt;br /&gt;
==Mix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
background-color: #333&lt;br /&gt;
background-color: #f5f5f5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Desktop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
pre {&lt;br /&gt;
background-color: #333;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
border-radius: 4px;&lt;br /&gt;
color: #fff;&lt;br /&gt;
display: block;&lt;br /&gt;
font-size: 13px;&lt;br /&gt;
line-height: 1.4;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
overflow: auto;&lt;br /&gt;
padding: 20px 30px;&lt;br /&gt;
padding: 9.5px;&lt;br /&gt;
word-break: break-all;&lt;br /&gt;
word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Scrollbar==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
@import 'colors.css';&lt;br /&gt;
&lt;br /&gt;
.scrollbar {&lt;br /&gt;
  -GtkScrollbar-has-backward-stepper: false;&lt;br /&gt;
  -GtkScrollbar-has-forward-stepper: false;&lt;br /&gt;
  -GtkRange-slider-width: 20;&lt;br /&gt;
  -GtkRange-stepper-size: 20;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
scrollbar slider {&lt;br /&gt;
    /* Size of the slider */&lt;br /&gt;
    min-width: 10px;&lt;br /&gt;
    min-height: 10px;&lt;br /&gt;
    border-radius: 22px;&lt;br /&gt;
&lt;br /&gt;
    /* Padding around the slider */&lt;br /&gt;
    border: 5px solid transparent;&lt;br /&gt;
}&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Titelbar==&lt;br /&gt;
* https://unix.stackexchange.com/questions/276951/how-to-change-the-titlebar-height-in-standard-gtk-apps-and-those-with-headerbars?noredirect=1&amp;amp;lq=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
headerbar entry,&lt;br /&gt;
headerbar spinbutton,&lt;br /&gt;
headerbar button,&lt;br /&gt;
headerbar separator {&lt;br /&gt;
    margin-top: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    margin-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
headerbar {&lt;br /&gt;
    min-height: 24px;&lt;br /&gt;
    padding-left: 2px; /* same as childrens vertical margins for nicer proportions */&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    margin: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove Dashed lines==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Change wingpanel icon==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.panel {&lt;br /&gt;
  background-color: transparent;&lt;br /&gt;
  transition: all 100ms ease-in-out;&lt;br /&gt;
  background-image: url(&amp;quot;elementaryicon.png&amp;quot;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  font-size:0px !important;&lt;br /&gt;
}&lt;br /&gt;
.panel-app-button &amp;gt; GtkWidget &amp;gt; GtkWidget:first-child {&lt;br /&gt;
    padding: 0px 24px 0px 0px;&lt;br /&gt;
    font-size: 0px;&lt;br /&gt;
    background-image: url(&amp;quot;icon.svg&amp;quot;);&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Fedora&amp;diff=2688</id>
		<title>IT-OS-Config-Fedora</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Fedora&amp;diff=2688"/>
		<updated>2022-08-08T10:39:19Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Theme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ref =&lt;br /&gt;
* https://www.server-world.info/en/&lt;br /&gt;
* http://download.fedoraproject.org/pub/fedora/linux/releases/&lt;br /&gt;
* https://docs.fedoraproject.org/en-US/fedora/f32/release-notes/welcome/Hardware_Overview/&lt;br /&gt;
* https://developer.fedoraproject.org/&lt;br /&gt;
* https://koji.fedoraproject.org/koji/index&lt;br /&gt;
* https://src.fedoraproject.org/&lt;br /&gt;
* https://github.com/rpmfusion-infra/fedy/tree/master/plugins&lt;br /&gt;
&lt;br /&gt;
=Tweaks=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo hostnamectl status&lt;br /&gt;
sudo hostnamectl set-hostname --static &amp;quot;box-blue&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/dnf/dnf.conf&lt;br /&gt;
---------------------------------&lt;br /&gt;
fastestmirror=true               ### a metric is used to find the fastest available mirror.&lt;br /&gt;
max_parallel_downloads=10        ### Maximum number of simultaneous package downloads. Defaults to 3. Maximum of 20.&lt;br /&gt;
deltarpm=true                    ### Downloading much smaller delta RPM files, rebuilding them to RPM locally.     &lt;br /&gt;
---------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
gsettings set org.gnome.nautilus.preferences always-use-location-entry true&lt;br /&gt;
gsettings set org.gnome.desktop.peripherals.mouse natural-scroll false&lt;br /&gt;
gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false&lt;br /&gt;
---&lt;br /&gt;
gsettings reset org.gnome.desktop.interface font-name&lt;br /&gt;
gsettings reset org.gnome.settings-daemon.plugins.xsettings antialiasing&lt;br /&gt;
gsettings reset org.gnome.settings-daemon.plugins.xsettings hinting&lt;br /&gt;
gsettings reset org.gnome.settings-daemon.plugins.xsettings rgba-order&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Software Installation=&lt;br /&gt;
==Initial Repos==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @c-development @d-development @virtualization ansible&lt;br /&gt;
sudo dnf install dkms kernel-devel elfutils-libelf-devel zlib-devel perl&lt;br /&gt;
---&lt;br /&gt;
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm&lt;br /&gt;
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Development==            &lt;br /&gt;
* [[IT-SDK-Java#Installing_Java]]&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install gcc&lt;br /&gt;
sudo dnf install golang&lt;br /&gt;
sudo dnf install perl-core&lt;br /&gt;
sudo dnf install nodejs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Media codecs==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf group upgrade --with-optional Multimedia&lt;br /&gt;
---&lt;br /&gt;
sudo dnf install \&lt;br /&gt;
ffmpeg \&lt;br /&gt;
lame\* --exclude=lame-devel \&lt;br /&gt;
gstreamer1-libav \&lt;br /&gt;
gstreamer1-plugin-openh264 \&lt;br /&gt;
gstreamer1-plugins-ugly \&lt;br /&gt;
gstreamer1-plugins-{bad-\*,good-\*,base} --exclude=gstreamer1-plugins-bad-free-devel \&lt;br /&gt;
rpmfusion-free-obsolete-packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mix-Software==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install clamav clamtk clamav-update     # Antivirus for detecting trojans, viruses, malware.&lt;br /&gt;
sudo dnf install duf tig&lt;br /&gt;
sudo dnf install sysstat htop bashtop glances neofetch   # Performance &amp;amp; Monitoring&lt;br /&gt;
sudo dnf install unrar p7zip p7zip-plugins       # Archive-Tools&lt;br /&gt;
sudo dnf install gnome-tweak-tool                # Tweaks&lt;br /&gt;
sudo dnf install gnome-extensions-app&lt;br /&gt;
sudo dnf install tilix&lt;br /&gt;
sudo dnf install dconf-editor&lt;br /&gt;
sudo dnf install alacarte appeditor              # Application-Editor&lt;br /&gt;
sudo dnf install geary                           # Email-Client&lt;br /&gt;
sudo dnf install vlc&lt;br /&gt;
sudo dnf install youtube-dl&lt;br /&gt;
sudo dnf install libdvdcss                       # To play DVD&lt;br /&gt;
sudo dnf install mediawriter&lt;br /&gt;
sudo dnf install steam&lt;br /&gt;
sudo dnf install https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors.x86_64.rpm&lt;br /&gt;
sudo dnf remove libreoffice*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install tlp tlp-rdw                    # Reduce Battery Usage&lt;br /&gt;
sudo systemctl enable tlp                       # Enable &lt;br /&gt;
sudo tlp-stat -b                                # To view the Battery informations and status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install clamav clamav-update&lt;br /&gt;
sudo freshclam&lt;br /&gt;
clamscan --infected --remove --recursive .&lt;br /&gt;
clamscan --infected --remove --recursive /home&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Browser-Extensions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm&lt;br /&gt;
https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep&lt;br /&gt;
----&lt;br /&gt;
https://extensions.gnome.org/extension/1160/dash-to-panel/&lt;br /&gt;
https://extensions.gnome.org/extension/19/user-themes/&lt;br /&gt;
https://extensions.gnome.org/extension/4655/date-menu-formatter/    ### kk:mm\n EEEE\ndd.MM.yyy  '[KW-'ww']'&lt;br /&gt;
https://extensions.gnome.org/extension/3628/arcmenu/&lt;br /&gt;
-----&lt;br /&gt;
https://github.com/balena-io/etcher&lt;br /&gt;
https://github.com/oguzhaninan/Stacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Desktops=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @workstation-product-environment&lt;br /&gt;
sudo dnf install @gnome-desktop&lt;br /&gt;
sudo dnf install @pantheon-desktop&lt;br /&gt;
sudo dnf install @cinnamon-desktop&lt;br /&gt;
sudo dnf install @mate-desktop&lt;br /&gt;
sudo dnf install @kde-desktop&lt;br /&gt;
sudo dnf install @xfce-desktop&lt;br /&gt;
sudo dnf install @lxde-desktop&lt;br /&gt;
sudo dnf install @deepin-desktop&lt;br /&gt;
---&lt;br /&gt;
sudo systemctl enable gdm.service&lt;br /&gt;
sudo systemctl set-default graphical.target    ### Start system with graphical mode. &lt;br /&gt;
sudi systemctl set-default multi-user.target   ### Start system with text mode.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Desktop: Pantheon==&lt;br /&gt;
* src: https://github.com/decathorpe&lt;br /&gt;
* src: https://decathorpe.com/fedora-elementary-stable-status.html&lt;br /&gt;
* src: https://eos-techs.com/&lt;br /&gt;
* src: https://wiki.odex.be/en/Usage/Configuration/P/Pantheon&lt;br /&gt;
===Install===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf upgrade --refresh -y&lt;br /&gt;
sudo dnf install @pantheon-desktop&lt;br /&gt;
sudo dnf install pantheon-session-settings-overrides&lt;br /&gt;
...&lt;br /&gt;
sudo dnf install lightdm elementary-greeter&lt;br /&gt;
sudo systemctl disable gdm.service&lt;br /&gt;
sudo systemctl enable lightdm.service&lt;br /&gt;
sudo systemctl set-default graphical.target&lt;br /&gt;
---&lt;br /&gt;
sudo dnf install light-locker  ## NICHT Mehr erforderlich&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tweaks===&lt;br /&gt;
* elementary 6.0: https://github.com/pantheon-tweaks/pantheon-tweaks&lt;br /&gt;
* elementary 5.0: https://github.com/elementary-tweaks/elementary-tweaks&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf groupinstall &amp;quot;C Development Tools and Libraries&amp;quot;&lt;br /&gt;
sudo dnf install cmake granite-devel unzip switchboard-devel GConf2-devel polkit-devel vala&lt;br /&gt;
wget https://github.com/elementary-tweaks/elementary-tweaks/archive/master.zip -O elementary-tweaks-master.zip&lt;br /&gt;
unzip elementary-tweaks-master.zip&lt;br /&gt;
cd elementary-tweaks-master&lt;br /&gt;
mkdir build&lt;br /&gt;
cd build&lt;br /&gt;
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr ../&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Desktop: Budgie==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf copr enable alunux/budgie-desktop-git&lt;br /&gt;
sudo dnf install budgie-desktop&lt;br /&gt;
sudo dnf install sddm&lt;br /&gt;
sudo systemctl disable gdm; sudo systemctl enable sddm&lt;br /&gt;
sudo dnf remove gnome-shell*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
==MC==&lt;br /&gt;
* Fav-Skins= gray-orange-blue256&lt;br /&gt;
* Fav-Skins= modarin256 &lt;br /&gt;
* Fav-Skins= seasons-winter16M&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/mc/ini&lt;br /&gt;
# skin=gray-orange-blue256&lt;br /&gt;
# COLORTERM=turecolor&lt;br /&gt;
cd /usr/share/mc/skins/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Theme =&lt;br /&gt;
* https://github.com/nana-4/materia-theme&lt;br /&gt;
* https://github.com/themix-project/oomox&lt;br /&gt;
* https://github.com/linuxmint/mint-themes&lt;br /&gt;
* http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install gnome-themes-extra gtk-murrine-engine sassc&lt;br /&gt;
sudo apt install gnome-themes-extra gtk2-engines-murrine sassc&lt;br /&gt;
-----&lt;br /&gt;
sudo dnf install yaru-theme&lt;br /&gt;
sudo dnf install mint-themes&lt;br /&gt;
----&lt;br /&gt;
git clone https://github.com/vinceliuice/Fluent-gtk-theme.git&lt;br /&gt;
./install.sh --tweaks solid round&lt;br /&gt;
----&lt;br /&gt;
git clone https://github.com/vinceliuice/grub2-themes.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Style==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FG: #D3D7CF&lt;br /&gt;
BG: #4B5162&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* https://github.com/linuxmint/mint-themes/blob/master/src/Mint-Y/gtk-3.0/gtk.css&lt;br /&gt;
* https://www.preining.info/blog/2020/03/de-uglify-gtk3-tabs-of-terminals/&lt;br /&gt;
* nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.nemo-window .places-treeview {&lt;br /&gt;
    background-color: rgba(219, 219, 219, 0.15); &lt;br /&gt;
}&lt;br /&gt;
notebook tab {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  padding-top: 3px;&lt;br /&gt;
  padding-bottom: 3px;&lt;br /&gt;
}&lt;br /&gt;
notebook tab button {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  padding: 2px;&lt;br /&gt;
  margin-top: 2px;&lt;br /&gt;
  margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
notebook button {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
notebook header button {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Icons ==&lt;br /&gt;
&lt;br /&gt;
=VNC=&lt;br /&gt;
* src: https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/infrastructure-services/TigerVNC/&lt;br /&gt;
* src: https://www.server-world.info/en/note?os=Fedora_30&amp;amp;p=desktop&amp;amp;f=6&lt;br /&gt;
* src: https://www.tecmint.com/install-vnc-server-on-rhel-8/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# dnf -y install tigervnc-server&lt;br /&gt;
# firewall-cmd --add-service=vnc-server --permanent&lt;br /&gt;
# firewall-cmd --reload&lt;br /&gt;
# vncpasswd&lt;br /&gt;
# systemctl daemon-reload&lt;br /&gt;
# systemctl start vncserver@:1&lt;br /&gt;
# systemctl enable vncserver@:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=System-Upgrade=&lt;br /&gt;
* src: https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf upgrade --refresh                                     # 1. Update software and back up the system&lt;br /&gt;
sudo dnf install dnf-plugin-system-upgrade                     # 2. Install the DNF plugin&lt;br /&gt;
sudo dnf system-upgrade download --refresh --releasever=32     # 3. Start the update with DNF&lt;br /&gt;
sudo dnf system-upgrade reboot                                 # 4. Reboot and upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Fedora&amp;diff=2687</id>
		<title>IT-OS-Config-Fedora</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Fedora&amp;diff=2687"/>
		<updated>2022-08-08T10:22:18Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Ref */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ref =&lt;br /&gt;
* https://www.server-world.info/en/&lt;br /&gt;
* http://download.fedoraproject.org/pub/fedora/linux/releases/&lt;br /&gt;
* https://docs.fedoraproject.org/en-US/fedora/f32/release-notes/welcome/Hardware_Overview/&lt;br /&gt;
* https://developer.fedoraproject.org/&lt;br /&gt;
* https://koji.fedoraproject.org/koji/index&lt;br /&gt;
* https://src.fedoraproject.org/&lt;br /&gt;
* https://github.com/rpmfusion-infra/fedy/tree/master/plugins&lt;br /&gt;
&lt;br /&gt;
=Tweaks=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo hostnamectl status&lt;br /&gt;
sudo hostnamectl set-hostname --static &amp;quot;box-blue&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/dnf/dnf.conf&lt;br /&gt;
---------------------------------&lt;br /&gt;
fastestmirror=true               ### a metric is used to find the fastest available mirror.&lt;br /&gt;
max_parallel_downloads=10        ### Maximum number of simultaneous package downloads. Defaults to 3. Maximum of 20.&lt;br /&gt;
deltarpm=true                    ### Downloading much smaller delta RPM files, rebuilding them to RPM locally.     &lt;br /&gt;
---------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
gsettings set org.gnome.nautilus.preferences always-use-location-entry true&lt;br /&gt;
gsettings set org.gnome.desktop.peripherals.mouse natural-scroll false&lt;br /&gt;
gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false&lt;br /&gt;
---&lt;br /&gt;
gsettings reset org.gnome.desktop.interface font-name&lt;br /&gt;
gsettings reset org.gnome.settings-daemon.plugins.xsettings antialiasing&lt;br /&gt;
gsettings reset org.gnome.settings-daemon.plugins.xsettings hinting&lt;br /&gt;
gsettings reset org.gnome.settings-daemon.plugins.xsettings rgba-order&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Software Installation=&lt;br /&gt;
==Initial Repos==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @c-development @d-development @virtualization ansible&lt;br /&gt;
sudo dnf install dkms kernel-devel elfutils-libelf-devel zlib-devel perl&lt;br /&gt;
---&lt;br /&gt;
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm&lt;br /&gt;
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Development==            &lt;br /&gt;
* [[IT-SDK-Java#Installing_Java]]&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install gcc&lt;br /&gt;
sudo dnf install golang&lt;br /&gt;
sudo dnf install perl-core&lt;br /&gt;
sudo dnf install nodejs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Media codecs==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf group upgrade --with-optional Multimedia&lt;br /&gt;
---&lt;br /&gt;
sudo dnf install \&lt;br /&gt;
ffmpeg \&lt;br /&gt;
lame\* --exclude=lame-devel \&lt;br /&gt;
gstreamer1-libav \&lt;br /&gt;
gstreamer1-plugin-openh264 \&lt;br /&gt;
gstreamer1-plugins-ugly \&lt;br /&gt;
gstreamer1-plugins-{bad-\*,good-\*,base} --exclude=gstreamer1-plugins-bad-free-devel \&lt;br /&gt;
rpmfusion-free-obsolete-packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mix-Software==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install clamav clamtk clamav-update     # Antivirus for detecting trojans, viruses, malware.&lt;br /&gt;
sudo dnf install duf tig&lt;br /&gt;
sudo dnf install sysstat htop bashtop glances neofetch   # Performance &amp;amp; Monitoring&lt;br /&gt;
sudo dnf install unrar p7zip p7zip-plugins       # Archive-Tools&lt;br /&gt;
sudo dnf install gnome-tweak-tool                # Tweaks&lt;br /&gt;
sudo dnf install gnome-extensions-app&lt;br /&gt;
sudo dnf install tilix&lt;br /&gt;
sudo dnf install dconf-editor&lt;br /&gt;
sudo dnf install alacarte appeditor              # Application-Editor&lt;br /&gt;
sudo dnf install geary                           # Email-Client&lt;br /&gt;
sudo dnf install vlc&lt;br /&gt;
sudo dnf install youtube-dl&lt;br /&gt;
sudo dnf install libdvdcss                       # To play DVD&lt;br /&gt;
sudo dnf install mediawriter&lt;br /&gt;
sudo dnf install steam&lt;br /&gt;
sudo dnf install https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors.x86_64.rpm&lt;br /&gt;
sudo dnf remove libreoffice*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install tlp tlp-rdw                    # Reduce Battery Usage&lt;br /&gt;
sudo systemctl enable tlp                       # Enable &lt;br /&gt;
sudo tlp-stat -b                                # To view the Battery informations and status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install clamav clamav-update&lt;br /&gt;
sudo freshclam&lt;br /&gt;
clamscan --infected --remove --recursive .&lt;br /&gt;
clamscan --infected --remove --recursive /home&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Browser-Extensions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm&lt;br /&gt;
https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep&lt;br /&gt;
----&lt;br /&gt;
https://extensions.gnome.org/extension/1160/dash-to-panel/&lt;br /&gt;
https://extensions.gnome.org/extension/19/user-themes/&lt;br /&gt;
https://extensions.gnome.org/extension/4655/date-menu-formatter/    ### kk:mm\n EEEE\ndd.MM.yyy  '[KW-'ww']'&lt;br /&gt;
https://extensions.gnome.org/extension/3628/arcmenu/&lt;br /&gt;
-----&lt;br /&gt;
https://github.com/balena-io/etcher&lt;br /&gt;
https://github.com/oguzhaninan/Stacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Desktops=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @workstation-product-environment&lt;br /&gt;
sudo dnf install @gnome-desktop&lt;br /&gt;
sudo dnf install @pantheon-desktop&lt;br /&gt;
sudo dnf install @cinnamon-desktop&lt;br /&gt;
sudo dnf install @mate-desktop&lt;br /&gt;
sudo dnf install @kde-desktop&lt;br /&gt;
sudo dnf install @xfce-desktop&lt;br /&gt;
sudo dnf install @lxde-desktop&lt;br /&gt;
sudo dnf install @deepin-desktop&lt;br /&gt;
---&lt;br /&gt;
sudo systemctl enable gdm.service&lt;br /&gt;
sudo systemctl set-default graphical.target    ### Start system with graphical mode. &lt;br /&gt;
sudi systemctl set-default multi-user.target   ### Start system with text mode.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Desktop: Pantheon==&lt;br /&gt;
* src: https://github.com/decathorpe&lt;br /&gt;
* src: https://decathorpe.com/fedora-elementary-stable-status.html&lt;br /&gt;
* src: https://eos-techs.com/&lt;br /&gt;
* src: https://wiki.odex.be/en/Usage/Configuration/P/Pantheon&lt;br /&gt;
===Install===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf upgrade --refresh -y&lt;br /&gt;
sudo dnf install @pantheon-desktop&lt;br /&gt;
sudo dnf install pantheon-session-settings-overrides&lt;br /&gt;
...&lt;br /&gt;
sudo dnf install lightdm elementary-greeter&lt;br /&gt;
sudo systemctl disable gdm.service&lt;br /&gt;
sudo systemctl enable lightdm.service&lt;br /&gt;
sudo systemctl set-default graphical.target&lt;br /&gt;
---&lt;br /&gt;
sudo dnf install light-locker  ## NICHT Mehr erforderlich&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tweaks===&lt;br /&gt;
* elementary 6.0: https://github.com/pantheon-tweaks/pantheon-tweaks&lt;br /&gt;
* elementary 5.0: https://github.com/elementary-tweaks/elementary-tweaks&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf groupinstall &amp;quot;C Development Tools and Libraries&amp;quot;&lt;br /&gt;
sudo dnf install cmake granite-devel unzip switchboard-devel GConf2-devel polkit-devel vala&lt;br /&gt;
wget https://github.com/elementary-tweaks/elementary-tweaks/archive/master.zip -O elementary-tweaks-master.zip&lt;br /&gt;
unzip elementary-tweaks-master.zip&lt;br /&gt;
cd elementary-tweaks-master&lt;br /&gt;
mkdir build&lt;br /&gt;
cd build&lt;br /&gt;
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr ../&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Desktop: Budgie==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf copr enable alunux/budgie-desktop-git&lt;br /&gt;
sudo dnf install budgie-desktop&lt;br /&gt;
sudo dnf install sddm&lt;br /&gt;
sudo systemctl disable gdm; sudo systemctl enable sddm&lt;br /&gt;
sudo dnf remove gnome-shell*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
==MC==&lt;br /&gt;
* Fav-Skins= gray-orange-blue256&lt;br /&gt;
* Fav-Skins= modarin256 &lt;br /&gt;
* Fav-Skins= seasons-winter16M&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/mc/ini&lt;br /&gt;
# skin=gray-orange-blue256&lt;br /&gt;
# COLORTERM=turecolor&lt;br /&gt;
cd /usr/share/mc/skins/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Theme =&lt;br /&gt;
* Source: https://github.com/nana-4/materia-theme&lt;br /&gt;
* Source: https://github.com/themix-project/oomox&lt;br /&gt;
* Source: http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install gnome-themes-extra gtk-murrine-engine sassc&lt;br /&gt;
sudo apt install gnome-themes-extra gtk2-engines-murrine sassc&lt;br /&gt;
-----&lt;br /&gt;
sudo dnf install yaru-theme&lt;br /&gt;
----&lt;br /&gt;
git clone https://github.com/vinceliuice/Fluent-gtk-theme.git&lt;br /&gt;
./install.sh --tweaks solid round&lt;br /&gt;
----&lt;br /&gt;
git clone https://github.com/vinceliuice/grub2-themes.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Style==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FG: #D3D7CF&lt;br /&gt;
BG: #4B5162&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* https://github.com/linuxmint/mint-themes/blob/master/src/Mint-Y/gtk-3.0/gtk.css&lt;br /&gt;
* https://www.preining.info/blog/2020/03/de-uglify-gtk3-tabs-of-terminals/&lt;br /&gt;
* nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.nemo-window .places-treeview {&lt;br /&gt;
    background-color: rgba(219, 219, 219, 0.15); &lt;br /&gt;
}&lt;br /&gt;
notebook tab {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  padding-top: 3px;&lt;br /&gt;
  padding-bottom: 3px;&lt;br /&gt;
}&lt;br /&gt;
notebook tab button {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  padding: 2px;&lt;br /&gt;
  margin-top: 2px;&lt;br /&gt;
  margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
notebook button {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
notebook header button {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Icons ==&lt;br /&gt;
&lt;br /&gt;
=VNC=&lt;br /&gt;
* src: https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/infrastructure-services/TigerVNC/&lt;br /&gt;
* src: https://www.server-world.info/en/note?os=Fedora_30&amp;amp;p=desktop&amp;amp;f=6&lt;br /&gt;
* src: https://www.tecmint.com/install-vnc-server-on-rhel-8/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# dnf -y install tigervnc-server&lt;br /&gt;
# firewall-cmd --add-service=vnc-server --permanent&lt;br /&gt;
# firewall-cmd --reload&lt;br /&gt;
# vncpasswd&lt;br /&gt;
# systemctl daemon-reload&lt;br /&gt;
# systemctl start vncserver@:1&lt;br /&gt;
# systemctl enable vncserver@:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=System-Upgrade=&lt;br /&gt;
* src: https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf upgrade --refresh                                     # 1. Update software and back up the system&lt;br /&gt;
sudo dnf install dnf-plugin-system-upgrade                     # 2. Install the DNF plugin&lt;br /&gt;
sudo dnf system-upgrade download --refresh --releasever=32     # 3. Start the update with DNF&lt;br /&gt;
sudo dnf system-upgrade reboot                                 # 4. Reboot and upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Fedora&amp;diff=2686</id>
		<title>IT-OS-Config-Fedora</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Fedora&amp;diff=2686"/>
		<updated>2022-08-08T10:21:53Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ref =&lt;br /&gt;
* https://www.server-world.info/en/&lt;br /&gt;
* http://download.fedoraproject.org/pub/fedora/linux/releases/&lt;br /&gt;
* https://docs.fedoraproject.org/en-US/fedora/f32/release-notes/welcome/Hardware_Overview/&lt;br /&gt;
* https://developer.fedoraproject.org/&lt;br /&gt;
* https://koji.fedoraproject.org/koji/index&lt;br /&gt;
* https://src.fedoraproject.org/&lt;br /&gt;
&lt;br /&gt;
=Tweaks=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo hostnamectl status&lt;br /&gt;
sudo hostnamectl set-hostname --static &amp;quot;box-blue&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/dnf/dnf.conf&lt;br /&gt;
---------------------------------&lt;br /&gt;
fastestmirror=true               ### a metric is used to find the fastest available mirror.&lt;br /&gt;
max_parallel_downloads=10        ### Maximum number of simultaneous package downloads. Defaults to 3. Maximum of 20.&lt;br /&gt;
deltarpm=true                    ### Downloading much smaller delta RPM files, rebuilding them to RPM locally.     &lt;br /&gt;
---------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
gsettings set org.gnome.nautilus.preferences always-use-location-entry true&lt;br /&gt;
gsettings set org.gnome.desktop.peripherals.mouse natural-scroll false&lt;br /&gt;
gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false&lt;br /&gt;
---&lt;br /&gt;
gsettings reset org.gnome.desktop.interface font-name&lt;br /&gt;
gsettings reset org.gnome.settings-daemon.plugins.xsettings antialiasing&lt;br /&gt;
gsettings reset org.gnome.settings-daemon.plugins.xsettings hinting&lt;br /&gt;
gsettings reset org.gnome.settings-daemon.plugins.xsettings rgba-order&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Software Installation=&lt;br /&gt;
==Initial Repos==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @c-development @d-development @virtualization ansible&lt;br /&gt;
sudo dnf install dkms kernel-devel elfutils-libelf-devel zlib-devel perl&lt;br /&gt;
---&lt;br /&gt;
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm&lt;br /&gt;
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Development==            &lt;br /&gt;
* [[IT-SDK-Java#Installing_Java]]&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install gcc&lt;br /&gt;
sudo dnf install golang&lt;br /&gt;
sudo dnf install perl-core&lt;br /&gt;
sudo dnf install nodejs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Media codecs==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf group upgrade --with-optional Multimedia&lt;br /&gt;
---&lt;br /&gt;
sudo dnf install \&lt;br /&gt;
ffmpeg \&lt;br /&gt;
lame\* --exclude=lame-devel \&lt;br /&gt;
gstreamer1-libav \&lt;br /&gt;
gstreamer1-plugin-openh264 \&lt;br /&gt;
gstreamer1-plugins-ugly \&lt;br /&gt;
gstreamer1-plugins-{bad-\*,good-\*,base} --exclude=gstreamer1-plugins-bad-free-devel \&lt;br /&gt;
rpmfusion-free-obsolete-packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mix-Software==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install clamav clamtk clamav-update     # Antivirus for detecting trojans, viruses, malware.&lt;br /&gt;
sudo dnf install duf tig&lt;br /&gt;
sudo dnf install sysstat htop bashtop glances neofetch   # Performance &amp;amp; Monitoring&lt;br /&gt;
sudo dnf install unrar p7zip p7zip-plugins       # Archive-Tools&lt;br /&gt;
sudo dnf install gnome-tweak-tool                # Tweaks&lt;br /&gt;
sudo dnf install gnome-extensions-app&lt;br /&gt;
sudo dnf install tilix&lt;br /&gt;
sudo dnf install dconf-editor&lt;br /&gt;
sudo dnf install alacarte appeditor              # Application-Editor&lt;br /&gt;
sudo dnf install geary                           # Email-Client&lt;br /&gt;
sudo dnf install vlc&lt;br /&gt;
sudo dnf install youtube-dl&lt;br /&gt;
sudo dnf install libdvdcss                       # To play DVD&lt;br /&gt;
sudo dnf install mediawriter&lt;br /&gt;
sudo dnf install steam&lt;br /&gt;
sudo dnf install https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors.x86_64.rpm&lt;br /&gt;
sudo dnf remove libreoffice*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install tlp tlp-rdw                    # Reduce Battery Usage&lt;br /&gt;
sudo systemctl enable tlp                       # Enable &lt;br /&gt;
sudo tlp-stat -b                                # To view the Battery informations and status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install clamav clamav-update&lt;br /&gt;
sudo freshclam&lt;br /&gt;
clamscan --infected --remove --recursive .&lt;br /&gt;
clamscan --infected --remove --recursive /home&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Browser-Extensions==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm&lt;br /&gt;
https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep&lt;br /&gt;
----&lt;br /&gt;
https://extensions.gnome.org/extension/1160/dash-to-panel/&lt;br /&gt;
https://extensions.gnome.org/extension/19/user-themes/&lt;br /&gt;
https://extensions.gnome.org/extension/4655/date-menu-formatter/    ### kk:mm\n EEEE\ndd.MM.yyy  '[KW-'ww']'&lt;br /&gt;
https://extensions.gnome.org/extension/3628/arcmenu/&lt;br /&gt;
-----&lt;br /&gt;
https://github.com/balena-io/etcher&lt;br /&gt;
https://github.com/oguzhaninan/Stacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Desktops=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install @workstation-product-environment&lt;br /&gt;
sudo dnf install @gnome-desktop&lt;br /&gt;
sudo dnf install @pantheon-desktop&lt;br /&gt;
sudo dnf install @cinnamon-desktop&lt;br /&gt;
sudo dnf install @mate-desktop&lt;br /&gt;
sudo dnf install @kde-desktop&lt;br /&gt;
sudo dnf install @xfce-desktop&lt;br /&gt;
sudo dnf install @lxde-desktop&lt;br /&gt;
sudo dnf install @deepin-desktop&lt;br /&gt;
---&lt;br /&gt;
sudo systemctl enable gdm.service&lt;br /&gt;
sudo systemctl set-default graphical.target    ### Start system with graphical mode. &lt;br /&gt;
sudi systemctl set-default multi-user.target   ### Start system with text mode.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Desktop: Pantheon==&lt;br /&gt;
* src: https://github.com/decathorpe&lt;br /&gt;
* src: https://decathorpe.com/fedora-elementary-stable-status.html&lt;br /&gt;
* src: https://eos-techs.com/&lt;br /&gt;
* src: https://wiki.odex.be/en/Usage/Configuration/P/Pantheon&lt;br /&gt;
===Install===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf upgrade --refresh -y&lt;br /&gt;
sudo dnf install @pantheon-desktop&lt;br /&gt;
sudo dnf install pantheon-session-settings-overrides&lt;br /&gt;
...&lt;br /&gt;
sudo dnf install lightdm elementary-greeter&lt;br /&gt;
sudo systemctl disable gdm.service&lt;br /&gt;
sudo systemctl enable lightdm.service&lt;br /&gt;
sudo systemctl set-default graphical.target&lt;br /&gt;
---&lt;br /&gt;
sudo dnf install light-locker  ## NICHT Mehr erforderlich&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tweaks===&lt;br /&gt;
* elementary 6.0: https://github.com/pantheon-tweaks/pantheon-tweaks&lt;br /&gt;
* elementary 5.0: https://github.com/elementary-tweaks/elementary-tweaks&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf groupinstall &amp;quot;C Development Tools and Libraries&amp;quot;&lt;br /&gt;
sudo dnf install cmake granite-devel unzip switchboard-devel GConf2-devel polkit-devel vala&lt;br /&gt;
wget https://github.com/elementary-tweaks/elementary-tweaks/archive/master.zip -O elementary-tweaks-master.zip&lt;br /&gt;
unzip elementary-tweaks-master.zip&lt;br /&gt;
cd elementary-tweaks-master&lt;br /&gt;
mkdir build&lt;br /&gt;
cd build&lt;br /&gt;
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr ../&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Desktop: Budgie==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf copr enable alunux/budgie-desktop-git&lt;br /&gt;
sudo dnf install budgie-desktop&lt;br /&gt;
sudo dnf install sddm&lt;br /&gt;
sudo systemctl disable gdm; sudo systemctl enable sddm&lt;br /&gt;
sudo dnf remove gnome-shell*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
==MC==&lt;br /&gt;
* Fav-Skins= gray-orange-blue256&lt;br /&gt;
* Fav-Skins= modarin256 &lt;br /&gt;
* Fav-Skins= seasons-winter16M&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/mc/ini&lt;br /&gt;
# skin=gray-orange-blue256&lt;br /&gt;
# COLORTERM=turecolor&lt;br /&gt;
cd /usr/share/mc/skins/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Theme =&lt;br /&gt;
* Source: https://github.com/nana-4/materia-theme&lt;br /&gt;
* Source: https://github.com/themix-project/oomox&lt;br /&gt;
* Source: http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install gnome-themes-extra gtk-murrine-engine sassc&lt;br /&gt;
sudo apt install gnome-themes-extra gtk2-engines-murrine sassc&lt;br /&gt;
-----&lt;br /&gt;
sudo dnf install yaru-theme&lt;br /&gt;
----&lt;br /&gt;
git clone https://github.com/vinceliuice/Fluent-gtk-theme.git&lt;br /&gt;
./install.sh --tweaks solid round&lt;br /&gt;
----&lt;br /&gt;
git clone https://github.com/vinceliuice/grub2-themes.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Style==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FG: #D3D7CF&lt;br /&gt;
BG: #4B5162&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* https://github.com/linuxmint/mint-themes/blob/master/src/Mint-Y/gtk-3.0/gtk.css&lt;br /&gt;
* https://www.preining.info/blog/2020/03/de-uglify-gtk3-tabs-of-terminals/&lt;br /&gt;
* nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.nemo-window .places-treeview {&lt;br /&gt;
    background-color: rgba(219, 219, 219, 0.15); &lt;br /&gt;
}&lt;br /&gt;
notebook tab {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  padding-top: 3px;&lt;br /&gt;
  padding-bottom: 3px;&lt;br /&gt;
}&lt;br /&gt;
notebook tab button {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  padding: 2px;&lt;br /&gt;
  margin-top: 2px;&lt;br /&gt;
  margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
notebook button {&lt;br /&gt;
  min-height: 0;&lt;br /&gt;
  min-width: 0;&lt;br /&gt;
  padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
notebook header button {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Icons ==&lt;br /&gt;
&lt;br /&gt;
=VNC=&lt;br /&gt;
* src: https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/infrastructure-services/TigerVNC/&lt;br /&gt;
* src: https://www.server-world.info/en/note?os=Fedora_30&amp;amp;p=desktop&amp;amp;f=6&lt;br /&gt;
* src: https://www.tecmint.com/install-vnc-server-on-rhel-8/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# dnf -y install tigervnc-server&lt;br /&gt;
# firewall-cmd --add-service=vnc-server --permanent&lt;br /&gt;
# firewall-cmd --reload&lt;br /&gt;
# vncpasswd&lt;br /&gt;
# systemctl daemon-reload&lt;br /&gt;
# systemctl start vncserver@:1&lt;br /&gt;
# systemctl enable vncserver@:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=System-Upgrade=&lt;br /&gt;
* src: https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf upgrade --refresh                                     # 1. Update software and back up the system&lt;br /&gt;
sudo dnf install dnf-plugin-system-upgrade                     # 2. Install the DNF plugin&lt;br /&gt;
sudo dnf system-upgrade download --refresh --releasever=32     # 3. Start the update with DNF&lt;br /&gt;
sudo dnf system-upgrade reboot                                 # 4. Reboot and upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2685</id>
		<title>IT-SDK-Maven</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2685"/>
		<updated>2022-08-04T11:19:19Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Maven POM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://maven.apache.org/&lt;br /&gt;
* https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html&lt;br /&gt;
* https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html&lt;br /&gt;
&lt;br /&gt;
=Creating a Project=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DinteractiveMode=false&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-quickstart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Install Pachage=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DgroupId=&amp;lt;group-id&amp;gt; -DartifactId=&amp;lt;artifact-id&amp;gt; -Dversion=&amp;lt;version&amp;gt; -Dpackaging=&amp;lt;packaging&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DpomFile=&amp;lt;path-to-pomfile&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Maven Phases=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn clean       # cleans up artifacts created by prior builds&lt;br /&gt;
mvn validate    # validate the project is correct and all necessary information is available&lt;br /&gt;
mvn compile     # compile the source code of the project&lt;br /&gt;
mvn package     # take the compiled code and package it in its distributable format, such as a JAR.&lt;br /&gt;
mvn install     # install the package into the local repository, for use as a dependency in other projects locally&lt;br /&gt;
mvn deploy      # done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Maven POM=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;project xmlns=&amp;quot;http://maven.apache.org/POM/4.0.0&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;&lt;br /&gt;
  &amp;lt;groupId&amp;gt;com.company&amp;lt;/groupId&amp;gt;&lt;br /&gt;
  &amp;lt;artifactId&amp;gt;mqtt-mvn&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
  &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;
  &amp;lt;packaging&amp;gt;jar&amp;lt;/packaging&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;mqtt-mvn&amp;lt;/name&amp;gt;  &lt;br /&gt;
  &amp;lt;properties&amp;gt;&lt;br /&gt;
    &amp;lt;compiler-plugin.version&amp;gt;3.8.1&amp;lt;/compiler-plugin.version&amp;gt;&lt;br /&gt;
    &amp;lt;maven.compiler.release&amp;gt;11&amp;lt;/maven.compiler.release&amp;gt;&lt;br /&gt;
    &amp;lt;maven.compiler.source&amp;gt;1.8&amp;lt;/maven.compiler.source&amp;gt;&lt;br /&gt;
    &amp;lt;maven.compiler.target&amp;gt;1.8&amp;lt;/maven.compiler.target&amp;gt;&lt;br /&gt;
    &amp;lt;project.build.sourceEncoding&amp;gt;UTF-8&amp;lt;/project.build.sourceEncoding&amp;gt;&lt;br /&gt;
    &amp;lt;project.reporting.outputEncoding&amp;gt;UTF-8&amp;lt;/project.reporting.outputEncoding&amp;gt;&lt;br /&gt;
  &amp;lt;/properties&amp;gt;&lt;br /&gt;
  &amp;lt;dependencies&amp;gt;&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
      &amp;lt;groupId&amp;gt;com.hivemq&amp;lt;/groupId&amp;gt;&lt;br /&gt;
      &amp;lt;artifactId&amp;gt;hivemq-mqtt-client&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.3.0&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
  &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
  &amp;lt;build&amp;gt;&lt;br /&gt;
    &amp;lt;plugins&amp;gt;&lt;br /&gt;
      &amp;lt;plugin&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;maven-compiler-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;3.8.1&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;configuration&amp;gt;&lt;br /&gt;
          &amp;lt;source&amp;gt;1.8&amp;lt;/source&amp;gt;&lt;br /&gt;
          &amp;lt;target&amp;gt;1.8&amp;lt;/target&amp;gt;&lt;br /&gt;
        &amp;lt;/configuration&amp;gt;&lt;br /&gt;
      &amp;lt;/plugin&amp;gt;&lt;br /&gt;
    &amp;lt;/plugins&amp;gt;&lt;br /&gt;
  &amp;lt;/build&amp;gt;&lt;br /&gt;
&amp;lt;/project&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2684</id>
		<title>IT-SDK-Maven</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2684"/>
		<updated>2022-08-04T11:18:52Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Maven Phases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://maven.apache.org/&lt;br /&gt;
* https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html&lt;br /&gt;
* https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html&lt;br /&gt;
&lt;br /&gt;
=Creating a Project=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DinteractiveMode=false&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-quickstart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Install Pachage=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DgroupId=&amp;lt;group-id&amp;gt; -DartifactId=&amp;lt;artifact-id&amp;gt; -Dversion=&amp;lt;version&amp;gt; -Dpackaging=&amp;lt;packaging&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DpomFile=&amp;lt;path-to-pomfile&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Maven Phases=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn clean       # cleans up artifacts created by prior builds&lt;br /&gt;
mvn validate    # validate the project is correct and all necessary information is available&lt;br /&gt;
mvn compile     # compile the source code of the project&lt;br /&gt;
mvn package     # take the compiled code and package it in its distributable format, such as a JAR.&lt;br /&gt;
mvn install     # install the package into the local repository, for use as a dependency in other projects locally&lt;br /&gt;
mvn deploy      # done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Maven POM=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;project xmlns=&amp;quot;http://maven.apache.org/POM/4.0.0&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;&lt;br /&gt;
  &amp;lt;groupId&amp;gt;com.cariad&amp;lt;/groupId&amp;gt;&lt;br /&gt;
  &amp;lt;artifactId&amp;gt;mqtt-mvn&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
  &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;
  &amp;lt;packaging&amp;gt;jar&amp;lt;/packaging&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;mqtt-mvn&amp;lt;/name&amp;gt;  &lt;br /&gt;
  &amp;lt;properties&amp;gt;&lt;br /&gt;
    &amp;lt;compiler-plugin.version&amp;gt;3.8.1&amp;lt;/compiler-plugin.version&amp;gt;&lt;br /&gt;
    &amp;lt;maven.compiler.release&amp;gt;11&amp;lt;/maven.compiler.release&amp;gt;&lt;br /&gt;
    &amp;lt;maven.compiler.source&amp;gt;1.8&amp;lt;/maven.compiler.source&amp;gt;&lt;br /&gt;
    &amp;lt;maven.compiler.target&amp;gt;1.8&amp;lt;/maven.compiler.target&amp;gt;&lt;br /&gt;
    &amp;lt;project.build.sourceEncoding&amp;gt;UTF-8&amp;lt;/project.build.sourceEncoding&amp;gt;&lt;br /&gt;
    &amp;lt;project.reporting.outputEncoding&amp;gt;UTF-8&amp;lt;/project.reporting.outputEncoding&amp;gt;&lt;br /&gt;
  &amp;lt;/properties&amp;gt;&lt;br /&gt;
  &amp;lt;dependencies&amp;gt;&lt;br /&gt;
    &amp;lt;dependency&amp;gt;&lt;br /&gt;
      &amp;lt;groupId&amp;gt;com.hivemq&amp;lt;/groupId&amp;gt;&lt;br /&gt;
      &amp;lt;artifactId&amp;gt;hivemq-mqtt-client&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.3.0&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;/dependency&amp;gt;&lt;br /&gt;
  &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
  &amp;lt;build&amp;gt;&lt;br /&gt;
    &amp;lt;plugins&amp;gt;&lt;br /&gt;
      &amp;lt;plugin&amp;gt;&lt;br /&gt;
        &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;br /&gt;
        &amp;lt;artifactId&amp;gt;maven-compiler-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
        &amp;lt;version&amp;gt;3.8.1&amp;lt;/version&amp;gt;&lt;br /&gt;
        &amp;lt;configuration&amp;gt;&lt;br /&gt;
          &amp;lt;source&amp;gt;1.8&amp;lt;/source&amp;gt;&lt;br /&gt;
          &amp;lt;target&amp;gt;1.8&amp;lt;/target&amp;gt;&lt;br /&gt;
        &amp;lt;/configuration&amp;gt;&lt;br /&gt;
      &amp;lt;/plugin&amp;gt;&lt;br /&gt;
    &amp;lt;/plugins&amp;gt;&lt;br /&gt;
  &amp;lt;/build&amp;gt;&lt;br /&gt;
&amp;lt;/project&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Quarkus&amp;diff=2683</id>
		<title>IT-SDK-Quarkus</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Quarkus&amp;diff=2683"/>
		<updated>2022-08-04T09:33:23Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Maven */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref=&lt;br /&gt;
* https://quarkus.io/guides/getting-started&lt;br /&gt;
* https://quarkus.io/guides/maven-tooling&lt;br /&gt;
* https://quarkus.io/guides/centralized-log-management&lt;br /&gt;
* https://quarkus.io/guides/rest-json&lt;br /&gt;
* https://lordofthejars.github.io/quarkus-cheat-sheet/&lt;br /&gt;
&lt;br /&gt;
=Initial=&lt;br /&gt;
==CLI==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
quarkus create app com.condolco.trymore:trymore --extension=resteasy&lt;br /&gt;
cd trymore&lt;br /&gt;
quarkus dev&lt;br /&gt;
quarkus build&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Maven==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn io.quarkus.platform:quarkus-maven-plugin:2.11.1.Final:create \&lt;br /&gt;
    -DprojectGroupId=com.condolco \&lt;br /&gt;
    -DprojectArtifactId=trymore \&lt;br /&gt;
    -Dextensions=&amp;quot;resteasy&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
cd trymore&lt;br /&gt;
mvn quarkus:dev&lt;br /&gt;
mvn clean package&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenShift=&lt;br /&gt;
* https://www.youtube.com/watch?v=QxJQMb35RWU&lt;br /&gt;
* https://quarkus.io/guides/getting-started&lt;br /&gt;
* https://quarkus.io/guides/maven-tooling&lt;br /&gt;
* https://quarkus.io/guides/deploying-to-kubernetes&lt;br /&gt;
* https://quarkus.io/guides/deploying-to-openshift&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project $NAME_SPACE&lt;br /&gt;
oc project $NAME_SPACE&lt;br /&gt;
oc delete $NAME_SPACE&lt;br /&gt;
...&lt;br /&gt;
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --binary&lt;br /&gt;
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --binary --to=&amp;quot;$NAME_BUILD&amp;quot;&lt;br /&gt;
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --binary --docker-image $NAME_DOCKER:TAG&lt;br /&gt;
oc new-build --name $NAME_BUILD --namespace $NAME_SPACE --strategy docker --code . --dockerfile - &amp;lt; src/main/docker/Dockerfile.jvm&lt;br /&gt;
...&lt;br /&gt;
oc start-build $NAME_BUILD --from-dir . --follow --wait&lt;br /&gt;
oc new-app --name=$NAME_BUILD --image-stream=$NAME_SPACE/$NAME_BUILD:latest&lt;br /&gt;
oc expose svc/$NAME_BUILD&lt;br /&gt;
...&lt;br /&gt;
oc get is&lt;br /&gt;
oc get svc&lt;br /&gt;
oc get routes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ref: Roadmap==&lt;br /&gt;
* https://lankydan.dev/building-a-rest-api-with-quarkus&lt;br /&gt;
* https://github.com/quarkusio/quarkus-quickstarts&lt;br /&gt;
* https://redhat-developer-demos.github.io/quarkus-tutorial/quarkus-tutorial/index.html&lt;br /&gt;
* https://quarkiverse.github.io/quarkiverse-docs/quarkus-cxf/dev/server.html&lt;br /&gt;
* -------------------------------------------------------&lt;br /&gt;
* https://quarkus.io/guides/datasource&lt;br /&gt;
* https://quarkus.io/guides/getting-started&lt;br /&gt;
* https://quarkus.io/guides/getting-started-reactive&lt;br /&gt;
* https://quarkus.io/guides/rest-json&lt;br /&gt;
* https://quarkus.io/guides/rest-client&lt;br /&gt;
* https://quarkus.io/guides/reactive-sql-clients&lt;br /&gt;
* https://quarkus.io/guides/hibernate-orm&lt;br /&gt;
* -------------------------------------------------------&lt;br /&gt;
* https://quarkus.io/guides/config&lt;br /&gt;
* https://quarkus.io/guides/config-reference&lt;br /&gt;
* https://quarkus.io/guides/all-config&lt;br /&gt;
* https://quarkus.io/guides/maven-tooling&lt;br /&gt;
* https://microprofile.io/project/eclipse/microprofile-config&lt;br /&gt;
* https://smallrye.io/docs/smallrye-config/index.html&lt;br /&gt;
* -------------------------------------------------------&lt;br /&gt;
* https://quarkus.io/guides/flyway&lt;br /&gt;
* https://quarkus.io/guides/microprofile-graphql&lt;br /&gt;
* https://quarkus.io/guides/kubernetes&lt;br /&gt;
* https://quarkus.io/quarkus-workshops/super-heroes&lt;br /&gt;
* ----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==ref: Colletions==&lt;br /&gt;
* https://github.com/quarkusio/quarkus/blob/master/integration-tests/flyway/src/main/java/io/quarkus/it/flyway/FlywayFunctionalityResource.java&lt;br /&gt;
* https://dzone.com/articles/building-a-rest-api-with-quarkus&lt;br /&gt;
* https://www.programcreek.com/java-api-examples/?code=quarkusio%2Fquarkus-quickstarts%2Fquarkus-quickstarts-master&lt;br /&gt;
* https://blogs.oracle.com/developers/configuring-the-oracle-jdbc-drivers-with-quarkus&lt;br /&gt;
* https://antoniogoncalves.org/2019/06/07/configuring-a-quarkus-application/&lt;br /&gt;
* https://dzone.com/articles/build-a-java-rest-api-with-quarkus&lt;br /&gt;
* https://dzone.com/articles/quick-guide-to-microservices-with-quarkus-on-opens&lt;br /&gt;
* http://www.mastertheboss.com/soa-cloud/quarkus/getting-started-with-quarkus&lt;br /&gt;
* https://www.mailing.dzone.com/click.html?x=a62e&amp;amp;lc=Uhy&amp;amp;mc=h&amp;amp;s=hbIX&amp;amp;u=f&amp;amp;z=oIlBEZc&amp;amp;&lt;br /&gt;
* https://jaxenter.de/serverless/quarkus-full-stack-framework-87817&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker pull maven:3.6-jdk-11-slim&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Startup=&lt;br /&gt;
* https://quarkus.io/guides/maven-tooling&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn &amp;quot;io.quarkus:quarkus-maven-plugin:2.0.1.Final:create&amp;quot;&lt;br /&gt;
mvn &amp;quot;io.quarkus:quarkus-maven-plugin:1.11.7.Final:create&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn &amp;quot;io.quarkus:quarkus-maven-plugin:2.5.2.Final:create&amp;quot; \&lt;br /&gt;
    -DprojectGroupId=&amp;quot;net.samerhijazi.startup&amp;quot; \&lt;br /&gt;
    -DprojectArtifactId=&amp;quot;quarkus-startup&amp;quot; \&lt;br /&gt;
    -DclassName=&amp;quot;net.samerhijazi.startup.run&amp;quot; \&lt;br /&gt;
    -Dpath=&amp;quot;/hello&amp;quot; \&lt;br /&gt;
    -Dextensions=&amp;quot;resteasy&amp;quot;&lt;br /&gt;
---&lt;br /&gt;
mvn io.quarkus.platform:quarkus-maven-plugin:2.6.3.Final:create \&lt;br /&gt;
    -DprojectGroupId=my-groupId \&lt;br /&gt;
    -DprojectArtifactId=my-artifactId \&lt;br /&gt;
    -DprojectVersion=my-version \&lt;br /&gt;
    -DclassName=&amp;quot;org.my.group.MyResource&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn clean&lt;br /&gt;
mvn compile&lt;br /&gt;
mvn package&lt;br /&gt;
...&lt;br /&gt;
mvn quarkus:dev&lt;br /&gt;
mvn quarkus:list-extensions&lt;br /&gt;
mvn quarkus:add-extension -Dextensions=&amp;quot;openshift&amp;quot;&lt;br /&gt;
mvn quarkus:remove-extension -Dextensions=&amp;quot;openshift&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
## mode: jvm&lt;br /&gt;
mvn clean package -DskipTests&lt;br /&gt;
java -jar target/tutorial-app-1.0-SNAPSHOT-runner.jar&lt;br /&gt;
...&lt;br /&gt;
## mode: native&lt;br /&gt;
mvn clean package -DskipTests -Pnative&lt;br /&gt;
./target/tutorial-app-1.0-SNAPSHOT-runner&lt;br /&gt;
...&lt;br /&gt;
## mode: native contianer&lt;br /&gt;
mvn clean package -DskipTests -Pnative -Dquarkus.native.container-build=true&lt;br /&gt;
docker build -f src/main/docker/Dockerfile.native -t example/tutorial-app:1.0-SNAPSHOT .&lt;br /&gt;
docker run -it --rm -p 8080:8080 example/tutorial-app:1.0-SNAPSHOT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2682</id>
		<title>IT-SDK-Maven</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2682"/>
		<updated>2022-08-04T07:19:50Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Creating a Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://maven.apache.org/&lt;br /&gt;
* https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html&lt;br /&gt;
* https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html&lt;br /&gt;
&lt;br /&gt;
=Creating a Project=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DinteractiveMode=false&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-quickstart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Install Pachage=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DgroupId=&amp;lt;group-id&amp;gt; -DartifactId=&amp;lt;artifact-id&amp;gt; -Dversion=&amp;lt;version&amp;gt; -Dpackaging=&amp;lt;packaging&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DpomFile=&amp;lt;path-to-pomfile&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Maven Phases=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn clean       # cleans up artifacts created by prior builds&lt;br /&gt;
mvn validate    # validate the project is correct and all necessary information is available&lt;br /&gt;
mvn compile     # compile the source code of the project&lt;br /&gt;
mvn package     # take the compiled code and package it in its distributable format, such as a JAR.&lt;br /&gt;
mvn install     # install the package into the local repository, for use as a dependency in other projects locally&lt;br /&gt;
mvn deploy      # done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2681</id>
		<title>IT-SDK-Maven</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2681"/>
		<updated>2022-08-04T07:13:40Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Creating a Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://maven.apache.org/&lt;br /&gt;
* https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html&lt;br /&gt;
* https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html&lt;br /&gt;
&lt;br /&gt;
=Creating a Project=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DinteractiveMode=false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Install Pachage=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DgroupId=&amp;lt;group-id&amp;gt; -DartifactId=&amp;lt;artifact-id&amp;gt; -Dversion=&amp;lt;version&amp;gt; -Dpackaging=&amp;lt;packaging&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DpomFile=&amp;lt;path-to-pomfile&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Maven Phases=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn clean       # cleans up artifacts created by prior builds&lt;br /&gt;
mvn validate    # validate the project is correct and all necessary information is available&lt;br /&gt;
mvn compile     # compile the source code of the project&lt;br /&gt;
mvn package     # take the compiled code and package it in its distributable format, such as a JAR.&lt;br /&gt;
mvn install     # install the package into the local repository, for use as a dependency in other projects locally&lt;br /&gt;
mvn deploy      # done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2680</id>
		<title>IT-SDK-Maven</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Maven&amp;diff=2680"/>
		<updated>2022-08-04T07:03:57Z</updated>

		<summary type="html">&lt;p&gt;Studying: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://maven.apache.org/&lt;br /&gt;
* https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html&lt;br /&gt;
* https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html&lt;br /&gt;
&lt;br /&gt;
=Creating a Project=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn archetype:generate -DartifactId=app -DgroupId=com.company.app -DarchetypeArtifactId=archive-name -DinteractiveMode=false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Install Pachage=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DgroupId=&amp;lt;group-id&amp;gt; -DartifactId=&amp;lt;artifact-id&amp;gt; -Dversion=&amp;lt;version&amp;gt; -Dpackaging=&amp;lt;packaging&amp;gt;&lt;br /&gt;
mvn install:install-file -Dfile=&amp;lt;path-to-file&amp;gt; -DpomFile=&amp;lt;path-to-pomfile&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Maven Phases=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mvn clean       # cleans up artifacts created by prior builds&lt;br /&gt;
mvn validate    # validate the project is correct and all necessary information is available&lt;br /&gt;
mvn compile     # compile the source code of the project&lt;br /&gt;
mvn package     # take the compiled code and package it in its distributable format, such as a JAR.&lt;br /&gt;
mvn install     # install the package into the local repository, for use as a dependency in other projects locally&lt;br /&gt;
mvn deploy      # done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Performance&amp;diff=2675</id>
		<title>IT-SDK-Testing-Performance</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Performance&amp;diff=2675"/>
		<updated>2022-08-01T15:38:36Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* K6-Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://jmeter.apache.org/usermanual/best-practices.html#bsh_scripting&lt;br /&gt;
* https://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PostProcessor&lt;br /&gt;
* https://jmeter.apache.org/usermanual/functions.html&lt;br /&gt;
* https://www.blazemeter.com/blog/what-every-performance-tester-should-know-about-extracting-data-files-jmeter&lt;br /&gt;
* https://octoperf.com/blog/2018/04/23/jmeter-rest-api-testing/#rest-api-login&lt;br /&gt;
&lt;br /&gt;
=Ref-Used=&lt;br /&gt;
* ctx : https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html&lt;br /&gt;
* vars: https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html&lt;br /&gt;
* prev: https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html&lt;br /&gt;
=Infrastructure=&lt;br /&gt;
* TOP: Cluster, Engine, Threads (Users)&lt;br /&gt;
* Clsuter: has 1 console (only one) and 0-14 engines.&lt;br /&gt;
==Configuration==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Cluster: 1 Console &amp;amp; 0-14 Engines.&lt;br /&gt;
Engines: &lt;br /&gt;
Threads: 500 users.&lt;br /&gt;
Ramp-up: 40 minutes.&lt;br /&gt;
Iteration: forever.&lt;br /&gt;
Duration: 50 minutes.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=K6=&lt;br /&gt;
==Commands==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Settings==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sysctl net.ipv4.ip_local_port_range&lt;br /&gt;
sysctl net.ipv4.tcp_tw_reuse&lt;br /&gt;
sysctl net.ipv4.tcp_timestamps&lt;br /&gt;
ulimit -n&lt;br /&gt;
#####################################################&lt;br /&gt;
sysctl -w net.ipv4.ip_local_port_range=&amp;quot;32768 60999&amp;quot;&lt;br /&gt;
sysctl -w net.ipv4.tcp_tw_reuse=2&lt;br /&gt;
sysctl -w net.ipv4.tcp_timestamps=1&lt;br /&gt;
ulimit -n 1024&lt;br /&gt;
#####################################################&lt;br /&gt;
sysctl -w net.ipv4.ip_local_port_range=&amp;quot;1024 65535&amp;quot;&lt;br /&gt;
sysctl -w net.ipv4.tcp_tw_reuse=1&lt;br /&gt;
sysctl -w net.ipv4.tcp_timestamps=1&lt;br /&gt;
ulimit -n 250000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Performance&amp;diff=2673</id>
		<title>IT-SDK-Testing-Performance</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Testing-Performance&amp;diff=2673"/>
		<updated>2022-08-01T15:37:39Z</updated>

		<summary type="html">&lt;p&gt;Studying: Studying moved page IT-SDK-JMeter to IT-SDK-Performance-Testing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://jmeter.apache.org/usermanual/best-practices.html#bsh_scripting&lt;br /&gt;
* https://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PostProcessor&lt;br /&gt;
* https://jmeter.apache.org/usermanual/functions.html&lt;br /&gt;
* https://www.blazemeter.com/blog/what-every-performance-tester-should-know-about-extracting-data-files-jmeter&lt;br /&gt;
* https://octoperf.com/blog/2018/04/23/jmeter-rest-api-testing/#rest-api-login&lt;br /&gt;
&lt;br /&gt;
=Ref-Used=&lt;br /&gt;
* ctx : https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html&lt;br /&gt;
* vars: https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html&lt;br /&gt;
* prev: https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html&lt;br /&gt;
=Infrastructure=&lt;br /&gt;
* TOP: Cluster, Engine, Threads (Users)&lt;br /&gt;
* Clsuter: has 1 console (only one) and 0-14 engines.&lt;br /&gt;
==Configuration==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
Cluster: 1 Console &amp;amp; 0-14 Engines.&lt;br /&gt;
Engines: &lt;br /&gt;
Threads: 500 users.&lt;br /&gt;
Ramp-up: 40 minutes.&lt;br /&gt;
Iteration: forever.&lt;br /&gt;
Duration: 50 minutes.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=K6-Settings=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sysctl net.ipv4.ip_local_port_range&lt;br /&gt;
sysctl net.ipv4.tcp_tw_reuse&lt;br /&gt;
sysctl net.ipv4.tcp_timestamps&lt;br /&gt;
ulimit -n&lt;br /&gt;
#####################################################&lt;br /&gt;
sysctl -w net.ipv4.ip_local_port_range=&amp;quot;32768 60999&amp;quot;&lt;br /&gt;
sysctl -w net.ipv4.tcp_tw_reuse=2&lt;br /&gt;
sysctl -w net.ipv4.tcp_timestamps=1&lt;br /&gt;
ulimit -n 1024&lt;br /&gt;
#####################################################&lt;br /&gt;
sysctl -w net.ipv4.ip_local_port_range=&amp;quot;1024 65535&amp;quot;&lt;br /&gt;
sysctl -w net.ipv4.tcp_tw_reuse=1&lt;br /&gt;
sysctl -w net.ipv4.tcp_timestamps=1&lt;br /&gt;
ulimit -n 250000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Docker&amp;diff=2672</id>
		<title>IT-SDK-Docker</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Docker&amp;diff=2672"/>
		<updated>2022-08-01T14:52:50Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Image: HiveMQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://docs.docker.com/docker-hub/access-tokens/&lt;br /&gt;
* https://cloud.google.com/container-registry/docs/pulling-cached-images#docker-ui&lt;br /&gt;
* https://github.com/Philip-Scott/docker-workspace&lt;br /&gt;
* VS-Code &amp;amp; Containers: https://code.visualstudio.com/docs/remote/containers&lt;br /&gt;
* CheatSheet: https://www.docker.com/sites/default/files/d8/2019-09/docker-cheat-sheet.pdf&lt;br /&gt;
* Source: https://docs.docker.com/v17.09/engine/reference/builder/&lt;br /&gt;
* Link: http://docs.projectatomic.io/container-best-practices/#_abstract&lt;br /&gt;
* Link: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/&lt;br /&gt;
* Website-CMD: (https://docs.docker.com/engine/reference/commandline/)&lt;br /&gt;
* Website-TUT: (https://docs.docker.com/engine/tutorials/usingdocker/)&lt;br /&gt;
* Portainer: (http://portainer.io/index.html) stammt aus UI-for-Docker (https://github.com/kevana/ui-for-docker)&lt;br /&gt;
* Docker &amp;amp; Kubernetes: https://www.middlewareinventory.com/blog/deploy-docker-image-to-kubernetes/&lt;br /&gt;
* Docker &amp;amp; Kubernetes: https://www.linode.com/docs/kubernetes/deploy-container-image-to-kubernetes/&lt;br /&gt;
&lt;br /&gt;
=Definitions=&lt;br /&gt;
* '''Docker Compose''' is a tool for defining and running multi-container Docker applications&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
=setting=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/containers/nodocker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==docker-compose==&lt;br /&gt;
* Source: https://docs.docker.com/compose/install/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -L &amp;quot;https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)&amp;quot; -o /usr/local/bin/docker-compose&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-compose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==fedora==&lt;br /&gt;
* https://docs.docker.com/engine/install/fedora/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine&lt;br /&gt;
-----&lt;br /&gt;
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo&lt;br /&gt;
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin&lt;br /&gt;
-----&lt;br /&gt;
sudo systemctl start docker&lt;br /&gt;
sudo systemctl enable docker&lt;br /&gt;
-----&lt;br /&gt;
sudo groupadd docker&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ubuntu==&lt;br /&gt;
* Source: https://docs.docker.com/engine/install/ubuntu/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get remove docker docker-engine docker.io containerd runc&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common&lt;br /&gt;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;br /&gt;
sudo add-apt-repository &amp;quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
-----------&lt;br /&gt;
sudo groupadd docker&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Life-Cycle=&lt;br /&gt;
==build (Build an image from a Dockerfile)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker build -t $NAME_IMAGE:0.1 $LOCATION_DOCKERFILE&lt;br /&gt;
---&lt;br /&gt;
$ docker build -t hijazi/app:v1 .&lt;br /&gt;
$ docker build -t hijazi/app:$(date +%Y%m%d.%H%M%S) .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==run (Run a command in a '''new''' container)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
[d]: Detached Mode, run container in Background.&lt;br /&gt;
[i]: Keep STDIN open.&lt;br /&gt;
[t]: Allocate a pseudo-TTY.&lt;br /&gt;
[rm]: Remove container after exit.&lt;br /&gt;
[v]: Mount a volume: $PATH_OUT:$PATH_IN.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker run --name $STRING --rm -it -d -p $PORT_OUT:$PORT_IN -v $PATH_OUT:$PATH_IN $NAME_IMAGE&lt;br /&gt;
---&lt;br /&gt;
$ docker run --name linux --rm -it -d -p 80:80 -v /home/user:/sandbox alpine&lt;br /&gt;
$ docker run -v C:/Users/admin:/home alpine              # In CMD-Windows&lt;br /&gt;
$ docker run -v C:\\Users\\admin:/home alpine            # In mintty, git-bash&lt;br /&gt;
---&lt;br /&gt;
$ docker run -it --rm ubuntu //bin/bash                  # In CMD-Windows&lt;br /&gt;
$ winpty docker run -it --rm ubuntu //bin/bash           # In mintty, git-bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==exec (Run a command in a '''running''' container)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# In bash, cmd &lt;br /&gt;
$ docker exec -it $NAME_CONTAINER bash&lt;br /&gt;
$ docker exec -it $NAME_CONTAINER sh&lt;br /&gt;
----&lt;br /&gt;
# In mintty, git-bash&lt;br /&gt;
$ winpty docker exec -it $NAME_CONTAINER bash&lt;br /&gt;
$ winpty docker exec -it $NAME_CONTAINER sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==start &amp;amp; stop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker start $NAME_CONTAINER    ## Start a stopped container.&lt;br /&gt;
$ docker stop $NAME_CONTAINER     ## Stop a running container.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Management=&lt;br /&gt;
==images==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker images -a                         # Liste all images&lt;br /&gt;
docker tag hijazi/app:v1 registry/hijazi/app:v2&lt;br /&gt;
docker tag 9d6e50edcaad hijazi/app:v3&lt;br /&gt;
docker pull hijazi/app:v1&lt;br /&gt;
docker pusch hijazi/app:v2&lt;br /&gt;
docker rmi hijazi/app:v0                  # Remove images&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==container==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker ps –a                            # Liste all Containers&lt;br /&gt;
docker rm $NAME                         # Remove one or more containers&lt;br /&gt;
decker rename $NAME_OLD $NEW_NAME       # Rename a container&lt;br /&gt;
docker commit -m &amp;quot;Massage&amp;quot; -a &amp;quot;Creator&amp;quot; 9d6e50edcaad hijazi/app:v1   # Create a new image from a container's changes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==config==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker ps -a -q&lt;br /&gt;
docker stop $(docker ps -a -q)&lt;br /&gt;
docker rm $(docker ps -a -q)&lt;br /&gt;
----&lt;br /&gt;
docker-machine ip&lt;br /&gt;
docker container ls&lt;br /&gt;
docker image ls&lt;br /&gt;
docker volume ls&lt;br /&gt;
----&lt;br /&gt;
docker system prune           # Remove all Unused container&lt;br /&gt;
docker system prune --all     # Remove all Unused container and all unused images&lt;br /&gt;
docker system prune --volumes # Remove all Unused container and all unused volumes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Dockerfile=&lt;br /&gt;
==Ref==&lt;br /&gt;
* https://docs.docker.com/engine/reference/builder/&lt;br /&gt;
* https://developers.redhat.com/articles/2021/10/12/10-steps-better-dockerfile&lt;br /&gt;
==Dockerfile-Definition==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FROM        Sets the base image for subsequent&lt;br /&gt;
MAINTAINER  Sets the author field of the generated images&lt;br /&gt;
RUN	    Execute commands in a new layer on top of the current image and commit the results&lt;br /&gt;
CMD	    Allowed only once (if many then last one takes effect)&lt;br /&gt;
LABEL	    Adds metadata to an image&lt;br /&gt;
EXPOSE	    Informs container runtime that the container listens on the specified network ports at runtime&lt;br /&gt;
ENV	    Sets an environment variable&lt;br /&gt;
ADD	    Copy new files, directories, or remote file URLs from &amp;gt;&amp;gt; into the filesystem of the container&lt;br /&gt;
COPY (this) Copy new files or directories &amp;gt;&amp;gt; into the filesystem of the container&lt;br /&gt;
ENTRYPOINT  Allows you to configure a container that will run as an executable&lt;br /&gt;
VOLUME	    Creates a mount point and marks it as holding externally mounted volumes from native host or other containers&lt;br /&gt;
USER	    Sets the username or UID to use when running the image&lt;br /&gt;
WORKDIR	    Sets the working directory for any RUN, CMD, ENTRYPOINT, COPY, and ADD commands&lt;br /&gt;
ARG	    Defines a variable that users can pass at build-time to the builder using --build-arg&lt;br /&gt;
ONBUILD	    Adds an instruction to be executed later, when the image is used as the base for another build&lt;br /&gt;
STOPSIGNAL  Sets the system call signal that will be sent to the container to exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dockerfile-Template==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FROM debian:stretch-slim&lt;br /&gt;
USER root&lt;br /&gt;
LABEL maintainer=&amp;quot;NGINX Docker Maintainers &amp;lt;docker-maint@nginx.com&amp;gt;&amp;quot;&lt;br /&gt;
WORKDIR /app&lt;br /&gt;
COPY nginx-repo.crt /etc/ssl/nginx/&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; apt-get upgrade -y&lt;br /&gt;
# --------------------------------------------------------------&lt;br /&gt;
# nginx config for OpenShift&lt;br /&gt;
RUN chmod g+rwx /var/cache/nginx /var/run /var/log/nginx&lt;br /&gt;
RUN sed -i.bak 's/listen\(.*\)80;/listen 8081;/' /etc/nginx/conf.d/default.conf&lt;br /&gt;
RUN sed -i.bak 's/^user/#user/' /etc/nginx/nginx.conf&lt;br /&gt;
# --------------------------------------------------------------&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
STOPSIGNAL SIGTERM&lt;br /&gt;
CMD [&amp;quot;nginx&amp;quot;, &amp;quot;-g&amp;quot;, &amp;quot;daemon off;&amp;quot;]&lt;br /&gt;
USER 1001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Docker-Images=&lt;br /&gt;
==Image: Versions==&lt;br /&gt;
* maven:3.6.3-jdk-8&lt;br /&gt;
* maven:3.6.3-jdk-8-slim&lt;br /&gt;
* gradle:6.8.0-jdk8&lt;br /&gt;
* gradle:4.7.0-jdk8-alpine&lt;br /&gt;
* nginx:alpine&lt;br /&gt;
* node:10-alpine3.10&lt;br /&gt;
* openjdk:8-alpine&lt;br /&gt;
&lt;br /&gt;
==Image: Jenkins==&lt;br /&gt;
* src: https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+with+Docker&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export WORKSPACE=/workspace&lt;br /&gt;
...&lt;br /&gt;
sudo docker run --detach \&lt;br /&gt;
 --hostname jenkins.box-blue \&lt;br /&gt;
 --publish 49001:8080 \&lt;br /&gt;
 --name jenkins \&lt;br /&gt;
 --restart always \&lt;br /&gt;
 --volume $WORKSPACE/jenkins:/var/jenkins_home:z \&lt;br /&gt;
 --tty jenkins/jenkins&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Image: GitLab==&lt;br /&gt;
* src: https://docs.gitlab.com/omnibus/docker/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export WORKSPACE=/workspace&lt;br /&gt;
...&lt;br /&gt;
sudo docker run --detach \&lt;br /&gt;
  --hostname gitlab.box-blue \&lt;br /&gt;
  --publish 443:443 \&lt;br /&gt;
  --publish 80:80 \&lt;br /&gt;
  --publish 22:22 \&lt;br /&gt;
  --name gitlab \&lt;br /&gt;
  --restart always \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/config:/etc/gitlab \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/logs:/var/log/gitlab \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/data:/var/opt/gitlab \&lt;br /&gt;
  gitlab/gitlab-ce:latest&lt;br /&gt;
...&lt;br /&gt;
sudo docker exec -it gitlab /bin/bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Image: Postgres==&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ref: https://hub.docker.com/_/postgres/&lt;br /&gt;
* ref: https://quarkus.io/guides/reactive-sql-clients&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d --ulimit memlock=-1:-1 -it --rm=true --memory-swappiness=0 --name postgres -e POSTGRES_USER=db -e POSTGRES_PASSWORD=db -e POSTGRES_DB=db_01 -p 5432:5432 postgres:10.5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ref: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker pull dpage/pgadmin4&lt;br /&gt;
docker run -p 80:80 \&lt;br /&gt;
 --name pgadmin \&lt;br /&gt;
 -e 'PGADMIN_DEFAULT_EMAIL=user@mail.com' \&lt;br /&gt;
 -e 'PGADMIN_DEFAULT_PASSWORD=password' \&lt;br /&gt;
 -d dpage/pgadmin4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Image: HiveMQ==&lt;br /&gt;
* https://www.hivemq.com/downloads/docker/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm --name mqtt-ce -p 8080:8080 -p 1883:1883 hivemq/hivemq-ce&lt;br /&gt;
docker run --rm --name mqtt-pr -p 8080:8080 -p 1883:1883 hivemq/hivemq4&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
http://localhost:8080&lt;br /&gt;
User: admin&lt;br /&gt;
Password: hivemq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Tweaks&amp;diff=2671</id>
		<title>IT-OS-Admin-Tweaks</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Admin-Tweaks&amp;diff=2671"/>
		<updated>2022-08-01T14:48:31Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Linux=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo umount -a&lt;br /&gt;
sudo ntfsfix /dev/nvme0n1p3&lt;br /&gt;
sudo update-alternatives --config x-terminal-emulator&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-SDK-Docker&amp;diff=2670</id>
		<title>IT-SDK-Docker</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-SDK-Docker&amp;diff=2670"/>
		<updated>2022-08-01T11:29:57Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* ubuntu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* https://docs.docker.com/docker-hub/access-tokens/&lt;br /&gt;
* https://cloud.google.com/container-registry/docs/pulling-cached-images#docker-ui&lt;br /&gt;
* https://github.com/Philip-Scott/docker-workspace&lt;br /&gt;
* VS-Code &amp;amp; Containers: https://code.visualstudio.com/docs/remote/containers&lt;br /&gt;
* CheatSheet: https://www.docker.com/sites/default/files/d8/2019-09/docker-cheat-sheet.pdf&lt;br /&gt;
* Source: https://docs.docker.com/v17.09/engine/reference/builder/&lt;br /&gt;
* Link: http://docs.projectatomic.io/container-best-practices/#_abstract&lt;br /&gt;
* Link: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/&lt;br /&gt;
* Website-CMD: (https://docs.docker.com/engine/reference/commandline/)&lt;br /&gt;
* Website-TUT: (https://docs.docker.com/engine/tutorials/usingdocker/)&lt;br /&gt;
* Portainer: (http://portainer.io/index.html) stammt aus UI-for-Docker (https://github.com/kevana/ui-for-docker)&lt;br /&gt;
* Docker &amp;amp; Kubernetes: https://www.middlewareinventory.com/blog/deploy-docker-image-to-kubernetes/&lt;br /&gt;
* Docker &amp;amp; Kubernetes: https://www.linode.com/docs/kubernetes/deploy-container-image-to-kubernetes/&lt;br /&gt;
&lt;br /&gt;
=Definitions=&lt;br /&gt;
* '''Docker Compose''' is a tool for defining and running multi-container Docker applications&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
=setting=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/containers/nodocker&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==docker-compose==&lt;br /&gt;
* Source: https://docs.docker.com/compose/install/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -L &amp;quot;https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)&amp;quot; -o /usr/local/bin/docker-compose&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-compose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==fedora==&lt;br /&gt;
* https://docs.docker.com/engine/install/fedora/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine&lt;br /&gt;
-----&lt;br /&gt;
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo&lt;br /&gt;
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin&lt;br /&gt;
-----&lt;br /&gt;
sudo systemctl start docker&lt;br /&gt;
sudo systemctl enable docker&lt;br /&gt;
-----&lt;br /&gt;
sudo groupadd docker&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ubuntu==&lt;br /&gt;
* Source: https://docs.docker.com/engine/install/ubuntu/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get remove docker docker-engine docker.io containerd runc&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common&lt;br /&gt;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;br /&gt;
sudo add-apt-repository &amp;quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install docker-ce docker-ce-cli containerd.io&lt;br /&gt;
-----------&lt;br /&gt;
sudo groupadd docker&lt;br /&gt;
sudo usermod -aG docker $USER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Life-Cycle=&lt;br /&gt;
==build (Build an image from a Dockerfile)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker build -t $NAME_IMAGE:0.1 $LOCATION_DOCKERFILE&lt;br /&gt;
---&lt;br /&gt;
$ docker build -t hijazi/app:v1 .&lt;br /&gt;
$ docker build -t hijazi/app:$(date +%Y%m%d.%H%M%S) .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==run (Run a command in a '''new''' container)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
[d]: Detached Mode, run container in Background.&lt;br /&gt;
[i]: Keep STDIN open.&lt;br /&gt;
[t]: Allocate a pseudo-TTY.&lt;br /&gt;
[rm]: Remove container after exit.&lt;br /&gt;
[v]: Mount a volume: $PATH_OUT:$PATH_IN.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker run --name $STRING --rm -it -d -p $PORT_OUT:$PORT_IN -v $PATH_OUT:$PATH_IN $NAME_IMAGE&lt;br /&gt;
---&lt;br /&gt;
$ docker run --name linux --rm -it -d -p 80:80 -v /home/user:/sandbox alpine&lt;br /&gt;
$ docker run -v C:/Users/admin:/home alpine              # In CMD-Windows&lt;br /&gt;
$ docker run -v C:\\Users\\admin:/home alpine            # In mintty, git-bash&lt;br /&gt;
---&lt;br /&gt;
$ docker run -it --rm ubuntu //bin/bash                  # In CMD-Windows&lt;br /&gt;
$ winpty docker run -it --rm ubuntu //bin/bash           # In mintty, git-bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==exec (Run a command in a '''running''' container)==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# In bash, cmd &lt;br /&gt;
$ docker exec -it $NAME_CONTAINER bash&lt;br /&gt;
$ docker exec -it $NAME_CONTAINER sh&lt;br /&gt;
----&lt;br /&gt;
# In mintty, git-bash&lt;br /&gt;
$ winpty docker exec -it $NAME_CONTAINER bash&lt;br /&gt;
$ winpty docker exec -it $NAME_CONTAINER sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==start &amp;amp; stop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
$ docker start $NAME_CONTAINER    ## Start a stopped container.&lt;br /&gt;
$ docker stop $NAME_CONTAINER     ## Stop a running container.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Management=&lt;br /&gt;
==images==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker images -a                         # Liste all images&lt;br /&gt;
docker tag hijazi/app:v1 registry/hijazi/app:v2&lt;br /&gt;
docker tag 9d6e50edcaad hijazi/app:v3&lt;br /&gt;
docker pull hijazi/app:v1&lt;br /&gt;
docker pusch hijazi/app:v2&lt;br /&gt;
docker rmi hijazi/app:v0                  # Remove images&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==container==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker ps –a                            # Liste all Containers&lt;br /&gt;
docker rm $NAME                         # Remove one or more containers&lt;br /&gt;
decker rename $NAME_OLD $NEW_NAME       # Rename a container&lt;br /&gt;
docker commit -m &amp;quot;Massage&amp;quot; -a &amp;quot;Creator&amp;quot; 9d6e50edcaad hijazi/app:v1   # Create a new image from a container's changes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==config==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker ps -a -q&lt;br /&gt;
docker stop $(docker ps -a -q)&lt;br /&gt;
docker rm $(docker ps -a -q)&lt;br /&gt;
----&lt;br /&gt;
docker-machine ip&lt;br /&gt;
docker container ls&lt;br /&gt;
docker image ls&lt;br /&gt;
docker volume ls&lt;br /&gt;
----&lt;br /&gt;
docker system prune           # Remove all Unused container&lt;br /&gt;
docker system prune --all     # Remove all Unused container and all unused images&lt;br /&gt;
docker system prune --volumes # Remove all Unused container and all unused volumes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Dockerfile=&lt;br /&gt;
==Ref==&lt;br /&gt;
* https://docs.docker.com/engine/reference/builder/&lt;br /&gt;
* https://developers.redhat.com/articles/2021/10/12/10-steps-better-dockerfile&lt;br /&gt;
==Dockerfile-Definition==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FROM        Sets the base image for subsequent&lt;br /&gt;
MAINTAINER  Sets the author field of the generated images&lt;br /&gt;
RUN	    Execute commands in a new layer on top of the current image and commit the results&lt;br /&gt;
CMD	    Allowed only once (if many then last one takes effect)&lt;br /&gt;
LABEL	    Adds metadata to an image&lt;br /&gt;
EXPOSE	    Informs container runtime that the container listens on the specified network ports at runtime&lt;br /&gt;
ENV	    Sets an environment variable&lt;br /&gt;
ADD	    Copy new files, directories, or remote file URLs from &amp;gt;&amp;gt; into the filesystem of the container&lt;br /&gt;
COPY (this) Copy new files or directories &amp;gt;&amp;gt; into the filesystem of the container&lt;br /&gt;
ENTRYPOINT  Allows you to configure a container that will run as an executable&lt;br /&gt;
VOLUME	    Creates a mount point and marks it as holding externally mounted volumes from native host or other containers&lt;br /&gt;
USER	    Sets the username or UID to use when running the image&lt;br /&gt;
WORKDIR	    Sets the working directory for any RUN, CMD, ENTRYPOINT, COPY, and ADD commands&lt;br /&gt;
ARG	    Defines a variable that users can pass at build-time to the builder using --build-arg&lt;br /&gt;
ONBUILD	    Adds an instruction to be executed later, when the image is used as the base for another build&lt;br /&gt;
STOPSIGNAL  Sets the system call signal that will be sent to the container to exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dockerfile-Template==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
FROM debian:stretch-slim&lt;br /&gt;
USER root&lt;br /&gt;
LABEL maintainer=&amp;quot;NGINX Docker Maintainers &amp;lt;docker-maint@nginx.com&amp;gt;&amp;quot;&lt;br /&gt;
WORKDIR /app&lt;br /&gt;
COPY nginx-repo.crt /etc/ssl/nginx/&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; apt-get upgrade -y&lt;br /&gt;
# --------------------------------------------------------------&lt;br /&gt;
# nginx config for OpenShift&lt;br /&gt;
RUN chmod g+rwx /var/cache/nginx /var/run /var/log/nginx&lt;br /&gt;
RUN sed -i.bak 's/listen\(.*\)80;/listen 8081;/' /etc/nginx/conf.d/default.conf&lt;br /&gt;
RUN sed -i.bak 's/^user/#user/' /etc/nginx/nginx.conf&lt;br /&gt;
# --------------------------------------------------------------&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
STOPSIGNAL SIGTERM&lt;br /&gt;
CMD [&amp;quot;nginx&amp;quot;, &amp;quot;-g&amp;quot;, &amp;quot;daemon off;&amp;quot;]&lt;br /&gt;
USER 1001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Docker-Images=&lt;br /&gt;
==Image: Versions==&lt;br /&gt;
* maven:3.6.3-jdk-8&lt;br /&gt;
* maven:3.6.3-jdk-8-slim&lt;br /&gt;
* gradle:6.8.0-jdk8&lt;br /&gt;
* gradle:4.7.0-jdk8-alpine&lt;br /&gt;
* nginx:alpine&lt;br /&gt;
* node:10-alpine3.10&lt;br /&gt;
* openjdk:8-alpine&lt;br /&gt;
&lt;br /&gt;
==Image: Jenkins==&lt;br /&gt;
* src: https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+with+Docker&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export WORKSPACE=/workspace&lt;br /&gt;
...&lt;br /&gt;
sudo docker run --detach \&lt;br /&gt;
 --hostname jenkins.box-blue \&lt;br /&gt;
 --publish 49001:8080 \&lt;br /&gt;
 --name jenkins \&lt;br /&gt;
 --restart always \&lt;br /&gt;
 --volume $WORKSPACE/jenkins:/var/jenkins_home:z \&lt;br /&gt;
 --tty jenkins/jenkins&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Image: GitLab==&lt;br /&gt;
* src: https://docs.gitlab.com/omnibus/docker/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export WORKSPACE=/workspace&lt;br /&gt;
...&lt;br /&gt;
sudo docker run --detach \&lt;br /&gt;
  --hostname gitlab.box-blue \&lt;br /&gt;
  --publish 443:443 \&lt;br /&gt;
  --publish 80:80 \&lt;br /&gt;
  --publish 22:22 \&lt;br /&gt;
  --name gitlab \&lt;br /&gt;
  --restart always \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/config:/etc/gitlab \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/logs:/var/log/gitlab \&lt;br /&gt;
  --volume $WORKSPACE/gitlab/data:/var/opt/gitlab \&lt;br /&gt;
  gitlab/gitlab-ce:latest&lt;br /&gt;
...&lt;br /&gt;
sudo docker exec -it gitlab /bin/bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Image: Postgres==&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ref: https://hub.docker.com/_/postgres/&lt;br /&gt;
* ref: https://quarkus.io/guides/reactive-sql-clients&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d --ulimit memlock=-1:-1 -it --rm=true --memory-swappiness=0 --name postgres -e POSTGRES_USER=db -e POSTGRES_PASSWORD=db -e POSTGRES_DB=db_01 -p 5432:5432 postgres:10.5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ref: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker pull dpage/pgadmin4&lt;br /&gt;
docker run -p 80:80 \&lt;br /&gt;
 --name pgadmin \&lt;br /&gt;
 -e 'PGADMIN_DEFAULT_EMAIL=user@mail.com' \&lt;br /&gt;
 -e 'PGADMIN_DEFAULT_PASSWORD=password' \&lt;br /&gt;
 -d dpage/pgadmin4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Image: HiveMQ==&lt;br /&gt;
* https://www.hivemq.com/downloads/docker/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
docker run --rm --name hivemq-ce -d -p 1883:1883 hivemq/hivemq-ce&lt;br /&gt;
docker run --rm --name mqtt -d -p 8080:8080 -p 1883:1883 hivemq/hivemq4&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
http://localhost:8080&lt;br /&gt;
User: admin&lt;br /&gt;
Password: hivemq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2669</id>
		<title>IT-OS-Config-Themes</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2669"/>
		<updated>2022-08-01T10:53:37Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://www.svgs.us/&lt;br /&gt;
* http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
* https://developer.gnome.org/creating-metacity-themes/stable/&lt;br /&gt;
* https://developer.gnome.org/icon-theme-spec/&lt;br /&gt;
* https://docs.openstack.org/devstack/latest/_static/css/native.css&lt;br /&gt;
* https://git.archlinux.org/vhosts/wiki.archlinux.org.git&lt;br /&gt;
* https://gtkthemingguide.now.sh/#/&lt;br /&gt;
* https://iconset.io/&lt;br /&gt;
* https://mayccoll.github.io/Gogh/&lt;br /&gt;
* https://medium.com/@teejeetech/introducing-aptik-theme-manager-b99704cbcb43&lt;br /&gt;
* https://nucleoapp.com/&lt;br /&gt;
* https://rgb.to/&lt;br /&gt;
* https://sketchicons.com/&lt;br /&gt;
* https://surajmandal.in/elementary-x/&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GTK&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Icons&lt;br /&gt;
* https://wiki.gnome.org/Attic/GnomeArt/Tutorials/MetacityThemes&lt;br /&gt;
* https://www.lingoapp.com/&lt;br /&gt;
&lt;br /&gt;
=Theme-Tools=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install meson sassc glib&lt;br /&gt;
sudo dnf install gtk3-widget-factory&lt;br /&gt;
sudo dnf install gtk3-icon-browser &lt;br /&gt;
sudo apt-get install glade libgtk-3-dev geany&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Projects=&lt;br /&gt;
* https://github.com/andreisergiu98/arc-flatabulous-theme&lt;br /&gt;
* https://github.com/btd1337/Cairo-Dock-macOS-Sierra-Style&lt;br /&gt;
* https://github.com/btd1337/eOS-Sierra-Gtk&lt;br /&gt;
* https://github.com/btd1337/La-Sierra-Icon-Theme&lt;br /&gt;
* https://github.com/horst3180/Arc-theme&lt;br /&gt;
* https://github.com/jnsh/arc-theme&lt;br /&gt;
* https://github.com/keeferrourke/la-capitaine-icon-theme&lt;br /&gt;
* https://github.com/surajmandalcell/elementary-x&lt;br /&gt;
* https://github.com/themix-project/oomox&lt;br /&gt;
* https://github.com/thomas-kammerer/elementary-x2&lt;br /&gt;
* https://github.com/ubuntu/yaru&lt;br /&gt;
* https://github.com/vinceliuice/&lt;br /&gt;
* https://github.com/vinceliuice/grub2-themes&lt;br /&gt;
* https://github.com/vinceliuice/Mojave-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Sierra-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Toffee-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Yosemite-gtk-theme&lt;br /&gt;
&lt;br /&gt;
=Theme-Settings=&lt;br /&gt;
==Terminal==&lt;br /&gt;
* https://draculatheme.com/&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
dconf dump /com/gexperts/Tilix/profiles/&lt;br /&gt;
dconf dump /org/gnome/terminal/legacy/profiles:/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Icons==&lt;br /&gt;
* https://www.iconfinder.com/iconsets/animal-kingdom-vol-2&lt;br /&gt;
* Inherits=Moka,Adwaita,gnome,hicolor&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
gtk-update-icon-cache ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==HiDPI==&lt;br /&gt;
*https://wiki.archlinux.org/index.php/HiDPI&lt;br /&gt;
*https://winaero.com/blog/find-change-screen-dpi-linux/&lt;br /&gt;
*https://computingforgeeks.com/how-to-set-correct-screen-dpi-in-linux-xresources/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt -y install x11-utils         ### Install on Debian / Ubuntu&lt;br /&gt;
sudo dnf -y install xorg-x11-utils    ### Install on Fedora / RHEL&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xdpyinfo | grep -B 2 resolution&lt;br /&gt;
xdpyinfo | grep dots&lt;br /&gt;
xrandr | grep -w connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
http://dpi.lv/&lt;br /&gt;
https://goodcalculators.com/ppi-pixels-per-inch-calculator/&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
echo 'Xft.dpi:   94'  &amp;gt; ~/.Xresources   ### set correct dots per inch (DPI)&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xrdb ~/.Xresources          ### Load a resource file&lt;br /&gt;
xrdb -merge ~/.Xresources   ### load a resource file, and merge with the current settings&lt;br /&gt;
xrdb -query -all            ### see the currently loaded resources&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# HP-Box: 15.6&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 100 DPI&lt;br /&gt;
# HP-Box: 17.3&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 91 DPI&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
*https://wiki.archlinux.org/title/font_configuration&lt;br /&gt;
*https://wiki.archlinux.org/title/Font_configuration/Examples&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/share/fonts/&lt;br /&gt;
~/.local/share/fonts&lt;br /&gt;
-----&lt;br /&gt;
/etc/fonts/fonts.conf&lt;br /&gt;
/etc/fonts/local.conf&lt;br /&gt;
/etc/fonts/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/fonts.conf            ### ~/.fonts.conf/&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
~/.config/fontconfig/fonts.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install open-sans-fonts&lt;br /&gt;
sudo dnf install google-roboto-fonts&lt;br /&gt;
sudo dnf install google-roboto-mono-fonts&lt;br /&gt;
sudo dnf install google-noto-sans-fonts&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
https://github.com/microsoft/cascadia-code/releases          ### &amp;quot;Cascadia Mono Regular&amp;quot; @ 12&lt;br /&gt;
wget https://download.jetbrains.com/fonts/JetBrainsMono-1.0.0.zip&lt;br /&gt;
wget https://raw.githubusercontent.com/mrbvrz/segoe-ui-linux/master/install.sh&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
sudo fc-cache -f -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Text scaling factor: 1.0&lt;br /&gt;
Hinting: Full&lt;br /&gt;
Antialiasing: RGBA&lt;br /&gt;
RGBA Order: RGB&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Interface Text: @10&lt;br /&gt;
Document font: @10&lt;br /&gt;
Monospace font: @10&lt;br /&gt;
Legacy Window Titels: @10&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Tweaks=&lt;br /&gt;
==Mix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
background-color: #333&lt;br /&gt;
background-color: #f5f5f5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Desktop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
pre {&lt;br /&gt;
background-color: #333;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
border-radius: 4px;&lt;br /&gt;
color: #fff;&lt;br /&gt;
display: block;&lt;br /&gt;
font-size: 13px;&lt;br /&gt;
line-height: 1.4;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
overflow: auto;&lt;br /&gt;
padding: 20px 30px;&lt;br /&gt;
padding: 9.5px;&lt;br /&gt;
word-break: break-all;&lt;br /&gt;
word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Scrollbar==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
@import 'colors.css';&lt;br /&gt;
&lt;br /&gt;
.scrollbar {&lt;br /&gt;
  -GtkScrollbar-has-backward-stepper: false;&lt;br /&gt;
  -GtkScrollbar-has-forward-stepper: false;&lt;br /&gt;
  -GtkRange-slider-width: 20;&lt;br /&gt;
  -GtkRange-stepper-size: 20;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
scrollbar slider {&lt;br /&gt;
    /* Size of the slider */&lt;br /&gt;
    min-width: 10px;&lt;br /&gt;
    min-height: 10px;&lt;br /&gt;
    border-radius: 22px;&lt;br /&gt;
&lt;br /&gt;
    /* Padding around the slider */&lt;br /&gt;
    border: 5px solid transparent;&lt;br /&gt;
}&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Titelbar==&lt;br /&gt;
* https://unix.stackexchange.com/questions/276951/how-to-change-the-titlebar-height-in-standard-gtk-apps-and-those-with-headerbars?noredirect=1&amp;amp;lq=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
headerbar entry,&lt;br /&gt;
headerbar spinbutton,&lt;br /&gt;
headerbar button,&lt;br /&gt;
headerbar separator {&lt;br /&gt;
    margin-top: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    margin-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
headerbar {&lt;br /&gt;
    min-height: 24px;&lt;br /&gt;
    padding-left: 2px; /* same as childrens vertical margins for nicer proportions */&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    margin: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove Dashed lines==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Change wingpanel icon==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.panel {&lt;br /&gt;
  background-color: transparent;&lt;br /&gt;
  transition: all 100ms ease-in-out;&lt;br /&gt;
  background-image: url(&amp;quot;elementaryicon.png&amp;quot;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  font-size:0px !important;&lt;br /&gt;
}&lt;br /&gt;
.panel-app-button &amp;gt; GtkWidget &amp;gt; GtkWidget:first-child {&lt;br /&gt;
    padding: 0px 24px 0px 0px;&lt;br /&gt;
    font-size: 0px;&lt;br /&gt;
    background-image: url(&amp;quot;icon.svg&amp;quot;);&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2668</id>
		<title>IT-OS-Config-Themes</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2668"/>
		<updated>2022-08-01T10:53:28Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* ############### */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://www.svgs.us/&lt;br /&gt;
* http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
* https://developer.gnome.org/creating-metacity-themes/stable/&lt;br /&gt;
* https://developer.gnome.org/icon-theme-spec/&lt;br /&gt;
* https://docs.openstack.org/devstack/latest/_static/css/native.css&lt;br /&gt;
* https://git.archlinux.org/vhosts/wiki.archlinux.org.git&lt;br /&gt;
* https://gtkthemingguide.now.sh/#/&lt;br /&gt;
* https://iconset.io/&lt;br /&gt;
* https://mayccoll.github.io/Gogh/&lt;br /&gt;
* https://medium.com/@teejeetech/introducing-aptik-theme-manager-b99704cbcb43&lt;br /&gt;
* https://nucleoapp.com/&lt;br /&gt;
* https://rgb.to/&lt;br /&gt;
* https://sketchicons.com/&lt;br /&gt;
* https://surajmandal.in/elementary-x/&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GTK&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Icons&lt;br /&gt;
* https://wiki.gnome.org/Attic/GnomeArt/Tutorials/MetacityThemes&lt;br /&gt;
* https://www.lingoapp.com/&lt;br /&gt;
&lt;br /&gt;
=Theme-Tools=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install meson sassc glib&lt;br /&gt;
sudo dnf install gtk3-widget-factory&lt;br /&gt;
sudo dnf install gtk3-icon-browser &lt;br /&gt;
sudo apt-get install glade libgtk-3-dev geany&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Projects=&lt;br /&gt;
* https://github.com/andreisergiu98/arc-flatabulous-theme&lt;br /&gt;
* https://github.com/btd1337/Cairo-Dock-macOS-Sierra-Style&lt;br /&gt;
* https://github.com/btd1337/eOS-Sierra-Gtk&lt;br /&gt;
* https://github.com/btd1337/La-Sierra-Icon-Theme&lt;br /&gt;
* https://github.com/horst3180/Arc-theme&lt;br /&gt;
* https://github.com/jnsh/arc-theme&lt;br /&gt;
* https://github.com/keeferrourke/la-capitaine-icon-theme&lt;br /&gt;
* https://github.com/surajmandalcell/elementary-x&lt;br /&gt;
* https://github.com/themix-project/oomox&lt;br /&gt;
* https://github.com/thomas-kammerer/elementary-x2&lt;br /&gt;
* https://github.com/ubuntu/yaru&lt;br /&gt;
* https://github.com/vinceliuice/&lt;br /&gt;
* https://github.com/vinceliuice/grub2-themes&lt;br /&gt;
* https://github.com/vinceliuice/Mojave-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Sierra-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Toffee-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Yosemite-gtk-theme&lt;br /&gt;
&lt;br /&gt;
=Theme-Settings=&lt;br /&gt;
==Terminal==&lt;br /&gt;
* https://draculatheme.com/&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
dconf dump /com/gexperts/Tilix/profiles/&lt;br /&gt;
dconf dump /org/gnome/terminal/legacy/profiles:/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Icons==&lt;br /&gt;
* https://www.iconfinder.com/iconsets/animal-kingdom-vol-2&lt;br /&gt;
* Inherits=Moka,Adwaita,gnome,hicolor&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
gtk-update-icon-cache ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==HiDPI==&lt;br /&gt;
*https://wiki.archlinux.org/index.php/HiDPI&lt;br /&gt;
*https://winaero.com/blog/find-change-screen-dpi-linux/&lt;br /&gt;
*https://computingforgeeks.com/how-to-set-correct-screen-dpi-in-linux-xresources/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt -y install x11-utils         ### Install on Debian / Ubuntu&lt;br /&gt;
sudo dnf -y install xorg-x11-utils    ### Install on Fedora / RHEL&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xdpyinfo | grep -B 2 resolution&lt;br /&gt;
xdpyinfo | grep dots&lt;br /&gt;
xrandr | grep -w connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
http://dpi.lv/&lt;br /&gt;
https://goodcalculators.com/ppi-pixels-per-inch-calculator/&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
echo 'Xft.dpi:   94'  &amp;gt; ~/.Xresources   ### set correct dots per inch (DPI)&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xrdb ~/.Xresources          ### Load a resource file&lt;br /&gt;
xrdb -merge ~/.Xresources   ### load a resource file, and merge with the current settings&lt;br /&gt;
xrdb -query -all            ### see the currently loaded resources&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# HP-Box: 15.6&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 100 DPI&lt;br /&gt;
# HP-Box: 17.3&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 91 DPI&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
*https://wiki.archlinux.org/title/font_configuration&lt;br /&gt;
*https://wiki.archlinux.org/title/Font_configuration/Examples&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/share/fonts/&lt;br /&gt;
~/.local/share/fonts&lt;br /&gt;
-----&lt;br /&gt;
/etc/fonts/fonts.conf&lt;br /&gt;
/etc/fonts/local.conf&lt;br /&gt;
/etc/fonts/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/fonts.conf            ### ~/.fonts.conf/&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
~/.config/fontconfig/fonts.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install open-sans-fonts&lt;br /&gt;
sudo dnf install google-roboto-fonts&lt;br /&gt;
sudo dnf install google-roboto-mono-fonts&lt;br /&gt;
sudo dnf install google-noto-sans-fonts&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
https://github.com/microsoft/cascadia-code/releases          ### &amp;quot;Cascadia Mono Regular&amp;quot; @ 12&lt;br /&gt;
wget https://download.jetbrains.com/fonts/JetBrainsMono-1.0.0.zip&lt;br /&gt;
wget https://raw.githubusercontent.com/mrbvrz/segoe-ui-linux/master/install.sh&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
sudo fc-cache -f -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Text scaling factor: 1.0&lt;br /&gt;
Hinting: Full&lt;br /&gt;
Antialiasing: RGBA&lt;br /&gt;
RGBA Order: RGB&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Interface Text: @10&lt;br /&gt;
Document font: @10&lt;br /&gt;
Monospace font: @10&lt;br /&gt;
Legacy Window Titels: @10&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Tweaks=&lt;br /&gt;
==Mix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
background-color: #333&lt;br /&gt;
background-color: #f5f5f5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Desktop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
pre {&lt;br /&gt;
background-color: #333;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
border-radius: 4px;&lt;br /&gt;
color: #fff;&lt;br /&gt;
display: block;&lt;br /&gt;
font-size: 13px;&lt;br /&gt;
line-height: 1.4;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
overflow: auto;&lt;br /&gt;
padding: 20px 30px;&lt;br /&gt;
padding: 9.5px;&lt;br /&gt;
word-break: break-all;&lt;br /&gt;
word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Scrollbar==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
@import 'colors.css';&lt;br /&gt;
&lt;br /&gt;
.scrollbar {&lt;br /&gt;
  -GtkScrollbar-has-backward-stepper: false;&lt;br /&gt;
  -GtkScrollbar-has-forward-stepper: false;&lt;br /&gt;
  -GtkRange-slider-width: 20;&lt;br /&gt;
  -GtkRange-stepper-size: 20;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
scrollbar slider {&lt;br /&gt;
    /* Size of the slider */&lt;br /&gt;
    min-width: 10px;&lt;br /&gt;
    min-height: 10px;&lt;br /&gt;
    border-radius: 22px;&lt;br /&gt;
&lt;br /&gt;
    /* Padding around the slider */&lt;br /&gt;
    border: 5px solid transparent;&lt;br /&gt;
}&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Titelbar==&lt;br /&gt;
* https://unix.stackexchange.com/questions/276951/how-to-change-the-titlebar-height-in-standard-gtk-apps-and-those-with-headerbars?noredirect=1&amp;amp;lq=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
headerbar entry,&lt;br /&gt;
headerbar spinbutton,&lt;br /&gt;
headerbar button,&lt;br /&gt;
headerbar separator {&lt;br /&gt;
    margin-top: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    margin-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
headerbar {&lt;br /&gt;
    min-height: 24px;&lt;br /&gt;
    padding-left: 2px; /* same as childrens vertical margins for nicer proportions */&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    margin: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove Dashed lines==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Change wingpanel icon==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.panel {&lt;br /&gt;
  background-color: transparent;&lt;br /&gt;
  transition: all 100ms ease-in-out;&lt;br /&gt;
  background-image: url(&amp;quot;elementaryicon.png&amp;quot;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  font-size:0px !important;&lt;br /&gt;
}&lt;br /&gt;
.panel-app-button &amp;gt; GtkWidget &amp;gt; GtkWidget:first-child {&lt;br /&gt;
    padding: 0px 24px 0px 0px;&lt;br /&gt;
    font-size: 0px;&lt;br /&gt;
    background-image: url(&amp;quot;icon.svg&amp;quot;);&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2667</id>
		<title>IT-OS-Config-Themes</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2667"/>
		<updated>2022-08-01T10:53:05Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Icons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://www.svgs.us/&lt;br /&gt;
* http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
* https://developer.gnome.org/creating-metacity-themes/stable/&lt;br /&gt;
* https://developer.gnome.org/icon-theme-spec/&lt;br /&gt;
* https://docs.openstack.org/devstack/latest/_static/css/native.css&lt;br /&gt;
* https://git.archlinux.org/vhosts/wiki.archlinux.org.git&lt;br /&gt;
* https://gtkthemingguide.now.sh/#/&lt;br /&gt;
* https://iconset.io/&lt;br /&gt;
* https://mayccoll.github.io/Gogh/&lt;br /&gt;
* https://medium.com/@teejeetech/introducing-aptik-theme-manager-b99704cbcb43&lt;br /&gt;
* https://nucleoapp.com/&lt;br /&gt;
* https://rgb.to/&lt;br /&gt;
* https://sketchicons.com/&lt;br /&gt;
* https://surajmandal.in/elementary-x/&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GTK&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Icons&lt;br /&gt;
* https://wiki.gnome.org/Attic/GnomeArt/Tutorials/MetacityThemes&lt;br /&gt;
* https://www.lingoapp.com/&lt;br /&gt;
&lt;br /&gt;
=Theme-Tools=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install meson sassc glib&lt;br /&gt;
sudo dnf install gtk3-widget-factory&lt;br /&gt;
sudo dnf install gtk3-icon-browser &lt;br /&gt;
sudo apt-get install glade libgtk-3-dev geany&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Projects=&lt;br /&gt;
* https://github.com/andreisergiu98/arc-flatabulous-theme&lt;br /&gt;
* https://github.com/btd1337/Cairo-Dock-macOS-Sierra-Style&lt;br /&gt;
* https://github.com/btd1337/eOS-Sierra-Gtk&lt;br /&gt;
* https://github.com/btd1337/La-Sierra-Icon-Theme&lt;br /&gt;
* https://github.com/horst3180/Arc-theme&lt;br /&gt;
* https://github.com/jnsh/arc-theme&lt;br /&gt;
* https://github.com/keeferrourke/la-capitaine-icon-theme&lt;br /&gt;
* https://github.com/surajmandalcell/elementary-x&lt;br /&gt;
* https://github.com/themix-project/oomox&lt;br /&gt;
* https://github.com/thomas-kammerer/elementary-x2&lt;br /&gt;
* https://github.com/ubuntu/yaru&lt;br /&gt;
* https://github.com/vinceliuice/&lt;br /&gt;
* https://github.com/vinceliuice/grub2-themes&lt;br /&gt;
* https://github.com/vinceliuice/Mojave-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Sierra-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Toffee-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Yosemite-gtk-theme&lt;br /&gt;
&lt;br /&gt;
=Theme-Settings=&lt;br /&gt;
==Terminal==&lt;br /&gt;
* https://draculatheme.com/&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
dconf dump /com/gexperts/Tilix/profiles/&lt;br /&gt;
dconf dump /org/gnome/terminal/legacy/profiles:/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Icons==&lt;br /&gt;
* https://www.iconfinder.com/iconsets/animal-kingdom-vol-2&lt;br /&gt;
* Inherits=Moka,Adwaita,gnome,hicolor&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
gtk-update-icon-cache ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==HiDPI==&lt;br /&gt;
*https://wiki.archlinux.org/index.php/HiDPI&lt;br /&gt;
*https://winaero.com/blog/find-change-screen-dpi-linux/&lt;br /&gt;
*https://computingforgeeks.com/how-to-set-correct-screen-dpi-in-linux-xresources/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt -y install x11-utils         ### Install on Debian / Ubuntu&lt;br /&gt;
sudo dnf -y install xorg-x11-utils    ### Install on Fedora / RHEL&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xdpyinfo | grep -B 2 resolution&lt;br /&gt;
xdpyinfo | grep dots&lt;br /&gt;
xrandr | grep -w connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
http://dpi.lv/&lt;br /&gt;
https://goodcalculators.com/ppi-pixels-per-inch-calculator/&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
echo 'Xft.dpi:   94'  &amp;gt; ~/.Xresources   ### set correct dots per inch (DPI)&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xrdb ~/.Xresources          ### Load a resource file&lt;br /&gt;
xrdb -merge ~/.Xresources   ### load a resource file, and merge with the current settings&lt;br /&gt;
xrdb -query -all            ### see the currently loaded resources&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# HP-Box: 15.6&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 100 DPI&lt;br /&gt;
# HP-Box: 17.3&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 91 DPI&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
*https://wiki.archlinux.org/title/font_configuration&lt;br /&gt;
*https://wiki.archlinux.org/title/Font_configuration/Examples&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/share/fonts/&lt;br /&gt;
~/.local/share/fonts&lt;br /&gt;
-----&lt;br /&gt;
/etc/fonts/fonts.conf&lt;br /&gt;
/etc/fonts/local.conf&lt;br /&gt;
/etc/fonts/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/fonts.conf            ### ~/.fonts.conf/&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
~/.config/fontconfig/fonts.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install open-sans-fonts&lt;br /&gt;
sudo dnf install google-roboto-fonts&lt;br /&gt;
sudo dnf install google-roboto-mono-fonts&lt;br /&gt;
sudo dnf install google-noto-sans-fonts&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
https://github.com/microsoft/cascadia-code/releases          ### &amp;quot;Cascadia Mono Regular&amp;quot; @ 12&lt;br /&gt;
wget https://download.jetbrains.com/fonts/JetBrainsMono-1.0.0.zip&lt;br /&gt;
wget https://raw.githubusercontent.com/mrbvrz/segoe-ui-linux/master/install.sh&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
sudo fc-cache -f -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Text scaling factor: 1.0&lt;br /&gt;
Hinting: Full&lt;br /&gt;
Antialiasing: RGBA&lt;br /&gt;
RGBA Order: RGB&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Interface Text: @10&lt;br /&gt;
Document font: @10&lt;br /&gt;
Monospace font: @10&lt;br /&gt;
Legacy Window Titels: @10&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Tweaks=&lt;br /&gt;
==Mix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
background-color: #333&lt;br /&gt;
background-color: #f5f5f5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Desktop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
pre {&lt;br /&gt;
background-color: #333;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
border-radius: 4px;&lt;br /&gt;
color: #fff;&lt;br /&gt;
display: block;&lt;br /&gt;
font-size: 13px;&lt;br /&gt;
line-height: 1.4;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
overflow: auto;&lt;br /&gt;
padding: 20px 30px;&lt;br /&gt;
padding: 9.5px;&lt;br /&gt;
word-break: break-all;&lt;br /&gt;
word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Scrollbar==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
@import 'colors.css';&lt;br /&gt;
&lt;br /&gt;
.scrollbar {&lt;br /&gt;
  -GtkScrollbar-has-backward-stepper: false;&lt;br /&gt;
  -GtkScrollbar-has-forward-stepper: false;&lt;br /&gt;
  -GtkRange-slider-width: 20;&lt;br /&gt;
  -GtkRange-stepper-size: 20;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
scrollbar slider {&lt;br /&gt;
    /* Size of the slider */&lt;br /&gt;
    min-width: 10px;&lt;br /&gt;
    min-height: 10px;&lt;br /&gt;
    border-radius: 22px;&lt;br /&gt;
&lt;br /&gt;
    /* Padding around the slider */&lt;br /&gt;
    border: 5px solid transparent;&lt;br /&gt;
}&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Titelbar==&lt;br /&gt;
* https://unix.stackexchange.com/questions/276951/how-to-change-the-titlebar-height-in-standard-gtk-apps-and-those-with-headerbars?noredirect=1&amp;amp;lq=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
headerbar entry,&lt;br /&gt;
headerbar spinbutton,&lt;br /&gt;
headerbar button,&lt;br /&gt;
headerbar separator {&lt;br /&gt;
    margin-top: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    margin-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
headerbar {&lt;br /&gt;
    min-height: 24px;&lt;br /&gt;
    padding-left: 2px; /* same as childrens vertical margins for nicer proportions */&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    margin: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove Dashed lines==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Change wingpanel icon==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.panel {&lt;br /&gt;
  background-color: transparent;&lt;br /&gt;
  transition: all 100ms ease-in-out;&lt;br /&gt;
  background-image: url(&amp;quot;elementaryicon.png&amp;quot;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  font-size:0px !important;&lt;br /&gt;
}&lt;br /&gt;
.panel-app-button &amp;gt; GtkWidget &amp;gt; GtkWidget:first-child {&lt;br /&gt;
    padding: 0px 24px 0px 0px;&lt;br /&gt;
    font-size: 0px;&lt;br /&gt;
    background-image: url(&amp;quot;icon.svg&amp;quot;);&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=###############=&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2666</id>
		<title>IT-OS-Config-Themes</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2666"/>
		<updated>2022-08-01T10:52:32Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://www.svgs.us/&lt;br /&gt;
* http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
* https://developer.gnome.org/creating-metacity-themes/stable/&lt;br /&gt;
* https://developer.gnome.org/icon-theme-spec/&lt;br /&gt;
* https://docs.openstack.org/devstack/latest/_static/css/native.css&lt;br /&gt;
* https://git.archlinux.org/vhosts/wiki.archlinux.org.git&lt;br /&gt;
* https://gtkthemingguide.now.sh/#/&lt;br /&gt;
* https://iconset.io/&lt;br /&gt;
* https://mayccoll.github.io/Gogh/&lt;br /&gt;
* https://medium.com/@teejeetech/introducing-aptik-theme-manager-b99704cbcb43&lt;br /&gt;
* https://nucleoapp.com/&lt;br /&gt;
* https://rgb.to/&lt;br /&gt;
* https://sketchicons.com/&lt;br /&gt;
* https://surajmandal.in/elementary-x/&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GTK&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Icons&lt;br /&gt;
* https://wiki.gnome.org/Attic/GnomeArt/Tutorials/MetacityThemes&lt;br /&gt;
* https://www.lingoapp.com/&lt;br /&gt;
&lt;br /&gt;
=Theme-Tools=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install meson sassc glib&lt;br /&gt;
sudo dnf install gtk3-widget-factory&lt;br /&gt;
sudo dnf install gtk3-icon-browser &lt;br /&gt;
sudo apt-get install glade libgtk-3-dev geany&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Projects=&lt;br /&gt;
* https://github.com/andreisergiu98/arc-flatabulous-theme&lt;br /&gt;
* https://github.com/btd1337/Cairo-Dock-macOS-Sierra-Style&lt;br /&gt;
* https://github.com/btd1337/eOS-Sierra-Gtk&lt;br /&gt;
* https://github.com/btd1337/La-Sierra-Icon-Theme&lt;br /&gt;
* https://github.com/horst3180/Arc-theme&lt;br /&gt;
* https://github.com/jnsh/arc-theme&lt;br /&gt;
* https://github.com/keeferrourke/la-capitaine-icon-theme&lt;br /&gt;
* https://github.com/surajmandalcell/elementary-x&lt;br /&gt;
* https://github.com/themix-project/oomox&lt;br /&gt;
* https://github.com/thomas-kammerer/elementary-x2&lt;br /&gt;
* https://github.com/ubuntu/yaru&lt;br /&gt;
* https://github.com/vinceliuice/&lt;br /&gt;
* https://github.com/vinceliuice/grub2-themes&lt;br /&gt;
* https://github.com/vinceliuice/Mojave-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Sierra-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Toffee-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Yosemite-gtk-theme&lt;br /&gt;
&lt;br /&gt;
=Theme-Settings=&lt;br /&gt;
==Terminal==&lt;br /&gt;
* https://draculatheme.com/&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
dconf dump /com/gexperts/Tilix/profiles/&lt;br /&gt;
dconf dump /org/gnome/terminal/legacy/profiles:/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Icons==&lt;br /&gt;
* https://www.iconfinder.com/iconsets/animal-kingdom-vol-2&lt;br /&gt;
* Inherits=Moka,Adwaita,gnome,hicolor&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
gtk-update-icon-cache ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Tweaks=&lt;br /&gt;
==Mix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
background-color: #333&lt;br /&gt;
background-color: #f5f5f5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Desktop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
pre {&lt;br /&gt;
background-color: #333;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
border-radius: 4px;&lt;br /&gt;
color: #fff;&lt;br /&gt;
display: block;&lt;br /&gt;
font-size: 13px;&lt;br /&gt;
line-height: 1.4;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
overflow: auto;&lt;br /&gt;
padding: 20px 30px;&lt;br /&gt;
padding: 9.5px;&lt;br /&gt;
word-break: break-all;&lt;br /&gt;
word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Scrollbar==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
@import 'colors.css';&lt;br /&gt;
&lt;br /&gt;
.scrollbar {&lt;br /&gt;
  -GtkScrollbar-has-backward-stepper: false;&lt;br /&gt;
  -GtkScrollbar-has-forward-stepper: false;&lt;br /&gt;
  -GtkRange-slider-width: 20;&lt;br /&gt;
  -GtkRange-stepper-size: 20;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
scrollbar slider {&lt;br /&gt;
    /* Size of the slider */&lt;br /&gt;
    min-width: 10px;&lt;br /&gt;
    min-height: 10px;&lt;br /&gt;
    border-radius: 22px;&lt;br /&gt;
&lt;br /&gt;
    /* Padding around the slider */&lt;br /&gt;
    border: 5px solid transparent;&lt;br /&gt;
}&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Titelbar==&lt;br /&gt;
* https://unix.stackexchange.com/questions/276951/how-to-change-the-titlebar-height-in-standard-gtk-apps-and-those-with-headerbars?noredirect=1&amp;amp;lq=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
headerbar entry,&lt;br /&gt;
headerbar spinbutton,&lt;br /&gt;
headerbar button,&lt;br /&gt;
headerbar separator {&lt;br /&gt;
    margin-top: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    margin-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
headerbar {&lt;br /&gt;
    min-height: 24px;&lt;br /&gt;
    padding-left: 2px; /* same as childrens vertical margins for nicer proportions */&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    margin: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove Dashed lines==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Change wingpanel icon==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.panel {&lt;br /&gt;
  background-color: transparent;&lt;br /&gt;
  transition: all 100ms ease-in-out;&lt;br /&gt;
  background-image: url(&amp;quot;elementaryicon.png&amp;quot;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  font-size:0px !important;&lt;br /&gt;
}&lt;br /&gt;
.panel-app-button &amp;gt; GtkWidget &amp;gt; GtkWidget:first-child {&lt;br /&gt;
    padding: 0px 24px 0px 0px;&lt;br /&gt;
    font-size: 0px;&lt;br /&gt;
    background-image: url(&amp;quot;icon.svg&amp;quot;);&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=###############=&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2665</id>
		<title>IT-OS-Config-Themes</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2665"/>
		<updated>2022-08-01T10:51:32Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Theme-Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://www.svgs.us/&lt;br /&gt;
* http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
* https://developer.gnome.org/creating-metacity-themes/stable/&lt;br /&gt;
* https://developer.gnome.org/icon-theme-spec/&lt;br /&gt;
* https://docs.openstack.org/devstack/latest/_static/css/native.css&lt;br /&gt;
* https://git.archlinux.org/vhosts/wiki.archlinux.org.git&lt;br /&gt;
* https://gtkthemingguide.now.sh/#/&lt;br /&gt;
* https://iconset.io/&lt;br /&gt;
* https://mayccoll.github.io/Gogh/&lt;br /&gt;
* https://medium.com/@teejeetech/introducing-aptik-theme-manager-b99704cbcb43&lt;br /&gt;
* https://nucleoapp.com/&lt;br /&gt;
* https://rgb.to/&lt;br /&gt;
* https://sketchicons.com/&lt;br /&gt;
* https://surajmandal.in/elementary-x/&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GTK&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Icons&lt;br /&gt;
* https://wiki.gnome.org/Attic/GnomeArt/Tutorials/MetacityThemes&lt;br /&gt;
* https://www.lingoapp.com/&lt;br /&gt;
&lt;br /&gt;
=Theme-Tools=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install meson sassc glib&lt;br /&gt;
sudo dnf install gtk3-widget-factory&lt;br /&gt;
sudo dnf install gtk3-icon-browser &lt;br /&gt;
sudo apt-get install glade libgtk-3-dev geany&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Projects=&lt;br /&gt;
* https://github.com/andreisergiu98/arc-flatabulous-theme&lt;br /&gt;
* https://github.com/btd1337/Cairo-Dock-macOS-Sierra-Style&lt;br /&gt;
* https://github.com/btd1337/eOS-Sierra-Gtk&lt;br /&gt;
* https://github.com/btd1337/La-Sierra-Icon-Theme&lt;br /&gt;
* https://github.com/horst3180/Arc-theme&lt;br /&gt;
* https://github.com/jnsh/arc-theme&lt;br /&gt;
* https://github.com/keeferrourke/la-capitaine-icon-theme&lt;br /&gt;
* https://github.com/surajmandalcell/elementary-x&lt;br /&gt;
* https://github.com/themix-project/oomox&lt;br /&gt;
* https://github.com/thomas-kammerer/elementary-x2&lt;br /&gt;
* https://github.com/ubuntu/yaru&lt;br /&gt;
* https://github.com/vinceliuice/&lt;br /&gt;
* https://github.com/vinceliuice/grub2-themes&lt;br /&gt;
* https://github.com/vinceliuice/Mojave-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Sierra-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Toffee-gtk-theme&lt;br /&gt;
* https://github.com/vinceliuice/Yosemite-gtk-theme&lt;br /&gt;
&lt;br /&gt;
=Theme-Settings=&lt;br /&gt;
==Terminal==&lt;br /&gt;
* https://draculatheme.com/&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
dconf dump /com/gexperts/Tilix/profiles/&lt;br /&gt;
dconf dump /org/gnome/terminal/legacy/profiles:/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Icons==&lt;br /&gt;
* https://www.iconfinder.com/iconsets/animal-kingdom-vol-2&lt;br /&gt;
* Inherits=Moka,Adwaita,gnome,hicolor&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
gtk-update-icon-cache ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Tweaks=&lt;br /&gt;
==Mix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
background-color: #333&lt;br /&gt;
background-color: #f5f5f5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Desktop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
pre {&lt;br /&gt;
background-color: #333;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
border-radius: 4px;&lt;br /&gt;
color: #fff;&lt;br /&gt;
display: block;&lt;br /&gt;
font-size: 13px;&lt;br /&gt;
line-height: 1.4;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
overflow: auto;&lt;br /&gt;
padding: 20px 30px;&lt;br /&gt;
padding: 9.5px;&lt;br /&gt;
word-break: break-all;&lt;br /&gt;
word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Scrollbar==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
@import 'colors.css';&lt;br /&gt;
&lt;br /&gt;
.scrollbar {&lt;br /&gt;
  -GtkScrollbar-has-backward-stepper: false;&lt;br /&gt;
  -GtkScrollbar-has-forward-stepper: false;&lt;br /&gt;
  -GtkRange-slider-width: 20;&lt;br /&gt;
  -GtkRange-stepper-size: 20;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
scrollbar slider {&lt;br /&gt;
    /* Size of the slider */&lt;br /&gt;
    min-width: 10px;&lt;br /&gt;
    min-height: 10px;&lt;br /&gt;
    border-radius: 22px;&lt;br /&gt;
&lt;br /&gt;
    /* Padding around the slider */&lt;br /&gt;
    border: 5px solid transparent;&lt;br /&gt;
}&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Titelbar==&lt;br /&gt;
* https://unix.stackexchange.com/questions/276951/how-to-change-the-titlebar-height-in-standard-gtk-apps-and-those-with-headerbars?noredirect=1&amp;amp;lq=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
headerbar entry,&lt;br /&gt;
headerbar spinbutton,&lt;br /&gt;
headerbar button,&lt;br /&gt;
headerbar separator {&lt;br /&gt;
    margin-top: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    margin-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
headerbar {&lt;br /&gt;
    min-height: 24px;&lt;br /&gt;
    padding-left: 2px; /* same as childrens vertical margins for nicer proportions */&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    margin: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove Dashed lines==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Change wingpanel icon==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.panel {&lt;br /&gt;
  background-color: transparent;&lt;br /&gt;
  transition: all 100ms ease-in-out;&lt;br /&gt;
  background-image: url(&amp;quot;elementaryicon.png&amp;quot;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  font-size:0px !important;&lt;br /&gt;
}&lt;br /&gt;
.panel-app-button &amp;gt; GtkWidget &amp;gt; GtkWidget:first-child {&lt;br /&gt;
    padding: 0px 24px 0px 0px;&lt;br /&gt;
    font-size: 0px;&lt;br /&gt;
    background-image: url(&amp;quot;icon.svg&amp;quot;);&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=###############=&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
==Setting-HiDPI==&lt;br /&gt;
*https://wiki.archlinux.org/index.php/HiDPI&lt;br /&gt;
*https://winaero.com/blog/find-change-screen-dpi-linux/&lt;br /&gt;
*https://computingforgeeks.com/how-to-set-correct-screen-dpi-in-linux-xresources/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt -y install x11-utils         ### Install on Debian / Ubuntu&lt;br /&gt;
sudo dnf -y install xorg-x11-utils    ### Install on Fedora / RHEL&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xdpyinfo | grep -B 2 resolution&lt;br /&gt;
xdpyinfo | grep dots&lt;br /&gt;
xrandr | grep -w connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
http://dpi.lv/&lt;br /&gt;
https://goodcalculators.com/ppi-pixels-per-inch-calculator/&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
echo 'Xft.dpi:   94'  &amp;gt; ~/.Xresources   ### set correct dots per inch (DPI)&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xrdb ~/.Xresources          ### Load a resource file&lt;br /&gt;
xrdb -merge ~/.Xresources   ### load a resource file, and merge with the current settings&lt;br /&gt;
xrdb -query -all            ### see the currently loaded resources&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# HP-Box: 15.6&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 100 DPI&lt;br /&gt;
# HP-Box: 17.3&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 91 DPI&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setting-Fonts==&lt;br /&gt;
*https://wiki.archlinux.org/title/font_configuration&lt;br /&gt;
*https://wiki.archlinux.org/title/Font_configuration/Examples&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/share/fonts/&lt;br /&gt;
~/.local/share/fonts&lt;br /&gt;
-----&lt;br /&gt;
/etc/fonts/fonts.conf&lt;br /&gt;
/etc/fonts/local.conf&lt;br /&gt;
/etc/fonts/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/fonts.conf            ### ~/.fonts.conf/&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
~/.config/fontconfig/fonts.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install open-sans-fonts&lt;br /&gt;
sudo dnf install google-roboto-fonts&lt;br /&gt;
sudo dnf install google-roboto-mono-fonts&lt;br /&gt;
sudo dnf install google-noto-sans-fonts&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
https://github.com/microsoft/cascadia-code/releases          ### &amp;quot;Cascadia Mono Regular&amp;quot; @ 12&lt;br /&gt;
wget https://download.jetbrains.com/fonts/JetBrainsMono-1.0.0.zip&lt;br /&gt;
wget https://raw.githubusercontent.com/mrbvrz/segoe-ui-linux/master/install.sh&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
sudo fc-cache -f -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Text scaling factor: 1.0&lt;br /&gt;
Hinting: Full&lt;br /&gt;
Antialiasing: RGBA&lt;br /&gt;
RGBA Order: RGB&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Interface Text: @10&lt;br /&gt;
Document font: @10&lt;br /&gt;
Monospace font: @10&lt;br /&gt;
Legacy Window Titels: @10&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2664</id>
		<title>IT-OS-Config-Themes</title>
		<link rel="alternate" type="text/html" href="http://wiki.samerhijazi.net/index.php?title=IT-OS-Config-Themes&amp;diff=2664"/>
		<updated>2022-08-01T10:50:58Z</updated>

		<summary type="html">&lt;p&gt;Studying: /* Ref. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ref.=&lt;br /&gt;
* http://www.svgs.us/&lt;br /&gt;
* http://www.ubuntubuzz.com/2019/03/ubuntus-yaru-theme-on-fedora.html&lt;br /&gt;
* https://developer.gnome.org/creating-metacity-themes/stable/&lt;br /&gt;
* https://developer.gnome.org/icon-theme-spec/&lt;br /&gt;
* https://docs.openstack.org/devstack/latest/_static/css/native.css&lt;br /&gt;
* https://git.archlinux.org/vhosts/wiki.archlinux.org.git&lt;br /&gt;
* https://gtkthemingguide.now.sh/#/&lt;br /&gt;
* https://iconset.io/&lt;br /&gt;
* https://mayccoll.github.io/Gogh/&lt;br /&gt;
* https://medium.com/@teejeetech/introducing-aptik-theme-manager-b99704cbcb43&lt;br /&gt;
* https://nucleoapp.com/&lt;br /&gt;
* https://rgb.to/&lt;br /&gt;
* https://sketchicons.com/&lt;br /&gt;
* https://surajmandal.in/elementary-x/&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GTK&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Icons&lt;br /&gt;
* https://wiki.gnome.org/Attic/GnomeArt/Tutorials/MetacityThemes&lt;br /&gt;
* https://www.lingoapp.com/&lt;br /&gt;
&lt;br /&gt;
=Theme-Tools=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install meson sassc glib&lt;br /&gt;
sudo dnf install gtk3-widget-factory&lt;br /&gt;
sudo dnf install gtk3-icon-browser &lt;br /&gt;
sudo apt-get install glade libgtk-3-dev geany&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Settings=&lt;br /&gt;
==Terminal==&lt;br /&gt;
* https://draculatheme.com/&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
dconf dump /com/gexperts/Tilix/profiles/&lt;br /&gt;
dconf dump /org/gnome/terminal/legacy/profiles:/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Icons==&lt;br /&gt;
* https://www.iconfinder.com/iconsets/animal-kingdom-vol-2&lt;br /&gt;
* Inherits=Moka,Adwaita,gnome,hicolor&lt;br /&gt;
&amp;lt;pre class='code'&amp;gt;&lt;br /&gt;
gtk-update-icon-cache ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Theme-Tweaks=&lt;br /&gt;
==Mix==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
background-color: #333&lt;br /&gt;
background-color: #f5f5f5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Desktop==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
pre {&lt;br /&gt;
background-color: #333;&lt;br /&gt;
border: 1px solid #ccc;&lt;br /&gt;
border-radius: 4px;&lt;br /&gt;
color: #fff;&lt;br /&gt;
display: block;&lt;br /&gt;
font-size: 13px;&lt;br /&gt;
line-height: 1.4;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
margin: 0 0 10px;&lt;br /&gt;
overflow: auto;&lt;br /&gt;
padding: 20px 30px;&lt;br /&gt;
padding: 9.5px;&lt;br /&gt;
word-break: break-all;&lt;br /&gt;
word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Scrollbar==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
@import 'colors.css';&lt;br /&gt;
&lt;br /&gt;
.scrollbar {&lt;br /&gt;
  -GtkScrollbar-has-backward-stepper: false;&lt;br /&gt;
  -GtkScrollbar-has-forward-stepper: false;&lt;br /&gt;
  -GtkRange-slider-width: 20;&lt;br /&gt;
  -GtkRange-stepper-size: 20;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
scrollbar slider {&lt;br /&gt;
    /* Size of the slider */&lt;br /&gt;
    min-width: 10px;&lt;br /&gt;
    min-height: 10px;&lt;br /&gt;
    border-radius: 22px;&lt;br /&gt;
&lt;br /&gt;
    /* Padding around the slider */&lt;br /&gt;
    border: 5px solid transparent;&lt;br /&gt;
}&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Titelbar==&lt;br /&gt;
* https://unix.stackexchange.com/questions/276951/how-to-change-the-titlebar-height-in-standard-gtk-apps-and-those-with-headerbars?noredirect=1&amp;amp;lq=1&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
headerbar entry,&lt;br /&gt;
headerbar spinbutton,&lt;br /&gt;
headerbar button,&lt;br /&gt;
headerbar separator {&lt;br /&gt;
    margin-top: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    margin-bottom: 0px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
headerbar {&lt;br /&gt;
    min-height: 24px;&lt;br /&gt;
    padding-left: 2px; /* same as childrens vertical margins for nicer proportions */&lt;br /&gt;
    padding-right: 2px;&lt;br /&gt;
    margin: 0px; /* same as headerbar side padding for nicer proportions */&lt;br /&gt;
    padding: 0px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Remove Dashed lines==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
nano ~/.config/gtk-3.0/gtk.css&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Change wingpanel icon==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.panel {&lt;br /&gt;
  background-color: transparent;&lt;br /&gt;
  transition: all 100ms ease-in-out;&lt;br /&gt;
  background-image: url(&amp;quot;elementaryicon.png&amp;quot;);&lt;br /&gt;
  background-repeat: no-repeat;&lt;br /&gt;
  font-size:0px !important;&lt;br /&gt;
}&lt;br /&gt;
.panel-app-button &amp;gt; GtkWidget &amp;gt; GtkWidget:first-child {&lt;br /&gt;
    padding: 0px 24px 0px 0px;&lt;br /&gt;
    font-size: 0px;&lt;br /&gt;
    background-image: url(&amp;quot;icon.svg&amp;quot;);&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=###############=&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
==Setting-HiDPI==&lt;br /&gt;
*https://wiki.archlinux.org/index.php/HiDPI&lt;br /&gt;
*https://winaero.com/blog/find-change-screen-dpi-linux/&lt;br /&gt;
*https://computingforgeeks.com/how-to-set-correct-screen-dpi-in-linux-xresources/&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt -y install x11-utils         ### Install on Debian / Ubuntu&lt;br /&gt;
sudo dnf -y install xorg-x11-utils    ### Install on Fedora / RHEL&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xdpyinfo | grep -B 2 resolution&lt;br /&gt;
xdpyinfo | grep dots&lt;br /&gt;
xrandr | grep -w connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
http://dpi.lv/&lt;br /&gt;
https://goodcalculators.com/ppi-pixels-per-inch-calculator/&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
echo 'Xft.dpi:   94'  &amp;gt; ~/.Xresources   ### set correct dots per inch (DPI)&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xrdb ~/.Xresources          ### Load a resource file&lt;br /&gt;
xrdb -merge ~/.Xresources   ### load a resource file, and merge with the current settings&lt;br /&gt;
xrdb -query -all            ### see the currently loaded resources&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
# HP-Box: 15.6&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 100 DPI&lt;br /&gt;
# HP-Box: 17.3&amp;quot; @ (1366 x 768) &amp;gt;&amp;gt; 91 DPI&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Setting-Fonts==&lt;br /&gt;
*https://wiki.archlinux.org/title/font_configuration&lt;br /&gt;
*https://wiki.archlinux.org/title/Font_configuration/Examples&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/usr/share/fonts/&lt;br /&gt;
~/.local/share/fonts&lt;br /&gt;
-----&lt;br /&gt;
/etc/fonts/fonts.conf&lt;br /&gt;
/etc/fonts/local.conf&lt;br /&gt;
/etc/fonts/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/fonts.conf            ### ~/.fonts.conf/&lt;br /&gt;
$XDG_CONFIG_HOME/fontconfig/conf.d/NN-name.conf&lt;br /&gt;
-----&lt;br /&gt;
~/.config/fontconfig/fonts.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install open-sans-fonts&lt;br /&gt;
sudo dnf install google-roboto-fonts&lt;br /&gt;
sudo dnf install google-roboto-mono-fonts&lt;br /&gt;
sudo dnf install google-noto-sans-fonts&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
https://github.com/microsoft/cascadia-code/releases          ### &amp;quot;Cascadia Mono Regular&amp;quot; @ 12&lt;br /&gt;
wget https://download.jetbrains.com/fonts/JetBrainsMono-1.0.0.zip&lt;br /&gt;
wget https://raw.githubusercontent.com/mrbvrz/segoe-ui-linux/master/install.sh&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
sudo fc-cache -f -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Text scaling factor: 1.0&lt;br /&gt;
Hinting: Full&lt;br /&gt;
Antialiasing: RGBA&lt;br /&gt;
RGBA Order: RGB&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
Interface Text: @10&lt;br /&gt;
Document font: @10&lt;br /&gt;
Monospace font: @10&lt;br /&gt;
Legacy Window Titels: @10&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Studying</name></author>
		
	</entry>
</feed>