From cf5acc8f3ab53b7ab582773a48d6ae433b739a95 Mon Sep 17 00:00:00 2001 From: Adam Samalik Date: Jul 27 2018 16:53:34 +0000 Subject: switch to Antora part --- diff --git a/.gitignore b/.gitignore index b3ab46d..9f3ebf5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,3 @@ -## AsciiBinder-specific ignores -_preview -_package -*.swp -diag-*.png -diag-*.png.cache - -## Project-specific ignores - -*.html +build +cache +public diff --git a/README.md b/README.md index ea9c68c..fb397df 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,44 @@ This is the content repository for the Fedora Quick Docs -Please report Issues and submit Pull Requests for **Content Fixes** here. General appearance issues and publishing issues should be reported against the [publisher](https://pagure.io/fedora-docs/docs-fp-o). +Please report Issues and submit Pull Requests for **Content Fixes** here. +Never done a pull request (or "PR")? Here's the [Pagure documentation for +Pull Requests](https://docs.pagure.org/pagure/usage/pull_requests.html). -Look for easy edits in the _topic_map.yml. The files commented out need your help. -## How to edit this document +General appearance issues and publishing issues should be reported against +the [publishing software](https://pagure.io/fedora-docs/docs-fp-o). -This document set is coded in AsciiDoc. The content is in the en-US directory. There is a shared entity file in the en-US directory. Do not edit the content in the Common_Content directory. +## How to edit these documents -## Testing your changes locally +All of this is written in AsciiDoc. It's a simple mostly-plain-text +markup language. You may want to look at: -To test your changes, first install `asciibinder` -$ gem install ascii_binder +* [AsciiDoc Syntax Quick Reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/) +* [AsciiDoc Writer’s Guide](http://asciidoctor.org/docs/asciidoc-writers-guide/) +* [Antora Documentation](https://docs.antora.org/antora/1.0/page/) -To build your changes, from the root directory: + +## Local preview + +This repo includes scripts to build and preview the contents of this repository. + +**NOTE**: Please note that if you reference pages from other repositoreis, such links will be broken in this local preview as it only builds this repository. If you want to rebuild the whole Fedora Docs site, please see [the Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o/) for instructions. + +Both scripts use docker, so please make sure you have it installed on your system. Please see below for instructions. + +To build and preview the site, run: + +``` +$ ./build.sh && ./preview.sh +``` + +The result will be available at http://localhost:8080 + +### Installing docker on Fedora ``` -$ asciibinder package -$ firefox _package/main/index.html +$ sudo dnf install docker +$ sudo systemctl start docker && sudo systemctl enable docker ``` diff --git a/_distro_map.yml b/_distro_map.yml deleted file mode 100644 index 56daac0..0000000 --- a/_distro_map.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -fedora: - name: Fedora Quick Docs - author: Fedora Documentation Project - site: main - site_name: Home - site_url: https://docs.fedoraproject.org/ - branches: - master: - name: quick-docs - dir: quick-docs diff --git a/_images/favicon.ico b/_images/favicon.ico deleted file mode 100644 index a912017..0000000 Binary files a/_images/favicon.ico and /dev/null differ diff --git a/_images/favicon32x32.png b/_images/favicon32x32.png deleted file mode 100644 index d33bd5e..0000000 Binary files a/_images/favicon32x32.png and /dev/null differ diff --git a/_images/fedora.svg b/_images/fedora.svg deleted file mode 100644 index e8fd52b..0000000 --- a/_images/fedora.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/_images/redhat-logo.png b/_images/redhat-logo.png deleted file mode 100644 index f085f1a..0000000 Binary files a/_images/redhat-logo.png and /dev/null differ diff --git a/_javascripts/.gitkeep b/_javascripts/.gitkeep deleted file mode 100644 index e69de29..0000000 --- a/_javascripts/.gitkeep +++ /dev/null diff --git a/_javascripts/bootstrap-offcanvas.js b/_javascripts/bootstrap-offcanvas.js deleted file mode 100644 index 62cf7b6..0000000 --- a/_javascripts/bootstrap-offcanvas.js +++ /dev/null @@ -1,6 +0,0 @@ -$(document).ready(function () { - $('[data-toggle="offcanvas"]').click(function () { - $('.sidebar').show(); - $('.row-offcanvas').toggleClass('active'); - }); -}); diff --git a/_stylesheets/asciibinder.css b/_stylesheets/asciibinder.css deleted file mode 100644 index cc13814..0000000 --- a/_stylesheets/asciibinder.css +++ /dev/null @@ -1,575 +0,0 @@ -@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css); -/* ------------------------------------------------------------ -Image: "Spin" https://www.flickr.com/photos/eflon/3655695161/ -Author: eflon https://www.flickr.com/photos/eflon/ -License: https://creativecommons.org/licenses/by/2.0/ ----------------------------------------------------------------*/ -.attribution { - text-align: center; - position: relative; - bottom: -20px; -} -.attribution .btn { - color: #808080; - color: rgba(175,175,175, .65); - font-size: 11px; -} -.attribution .btn:hover { - text-decoration: none; - color: #aaa; -} -.popover-content { - font-size: 12px; - line-height: 1.3; - font-weight: normal; -} - -@media screen and (max-width: 980px) { - body { - margin-bottom: 200px; - } - footer { - text-align: center; - } - footer .text-right { - text-align: center !important; - } - #footer_social .first { - margin-left: 0; - } - #footer_social > a { - top: 24px; - } -} - -.fa-inverse:hover { - color: #ccc; -} - -.collapse a.active { - background-color: #DEEAF4; - color: #000; - position: relative; -} - -.collapse a.active:hover { - text-decoration: none; -} - -.collapse a.active:before { - background-color: #A0C3E5; - content: ""; - display: inline-block; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 3px; -} - -.main h2, .main .h2 { - border-top: 0px; - padding-top: 10px; - font-size: 28px; -} - -.page-header { - height: 100% !important; -} -.page-header .img-responsive { - display: inline; -} -.page-header h2 { - font-size: 32px; - display: inline; - vertical-align: bottom; -} - -.navbar-brand { - padding: initial; - height: initial; - padding: 12px; -} - -.nav > li > a.hover{ - background-color: none; -} - -h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - position: relative; -} - -h2 > a.anchor, h3 > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { - display: block; - font-weight: normal; - margin-left: -1.5ex; - position: absolute; - text-align: center; - text-decoration: none !important; - visibility: hidden; - width: 1.5ex; - z-index: 1001; -} - -h2 > a.anchor:before, h3 > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { - content: "\f0c1"; - display: block; - font-family: FontAwesome; - font-size: 0.7em; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - padding-top: 0.2em; -} - -h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { - font-size: 1em; -} - -h2:hover > a.anchor, -h2 > a.anchor:hover, -h3:hover > a.anchor, -h3 > a.anchor:hover, -h4:hover > a.anchor, -h4 > a.anchor:hover, -h5:hover > a.anchor, -h5 > a.anchor:hover, -h6:hover > a.anchor, -h6 > a.anchor:hover { - visibility: visible; -} - -.main { - border-left: 1px solid #e7e7e7; - margin-left: -1px; - padding-left: 25px; -} - - -@media (min-width: 768px) { - .main { - padding-left: 30px; - } -} - -/* - * Sidebar - */ - -.nav-header { - font-size: 16px; -} - -.nav-header ul { - font-size: 14px; -} - -.nav-header ul li a { - display: block; - padding: 5px 20px 5px 25px; - font-size: 13px; - font-weight: normal; -} - -.nav-sidebar .fa { - text-align: center; - top: -1px; - width: 14px; -} - -.nav-sidebar li a { - color: inherit; -} - -.nav-sidebar li a:hover { - color: #000; -} - -.nav-sidebar ul li ul.nav-tertiary li a { - padding-left: 50px; -} - -.nav-sidebar > li > a { - padding: 7px 0; -} - -.nav-sidebar > li > a:focus, .nav-sidebar > li > a:hover { - background: transparent; -} - -.sidebar { - font-weight: 300; - display: none; - padding-top: 13px; -} - -@media screen and (max-width: 767px) { - .sidebar { - padding-left: 30px; - padding-right: 0; - } -} - -@media screen and (min-width: 768px) { - .sidebar { - border-right: 1px solid #e7e7e7; - display: block; - } -} - -/* - * Off Canvas - * -------------------------------------------------- - */ - -body, html { - overflow-x: hidden; /* Prevent scroll on narrow devices */ - font-family: "Overpass", sans-serif; -} - -.toggle-nav { - margin-right: 20px; -} - -@media screen and (max-width: 767px) { - .row-offcanvas { - position: relative; - -webkit-transition: all .25s ease-out; - -o-transition: all .25s ease-out; - transition: all .25s ease-out; - } - - .row-offcanvas-right { - right: 0; - } - - .row-offcanvas-left { - left: 0; - } - - .row-offcanvas-right - .sidebar-offcanvas { - right: -75%; /* 8 columns */ - } - - .row-offcanvas-left - .sidebar-offcanvas { - left: -75%; /* 8 columns */ - } - - .row-offcanvas-right.active { - right: 75%; /* 8 columns */ - } - - .row-offcanvas-left.active { - left: 75%; /* 8 columns */ - } - - .sidebar-offcanvas { - overflow: hidden; - position: absolute; - top: 0; - width: 75%; /* 8 columns */ - } -} - - p { - margin: 0 0 1.6em; - } - - /* Remnants of Asciidoctor default stylesheet - remove styles as needed */ - -#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } -.left { float: left !important; } -.right { float: right !important; } -.text-left { text-align: left !important; } -.text-right { text-align: right !important; } -.text-center { text-align: center !important; } -.text-justify { text-align: justify !important; } -.hide { display: none; } -.subheader, #content #toctitle, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } -abbr, acronym { text-transform: uppercase; font-size: 90%; color: #333333; border-bottom: 1px dotted #dddddd; cursor: help; } -abbr { text-transform: none; } -blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; } -blockquote cite { display: block; font-size: inherit; color: #454545; } -blockquote cite:before { content: "\2014 \0020"; } -blockquote cite a, blockquote cite a:visited { color: #454545; } -blockquote, blockquote p { line-height: 1.6; color: #6e6e6e; } -@media only screen and (min-width: 768px) { - #toctitle, .sidebarblock > .content > .title { line-height: 1.4; } - #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } -} -table { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; } -table thead, table tfoot { background: whitesmoke; font-weight: bold; } -table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #333333; text-align: left; } -table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #333333; } -table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f9f9f9; } -table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.6; } -.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } -.clearfix:after, .float-group:after { clear: both; } -*:not(pre) > code { font-size: inherit; padding: 0; white-space: nowrap; background-color: inherit; border: 0 solid #dddddd; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; line-height: 1; } -.keyseq { color: #666666; } -kbd:not(.keyseq) { display: inline-block; color: #333333; font-size: 0.75em; line-height: 1.4; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; } -.keyseq kbd:first-child { margin-left: 0; } -.keyseq kbd:last-child { margin-right: 0; } -.menuseq, .menu { color: #1a1a1a; } -b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } -b.button:before { content: "["; padding: 0 3px 0 2px; } -b.button:after { content: "]"; padding: 0 2px 0 3px; } -p a > code:hover { color: #561309; } -#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; } -#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } -#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } -#content:before { content: none; } -#header { margin-bottom: 2.5em; } -#header > h1 { color: black; font-weight: 300; border-bottom: 1px solid #d8d8d8; margin-bottom: -28px; padding-bottom: 32px; } -#header span { color: #6e6e6e; } -#header #revnumber { text-transform: capitalize; } -#header br { display: none; } -#header br + span { padding-left: 3px; } -#header br + span:before { content: "\2013 \0020"; } -#header br + span.author { padding-left: 0; } -#header br + span.author:before { content: ", "; } -#toc { border-bottom: 3px double #e5e5e5; padding-top: 1em; padding-bottom: 1.25em; } -#toc > ul { margin-left: 0.25em; } -#toc ul.sectlevel0 > li > a { font-style: italic; } -#toc ul.sectlevel0 ul.sectlevel1 { margin-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } -#toc ul { font-family: "Open Sans", "DejaVu Sans", "Sans", sans-serif; list-style-type: none; } -#toc a { text-decoration: none; } -#toc a:active { text-decoration: underline; } -#toctitle { color: #7a2518; } -@media only screen and (min-width: 768px) { body.toc2 { padding-left: 15em; padding-right: 0; } - #toc.toc2 { background-color: #fafaf9; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #e5e5e5; border-bottom: 0; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } - #toc.toc2 #toctitle { margin-top: 0; font-size: 1.2em; } - #toc.toc2 > ul { font-size: .90em; margin-bottom: 0; } - #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } - #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } - body.toc2.toc-right { padding-left: 0; padding-right: 15em; } - body.toc2.toc-right #toc.toc2 { border-right: 0; border-left: 1px solid #e5e5e5; left: auto; right: 0; } } -@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } - #toc.toc2 { width: 20em; } - #toc.toc2 #toctitle { font-size: 1.375em; } - #toc.toc2 > ul { font-size: 0.95em; } - #toc.toc2 ul ul { padding-left: 1.25em; } - body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } -#content #toc { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-bottom: 1.25em; padding: 1.25em; background: #fafaf9; border-width: 0; -webkit-border-radius: 4px; border-radius: 4px; } -#content #toc > :first-child { margin-top: 0; } -#content #toc > :last-child { margin-bottom: 0; } -#content #toctitle { font-size: 1.375em; } -#footer { max-width: 100%; background-color: #333333; padding: 1.25em; } -#footer-text { color: #cccccc; line-height: 1.44; } -.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .verseblock, .videoblock { margin-bottom: 2.5em; } -.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; font-family: "Noto Serif", "DejaVu Serif", "Serif", serif; font-weight: normal; font-style: italic; } -table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } -table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } -.admonitionblock > table { border: 0; background: none; width: 100%; } -.admonitionblock > table td.icon { text-align: center; width: 80px; } -.admonitionblock > table td.icon img { max-width: none; } -.admonitionblock > table td.icon .title { font-weight: 300; text-transform: uppercase; } -.admonitionblock > table td.content { padding-left: 0; padding-right: 1.25em; color: #6e6e6e; } -.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } -.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: white; -webkit-border-radius: 4px; border-radius: 4px; } -.exampleblock > .content > :first-child { margin-top: 0; } -.exampleblock > .content > :last-child { margin-bottom: 0; } -.exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6, .exampleblock > .content p { color: #333333; } -.exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6 { line-height: 1; margin-bottom: 0.625em; } -.exampleblock > .content h1.subheader, .exampleblock > .content h2.subheader, .exampleblock > .content h3.subheader, .exampleblock > .content .subheader#toctitle, .sidebarblock.exampleblock > .content > .subheader.title, .exampleblock > .content h4.subheader, .exampleblock > .content h5.subheader, .exampleblock > .content h6.subheader { line-height: 1.4; } -.exampleblock.result > .content { -webkit-box-shadow: 0 1px 8px #e3e3dd; box-shadow: 0 1px 8px #e3e3dd; } -.sidebarblock { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-top: -1.0em; margin-bottom: 1.6em; margin-left: 1em; padding: .5em; background: #F1F3F5; -webkit-border-radius: 4px; border-radius: 4px; overflow-x: auto; float: right; width: 40%; } -.sidebarblock > :first-child { margin-top: 0; } -.sidebarblock > :last-child { margin-bottom: 0; } -.sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6, .sidebarblock p { color: #333333; } -.sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6 { line-height: 1; margin-bottom: 0.625em; } -.sidebarblock h1.subheader, .sidebarblock h2.subheader, .sidebarblock h3.subheader, .sidebarblock .subheader#toctitle, .sidebarblock > .content > .subheader.title, .sidebarblock h4.subheader, .sidebarblock h5.subheader, .sidebarblock h6.subheader { line-height: 1.4; } -.sidebarblock > .content > .title { color: #7a2518; margin-top: 0; line-height: 1.6; } -.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } -.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 0px; background-color: #F0F3F5; -webkit-border-radius: 5px; border-radius: 5px; padding: 1.5em 2.5em; word-wrap: break-word; } -.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } -.literalblock pre > code, .literalblock pre[class] > code, .listingblock pre > code, .listingblock pre[class] > code { display: block; } -.listingblock > .content { position: relative; } -.listingblock:hover code[class*=" language-"]:before { text-transform: uppercase; font-size: 0.9em; color: #999; position: absolute; top: 0.375em; right: 0.375em; } -.listingblock:hover code.asciidoc:before { content: "asciidoc"; } -.listingblock:hover code.clojure:before { content: "clojure"; } -.listingblock:hover code.css:before { content: "css"; } -.listingblock:hover code.go:before { content: "go"; } -.listingblock:hover code.groovy:before { content: "groovy"; } -.listingblock:hover code.html:before { content: "html"; } -.listingblock:hover code.java:before { content: "java"; } -.listingblock:hover code.javascript:before { content: "javascript"; } -.listingblock:hover code.python:before { content: "python"; } -.listingblock:hover code.ruby:before { content: "ruby"; } -.listingblock:hover code.sass:before { content: "sass"; } -.listingblock:hover code.scss:before { content: "scss"; } -.listingblock:hover code.xml:before { content: "xml"; } -.listingblock:hover code.yaml:before { content: "yaml"; } -.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } -.listingblock.terminal pre .command:not([data-prompt]):before { content: '$'; } -table.pyhltable { border: 0; margin-bottom: 0; } -table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; } -table.pyhltable td.code { padding-left: .75em; padding-right: 0; } -.highlight.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #d8d8d8; } -.highlight.pygments .lineno { display: inline-block; margin-right: .25em; } -table.pyhltable .linenodiv { background-color: transparent !important; padding-right: 0 !important; } -.quoteblock { margin: 0 0 1.25em 0; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; } -.quoteblock blockquote { margin: 0 0 1.25em 0; padding: 0 0 0.625em 0; border: 0; } -.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } -.quoteblock .attribution { margin-top: -0.625em; padding-bottom: 0.625em; font-size: inherit; color: #454545; line-height: 1.6; } -.quoteblock .attribution br { display: none; } -.quoteblock .attribution cite { display: block; } -table.tableblock { max-width: 100%; } -table.tableblock td .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } -table.spread { width: 100%; } -table.tableblock, th.tableblock, td.tableblock { border: 0 solid #dddddd; } -table.grid-all th.tableblock, table.grid-all td.tableblock { border-width: 0 1px 1px 0; } -table.grid-all tfoot > tr > th.tableblock, table.grid-all tfoot > tr > td.tableblock { border-width: 1px 1px 0 0; } -table.grid-cols th.tableblock, table.grid-cols td.tableblock { border-width: 0 1px 0 0; } -table.grid-all * > tr > .tableblock:last-child, table.grid-cols * > tr > .tableblock:last-child { border-right-width: 0; } -table.grid-rows th.tableblock, table.grid-rows td.tableblock { border-width: 0 0 1px 0; } -table.grid-all tbody > tr:last-child > th.tableblock, table.grid-all tbody > tr:last-child > td.tableblock, table.grid-all thead:last-child > tr > th.tableblock, table.grid-rows tbody > tr:last-child > th.tableblock, table.grid-rows tbody > tr:last-child > td.tableblock, table.grid-rows thead:last-child > tr > th.tableblock { border-bottom-width: 0; } -table.grid-rows tfoot > tr > th.tableblock, table.grid-rows tfoot > tr > td.tableblock { border-width: 1px 0 0 0; } -table.frame-all { border-width: 1px; } -table.frame-sides { border-width: 0 1px; } -table.frame-topbot { border-width: 1px 0; } -th.halign-left, td.halign-left { text-align: left; } -th.halign-right, td.halign-right { text-align: right; } -th.halign-center, td.halign-center { text-align: center; } -th.valign-top, td.valign-top { vertical-align: top; } -th.valign-bottom, td.valign-bottom { vertical-align: bottom; } -th.valign-middle, td.valign-middle { vertical-align: middle; } -table thead th, table tfoot th { font-weight: bold; } -tbody tr th { display: table-cell; line-height: 1.6; background: whitesmoke; } -tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #333333; font-weight: bold; } -td > div.verse { white-space: pre; } -ul.unstyled, ol.unnumbered, ul.checklist, ul.none { list-style-type: none; } -ul.unstyled, ol.unnumbered, ul.checklist { margin-left: 0.625em; } -ul.checklist li > p:first-child > .fa-check-square-o:first-child, ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } -ul.checklist li > p:first-child > input[type="checkbox"]:first-child { position: relative; top: 1px; } -ul.inline { margin: 0 auto 0.625em auto; margin-left: -1.375em; margin-right: 0; padding: 0; list-style: none; overflow: hidden; } -ul.inline > li { list-style: none; float: left; margin-left: 1.375em; display: block; } -ul.inline > li > * { display: block; } -.unstyled dl dt { font-weight: normal; font-style: normal; } -ol.arabic { list-style-type: decimal; } -ol.decimal { list-style-type: decimal-leading-zero; } -ol.loweralpha { list-style-type: lower-alpha; } -ol.upperalpha { list-style-type: upper-alpha; } -ol.lowerroman { list-style-type: lower-roman; } -ol.upperroman { list-style-type: upper-roman; } -ol.lowergreek { list-style-type: lower-greek; } -.hdlist > table, .colist > table { border: 0; background: none; } -.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } -td.hdlist1 { padding-right: .75em; font-weight: bold; } -td.hdlist1, td.hdlist2 { vertical-align: top; } -.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } -.colist > table tr > td:first-of-type { padding: 0 .75em; line-height: 1; } -.colist > table tr > td:last-of-type { padding: 0.25em 0; } -.qanda > ol > li > p > em:only-child { color: #1d4b8f; } -.thumb, .th { line-height: 0; display: inline-block; border: solid 4px white; -webkit-box-shadow: 0 0 0 1px #dddddd; box-shadow: 0 0 0 1px #dddddd; } -.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } -.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } -.imageblock > .title { margin-bottom: 0; } -.imageblock.thumb, .imageblock.th { border-width: 6px; } -.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } -.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } -.image.left { margin-right: 0.625em; } -.image.right { margin-left: 0.625em; } -a.image { text-decoration: none; } -span.footnote, span.footnoteref { vertical-align: super; font-size: 0.875em; } -span.footnote a, span.footnoteref a { text-decoration: none; } -span.footnote a:active, span.footnoteref a:active { text-decoration: underline; } -#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } -#footnotes hr { width: 20%; min-width: 6.25em; margin: -.25em 0 .75em 0; border-width: 1px 0 0 0; } -#footnotes .footnote { padding: 0 0.375em; line-height: 1.3; font-size: 0.875em; margin-left: 1.2em; text-indent: -1.2em; margin-bottom: .2em; } -#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; } -#footnotes .footnote:last-of-type { margin-bottom: 0; } -#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } -.gist .file-data > table { border: none; background: #fff; width: 100%; margin-bottom: 0; } -.gist .file-data > table td.line-data { width: 99%; } -div.unbreakable { page-break-inside: avoid; } -.replaceable { font-style: italic; font-color: inherit; font-family: inherit; } -.parameter { font-style: italic; font-family: monospace; } -.userinput { font-weight: bold; font-family: monospace; } -.envar { font-weight: bold; font-family: monospace; font-size: 90%; } -.sysitem { font-weight: bold; font-size: 90%; } -.package { font-weight: bold; font-size: 90%; } -.filename { font-weight: bold; font-style: italic; font-size: 90%; } -.big { font-size: larger; } -.small { font-size: smaller; } -.underline { text-decoration: underline; } -.overline { text-decoration: overline; } -.line-through { text-decoration: line-through; } -.aqua { color: #00bfbf; } -.aqua-background { background-color: #00fafa; } -.black { color: black; } -.black-background { background-color: black; } -.blue { color: #0000bf; } -.blue-background { background-color: #0000fa; } -.fuchsia { color: #bf00bf; } -.fuchsia-background { background-color: #fa00fa; } -.gray { color: #606060; } -.gray-background { background-color: #7d7d7d; } -.green { color: #006000; } -.green-background { background-color: #007d00; } -.lime { color: #00bf00; } -.lime-background { background-color: #00fa00; } -.maroon { color: #600000; } -.maroon-background { background-color: #7d0000; } -.navy { color: #000060; } -.navy-background { background-color: #00007d; } -.olive { color: #606000; } -.olive-background { background-color: #7d7d00; } -.purple { color: #600060; } -.purple-background { background-color: #7d007d; } -.red { color: #bf0000; } -.red-background { background-color: #fa0000; } -.silver { color: #909090; } -.silver-background { background-color: #bcbcbc; } -.teal { color: #006060; } -.teal-background { background-color: #007d7d; } -.white { color: #bfbfbf; } -.white-background { background-color: #fafafa; } -.yellow { color: #bfbf00; } -.yellow-background { background-color: #fafa00; } -span.icon > .fa { cursor: default; } -.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; cursor: default; } -.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #4E9FDD; } -.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; color: #2C8596; } -.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #ec7a08; } -.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #ec7a08; } -.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #c00; } -.conum[data-value] { display: inline-block; color: white !important; background-color: #333333; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; width: 20px; height: 20px; font-size: 12px; line-height: 20px; font-family: "Open Sans", "Sans", sans-serif; font-style: normal; font-weight: bold; text-indent: -1px; } -.conum[data-value] * { color: white !important; } -.conum[data-value] + b { display: none; } -.conum[data-value]:after { content: attr(data-value); } -pre .conum[data-value] { position: relative; top: -2px; } -b.conum * { color: inherit !important; } -.conum:not([data-value]):empty { display: none; } -.print-only { display: none !important; } -@media print { @page { margin: 1.25cm 0.75cm; } - * { -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important; } - a, a:visited { color: inherit !important; text-decoration: underline !important; } - a[href^="http:"]:after, a[href^="https:"]:after { content: " (" attr(href) ")"; } - a[href^="#"], a[href^="#"]:visited, a[href^="mailto:"], a[href^="mailto:"]:visited { text-decoration: none !important; } - abbr[title]:after { content: " (" attr(title) ")"; } - pre, blockquote { page-break-inside: avoid; } - code { color: #191919; } - thead { display: table-header-group; } - tr, img { page-break-inside: avoid; } - img { max-width: 100% !important; } - p { orphans: 3; widows: 3; } - h2, h3, #toctitle, .sidebarblock > .content > .title, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; } - #toc, .sidebarblock { background: none !important; } - #toc { border-bottom: 1px solid #d8d8d8 !important; padding-bottom: 0 !important; } - .sect1 { padding-bottom: 0 !important; } - .sect1 + .sect1 { border: none !important; } - body.book #header { text-align: center; } - body.book #header > h1 { border: none !important; margin: 2.5em 0 1em 0; padding: 0; } - body.book #header span { line-height: 1.6; } - body.book #header br { display: block; } - body.book #header br + span { padding-left: 0; } - body.book #header br + span:before { content: none !important; } - body.book #toc { border: none !important; text-align: left !important; padding: 0 !important; } - #footer { background: none !important; } - #footer-text { color: #333333 !important; } - .hide-on-print { display: none !important; } - .print-only { display: block !important; } - .hide-for-print { display: none !important; } - .show-for-print { display: inherit !important; } } diff --git a/_templates/_css.html.erb b/_templates/_css.html.erb deleted file mode 100644 index 0fca7ae..0000000 --- a/_templates/_css.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -<%- Dir.glob("_stylesheets/*").sort.each do |sheet| -%> - -<%- end -%> diff --git a/_templates/_nav.html.erb b/_templates/_nav.html.erb deleted file mode 100644 index 95a7e5c..0000000 --- a/_templates/_nav.html.erb +++ /dev/null @@ -1,31 +0,0 @@ - diff --git a/_templates/page.html.erb b/_templates/page.html.erb deleted file mode 100644 index 079ce82..0000000 --- a/_templates/page.html.erb +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - <%= distro %> <%= version %> | <%= [group_title, subgroup_title, topic_title].compact.join(' | ') %> - - - - - - - - - <%= render("_templates/_css.html.erb", :css_path => css_path) %> - - - - - - " rel="shortcut icon" type="text/css"> - - - - - -
-

- -

- -
- -
- - <%= content %> -
-
-
-
-
-
- - -
- -
-
- - -

© 2017 Red Hat, Inc. and others. Please send any comments or corrections to the documentation team

-
-
-
- -
-
-
- - - - - - - - diff --git a/_topic_map.yml b/_topic_map.yml deleted file mode 100644 index 6c2aed8..0000000 --- a/_topic_map.yml +++ /dev/null @@ -1,153 +0,0 @@ ---- -Name: Fedora Quick Docs -Dir: en-US -Topics: - - Name: Quick Docs in progress (How to help!) - File: index -#INSERT:4:remix-docs:en-US/remix-docs - - Name: Checking integrity with AIDE - File: using-aide - - Name: Anaconda installation program - Dir: anaconda - Topics: - - Name: Anaconda - File: anaconda - - Name: Anaconda-based Distributions - File: anaconda_distros - - Name: Anaconda Updates - File: anaconda_updates - - Name: Anaconda Logging - File: anaconda_logging - - Name: Anaconda Product Image - File: anaconda_product_image - - Name: Getting started with Apache HTTP Server - File: getting-started-with-apache-http-server - - Name: Finding and installing Linux applications - File: finding-and-installing-linux-applications - - Name: Installing Chromium or Google Chrome browsers - File: installing-chromium-or-google-chrome-browsers - - Name: Switching desktop environments - File: switching-desktop-environments - - Name: Difference between Fedora and Red Hat Enterprise Linux - File: fedora-and-red-hat-enterprise-linux - - Name: Using the DNF software package manager - File: dnf - - Name: Upgrading Fedora using the DNF system upgrade - File: dnf-system-upgrade - - Name: Securing the system by keeping it up-to-date - File: securing-the-system-by-keeping-it-up-to-date - - Name: Fedora Release Life Cycle - File: fedora-life-cycle - - Name: Upgrading to a new release of Fedora - File: upgrading - - Name: Controlling network traffic with firewalld - File: firewalld - - Name: Adding new fonts in Fedora - File: adding-new-fonts-fedora - - Name: Creating GPG Keys - File: create-gpg-keys - - Name: Bootloading with GRUB2 - File: bootloading-with-grub2 - - Name: Creating and using a live installation image - File: creating-and-using-a-live-installation-image - - Name: Installing Java - File: installing-java - - Name: Kernel - Dir: kernel - Topics: - - Name: Overview - File: overview - - Name: Troubleshooting - File: troubleshooting - - Name: Building a Custom Kernel - File: build-custom-kernel - - Name: Managing keyboard shortcuts for running an application in GNOME - File: managing-keyboard-shortcuts-for-running-app-in-gnome - - Name: Setting a key shortcut to run an application in GNOME - File: proc_setting-key-shortcut - - Name: Disabling the GNOME automatic screen locking - File: disabling-automatic-screenlock - - Name: Viewing logs in Fedora - File: viewing-logs - - Name: Installing plugins for playing movies and music - File: assembly_installing-plugins-for-playing-movies-and-music - - Name: Installing and running the VLC player - File: installing-and-running-vlc - - Name: Configuring networking with NetworkManager CLI (nmcli) - File: configuring-ip-networking-with-nmcli - - Name: Creating disk partitions - File: creating-a-disk-partition-in-linux - - Name: NVIDIA Optimus Bumblebee - File: bumblebee - - Name: Raspberry Pi - File: raspberry-pi - - Name: Fedora Repositories - File: repositories - - Name: Adding or removing software repositories in Fedora - File: adding-or-removing-software-repositories-in-fedora - - Name: Resetting a root password - File: reset-root-password - - Name: Creating RPM packages - File: creating-rpm-packages - - Name: Creating a GNU Hello World RPM Package - File: create-hello-world-rpm - - Name: Getting started using SELinux - File: getting-started-with-selinux - - Name: Changing SELinux states and modes - File: changing-selinux-states-and-modes - - Name: Troubleshooting SELinux - File: troubleshooting_selinux - - Name: Using shared system certificates - File: using-shared-system-certificates - - Name: Installing software from source code - File: installing-software-from-source - - Name: Installing Spotify on Fedora - File: installing-spotify - - Name: Performing administration tasks using sudo - File: performing-administration-tasks-using-sudo - - Name: Understanding and administering systemd - File: understanding-and-administering-systemd - - Name: Displaying a user prompt on the GNOME login screen - File: displaying_user_prompt_on_gnome_login_screen - - Name: Installing virtual operating systems with GNOME Boxes - File: installing-virtual-systems-with-gnome-boxes.adoc - - Name: Using virtualization emulation in QEMU - File: qemu - - Name: Getting started with virtualization (libvirt) - File: getting-started-with-virtualization - - Name: Using nested virtualization in KVM - File: using-nested-virtualization-in-kvm - - Name: Creating Windows virtual machines using virtIO drivers - File: creating-windows-virtual-machines-using-virtio-drivers - - Name: Running Windows applications with Wine - File: wine - - Name: Configuring X Window System using the xorg.conf file - File: configuring-x-window-system-using-the-xorg-conf-file - - Name: Configuring X.org as the default GNOME session - File: configuring-xorg-as-default-gnome-session -# - Name: (FIX ME!) Identifying Wayland problems -# File: debug-wayland-problems -# - Name: (CHECK) GRUB 2 -# File: grub2 -# - Name: (FIX ME!) How to debug Dracut problems -# File: debug-dracut-problems -# - Name: (FIX ME!) How to debug Systemd problems -# File: debug-systemd-problems -# - Name: (FIX ME!) How to edit iptables rules -# File: edit-iptables-rules -# - Name: (FIX ME!) How to enable touchpad click -# File: enable-touchpad-click -# - Name: (CHECK) Flash -# File: flash -# - Name: (FIX ME!) Mirroring -# File: mirroring -# - Name: (FIX ME!) OpenH264 -# File: openh264 -# - Name: (FIX ME!) PackageKit Items Not Found -# File: packagekit-not-found -# - Name: (FIX ME!) PostgreSQL -# File: postgresql -# - Name: (FIX ME!) Using UEFI with QEMU -# File: uefi-with-qemu -# - Name: (FIX ME!) Upgrading Fedora using package manager -# File: upgrading-fedora-online diff --git a/antora.yml b/antora.yml new file mode 100644 index 0000000..b763b15 --- /dev/null +++ b/antora.yml @@ -0,0 +1,16 @@ +# Name will be mostly visible in the URL. Treat it as an indentifier. +# Tip: If you want to use the local preview scripts that come with this repository, please change this value in the site.yml file as well. (under site/start_page) +name: quick-docs + +# Title will be visible on the page. +title: Quick Docs + +# If you don't plan to have multiple versions of the docs (for example, to document multiple versions of some software), you can ignore this field. Otherwise, change "master" to a specific version. +version: master + +# We encourage you to name the index page as "index.adoc". If you absolutely have to use a different name, please reflect it here. You can ignore this field otherwise. +start_page: ROOT:index + +# This lists all the menu definitions of your component. +nav: +- modules/ROOT/nav.adoc diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..c9349e3 --- /dev/null +++ b/build.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +if [ "$(uname)" == "Darwin" ]; then + # Running on macOS. + # Let's assume that the user has the Docker CE installed + # which doesn't require a root password. + docker run --rm -it -v $(pwd):/antora antora/antora --html-url-extension-style=indexify site.yml + +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then + # Running on Linux. + # Let's assume that it's running the Docker deamon + # which requires root. + echo "" + echo "This build script is using Docker to run the build in an isolated environment. You might be asked for a root password in order to start it." +sudo docker run --rm -it -v $(pwd):/antora:z antora/antora --html-url-extension-style=indexify site.yml +fi diff --git a/en-US/3rdparty-message.adoc b/en-US/3rdparty-message.adoc deleted file mode 100644 index 1e82512..0000000 --- a/en-US/3rdparty-message.adoc +++ /dev/null @@ -1,17 +0,0 @@ -//// - -This message needs to be included on any document referencing third party software -repositories. Add the following line verbatim to the top of any such document: - -include::en-US/3rdparty-message.adoc[] - -Please do not change this message without consultation. Thanks! - -//// - -[CAUTION] -==== -This page discusses third-party software sources not officially affiliated with or endorsed by the Fedora Project. -Use them at your own discretion. -Fedora recommends the use of free and open source software and avoidance of software encumbered by patents. -==== diff --git a/en-US/adding-new-fonts-fedora.adoc b/en-US/adding-new-fonts-fedora.adoc deleted file mode 100644 index 7710155..0000000 --- a/en-US/adding-new-fonts-fedora.adoc +++ /dev/null @@ -1,11 +0,0 @@ -:experimental: - - -[[adding-new-fonts-fedora]] -= Adding new fonts in Fedora - -The default installation of the Fedora Linux (Fedora) includes several basic fonts. If you plan to use Fedora for activities such as typesetting and graphic design, you may wish to add additional fonts. - -include::en-US/modules/proc_adding-new-fonts-as-superuser.adoc[leveloffset=+1] - -include::en-US/modules/proc_adding-new-fonts-as-user.adoc[leveloffset=+1] diff --git a/en-US/adding-or-removing-software-repositories-in-fedora.adoc b/en-US/adding-or-removing-software-repositories-in-fedora.adoc deleted file mode 100644 index 966b7ea..0000000 --- a/en-US/adding-or-removing-software-repositories-in-fedora.adoc +++ /dev/null @@ -1,12 +0,0 @@ -:experimental: - -[id='adding-or-removing-software-repositories-in-fedora'] -= Adding or removing software repositories in Fedora - -This section describes how to add, enable, or disable a software repository with the DNF application. - -include::en-US/modules/proc_adding-repositories.adoc[leveloffset=+1] - -include::en-US/modules/proc_enabling-repositories.adoc[leveloffset=+1] - -include::en-US/modules/proc_disabling-repositories.adoc[leveloffset=+1] diff --git a/en-US/anaconda/anaconda.adoc b/en-US/anaconda/anaconda.adoc deleted file mode 100644 index c2787f9..0000000 --- a/en-US/anaconda/anaconda.adoc +++ /dev/null @@ -1,173 +0,0 @@ -= Anaconda - -[caption="Entering Anaconda, Montana. A city probably named after this installation program. David Cantrell took this picture in 2011. His grey VW Jetta is parked in the background."] -image::DSC_3217.JPG[Anaconda,400] - -Anaconda is the installation program used by Fedora, Red Hat Enterprise Linux and link:anaconda_distros.html[some other distributions]. - -During installation, a target computer's hardware is identified and configured, and the appropriate file systems for the system's architecture are created. -Finally, Anaconda allows the user to install the operating system software on the target computer. -Anaconda can also upgrade existing installations of earlier versions of the same distribution. -After the installation is complete, you can reboot into your installed system and continue doing customization using https://fedoraproject.org/wiki/InitialSetup[initial setup]. - -Anaconda is a fairly sophisticated installer. -It supports installation from local and remote sources such as CDs and DVDs, images stored on a hard drive, NFS, HTTP, and FTP. -Installation can be scripted with http://pykickstart.readthedocs.io/en/latest/[kickstart] to provide a fully unattended installation that can be duplicated on scores of machines. -It can also be run over VNC on headless machines. -A variety of advanced storage devices including LVM, RAID, iSCSI, and multipath are supported from the partitioning program. -Anaconda provides advanced debugging features such as remote logging, access to the python interactive debugger, and remote saving of exception dumps. - -[id="users"] -== Users - -If you are a user having problems with Anaconda, please use the user support forum for your distribution such as http://forums.fedoraforum.org/forumdisplay.php?f=6[Fedora Forum] or https://lists.fedoraproject.org/admin/lists/users.lists.fedoraproject.org/[the fedora-users mailing list]. - -From time to time, we may distribute updates for Anaconda to fix problems in Fedora releases. -The link:anaconda_updates.html[updates] page explains how to use these updates images. - -[id="advanced-users"] -== Advanced Users - -If you are an advanced user of Anaconda, you should check out https://anaconda-installer.readthedocs.io/en/latest/boot-options.html[our reference to Anaconda command line options], https://anaconda-installer.readthedocs.io/en/latest/kickstart.html[our kickstart file format documentation] and link:anaconda_logging.html[our reference to logging capabilities of Anaconda]. - -There is a mailing list devoted to the use of kickstart. -You can find the list signup and archive information at http://www.redhat.com/mailman/listinfo/kickstart-list[kickstart list]. -This is the best place to share tips and tricks about kickstart. - -[id="distribution-builders"] -== Distribution Builders - -For information on how to customize Anaconda and trees created with it, please see link:anaconda_product_image.html[product.img]. - -[id="mailing-lists"] -== Mailing Lists - -There are two mailing lists for Anaconda. -The first is the development mailing list. -This list is used to discuss development issues, submit patches, and other activities related to extending Anaconda. -The sign up for the development list is located at https://listman.redhat.com/mailman/listinfo/anaconda-devel-list[anaconda development list site]. -Past discussions can be found in the https://www.redhat.com/archives/anaconda-devel-list[anaconda development archives]. - -The second list is a user oriented list on how to create kickstart files. -The kickstart list is the place to discuss automated installation issues. -The sign up for the kickstart list is located at https://www.redhat.com/mailman/listinfo/kickstart-list[anaconda kickstart list site]. -Past discussions can be found in the https://www.redhat.com/archives/kickstart-list[anaconda kickstart archives]. - -Patch review used to take place on a mailing list dedicated to submitting and reviewing patches. -Patch review now takes place on https://github.com/rhinstaller/anaconda/pulls[GitHub] via pull requests. -Past discussions of patches can be found in the https://lists.fedorahosted.org/pipermail/anaconda-patches/[anaconda-patches archives], which is the main purpose this mailing list now serves. - -[id="irc"] -== IRC - -There is also an IRC channel on link:http://freenode.net[FreeNode]. -This resource is for discussion of Anaconda development, not for distribution customization questions. - -[id="how-to-contribute"] -== How to Contribute - -For how to contribute to Anaconda and related projects, see the https://anaconda-installer.readthedocs.io/en/latest/contributing.html[Contributing to Anaconda and related projects] documentation. - -Please note that useful contributions are not limited to submitting patches for source code. -You can also help with https://anaconda-installer.readthedocs.io/en/latest/testing.html[testing], reporting bugs, improving translations or extending the Anaconda documentation. - -[id="developers-guide"] -== Developers' Guide - -Anaconda is now almost entirely written in Python 3. -The graphical front end uses GTK+ 3 via gobject-introspection, and as much of the interface as possible is written using the glade interface builder. -The earliest parts of Anaconda are in shell for integration with dracut, and there's still a little bit of C thrown in for interfacing with certain libraries. - -Here are some documents if you are planning on working on Anaconda. -More are in the works: - -* Anaconda/Devel/Translation -* If you want to work on Anaconda, you should start with the Anaconda/SourceOverview[Source Overview], which contains a high level discussion of the source files and what they do. - -Then look at the https://anaconda-installer.readthedocs.io/en/latest/[online documentation] for information on how to test, debug, and develop anaconda. - -Familiarize yourself with the tools that Anaconda uses. -Check out the following external reference documents: - -* https://developer.gnome.org/gtk3/stable/[GTK+ reference] -* https://docs.python.org/3/tutorial/[Python tutorial] -* https://docs.python.org/3/py-modindex.html[Python module reference] - -[id="getting-the-source"] -== Getting the Source - -The primary methods of distributing the Anaconda source are source RPMs in the http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/[Fedora development tree] and git. -To access the current source code in in non-rpm format, you'll need to install git. - -[source,bash] ----- -$ dnf install git ----- - -Note that several related packages will be installed as well. -After the git source code management tool has been installed, then you use anonymous git access to the Anaconda repository. - -If you would just like to browse the Anaconda git repository via the web, then please use the following https://github.com/rhinstaller/anaconda.git[Anaconda git URL]. - -[source,bash] ----- -$ git clone https://github.com/rhinstaller/anaconda.git ----- - -The output may look similar to the following: - ----- -Initialized empty Git repository in /home/drkludge/anacondatest/anaconda/.git/ -remote: Generating pack... -remote: Counting objects: 10861 -remote: Done counting 91222 objects. -remote: Deltifying 91222 objects... -remote:  100% (91222/91222) done -Indexing 91222 objects... -100% (91222/91222) done -remote: Total 91222 (delta 68785), reused 90187 (delta 68059) -Resolving 68785 deltas... -100% (68785/68785) done -Checking 543 files out... -100% (543/543) done ----- - -If you have committer access to Anaconda, then you will want to use the git+ssh access url. -(GitHub also supports pushing changes via HTTPS, but may require you to re-authenticate every time you push your changes.) - -[source,bash] ----- -$ git clone git+ssh://git@github.com/rhinstaller/anaconda.git ----- - -Once you've committed changes locally, you can push them with - -[source,bash] ----- -$ git push ----- - -Anaconda has an https://github.com/rhinstaller/kickstart-tests[extensive suite of tests] that is still growing. -If you contribute new functionality, it's good practice to include some tests along with that. -We have a https://anaconda-installer.readthedocs.io/en/latest/testing.html[document that outlines the test suite infratructure and describes how to run tests]. - -To contribute you should read our https://anaconda-installer.readthedocs.io/en/latest/contributing.html[guidelines for contributing]. - -[id="reporting-problems"] -== Reporting Problems - -If you are having difficulty installing, please file the problem report with your distribution vendor. - -Before filing a bug, please read up on link:https://fedoraproject.org/wiki/How_to_debug_installation_problems[debugging installation problems], which will tell you how to fill out useful bug reports that will help us quickly solve your problem. -Also try searching bugzilla for other reports about your problem, as some bugs are often filed by several people. - -The https://fedoraproject.org/wiki/Anaconda/AnacondaBugWorkflow[Anaconda Bug Workflow] explains how Fedora Anaconda bugs pass through bugzilla, and what all the various statuses really mean. -This is *only* for Fedora. - -Additionally, you can use this link:https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=anaconda&list_id=8454223&product=Fedora&query_format=advanced[Bugzilla query] to find all open Anaconda bugs. - -[id="design"] -Design -~~~~~~ - -link:https://fedoraproject.org/wiki/How_to_Create_an_Anaconda_Banner[How to Create an Anaconda Banner] diff --git a/en-US/anaconda/anaconda_distros.adoc b/en-US/anaconda/anaconda_distros.adoc deleted file mode 100644 index 8f7050a..0000000 --- a/en-US/anaconda/anaconda_distros.adoc +++ /dev/null @@ -1,20 +0,0 @@ -= Anaconda based Distributions - -There are a number of distributions which currently use Anaconda. This is a list of the ones which we are aware of. - -* Fedora -* Red Hat Enterprise Linux -* rpath Linux -* Progeny Componentized Linux, based on Debian (defunct) -* Vida linux, Gentoo variant using Anaconda -* Foresight Linux, originally derived from rpath Linux -* Sabayon Linux Installer -* Aurox -* Asianux -* Blag GNU/Linux -* ASPLinux -* Fedora derivatives -* FrameOS Linux -* Scientific Linux - -There are likely many more distributions using Anaconda. Feel free to contact the authors to add to this list. diff --git a/en-US/anaconda/anaconda_logging.adoc b/en-US/anaconda/anaconda_logging.adoc deleted file mode 100644 index 21d9d56..0000000 --- a/en-US/anaconda/anaconda_logging.adoc +++ /dev/null @@ -1,235 +0,0 @@ -= Anaconda Logging - -== Introduction -Anaconda tracks all of its activities in logs. -This includes: - -* changing installation steps (that roughly correspond to different screens in the graphical installer) -* storage devices detection and manipulation -* installation media detection -* network initialization -* kernel messages -* calls to critical methods within anaconda -* calls to external programs - -== Logging on the installed system -During the installation the logs are stored in the `/tmp` directory: - -=== Log files - -`/tmp/anaconda.log`:: the general installation information, particularly the step changes. -`/tmp/storage.log`:: storage devices scan and manipulation (hard drives, partitions, LVM, RAID), partitioning -`/tmp/program.log`:: calls to external programs, their output -`/tmp/syslog`:: messages from kernel and external programs (Network Manager) -`/tmp/yum.log`:: yum's internal log -`/tmp/dnf.log`:: link:https://www.fedoraproject.org/wiki/Dnf[DNF]'s internal log -`/tmp/dnf.hawkey.log`:: link:https://www.fedoraproject.org/wiki/Dnf[DNF]'s Hawkey internal log -`/tmp/dnf.rpm.log`:: link:https://www.fedoraproject.org/wiki/Dnf[DNF]'s RPM internal log - -Certain log messages are also written to the terminals: - -=== TTY devices - -`/dev/tty3`:: messages from `anaconda.log`, `storage.log` and `yum.log`. -`/dev/tty4`:: same as `syslog` -`/dev/tty5`:: stdout and stderr from external programs + - -`tty3` and `tty4` reflect certain log files. -Log files always contain messages from all the loglevels, including debug, but the minimal loglevel on the terminals can be controlled with the `loglevel` link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-loglevel[command line option]. - -There are two other log files created on the target filesystem, in the `/root` directory, also accessible at `/mnt/sysimage/root` during the installation: - -`/mnt/sysimage/root/install.log`:: log of the package installation process. -`/mnt/sysimage/root/install.log.syslog`:: messages from installation chroot logged through the system's syslog. - -Mostly information about users and groups created during dnf|yum's package installation. - -=== Log format -In files the format of the log messages is as follows: - ----- - H:M:S,ms LOGLEVEL facility:message ----- - -where: - -* `H:M:S` is the message timestamp -* `ms` is the millisecond part of timestamp. -Note that this will usually become zero on a remote syslog. -* `LOGLEVEL` is the message loglevel. -In theory, because kernel messages are part of anaconda logs, all loglevels that are defined in rsyslog can appear in the logfiles. -Anaconda itself will however log only at the following loglevels: -** `DEBUG` -** `INFO` -** `WARN` -** `ERR` -** `CRIT` -* `facility` is the program or component that created the message. -Could be for instance `kernel`, `anaconda`, `storage` or similar. -* `message` is the log message itself. - -For the logs running in terminals, the format simply is: - ----- - LOGLEVEL facility:message ----- - -== Remote logging via TCP -Anaconda supports remote logging handled through the rsyslog daemon running on the installed system. -It can be configured to forward its logs through TCP to an arbitrary machine in network that is also running a syslog daemon. -This is controlled with the `syslog` link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-syslog[command line option]. - -[WARNING] -===== -Do not forget to enable the port you are running your local syslog daemon on in your firewall. -===== - -=== What is logged remotely -Everything that is logged directly by anaconda should also appear in the remote logs. -This includes messages emitted by the loader and the storage subsystem. -All anaconda tracebacks (/tmp/anaconda-tb-xyz) are concatenated into a single file /tmp/anaconda-tb-all.log and then transferred. -Also, /tmp/x.log is transferred. - -The remote logging only works when the installer initializes network. -Once network is up, it takes a couple of minutes for rsyslogd to realize this. -Rsyslog has a queue for messages that couldn't be forwarded because of inaccessible network and it eventually forwards all of them, in the correct order. - -=== Configuration - -It's up to you how the remote logging daemon is configured, you can for instance log all incoming messages into one file or sort them into directories according to the IP address of the remote system. - -The anaconda RPM provides the `analog` script, which generates a suitable rsyslogd configuration file based on a couple of install parameters. -It is also able to generate a bash command to launch rsyslogd with the generated configuration. -Thus you can do from a shell: - $ eval `scripts/analog -p 6080 -s -o ./someconf /home/akozumpl/remote_inst` -This starts an rsyslog daemon that will listen on port 6080. -The logs from the remote machine with IP 10.34.33.221 will be stored under `/home/akozumpl/remote_inst/10.34.33.221/`, e.g. `/home/akozumpl/remote_inst/10.34.33.221/anaconda.log`. - -The remote syslog configuration exploits several log message characteristics to be able to sort them into the correct files: -* the IP of the message sender to know which machine generated the message and thud what directory does the message belong to. -* `anaconda.log, storage.log` and `program.log` have the name embedded in them as `programname`. -* `syslog` messages are coming in from kernel and daemon facilities, just like they do on the installed system -* `install.log.syslog` made during package installation is logged as a special `sysimage` hostname. - -Run `analog` without the `-o` option to see how exactly does a fitting configuration file look like. -Also notice that it uses the same message format for remote logging as anaconda does, but you can of course modify this to specify any format you want. - -=== See also -* link:http://www.rsyslog.com/doc[Rsyslog documentation] -* `man tailf` - -== Remote logging via virtio -QEMU/KVM in Fedora 13 and onwards allows one to create virtual machines with link:http://fedoraprojet.org/wiki/Features/VirtioSerial[multiple virtio char devices] exposed to the guest machine. -One such device can be used to forward anaconda logs to the host machine. -In that way we can get logs forwarded in real time, as soon the anaconda logging subsystem is initialized (early) and not need to wait for the network to come up. -Also, it's the only way to forward the logs in a no-network setup. - -=== Remote Logging Configuration -Anaconda will be forwarding logs over virtio automatically if it is able to find the port `/dev/virtio-ports/org.fedoraproject.anaconda.log.0"`. -This is port is created using a libvirt XML directive that wires it to a TCP socket on the host's side. -It's then possible to read the logs from there directly, or make an rsyslog instance to parse them and file them into respective files. -See the ascii chart below for the whole ensemble: - - ----- -Anaconda--->rsyslog(guest)--->virtio(guest char device)--->kvm hypervisor--->virtio(TCP socket) - | - v - forwarded log files<---rsyslog(host) ----- - -Step by step instructions to set everything up follow: - -. Create a testing virtual machine, e.g. using Virtual Manager -. Add the virtio-serial port to your virtual machine, direct it to the TCP port 6080 on the host. -Start by editing the guest configuration:`virsh edit ` -. In the guest editor, add following information into the `` section: -[source,xml] ----- - - - - ----- -. Start the listening rsyslogd process on the host, using the `analog` script described [[#Remote_logging_via_TCP|above]]: ----- -eval `analog -p 6080 -o rsyslogd.conf -s /home/akozumpl/remote_inst` ----- -. Start the virtual machine. -. Continue with the installation. -Immediately after the Anaconda greeting is displayed the log messages will appear in the directory given to `analog` script, in the `127.0.0.1` subdirectory. - -==== virt-install - -If you are using virt-install you can configure it with the --channel option: - ----- ---channel tcp,host=127.0.0.1:6080,mode=connect,target_type=virtio,name=org.fedoraproject.anaconda.log.0 ----- - -=== Known issues and troubleshooting -* works in libvirt>=0.8.2 -* chroot syslog messages from `/mnt/sysimage/root/install.log.syslog` are not forwarded. -* it is not possible to start the machine unless something is listening on the TCP port where virtio-serial is connected. -* if you want to test that the virtio connection is working, instead of using analog and rsyslog just let a netcat utility listen on the given port, e.g. -`nc -l 0.0.0.0 6080`. -You should start seeing raw logs in the terminal once the guest machine starts booting. -* if both remote TCP logging via `syslog=` and remote virtio logging via `virtiolog=` are specified on the command line, one has to setup two rsyslogd instances on the server/host to listen to both the connections otherwise the sending rsyslog's queues get full and the forwarding stops. - -=== See also -* link:https://fedoraproject.org/wiki/Features/VirtioSerial[VirtioSerial] -* link:http://wiki.libvirt.org/page/Virtio[Virtio at the libvirt wiki] -* link:http://libvirt.org/formatdomain.html#elementsConsole[libvirt domain XML format] - -== Anaconda logs on the running system -After every successful installation, anaconda logs are copied into `/var/log` on the system you just installed. -To avoid name clashes with other log files there, the anaconda logs are renamed: - -[%header,cols=2*] -|==== -| Name during installation | Name on the target system -| `/tmp/anaconda.log` | `/var/log/anaconda.log` -| `/tmp/syslog` | `/var/log/anaconda.syslog` -| `/tmp/X.log` | `/var/log/anaconda.xlog` -| `/tmp/program.log` | `/var/log/anaconda.program.log` -| `/tmp/storage.log` | `/var/log/anaconda.storage.log` -| `/tmp/yum.log` | `/var/log/anaconda.yum.log` -| `/tmp/ifcfg.log` (new in F14) | not copied -|==== - -Starting with Fedora 15 (or post F14 Rawhide), the logs go to `/var/log/anaconda` directory on the target system, including ifcfg.log inroduced in F14. - -== Logging tips - -If you are asked to provide logs for a bugzilla, your best option is switching from the anaconda GUI to tty2 and then use scp to copy the files to your computer, e.g.: - -[source,bash] ----- -$ cd /tmp -$ scp anaconda.log aklap:/home/akozumpl/ ----- - -It is also possible to make a complete dump of a state of running anaconda process (the same dump that is compiled automatically if an unhandled exception occurs). -To do this send the main anaconda process SIGUSR2: - -[source,bash] ----- -$ kill -USR2 `cat /var/run/anaconda.pid`` ----- - -This builds a file `/tmp/anaconda-tb-?????` that also contains `anaconda.log`, `storage.log` and `syslog`. - -If you are on a KVM virtual machine and there's no scp available (stage1), you can (after setting up the network if not up already) redirect to a special tcp file, on host: - -[source,bash] ----- -$ nc -l 4444 > syslog.log ----- - -on guest: - -[source,bash] ----- -$ ifconfig eth0 10.0.2.10/24 up -$ grep "" /tmp/syslog > /dev/tcp/10.0.2.2/4444 ----- diff --git a/en-US/anaconda/anaconda_product_image.adoc b/en-US/anaconda/anaconda_product_image.adoc deleted file mode 100644 index 10f5be4..0000000 --- a/en-US/anaconda/anaconda_product_image.adoc +++ /dev/null @@ -1,29 +0,0 @@ -= Creating a Product image - -Anaconda supports several ways to load new code at runtime. -Passing `inst.updates=` is one way to do this and is documented on the link:anaconda_updates.html[updates] page. -Another is to include a product.img in the install tree, inside the `/images/` directory. -It will be applied at runtime and can overwrite any file on the system, just like the updates.img. - -One use for a product.img is to add a new installclass to Anaconda. -A product image for a new installclass can be created from a directory of files like this: - -[source,bash] ----- -$ mkdir -p product/run/install/product/pyanaconda/installclasses/ -$ vim product/run/install/product/pyanaconda/installclasses/custom.py ----- - -Create new installclass, see link:https://github.com/rhinstaller/anaconda/tree/master/pyanaconda/installclasses[Anaconda code] for examples. -Now you can create the product.img: - -[source,bash] ----- -$ cd product/ -$ find . | cpio -c -o | pigz -9cv > ../product.img ----- - -Now you can include product.img in the tree, inside `/images/`. - -Alternatively you can now use lorax to create product.img as part of the boot.iso creation process. -This is supported by lorax-21.27-1 and is documented link:http://rhinstaller.github.io/lorax/product-images.html[here] in the Lorax source tree. diff --git a/en-US/anaconda/anaconda_updates.adoc b/en-US/anaconda/anaconda_updates.adoc deleted file mode 100644 index 88c3d2f..0000000 --- a/en-US/anaconda/anaconda_updates.adoc +++ /dev/null @@ -1,199 +0,0 @@ -= Anaconda Updates - -Anaconda has the capability to incorporate updates at runtime to fix any bugs or issues with the installer. -These updates are generally distributed as a disk image file (referred to as `updates.img` from here on out) -The `updates.img` can be used in a few different ways. - -== Updates types - -There are a number of sources for the updates. - -=== Updates from the Network - -The easiest and most popular way to use an `updates.img` is via the network. -This is how almost all updates images you'll see in bug reports and mailing lists are distributed. -This does not require you to modify your installation tree at all. - -To use this method, you will need to edit your kernel commandline to include the `inst.updates key`, like this: - ----- -linux inst.updates=http://some.website.com/path/to/updates.img ----- - -[NOTE] -==== -If you're booting via an ISO, to edit the kernel commandline, you will need to use the `e` key in GRUB to edit the boot entry. -==== - -If you have multiple network interfaces, Anaconda will first prompt you to select one (unless you have used the `ksdevice=` boot parameter). -It will then attempt to configure this link using DHCP. -If you require other networking configuration, you will need to use various options. -The `ksdevice=` option can be used to specify a different network device, and the `ip=` option (along with others for gateway, nameserver, and so forth) can be used for static configuration. -All Anaconda config options are described link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html[elsewhere]. - -If you are making your own `updates.img`, just upload it to a web server you have access to and pass the location as above. - -=== Updates from a disk image - -You can also put an `updates.img` on a block device (either a floppy or a USB key). -This can be done only with an ext2 filesystem type of updates.img. -For a floppy drive, insert your floppy and then run - -[source,bash] ----- -$ dd if=updates.img of=/dev/fd0 bs=72k count=20 ----- - -to put the contents of the image on your floppy. -Then, boot the installer with - ----- -linux updates ----- - -and you will be prompted to provide the location of your update disk. - -You can also use a USB key or flash media -- just replace `/dev/fd0` with the device that your USB key is at. - -=== Updates from the Tree - -If you're doing a CD, hard drive, HTTP, or FTP install you can also put the `updates.img` in your tree to be picked up by all installs automatically. -Put the file in the `images/` directory. -It must have exactly the name `updates.img`, even if you received it with a different name. - -For NFS installs, there are two options. -You can either put the image in `images/` as above or explode the image into the `RHupdates/` directory in your installation tree. - -This `updates.img` is only retrieved from the location where stage2 image is pulled from. -If you use link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst.repo[inst.repo] boot option to specify your installation tree, but you also use link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-stage2[inst.stage2] boot option with a different location, only the `inst.stage2` location is going to be searched for the `updates.img` file, and not the `inst.repo` location. - -[id="create-images"] -== How to Create an Anaconda Updates Image - -If you are working on Anaconda or looking at a bug and want to test your own bug fixes, it's easy to create your own `updates.img` file. -Anaconda supports two formats: an ext2 filesystem image and the more common gzip-compressed cpio archive. -The automatic tools shipped with Anaconda deal in the second form, so that's what will be discussed here. - -The easiest way to create an image is to run - -[source,bash] ----- -$ ./configure -$ make updates ----- - -from the Anaconda source tree. -This will package up all the changes to the tree since the last release and create a file named `updates.img` in the top of the tree. -Remember to use the correct git branch for the Fedora release you are working on or testing. -If you need finer control over this process (like creating an image from an even older release), or you don't want to run ./configure first (the make command will fail unless ./configure has been run), run - -[source,bash] ----- -$ scripts/makeupdates ----- - -by hand. -The help screen documents the several options that can be used. - -An `updates.img` can include more than just files from anaconda, though. -It can also include shared libraries, graphics, other python modules, and certain data files used by anaconda. -To add files to an existing image (or create an entirely new one), just do the following: - -[source,bash] ----- -$ scripts/upd-updates updates.img file1 file2 ... ----- - -Note that the placement of files in an image is a little picky. -For instance, python modules must be in their proper subdirectory mirroring the layout of `/usr/lib/python?.?/site-packages/`. - -Another way to create an image containing files outside of Anaconda is to create the required filesystem structure and compress it manually. -For example, let's say you want to overwrite some configuration file in `/etc`: - -[source,bash] ----- -$ mkdir -p updates/etc/ -$ cp my.cfg updates/etc/ -$ cd updates -$ find . | cpio -o -c | gzip > ../updates.img -$ cd .. ----- - -== How to Examine an Anaconda Updates Image - -`updates.img` files provided by the Fedora project and generated by the makeupdates script are compressed cpio archives. -To examine one of these files, use `lsinitrd`: - -[source,bash] ----- -$ lsinitrd updates.img ----- - -To explode one, do the following: - -[source,bash] ----- -$ mkdir dest -$ cd dest -$ gunzip -dc /path/to/updates.img | cpio -id ----- - -== Advanced Usage -=== Available Options - ----- -usage: makeupdates [-h] [-k] [-c] [-t TAG] [-o OFFSET] [-p] - [-a PATH_TO_RPM [PATH_TO_RPM ...]] [-f ARCH] [-b BUILDDIR] - -Make Anaconda updates image - -optional arguments: - -h, --help show this help message and exit - -k, --keep do not delete updates subdirectory - -c, --compile compile code if there are isys changes - -t TAG, --tag TAG make updates image from TAG to HEAD - -o OFFSET, --offset OFFSET - make image from (latest_tag - OFFSET) to HEAD - -p, --po update translations - -a PATH_TO_RPM [PATH_TO_RPM ...], --add PATH_TO_RPM [PATH_TO_RPM ...] - add contents of RPMs to the updates image - -f ARCH, --fetch ARCH - autofetch new dependencies from Koji for ARCH - -b BUILDDIR, --builddir BUILDDIR - build directory for shared objects ----- - -=== Including Updates for an Older Installation Image - -If your installation image has an older Anaconda (for example you have a Beta image but you want to test all the changes that happened in Anaconda since the image was created), you can use the `-t` makeupdates option, together with the Anaconda release tag corresponding to the Anaconda version on your image. -Makupdates will then include all changes that were added since the given Anaconda version was released. - - -==== How to Find Anaconda Version for an Installation Image -There are multiple ways how to do that: -* switch to TTY1 and check the first line on the screen -* check the first line of the anaconda.log file in /tmp/ during installation -* check the first line of the anaconda.log file in /var/log/anaconda on a system installed with your installation image during installation -* check the version of the Anaconda package in the repository that has been used to generate your installation image - -==== Example ==== - -* boot a Fedora installation image -* find what version of Anaconda is installed on the image -** lets say that the image contains Anaconda 22.16-1 -** this version corresponds to the anaconda-22.16-1 Git tag -** you can run `git tag` in the Anaconda git repository to list all valid tags -* run `makeupdates -t` with the tag: - makeupdates -t anaconda-22.16-1 -* an updates image containing all changes since the commit tagged `anaconda-22.16-1` will be created - -=== Including Changes in C Code === - -While Anaconda is mostly written in Python, there are a few pieces of C code, mostly in the form of custom GTK Widgets and the isys helper module. -The makeupdates ignores changes in C code by default, but by passing the `-c` option you can tell it to look for C code canges, recompile the affected modules and include the resulting binaries in the updates image. - -Just take not that for the compilation to finish successfully, the host system needs to match the given Installation Image. -This is especially important when rebuilding the custom GTK widgets. - - -So it is for example not possible to use the `-c` option on a Fedora 21 system to build an updates image with C code changes for a RHEL7 Installation Image or the other way around. diff --git a/en-US/anaconda/images/DSC_3217.JPG b/en-US/anaconda/images/DSC_3217.JPG deleted file mode 100644 index 041aece..0000000 Binary files a/en-US/anaconda/images/DSC_3217.JPG and /dev/null differ diff --git a/en-US/assembly_installing-plugins-for-playing-movies-and-music.adoc b/en-US/assembly_installing-plugins-for-playing-movies-and-music.adoc deleted file mode 100644 index c266187..0000000 --- a/en-US/assembly_installing-plugins-for-playing-movies-and-music.adoc +++ /dev/null @@ -1,85 +0,0 @@ -// Load attributes from the external file -include::en-US/attributes.adoc[] - -// This assembly is included in the following assemblies: -// -// - -// This assembly can be included from other assemblies using the following -// include statement: -// include::assembly_installing-plugins-for-playing-movies-and-music.adoc[leveloffset=+1] - -// The following line is necessary to allow assemblies be included in other -// assemblies. It restores the `context` variable to its previous state. -:parent-context: {context} - -// The file name and the ID are based on the assembly title. -// For example: -// * file name: assembly_my-assembly-a.adoc -// * ID: [id='assembly_my-assembly-a_{context}'] -// * Title: = My assembly A -// -// The ID is used as an anchor for linking to the module. -// Avoid changing it after the module has been published -// to ensure existing links are not broken. -// -// In order for the assembly to be reusable in other assemblies in a guide, -// include {context} in the ID: [id='a-collection-of-modules_{context}']. -// -// If the assembly covers a task, start the title with a verb in the gerund -// form, such as Creating or Configuring. -[id='assembly_installing-plugins-for-playing-movies-and-music_{context}'] -= Installing plugins for playing movies and music - -// The `context` attribute enables module reuse. Every module's ID -// includes {context}, which ensures that the module has a unique ID even if -// it is reused multiple times in a guide. -:context: assembly_installing-plugins-for-playing-movies-and-music - -As a Fedora user and system administrator, you can use these steps to install additional multimedia plugins that enable you to play various video and audio types. - -WARNING: If you live in a country where software patents apply, such as in the United States or in Japan, you need to obtain multimedia codecs from a source that legally distributes patented software in your country. For example, see the Fluendo Codec Pack: link:https://fluendo.com/en/products/enterprise/fluendo-codec-pack/[]. - -The following procedures only apply to users in countries that do not recognize software patents. The steps are: - -. Enable RPM Fusion. You can choose one of the following ways to accomplish it: -+ -** xref:proc_enabling-the-rpmfusion-repositories-using-graphical-applications_assembly_installing-plugins-for-playing-movies-and-music[] -** xref:proc_enabling-the-rpmfusion-repositories-using-command-line-utilities_assembly_installing-plugins-for-playing-movies-and-music[] -. Install new packages: xref:proc_installing-multimedia-plug-ins-with-dnf_assembly_installing-plugins-for-playing-movies-and-music[] - -// [id='prerequisites-{context}'] -// == Prerequisites -// -// * Delete the section title and bullets if the assembly has no prerequisites. - -// The following include statements pull in the module files that comprise -// the assembly. Include any combination of concept, procedure, or reference -// modules required to cover the user story. You can also include other -// assemblies. - -include::en-US/modules/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc[leveloffset=+1] - -include::en-US/modules/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc[leveloffset=+1] - -include::en-US/modules/proc_installing-multimedia-plug-ins-with-dnf.adoc[leveloffset=+1] - -include::en-US/modules/concept_third-party-repositories.adoc[leveloffset=+1] - -include::en-US/modules/con_the-purpose-of-rpm-fusion.adoc[leveloffset=+1] - -// [leveloffset=+1] ensures that when a module starts with a level-1 heading -// (= Heading), the heading will be interpreted as a level-2 heading -// (== Heading) in the assembly. - -[id='related-information-{context}'] -== Related information - -* There are also media players that include all relevant codecs by themselves. Consider using one of the following for offline video viewing: -** VLC, available from the `vlc` package in RPM Fusion Free -** MPV, available from the `mpv` package in RPM Fusion Free - - -// The following line is necessary to allow assemblies be included in other -// assemblies. It restores the `context` variable to its previous state. -:context: {parent-context} diff --git a/en-US/attributes.adoc b/en-US/attributes.adoc deleted file mode 100644 index fb9fd37..0000000 --- a/en-US/attributes.adoc +++ /dev/null @@ -1,7 +0,0 @@ -:MAJOROSVER: 27 -:WRPM: link:https://docs.fedoraproject.org/quick-docs/en-US/creating-rpm-packages.html -:WPACKAGE: link:https://fedoraproject.org/wiki/Join_the_package_collection_maintainers[How to join the Fedora Package Collection Maintainers] -:RPMSCHAT: https://fedoraproject.org/wiki/Building_RPM_packages_(20090405) -:MOCKTEST: https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds -:KOJIBUILD: https://fedoraproject.org/wiki/Using_the_Koji_build_system -:YUM: https://fedoraproject.org/wiki/Yum diff --git a/en-US/autoupdates.adoc b/en-US/autoupdates.adoc deleted file mode 100644 index 4c5821d..0000000 --- a/en-US/autoupdates.adoc +++ /dev/null @@ -1,476 +0,0 @@ -= AutoUpdates - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/AutoUpdates - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -[[automatic-updates]] -Automatic Updates ------------------ - -You must decide whether to use automatic link:dnf[DNF] or link:yum[YUM] -updates on each of your machines. There are a number of arguments both -for and against automatic updates to consider. However, there is no -single answer to this question: It is up to the system administrator or -owner of each machine to decide whether automatic updates are desirable -or not for that machine. One of the things which makes one a good system -administrator is the ability to evaluate the facts and other people's -suggestions, and then decide for onesself what one should do. - -A general rule that applies in most cases is as follows: - -_If the machine is a critical server, for which unplanned downtime of a -service on the machine can not be tolerated, then you should not use -automatic updates. Otherwise, you *may* choose to use them._ - -Even the general rule above has exceptions, or can be worked around. -Some issues might be resolved through a special setup on your part. For -example, you could create your own dnf|yum repository on a local server, -and only put in it tested or trusted updates. Then use the automatic -updates from only your own repository. Such setups, while perhaps more -difficult to setup and maintain, can remove a large amount of risk -otherwise inherent in automatic updates. - -[[how-are-automatic-updates-done]] -How are automatic updates done? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can use a service to automatically download and install any new -updates (for example security updates). - -[[fedora-22-or-later-versions]] -Fedora 22 or later versions -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The http://dnf.readthedocs.org/en/latest/automatic.html[dnf-automatic] -RPM package as a link:dnf[DNF] component provides a service which is -started automatically. - -[[install-and-settings-of-dnf-automatic]] -Install and settings of dnf-automatic -+++++++++++++++++++++++++++++++++++++ - -On a fresh install of Fedora 22 with default options the dnf-automatic -RPM is not installed, the first command below installs this RPM. - -.... -dnf install dnf-automatic -.... - -Though, you have to change a configuration file. In order to do this, -run as the root user (or become root via su -) from a terminal window. - -.... -env EDITOR='gedit -w' sudoedit /etc/dnf/automatic.conf -.... - -Detailed description of dnf-automatic settings is provided on -http://dnf.readthedocs.org/en/latest/automatic.html[dnf-automatic] page. - -[[run-dnf-automatic]] -Run dnf-automatic -+++++++++++++++++ - -Once you are finished with configuration, execute: - -`systemctl enable dnf-automatic.timer && systemctl start dnf-automatic.timer` - -to enable and start the systemd timer. - -Check status of dnf-automatic: - -`# systemctl list-timers *dnf-*` - -[[changes-as-of-fedora-26]] -Changes as of Fedora 26 - -As of Fedora 26 there are now three timers that control dnf-automatic. - -* dnf-automatic-download.timer - Only download -* dnf-automatic-install.timer - Download and install -* dnf-automatic-notifyonly.timer - Only notify via configured emitters -in _/etc/dnf/automatic.conf_ - -You can still use _download_updates_ and _apply_updates_ settings from -inside _/etc/dnf/automatic.conf_. - -[[fedora-21-or-earlier-versions]] -Fedora 21 or earlier versions -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The yum-cron RPM package provides a service which is started -automatically. Though, you have to change a configuration file. In order -to do this, run as the root user (or become root via su -) from a -terminal window. On a fresh install of Fedora 20 with default options -the yum-cron RPM is not installed, the first command below installs this -RPM. - -.... -yum install -y yum-cron -env EDITOR='gedit -w' sudoedit /etc/yum/yum-cron.conf" -.... - -and enter your password. After, change the line - -.... -apply_updates = no -.... - -to - -.... -apply_updates = yes -.... - -Save the file. You are now done. Yum-cron updates your system every time -when there are new updates available. - -[[can-we-trust-dnf-or-yum-updates]] -Can we trust dnf or yum updates? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Dnf and Yum in Fedora has the GPG key checking enabled by default. -Assuming that you have imported the correct GPG keys, and still have -gpgcheck=1 in your for dnf or for yum, then we can at least assume that -any automatically installed updates were not corrupted or modified from -their original state. Using the GPG key checks, there is no way for an -attacker to generate packages that your system will accept as valid -(unless they have a copy of the *private* key corresponding to one you -installed) and any data corruption during download would be caught. - -However, the question would also apply to the question of update -quality. Will the installation of the package cause problems on your -system? This we can not answer. Each package goes through a QA process, -and is assumed to be problem free. But, problems happen, and QA can not -test all possible cases. It is always possible that any update may cause -problems during or after installation. - -[[why-use-automatic-updates]] -Why use Automatic updates? -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The main advantage of automating the updates is that machines are likely -to get updated more quickly, more often, and more uniformly than if they -updates are done manually. We see too many compromised machines on the -internet which would have been safe if the latest updates where -installed in a timely way. - -So while you should still be cautious with any automated update -solution, in particular on production systems, it is definitely worth -considering, at least in some situations. - -[[reasons-for-using-automatic-updates]] -Reasons FOR using automatic updates -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -While no one can determine for you if your machine is a good candidate -for automatic updates, there are several things which tend to make a -machine a better candidate for automatic updates. - -Some things which might make your machine a good candidate for automatic -updates are: - -* You are unlikely to apply updates manually for whatever reason(s). -* The machine is not critical and occasional unplanned downtime is -acceptable. -* You can live without remote access to the machine until you can get to -its physical location to resolve problems. -* You do not have any irreplaceable data on the machine, or have proper -backups of such data. - -If all of the above apply to your machine(s), then automatic updates may -be your best option to help secure your machine. If not all of the above -apply, then you will need to weigh the risks and decide for yourself if -automatic updates are the best way to proceed. - -[[reasons-against-using-automatic-updates]] -Reasons AGAINST using automatic updates -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -While no one can determine for you if your machine is a bad candidate -for automatic updates, there are several things which tend to make a -machine a worse candidate for automatic updates. - -Some things which might make your machine be a bad candidate for -automatic updates are: - -* It provides a critical service that you don't want to risk having -unscheduled downtime. -* You installed custom software, compiled software from source, or use -third party software that has strict package version requirements. -* You installed a custom kernel, custom kernel modules, third party -kernel modules, or have a third party application that depends on kernel -versions (this may not be a problem if you exclude kernel updates, which -is the default in Fedora dnf.conf or yum.conf files). (But see also -https://bugzilla.redhat.com/show_bug.cgi?id=870790[bug #870790] - you -may need to modify in Fedora 22 or later versions in base section to add -exclude=kernel*. or in Fedora 21 or earlier versions to -exclude=kernel*.) -* Your enviroment requires meticulous change-control procedures. -* You update from other third party yum|dnf repositories besides Fedora -(core, extras, legacy ) repositories which may conflict in versioning -schemes for the same packages. - -There are also some other reasons why installing automatic updates -without testing may be a bad idea. A few such reasons are: - -* The need to back up your configuration files before an update. Even -the best package spec files can have mistakes. If you have modified a -file which is not flagged as a configuration file, then you might lose -your configuration changes. Or an update may have a different format of -configuration file, requiring a manual reconfiguration. It is often best -to backup your configuration files before doing updates on critical -packages such as mail, web, or database server packages. -* Unwanted side effects. Some packages can create annoying side effects, -particularly ones which have cron jobs. Updates to base packages like -openssl, openldap, sql servers, etc. can have an effect on many other -seemingly unrelated packages. -* Bugs. Many packages contain buggy software or installation scripts. -The update may create problems during or after installation. Even -cosmetic bugs like those found in previous Mozilla updates (causing the -user's icons to be removed or break) can be annoying or problematic. -* Automatic updates may not complete the entire process needed to make -the system secure. For example, dnf or yum can install a kernel update, -but until the machine is rebooted (which dnf or yum will not do -automatically) the new changes won't take effect. The same may apply to -restarting daemons. This can leave the user feeling that he is secure -when he is not. - -[[best-practices-when-using-automatic-updates]] -Best practices when using automatic updates -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If you decide to use automatic updates, you should at least do a few -things to make sure you are up-to-date. - -Check for package updates which have been automatically performed, and -note if they need further (manual) intervention. You can monitor what -dnf or yum has updated via its log file (usually or ). - -[[fedora-22-or-later-versions-1]] -Fedora 22 or later versions -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -You can monitor updates availability automatically by email after -modifying dnf-automatic configuration file (usually ). - -.... -[emitters] -emit_via = email - -[email] -# The address to send email messages from. -email_from = root@localhost.com - -# List of addresses to send messages to. -email_to = root - -# Name of the host to connect to to send email messages. -email_host = localhost -.... - -You would replace root with a actual email address to which you want to -report sent, and localhost with a actual address of SMTP server. This -change will mean that after dnf-automatic runs, it will email you -information you about available updates, or log about downloaded -packages, or installed updates according to settings in . - -[[fedora-21-or-earlier-versions-1]] -Fedora 21 or earlier versions -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -You can monitor this automatically by email by modifying the cron job to -mail you the last part of the log file. For example, edit -/etc/cron.daily/yum.cron so that it looks like the following: - -.... -#!/bin/sh - -if [ -f /var/lock/subsys/yum ] ; then -/usr/bin/yum -R 10 -e 0 -d 0 -y update yum -/usr/bin/yum -R 120 -e 0 -d 0 -y update -/usr/bin/tail /var/log/yum.log | /bin/mail -s yum-report youremail@yourdmain -fi -.... - -You would replace youremail@yourdomain with a actual email address to -which you want to report sent. This change will mean that after yum runs -every night, it will email you the tail end of the log file showing what -happened. (Note this assumes you have a working mail setup on your -machine.) - -[[alternative-methods]] -Alternative methods -~~~~~~~~~~~~~~~~~~~ - -As an alternative to dnf-automatic or yum-cron, -https://github.com/rackerlabs/auter[auter] can be used. This operates in -a similar way to yum-cron, but provides more flexibility in scheduling, -and some additional options including running custom scripts before or -after updates, and automatic reboots. This comes at the expensive of -more complexity to configure. - -.... -dnf install auter -.... - -Edit the configuration. Descriptions of the options are contained in the -conf file: - -.... -/etc/auter/auter.conf -.... - -Auter is not scheduled by default. Add a schedule for "--prep" (if you -want to pre-download updates) and "--apply" (install updates). The -installed cron job contains lots of examples: - -.... -/etc/cron.d/auter -.... - -To make auter run immediately without waiting for the cron job to run, -for example for testing or debugging, you can simply run it from the -command line: - -.... -auter --apply -.... - -If you want to disable auter from running, including from any cron job: - -.... -auter --disable -.... - -[[alternatives-to-automatic-updates]] -Alternatives to automatic updates -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -[[notifications]] -Notifications -^^^^^^^^^^^^^ - -[[fedora-22-or-later-versions-2]] -Fedora 22 or later versions -+++++++++++++++++++++++++++ - -Instead of automatic updates, dnf-automatic can only download new -updates and can alert your via email of available updates which you -could then install manually. It can be set by editing of file. - -[[fedora-21-or-earlier-versions-2]] -Fedora 21 or earlier versions -+++++++++++++++++++++++++++++ - -Instead of automatic updates yum can alert your via email of available -updates which you could then install manually. You could accomplish such -a setup with a cron job such as that listed below. Simply put this in -/etc/cron.daily with a suitable filename (such as -yum-check-updates.cron). - -.... -#!/bin/sh - -/usr/bin/yum check-update 2>&1 | /bin/mail -s "yum check-update output" root -.... - -You can of course change the email address it sends to, etc. to meet -your own needs. - -[[scheduling-updates]] -Scheduling updates -^^^^^^^^^^^^^^^^^^ - -Another common problem is having automatic updates run when it isn't -desired (holidays, weekends, vacations, etc). If there are times that no -one will be around to fix any problem arising the from the updates, it -may be best to avoid doing updates on those days. - -[[fedora-22-or-later-versions-3]] -Fedora 22 or later versions -+++++++++++++++++++++++++++ - -This problem can be fixed by modification of the timer of dnf-automatic -using the description on -https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units[Use -Systemctl] page. - -[[fedora-21-or-earlier-versions-3]] -Fedora 21 or earlier versions -+++++++++++++++++++++++++++++ - -One method is to use a crontab entry instead of the -/etc/cron.daily/yum.conf provided by default. For example, to only run -updates from Monday through Friday mornings (avoiding weekends), you -might use a crontab entry such as the following: - -.... -0 7 * * 1-5 /usr/bin/yum -y update -.... - -If you need more control over when it runs, you could create a file -called, for example, /usr/local/etc/no-yum-update.conf, which contains a -list of dates not to update on. What dates go in this file is up to you -to decide (vacations, holidays, etc). The dates would be in the format -YYYY-MM-DD (e.g. 2005-03-31). Then create a -/etc/cron.daily/yum-update.cron script something like the following: - -.... -#!/bin/sh - -today=$(date +%Y-%m-%d) - -while read banned; do -[ "$today" == "$banned" ] && exit 0 -done < /usr/local/etc/no-yum-update.conf -yum -y update -.... - -[[other-methods-of-protection]] -Other methods of protection -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Yet another thing to consider if not using automatic updates is to -provide your machine with some other forms of protection to help defend -any attacks that might occur before updates are in place. This might -include an external firewall, a host-based firewall (like iptables, -ipchains, and/or tcp wrappers), not performing dangerous tasks on the -computer (like browsing the web, reading e-mail, etc), and monitoring -the system for instrusions (with system log checkers, IDS systems, -authentication or login monitoring, etc). - -''''' - -Category:Documentation -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/bootloading-with-grub2.adoc b/en-US/bootloading-with-grub2.adoc deleted file mode 100644 index fc5c255..0000000 --- a/en-US/bootloading-with-grub2.adoc +++ /dev/null @@ -1,36 +0,0 @@ -[id='bootloading-with-grub2'] -= Bootloading with GRUB2 - -*GRUB2* is the latest version of *GNU GRUB*, the _GRand Unified Bootloader_. A bootloader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel. In Fedora, the kernel is Linux. The kernel then initializes the rest of the operating system. - -*GRUB2* is the follower of the previous version *GRUB* (version 0.9x). The original version is available under the name *GRUB Legacy*. - -Since Fedora 16, *GRUB2* has been the default bootloader on x86 BIOS systems. For upgrades of BIOS systems, the default is also to install *GRUB2*, but you can opt to skip bootloader configuration entirely. - -include::en-US/modules/proc_installing-grub2-on-bios-system.adoc[leveloffset=+1] - -include::en-US/modules/proc_installing-grub2-on-efi-system.adoc[leveloffset=+1] - -include::en-US/modules/proc_adding-other-operating-systems-grub2.adoc[leveloffset=+1] - -include::en-US/modules/proc_setting-default-entry-for-grub2.adoc[leveloffset=+1] - -include::en-US/modules/proc_restoring-bootloader-using-live-disk.adoc[leveloffset=+1] - -include::en-US/modules/proc_using-grub2-prompt.adoc[leveloffset=+1] - -include::en-US/modules/proc_booting-with-configfile-on-different-partition.adoc[leveloffset=+1] - -include::en-US/modules/proc_setting-password-for-interactive-edit-mode.adoc[leveloffset=+1] - -include::en-US/modules/proc_solving-absent-floppy.adoc[leveloffset=+1] - -include::en-US/modules/proc_using-old-graphics-modes.adoc[leveloffset=+1] - -include::en-US/modules/proc_enabling-serial-console-grub.adoc[leveloffset=+1] - - -[discrete] -== Additional resources - -* http://www.gnu.org/software/grub/manual/grub.html diff --git a/en-US/bumblebee.adoc b/en-US/bumblebee.adoc deleted file mode 100644 index e43c615..0000000 --- a/en-US/bumblebee.adoc +++ /dev/null @@ -1,511 +0,0 @@ -include::en-US/3rdparty-message.adoc[] - -[[description]] -== Description - -NVIDIA Optimus is an optimization technology created by NVIDIA which, depending on the resource load generated by client software applications, will transparently and seamlessly switch between two graphics adapters within a computer system in order to provide either maximum performance or minimum power draw from the system's graphics rendering hardware. -From https://github.com/Bumblebee-Project/Bumblebee/wiki/FAQ[Bumblebee's FAQ]: Bumblebee is a effort to make NVIDIA Optimus enabled laptops work in GNU/Linux systems. -Such feature involves two graphics cards with two different power consumption profiles plugged in a layered way sharing a single framebuffer. - -The discrete GPU (NVIDIA) is turned off when not in use and activated and turned on though ACPI calls when demanding OpenGL applications require the extra power the discrete GPU can give. - -Demanding OpenGL applications might include such things as 3D games or 3D rendering software but would not include such things as a web browser or a video playback program like mplayer or VLC. - -[[determine-wether-your-computer-supports-optimus]] -== Determine whether your computer supports Optimus - -If you have a laptop with an NVIDIA graphics card (usually you can tell by looking for an NVIDIA logo sticker on it), then it _might_ support the Optimus technology. -If you don't have an optimus technology computer nothing in this documentation is relevant to your PC. -(Optimus was slated at one point to go in desktop PCs but the industry ended up rejecting that concept…) - -* To tell, after you have installed the OS, open a terminal window and type: -+ ----- -$ lspci -vnn | grep '\''[030[02]\]' ----- - -* If you see two video cards in the output like: -+ ----- -00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 520 [8086:1916] (rev 07) (prog-if 00 [VGA controller]) -01:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 930M] [10de:1346] (rev ff) (prog-if ff) ----- - -And one is a Intel Integrated Graphics Controller and the other is a NVIDIA Corporation chip, then you probably have an optimus notebook. - -To further verify, if you have the two VGA devices with one as Intel Integrated and other as NVIDIA, as *root* look for the `/sys/kernel/debug/vgaswitcheroo/switch` file. -If it exists, then you have an optimus PC. -If its missing, then you might not. -(It might be that you have a card that nouveau can’t use yet because it is too new…) - -[[before-you-get-started]] -== Preparing your system - -Most users will want to turn off Secure boot in the BIOS or UEFI screen when you need nvidia drivers or bbswitch-dkms. -If you want to make your own public / private keys for kernel module signing you can look https://docs.fedoraproject.org/f{MAJOROSVER}/system-administrators-guide/kernel-module-driver-configuration/Working_with_Kernel_Modules.html#sect-signing-kernel-module-with-the-private-key[here] or https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-signing-kernel-modules-for-secure-boot.html[here] for more information on the subject. -If you end up doing that and use the closed source NVIDIA driver, you will need to edit the `/etc/bumblebee/bumblebee-nvidia-sign.conf` file. - -Next, run `dnf update` before you begin. -And just to be safe, reboot your PC so that you are booted into the newest kernel. -The reason for this is that you want the kernel-devel package to match the kernel you are running under. -If you don't reboot after a `dnf update` these versions may differ which will cause compiling problems. - -[[installation]] -== Types of Drivers - -[[nouveau]] -=== Free and Open Source Driver (Nouveau) - -NOTE: As of May 20th, 2016 you can no longer use Bumblebee with the open source Nouveau drivers. -If you wish to learn more about this, see https://github.com/Bumblebee-Project/Bumblebee/issues/773[issue 773]. -Users are requested to use *Prime* instead of Bumblebee. -Since the nouveau driver already handles power saving now, using bumblebee would simply be superfluous. - -Some users http://www.kroah.com/log/linux/stable_api_nonsense.html[feel strongly] that they should not use closed source kernel modules. -This is understandable. -In all cases, http://nouveau.freedesktop.org/wiki/Optimus/[PRIME] will work better then using Bumblebee. - -In fact, you can no longer use the Bumblebee software with nouveau any longer even if you want to. -See https://github.com/Bumblebee-Project/Bumblebee/issues/773[issue 773] for further information about this subject. -You *MUST USE PRIME*. -The nouveau driver already handles power saving nowadays so Bumblebee would just be superfluous… - -[[proprietary-driver]] -=== Proprietary Closed Source Driver (NVIDIA) - -Some users may prefer to use the closed-source proprietary drivers as they offer better performance than the open source ones. -In that case, there's two sources from where you can get your drivers: http://rpmfusion.org[RPMFusion] and http://negativo17.org/[Negativo17]. Although both these sources are valid and will work, the Negativo17 driver is generally recommended over the RPMFusion ones, as the Negativo17 drivers are generally kept up to date and follow Fedora packaging guidelines better. They have also been known to work with Fedora to improve integration. - -NOTE: The Installation process detailed below uses the Negativo17 repository. -If you wish to use the RPMFusion repository instead, please adjust the steps according to your requirement - -== Installation (NVIDIA Proprietary Driver) - -. To install the NVIDIA drivers, first add the Negativo17 repository: -+ ----- -# sudo dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo ----- - -. Then, install the necessary packages: -+ ----- -# sudo dnf install nvidia-driver kernel-devel akmod-nvidia dkms acpi ----- - -. To get Bumblebee, we first need to enable the https://copr.fedorainfracloud.org/coprs/chenxiaolong/bumblebee/ chenxiaolong/bumblebee[Copr repository]: -+ ----- -# dnf copr enable chenxiaolong/bumblebee ----- - -. Next, install the bbswitch driver, and the `bumblebee` and `primus` packages. -+ ----- -# dnf install akmod-bbswitch bumblebee primus ----- - -. For the `optirun` and `primusrun` commands to work, the current user must be added to the `bumblebee` group. -+ ----- -# gpasswd -a $USER bumblebee ----- - -. Enable the `bumblebeed` service and disable the `nvidia-fallback` service. This service comes from the Negativo17 drivers and will attempt to load `nouveau` if `nvidia` fails to load. However, when using Bumblebee, neither one should load at boot. -+ ----- -# systemctl enable bumblebeed -# systemctl disable nvidia-fallback ----- - -Finally, reboot and bumblebee should be ready to go. - -[[usage]] -== Usage - -* General usage syntax: -+ ----- -$ optirun [options] application [application-parameters] ----- - -* To start a Windows applications with optimus named application.exe: -+ ----- -$ optirun wine application.exe ----- - -* For another example, open NVidia settings panel with optimus: -+ ----- -$ optirun -b none nvidia-settings -c :8 ----- - -* For another example, open the java based Minecraft with primus bridge: -+ ----- -$ optirun -b primus java -jar /PATH/TO/Minecraft.jar ----- - -* For a list of the options for optirun, view its manual page: -+ ----- -$ man optirun ----- - -In general, using the Primus bridge gives better performance then using the default VirtualGL bridge. -In Bumblebee 4.0 (coming soon) Primus will become the default bridge and VirtuaGL will need to be called explicitly if you still want it. -Also beginning with bumblebee 4.0 (coming soon) the VirtuaGL dependency will be replaced with a Primus dependency instead. -So you might not even have VirtuaGL installed by default in the future. - -For Primus, there is a separate shell script you can use to invoke it called `primusrun`. - -* For a list of the options for primusrun, view its manual page: -+ ----- -$ man primusrun ----- - -* These are functionally equivalent commands: -+ ----- -$ primusrun java -jar /PATH/TO/Minecraft.jar ----- - -* and -+ ----- -$ optirun -b primus java -jar /PATH/TO/Minecraft.jar ----- - -It may become tedious to always use the optirun program in a terminal to launch 3D games or other 3D opengl applications. -You may wish to create desktop launchers which use the `optirun` or `primusrun` commands in order to streamline this process. - -For example, in the MATE desktop environment, when you right click on an empty space in the desktop a popup menu is displayed. -One option on this menu is btn:[Create launcher…] which allows you to create a graphical launcher icon for your apps which can be left on the desktop or moved into some folder. -Other desktop environments also offer this functionality though the methods differ from desktop to desktop. - -[[uninstallation]] -== Uninstallation - -* To uninstall Bumblebee: -+ ----- -# dnf remove akmod-bbswitch bumblebee primus -# systemctl preset nvidia-fallback ----- - -* To remove the `bumblebee` repository: -+ ----- -# dnf copr remove chenxiaolong/bumblebee ----- - -* To uninstall the NVIDIA drivers: -+ ----- -# dnf remove nvidia-driver kernel-devel akmod-nvidia ----- - -* To remove the Negativo17 repository: -+ ----- -# rm /etc/yum.repos.d/fedora-nvidia.repo ----- - -Reboot. - -[[multi-monitor-setup-with-proprietary-driver]] -== Multi monitor setup with proprietary driver - -Optimus laptops have two graphics cards: an integrated Intel and a discrete NVIDIA one. -If the port (DisplayPort / HDMI / VGA) is wired to the Intel chip, you do not need to do anything special to get external monitors to work. - -When the external port is wired into the NVIDIA card, you cannot currently expand the screen over monitors without extra effort. -Read on if you fall into this category… - -. Install the `intel-gpu-tools` package. -+ ----- -# dnf install intel-gpu-tools ----- - -. Start the `intel-virtual-output` daemon by running the -`intel-virtual-output` command with no additional command line options. -+ ----- -$ intel-virtual-output ----- - -This daemon will automatically detect attached displays in the background. -It will then perform all the trickery of virtualizing and cloning so that the newly attached screen can be used via conventional screen management methods, such as cloning/extending with xrandr. - -For example, if your laptop's display is called eDP1, and your using a external adapter called HDMI1, and you want the display to be 1920×1080 resolution, you could run the following commands: - -. To have your HDMI screen to the right of your desktop, run: -+ ----- -$ xrandr –output eDP1 –mode 1920×1080 –output HDMI1 –mode 1920×1080 –right-of eDP1 ----- - -. To clone your desktop, run: -+ ----- -$ xrandr –output eDP1 –mode 1920×1080 –output HDMI1 –mode 1920×1080 –same-as eDP1 ----- - -There are many different possibilities. Type `xrandr` with no arguments to see what displays you have attached. -See https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup[this web page] for further information on this subject. -Read the manual page for xrandr for even more information on the possibilities this command provides. - -If `intel-virtual-output` works ok running by hand you could add it to your startup automatically if you desire. -One way would be to create a `/etc/rc.d/rc.local` script and add it into there. -Another way might be to create a systemd unit file as `Type=oneshot`. -A third way might be to run it at login using whatever mechanism your desktop environment supports for doing such things. - -For example, in the MATE desktop environment, there is a `mate-session-properties` program (System -> Preferences -> Personal -> Startup Applications) that you can run programs from when you login. -Most desktop environments offer similar functionality though the methods differ from desktop to desktop. - -[[troubleshooting]] -== Troubleshooting -[[error-could-not-open-display]] -=== [VGL] ERROR: Could not open display :8 - -There is a known problem with some wine applications that fork and kill the parent process without keeping track of it (for example the free to play online game "Runes of Magic") - -This is a known problem with VirtualGL. As of Bumblebee 3.1, so long as you have it installed, you can use Primus as your render bridge: - ----- -$ optirun -b primus wine windows program.exe ----- - -[[error-cannot-access-secondary-gpu]] -=== [ERROR]Cannot access secondary GPU: No devices detected - -In some instances, running `optirun` will return: - ----- -[ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected. -[ERROR]Aborting because fallback start is disabled. ----- - -In this case, you will need to move the file `/etc/X11/xorg.conf.d/20-intel.conf` to somewhere else, restart the bumblebeed daemon and it should work. -If you do need to change some features for the Intel module, a workaround is to merge `/etc/X11/xorg.conf.d/20-intel.conf` to `/etc/X11/xorg.conf`. - -It might be also necessary to comment the driver line in `/etc/X11/xorg.conf.d/10-monitor.conf`. - -You might also need to define the NVIDIA card somewhere (e.g. `file /etc/bumblebee/xorg.conf.nvidia`), using the correct `BusID` according to `lspci` output: - ----- -Section "Device" - Identifier "nvidiagpu1" - Driver "nvidia" - BusID "PCI:0:1:0" -EndSection ----- - -Note that the format of `lspci` output is in hexadecimal format, while in xorg it is in decimal. -So if the output of `lspci` is, for example, `0a:00.0` the `BusID` should be `PCI:10:0:0`. - -[[nvidia-failed-to-assign-any-connected-display]] -=== NVIDIA(0): Failed to assign any connected display devices to X screen 0 - -If the console output is: - ----- -[ERROR]Cannot access secondary GPU - error: [XORG] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0 -[ERROR]Aborting because fallback start is disabled. ----- - -Change this line in `/etc/bumblebee/xorg.conf.nvidia`: - ----- -Option "ConnectedMonitor" "DFP" ----- - -to: - ----- -Option "ConnectedMonitor" "CRT" ----- - -[[could-not-load-gpu-driver]] -=== Could not load GPU driver - -If the console output is: - ----- -[ERROR]Cannot access secondary GPU - error: Could not load GPU driver ----- - -And if you try to load the `nvidia` kernel module you get: - ----- -modprobe nvidia -modprobe: ERROR: could not insert 'nvidia': Exec format error ----- - -This could be because the nvidia driver is out of sync with the Linux kernel, for example if you installed the latest nvidia driver and haven't updated the kernel in a while. -A full system update might resolve the issue. - - -[[failed-to-set-drm-interface-version]] -=== /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied - -This could be worked around by appending following lines in `/etc/bumblebee/xorg.conf.nvidia`: - ----- -Section "Screen" - Identifier "Default Screen" - Device "DiscreteNvidia" -EndSection ----- - -[[error-ld.so-object-libdlfaker.so-from-ld-preload]] -=== ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored - -You're probably trying to start a 32-bit application with Bumblebee on a 64-bit system. -Please install the 32-bit versions of the packages mentioned above. - -If the problem persists, please try using the primus bridge that was mentioned above. - -[[fatal-io-error-11]] -=== Fatal IO error 11 (Resource temporarily unavailable) on X server - -Change `KeepUnusedXServer` in `/etc/bumblebee/bumblebee.conf` from `false` to `true`. -Your program forks into background and bumblebee doesn't know anything about it. - -[[video-tearing]] -=== Video Tearing - -Video tearing is a somewhat common problem on Bumblebee. -To fix it, you need to enable vsync. -It should be enabled by default on the Intel card, but verify that from Xorg logs. -To check whether or not it is enabled for NVIDIA, make sure `nvidia-settings` is installed and run: - ----- -# optirun -b none nvidia-settings -c :8 ----- - -`X Server XVideo Settings -> Sync to VBlank` and `OpenGL Settings -> Sync to VBlank` should both be enabled. - -[[bumblebee-cannot-connect-to-socket]] -=== Bumblebee cannot connect to socket - -If the console output is: - ----- -[ 1648.179533] [ERROR]You've no permission to communicate with the Bumblebee daemon. Try adding yourself to the 'bumblebee' group -[ 1648.179628] [ERROR]Could not connect to bumblebee daemon - is it running? ----- - -Verify whether or not you are in the `bumblebee` group: - ----- -# groups | grep bumblebee ----- - -Another reason for this error could be that you haven't actually turned on both gpus in your bios, and as a result, the Bumblebee daemon is in fact not running. -Check the bios settings carefully and be sure intel graphics (integrated graphics - may be abbreviated in bios as something like igfx) has been enabled or set to auto, and that it's the primary gpu. -Your display should be connected to the onboard integrated graphics, not the discrete graphics card. - -If you mistakenly had the display connected to the discrete graphics card and intel graphics was disabled, you probably installed Bumblebee after first trying to run Nvidia alone. -In this case, be sure to remove the `/etc/X11/xorg.conf` or `.../20-nvidia...` configuration files. If Xorg is instructed to use NVIDIA in a conf file, X will fail. - -[[prismusrun-mouse-delay-disable-vsync]] -=== Primusrun mouse delay/disable VSYNC - -For `primusrun`, VSYNC is enabled by default and as a result, it could make mouse input delay lag or even slightly decrease performance. -Test `primusrun` without VSYNC: - ----- -$ vblank_mode=0 primusrun glxgears ----- - -If you are satisfied with the above setting, create an alias (e.g. `alias primusrun="vblank_mode=0 primusrun"`). - -[[primus-issues-under-compositing]] -=== Primus issues under compositing window managers - -Since compositing hurts performance, invoking `primus` when a compositing WM is active is https://github.com/amonakov/primus#issues-under-compositing-wms[not recommended]. -If you need to use `primus` with compositing and see flickering or bad performance, synchronizing primus’ display thread with the application’s rendering thread may help: - ----- -$ PRIMUS_SYNC=1 primusrun ... ----- - -WARNING: optirun crashes after you boot into Troubleshooting -> Start Fedora Live in basic graphics mode” and do an install that way. - -If you did an install under Troubleshooting -> Start Fedora Live in basic graphics mode, then Bumblebee will not work. -You can tell by examining the `/var/log/Xorg.8.log` log file and looking for Kernel command line: and seeing nomodeset on that line. -When you use Start Fedora Live in basic graphics mode it adds nomodeset to your kernel command line which will cause your machine to use the VESA driver and make Bumblebee not work. -(It will just crash when you try) To fix that, edit `/etc/default/grub` and on the GRUB_CMDLINE_LINUX= line, remove the word nomodeset and then save the file, next, either run: - ----- -# grub2-mkconfig -o /boot/grub2/grub.cfg ----- - -on a BIOS based notebook or - ----- -# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg ----- - -on a UEFI based notebook. -Then reboot. -After that bumblebee/optirun/primusrun should start working. - -[[american-megatrend-bios-compatibility]] -== American Megatrend BIOS compatibility - -Some recent laptop models featuring AMI bioses have some compatibility issues with bbswitch and Optimus, making them unable to load into graphics mode and crashing every time it is attempted, as discussed in further details https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-234494238in[this post] on the Bumblebee's GitHub project page. - -If you are trying to use Linux on a recent Optimus laptop and it crashes every time you try to enter a graphics environment, please try adding the following parameters to your boot loader (Fedora users usually have GRUB installed): - ----- -acpi_osi=! acpi_osi='Windows 2009' ----- - -This seems to work on most laptop models facing this issue, but bear in mind that this workaround has not been tested in every laptop model ever made – so your mileage may vary. -If the problems persist, you could try updating your BIOS or look for more info in the Bumblebee documentation and their community. - -[[broken-power-management-with-kernel-4.8]] -== Broken power management with kernel 4.8 - -If you have a newer laptop (BIOS date 2015 or newer), then Linux 4.8 might break bbswitch since bbswitch does not support the newer, recommended power management method. As a result, the dGPU may fail to power on, fail to power off or worse. -See https://github.com/Bumblebee-Project/bbswitch/issues/140[Issue 140] for further information about this problem. -As a workaround, add `pcie_port_pm=off` to your kernel parameters. - -Alternatively, if you are only interested in power saving (and perhaps use of external monitors), remove Bumblebee / bbswitch and rely on nouveau runtime power-management (which supports the new method). - -[[mesa-13.0.3-6-and-libglvnd-issues]] -== mesa-13.0.3-6 and libglvnd issues - -On Fedora 25 and 26 a new library called libglvnd was added which initially caused some issues. - -primus-1.1.03282015-4 and newera, bumblebee-3.2.1-13 and newer, and (managed version) bumblebee-nvidia-375.26-2 and newer, and (un-managed version) bumblebee-nvidia-3.0-2 and newer will work with the newer mesa and new libglvnd library. - -When you first upgrade to mesa-13.0.3-6 or newer bumblebee-nvidia doesn't know that it needs to rebuild the shim. -So you can force that by running the command: - ----- -bumblebee-nvidia --force ----- - -via `su` as root or via `sudo`. And the primus bridge should work after that. - -You can track this issue upstream https://github.com/amonakov/primus/issues/193[here]. - -[[additional-resources]] -== Additional resources - -* http://bumblebee-project.org/[Bumblebee project homepage] -* https://github.com/Bumblebee-Project/Bumblebee/wiki[Bumblebee official wiki] -* https://github.com/Bumblebee-Project/bbswitch[The bbswitch kernel module's website] -* https://github.com/amonakov/primus[The primus library's website] -* https://copr.fedorainfracloud.org/coprs/chenxiaolong/bumblebee/[Bumblebee Copr respository] -* https://www.linux.ncsu.edu/bumblebee/[Bumblebee guide for RHEL and CentOS] -* http://www.thelinuxrain.com/articles/the-state-of-nvidia-optimus-on-linux[The -State of NVIDIA Optimus on Linux] - -See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs[quick-docs's git repository]. diff --git a/en-US/changing-selinux-states-and-modes.adoc b/en-US/changing-selinux-states-and-modes.adoc deleted file mode 100644 index f19b2cb..0000000 --- a/en-US/changing-selinux-states-and-modes.adoc +++ /dev/null @@ -1,19 +0,0 @@ -:experimental: -:parent-context: {context} - -// NOTE (TODO): several links (URLs) in the included modules could be replaced with URLs when the appropriate docs become available on fp.org - -[id='changing-selinux-states-and-modes-{context}'] -= Changing SELinux states and modes -:context: selinux - -:md: en-US/modules - -include::{md}/con_permanent-changes-in-selinux-states-and-modes.adoc[leveloffset=+1] -include::{md}/proc_enabling-selinux.adoc[leveloffset=+1] -include::{md}/proc_changing-to-permissive-mode.adoc[leveloffset=+2] -include::{md}/proc_changing-to-enforcing-mode.adoc[leveloffset=+2] -include::{md}/proc_disabling-selinux.adoc[leveloffset=+1] -include::{md}/ref_changing-selinux-modes-at-boot-time.adoc[leveloffset=+1] - -:context: {parent-context} diff --git a/en-US/configuring-ip-networking-with-nmcli.adoc b/en-US/configuring-ip-networking-with-nmcli.adoc deleted file mode 100644 index 60c58a8..0000000 --- a/en-US/configuring-ip-networking-with-nmcli.adoc +++ /dev/null @@ -1,12 +0,0 @@ -[id='Configuring-networking-with-nmcli'] -= Configuring IP networking with nmcli - -How to configure networking using the [application]*nmcli* (NetworkManager Command Line Interface) command-line utility. - -include::en-US/modules/con_Getting-started-with-nmcli.adoc[leveloffset=+1] - -include::en-US/modules/proc_Brief-selection-of-nmcli-examples.adoc[leveloffset=+1] - -include::en-US/modules/con_Understanding-the-nmcli-options.adoc[leveloffset=+1] - -include::en-US/modules/proc_Configuring-networking-with-nmcli.adoc[leveloffset=+1] diff --git a/en-US/configuring-x-window-system-using-the-xorg-conf-file.adoc b/en-US/configuring-x-window-system-using-the-xorg-conf-file.adoc deleted file mode 100644 index 8915f39..0000000 --- a/en-US/configuring-x-window-system-using-the-xorg-conf-file.adoc +++ /dev/null @@ -1,6 +0,0 @@ -[id='configuring-x-window-system-using-the-xorg-conf-file'] -= Configuring X Window System using the xorg.conf file - -include::en-US/modules/con_xorg-conf.adoc[leveloffset=+1] - -include::en-US/modules/proc_creating_xorg_conf.adoc[leveloffset=+1] diff --git a/en-US/configuring-xorg-as-default-gnome-session.adoc b/en-US/configuring-xorg-as-default-gnome-session.adoc deleted file mode 100644 index 577ce51..0000000 --- a/en-US/configuring-xorg-as-default-gnome-session.adoc +++ /dev/null @@ -1,15 +0,0 @@ -[id='configuring-xorg-as-default-gnome-session'] -= Configuring Xorg as the default GNOME session -:context: xorg - -Wayland is the default GNOME display server. If GNOME freezes, or some applications do not function correctly in Wayland, you can choose to run GNOME in X11. - - -include::en-US/modules/proc_configuring-xorg-as-default-gnome-session.adoc[leveloffset=+1] - - -[discrete] -== Additional Resources -. link:https://docs.fedoraproject.org/f27/system-administrators-guide/Wayland.html[Wayland Display Server in the System Administrator's Guide] - -. link:https://wayland.freedesktop.org/[Wayland @ freedesktop.org] diff --git a/en-US/create-gpg-keys.adoc b/en-US/create-gpg-keys.adoc deleted file mode 100644 index 35c5ea7..0000000 --- a/en-US/create-gpg-keys.adoc +++ /dev/null @@ -1,66 +0,0 @@ -:experimental: - -This document explains in detail how to obtain a GPG key using common Fedora utilities. -It also provides information on managing your key as a Fedora contributor. - -[[creating-gpg-keys]] -= Creating GPG Keys - -include::en-US/modules/proc_creating-gpg-keys-gnome.adoc[leveloffset=+1] - -include::en-US/modules/proc_creating-gpg-keys-kde.adoc[leveloffset=+1] - -include::en-US/modules/proc_creating-gpg-keys-cli.adoc[leveloffset=+1] - -[[making-a-backup]] -= Making a Backup - -include::en-US/modules/proc_backup-gpg-keys-gnome.adoc[leveloffset=+1] - -include::en-US/modules/proc_backup-gpg-keys-kde.adoc[leveloffset=+1] - -include::en-US/modules/proc_backup-gpg-keys-cli.adoc[leveloffset=+1] - -[[making-your-public-key-available]] -= Making Your Public Key Available - -When you make your public key available to others, they can verify communications you sign, or send you encrypted communications if necessary. -This procedure is also known as _exporting_. - -Now see <>, <>, or the <>. -See <> to a file if you wish to email it to individuals or groups. - -include::en-US/modules/proc_exporting-gpg-keys-gnome.adoc[leveloffset=+1] - -include::en-US/modules/proc_exporting-gpg-keys-kde.adoc[leveloffset=+1] - -include::en-US/modules/proc_exporting-gpg-keys-cli.adoc[leveloffset=+1] - -include::en-US/modules/proc_copying-public-gpg-keys-manually.adoc[leveloffset=+1] - -[[safeguarding-your-secret-key]] -= Safeguarding Your Secret Key - -Treat your secret key as you would any very important document or physical key. -(Some people always keep their secret key on their person, either on magnetic or flash media.) -If you lose your secret key, you will be unable to sign communications, or to open encrypted communications that were sent to you. - -[[hardware-token-options]] -= Hardware Token options - -If you followed the above, you have a secret key which is just a regular file. -A more secure model than keeping the key on disk is to use a hardware token. - -There are several options available on the market, for example the https://www.yubico.com/products/yubikey-hardware/yubikey4/[YubiKey]. -Look for a token which advertises OpenPGP support. -See https://blog.josefsson.org/2014/06/23/offline-gnupg-master-key-and-subkeys-on-yubikey-neo-smartcard/[this blog entry] for how to create a key with offline backups, and use the token for online access. - -include::en-US/modules/proc_revoking-gpg-keys.adoc[leveloffset=+1] - -= Additional resources - -* http://www.gnupg.org/[GPG home page] -* http://www.gnupg.org/documentation/[Official GPG documentation] -* http://en.wikipedia.org/wiki/Public-key_cryptography[Wikipedia - Public Key Cryptography] - -See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs[quick-docs's git repository]. diff --git a/en-US/create-hello-world-rpm.adoc b/en-US/create-hello-world-rpm.adoc deleted file mode 100644 index 182f7e1..0000000 --- a/en-US/create-hello-world-rpm.adoc +++ /dev/null @@ -1,265 +0,0 @@ -include::en-US/attributes.adoc[] - -= How to Create a GNU Hello World RPM Package - -This is a short hands-on tutorial on writing RPM files, showing how to quickly step up to create simple source and binary software packages. -It assumes some familiarity with using pre-made RPM packages, and with the FOSS building process. - -For comprehensive information on how to create RPM files, including more detailed tips, refer to {WRPM}[How to create an RPM package]. -If you plan to create an RPM package for the Fedora repository, follow the process for {WPACKAGE}, including following the various Fedora guidance. - -This tutorial demonstrates packaging of the GNU "Hello World" project. -While the C program printing "Hello World" to standard output is trivial, the GNU version contains most of the usual peripheral components associated with a typical FOSS project, including the configuration/build/install environment, documentation, internationalization, etc. -The GNU version, however, traditionally consists of a `tar` file containing the source code and configure/make scripts, but it does not include the packaging information. -Therefore, it's a reasonable vehicle to practice building RPMs on. - -== Development Environment - -To build RPMs we need a set of development tools. - -IMPORTANT: Make sure you run the following command as the `root` user! - -This is a one-time-only setup, installed by running these commands from a system administration (`root`) account: - ----- -# dnf install fedora-packager @development-tools ----- - -IMPORTANT: Make sure you run the following command as the `root` user! - -To be able to test the build procedure in a clean chroot you need to configure your non-privileged account to be a member of the 'mock' group: - ----- -# usermod -a -G mock ----- - -Those are the only commands requiring `root` privileges. -All the remaining work should be done from your regular, non-privileged account, or even from a separate account created just for development work. -Modern RPM-based systems, including Fedora, are set up to build and test RPM packages purely from within a non-privileged account. -The follwing command sets up an RPM build area in your `~/rpmbuild` directory. -This directory will contain several subdirectories, for the project source code, RPM configuration files and for the resulting source and binary packages. - ----- -$ rpmdev-setuptree ----- - -== Building a "Hello World" RPM - -We need the source code of the project we are packaging, often referred to as the 'upstream' source. -We will download it from the project's website into the `~/rpmbuild/SOURCE` directory. -We are getting the compressed tarball archive, which happens to be the preferred distribution form for most FOSS projects. - ----- -$ cd ~/rpmbuild/SOURCES -$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz ----- - -The RPM package is configured by `.spec` files. -We will create a template file `hello.spec` in the appropriate directory: - ----- -$ cd ~/rpmbuild/SPECS -$ rpmdev-newspec hello ----- - -Recent versions of `Emacs` and `vi` have .spec file editing modes which will also bring up a similar template upon creating a new file. -So you can just use the following command for example to use the template automatically. - ----- -$ emacs hello.spec ----- - -== Inside a Spec File - -The fields in our `.spec` file need slight editing. -Please follow the {WRPM}[Fedora rules] for these fields. -In our case, the file might start as follows: - -[source, RPMSpec] ----- -Name: hello -Version: 2.10 -Release: 1 -Summary: The "Hello World" program from GNU -License: GPLv3+ -URL: https://www.gnu.org/software/hello/ -Source0: https://ftp.gnu.org/gnu/hello/hello-%{version}.tar.gz - -%description -The "Hello World" program, done with all bells and whistles of a proper FOSS -project, including configuration, build, internationalization, help files, etc. - -%changelog -* Thu Jul 07 2011 The Coon of Ty - 2.10-1 -- Initial version of the package ----- - -The `Version` should mirror upstream while `Release` numbers our work within Fedora. - -The first letter of the `Summary` should be uppercase to avoid `rpmlint` complaints. - -It is your responsibility to check the `License` status of the software, by inspecting the source files and/or their `LICENSE` files, and/or by talking to the authors. - -The `Group` tag was historically used to classify the package in accordance with the list in `/usr/share/doc/rpm-``/GROUPS`. -It is being phased out so you will not see it added by default. -However, it doesn't hurt to add it anyway. - -The `%changelog` should document the work on preparing the RPM, especially if there are security and bug patches included on top of the base upstream source. -Changelog data can be displayed by `rpm --changelog -q `, which is very useful for instance to find out if specific bug and security patches were included in the installed software, thanks to the diligent Fedora packagers who include this info with the relevant http://cve.mitre.org/[CVE] numbers. - -The `%changelog` entry should include the version string to avoid `rpmlint` complaints. - -Multi-line sections like `%changelog` or `%description` start on a line under the directive, and end with a blank line. - -Lines which aren't needed (e.g. `BuildRequires` and `Requires`) can be commented out with a hash ('#') for now. - -Many lines in the template don't need to be changed at all in many cases, at least for the initial attempt. - -== Building the Package - -We are ready for the first run to build source, binary and debugging packages: - ----- -$ rpmbuild -ba hello.spec ----- - -It will complain and list the unpackaged files, i.e. the files that would be installed in the system that weren't declared as belonging to the package. -We need to declare them in the `%files` section. -Do not hardcode names like `/usr/bin/`, but use macros, like `%{_bindir}/hello` instead. -The manual pages should be declared in the `%doc` subsection: - -.... -%doc %{_mandir}/man1/hello.1.* -.... - -This is an iterative process; after editing the `.spec` file, rerun `rpmbuild`. - -Since our program uses translations and internationalization, we are seeing a lot of undeclared i18 files. -The link:https://fedoraproject.org/wiki/Packaging:Guidelines#Handling_Locale_Files[recommended method] to declare them is: - -* find the filenames in the `%install` step: `%find_lang %{name}` -* add the required build dependencies: `BuildRequires: gettext` -* use the found filenames `%files -f %{name}.lang` - -If the program uses GNU `info` files, you need to make sure the installation and uninstallation of the package does not interfere with other software on the system, by using this boilerplate: - -* delete the `dir` file in `%install`: - ----- -$ rm -f %{buildroot}/%{_infodir}/dir ----- - -* `Requires(post): info` and `Requires(preun): info` -* add those steps: - -[source,RPMSpec] ----- -%post -/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : - -%preun -if [ $1 = 0 ] ; then -/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : -fi ----- - -This snippet is copied directly from link:https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:ScriptletSnippets#Texinfo[here]. -That page contains solutions to many common packaging tasks. -If possible, try to copy a solution from there instead of devising your own. - -== A Complete `hello.spec` File - -Here's the initial version of `hello.spec`: - -[source,RPMSpec] ----- -Name: hello -Version: 2.10 -Release: 1%{?dist} -Summary: The "Hello World" program from GNU - -License: GPLv3+ -URL: http://ftp.gnu.org/gnu/%{name} -Source0: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz - -BuildRequires: gettext - -Requires(post): info -Requires(preun): info - -%description -The "Hello World" program, done with all bells and whistles of a proper FOSS -project, including configuration, build, internationalization, help files, etc. - -%prep -%autosetup - -%build -%configure -make %{?_smp_mflags} - -%install -%make_install -%find_lang %{name} -rm -f %{buildroot}/%{_infodir}/dir - -%post -/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : - -%preun -if [ $1 = 0 ] ; then -/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : -fi - -%files -f %{name}.lang -%{_mandir}/man1/hello.1.* -%{_infodir}/hello.info.* -%{_bindir}/hello - -%doc AUTHORS ChangeLog NEWS README THANKS TODO -%license COPYING - -%changelog -* Tue Sep 06 2011 The Coon of Ty 2.10-1 -- Initial version of the package ----- - -With this `.spec` file, you should be able to successfully complete the build process, and create the source and binary RPM packages. - -Next you should check them for conformance with RPM design rules, by running `rpmlint` on the `.spec` file and all RPMs: - ----- -$ rpmlint hello.spec ../SRPMS/hello* ../RPMS/*/hello* ----- - -If there are no warnings or errors, we've succeeded. -Otherwise, use `rpmlint -i` or `rpmlint -I ` to see a more verbose description of the `rpmlint` diagnostics. - -== The `mock` Builds - -To check that the package build will succeed in the Fedora restricted build environment, check it with `mock`. -The default `mock` configuration builds the package against Rawhide - the Fedora development branch. - ----- -$ mock --verbose ../SRPMS/hello-2.10-1.fc25.src.rpm ----- - -== References - -* {WRPM}[How to create an RPM package] - -* {RPMSCHAT}[Building RPM packages (20090405)] - -* {MOCKTEST}[Using Mock to test package builds] - -* {KOJIBUILD}[Using the Koji build system] - -== History - -Przemek Klosowski wrote this tutorial when he worked through link:Building_RPM_packages_%2820090405%29[Christoph Wickert's IRC session on building RPMs] using Rahul Sundaram suggestion of GNU "Hello World" as a test case. -After he wrote up his experience, he found out about the excellent and extensive link:How_to_create_an_RPM_package[How to create an RPM package] page on this wiki, as well as the link:http://www.absolutepanic.org/blog/2009/07/building-a-gnu-hello-world-rpm[Christian Lyder Jacobsen's website]. -However, Christian isn't planning to update his site, and it seemed that a 5-minute 'fast food' alternative to the more extensive article might suit some people. -More in-depth information on using and building RPM packages is available from link:Yum[other sources]. - -See a typo, something missing or out of date, or anything else which can be improved? -Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/creating-a-disk-partition-in-linux.adoc b/en-US/creating-a-disk-partition-in-linux.adoc deleted file mode 100644 index 6640cc1..0000000 --- a/en-US/creating-a-disk-partition-in-linux.adoc +++ /dev/null @@ -1,13 +0,0 @@ -:experimental: - -:parent-context: {context} - -[id='disk-partition-in-linux-{context}'] -= Creating a disk partition in Linux -:context: using-parted - -include::en-US/modules/con_disk-partition-linux.adoc[leveloffset=+1] -include::en-US/modules/proc_creating-a-disk-partition-in-linux.adoc[leveloffset=+1] -include::en-US/modules/ref_help-mkpart.adoc[leveloffset=+1] - -:context: {parent-context} diff --git a/en-US/creating-and-using-a-live-installation-image.adoc b/en-US/creating-and-using-a-live-installation-image.adoc deleted file mode 100644 index 1866044..0000000 --- a/en-US/creating-and-using-a-live-installation-image.adoc +++ /dev/null @@ -1,11 +0,0 @@ -= Creating and using a live installation image - -include::en-US/modules/proc_downloading-fedora.adoc[leveloffset=+1] - -include::en-US/modules/proc_creating-and-using-live-usb.adoc[leveloffset=+1] - -include::en-US/modules/proc_booting-from-usb-sticks.adoc[leveloffset=+1] - -include::en-US/modules/proc_troubleshooting-live-usb.adoc[leveloffset=+1] - -include::en-US/modules/proc_creating-and-using-live-cd.adoc[leveloffset=+1] diff --git a/en-US/creating-rpm-packages.adoc b/en-US/creating-rpm-packages.adoc deleted file mode 100644 index a231572..0000000 --- a/en-US/creating-rpm-packages.adoc +++ /dev/null @@ -1,12 +0,0 @@ -[id='creating-rpm-packages'] -= Creating RPM packages - -Learn the basics of RPM packaging. - -include::en-US/modules/con_rpm_packaging_overview.adoc[leveloffset=+1] - -include::en-US/modules/proc_rpm_preparing_your_system.adoc[leveloffset=+1] - -include::en-US/modules/proc_rpm_creating_an_rpm.adoc[leveloffset=+1] - -include::en-US/modules/con_rpm_spec_file_overview.adoc[leveloffset=+1] diff --git a/en-US/creating-windows-virtual-machines-using-virtio-drivers.adoc b/en-US/creating-windows-virtual-machines-using-virtio-drivers.adoc deleted file mode 100644 index db89659..0000000 --- a/en-US/creating-windows-virtual-machines-using-virtio-drivers.adoc +++ /dev/null @@ -1,33 +0,0 @@ -[id='creating-windows-virtual-machines-using-virtio-drivers'] -= Creating Windows virtual machines using virtIO drivers - -This document describes how to obtain virtIO drivers and additional software agents for Windows virtual machines running on kernel-based virtual machines (KVM). https://www.linux-kvm.org/page/Virtio[virtIO] is a virtualization standard for network and disk device drivers. - -Fedora cannot ship Windows virtIO drivers because they cannot be built automatically as part of Fedora’s build system: the only way to build Windows virtIO drivers is on a machine running Windows. In addition, shipping pre-compiled sources is generally against Fedora policies. Microsoft does not provide virtIO drivers, you must download them yourself in order to make virtIO drivers available for Windows VMs running on Fedora hosts. - -The drivers in these repos are licensed under the https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html[GPLv2] license. - -include::en-US/modules/concept_virtio-win-repo-overview.adoc[leveloffset=+1] - -include::en-US/modules/concept_fedora-virtio-drivers-vs-rhel.adoc[leveloffset=+1] - -include::en-US/modules/proc_installing-virtio-win-repo.adoc[leveloffset=+1] - -include::en-US/modules/proc_enabling-latest-virtio-win-repo.adoc[leveloffset=+1] - -include::en-US/modules/ref_virtio-win-rpm-contents.adoc[leveloffset=+1] - -include::en-US/modules/proc_filing-virtio-win-bugs.adoc[leveloffset=+1] - - -[discrete] -== Additional resources - -* KVM windows guest drivers upstream code: https://github.com/virtio-win/kvm-guest-drivers-windows -* QXL XDDM driver code: http://cgit.freedesktop.org/spice/win32/qxl -* QXL WDDM driver code: https://github.com/vrozenfe/qxl-dod -* Tree used by gnome-boxes for automatic driver installation: https://zeenix.fedorapeople.org/drivers/ -* Windows spice agent git repo: http://cgit.freedesktop.org/spice/win32/vd_agent -* Spice guest tools installer code: http://cgit.freedesktop.org/~teuf/spice-nsis/ -* spice-guest-tools downloads: http://www.spice-space.org/download/binaries/spice-guest-tools/ -* Fedora virtio-win build scripts: https://github.com/crobinso/virtio-win-pkg-scripts diff --git a/en-US/debug-dracut-problems.adoc b/en-US/debug-dracut-problems.adoc deleted file mode 100644 index 997a374..0000000 --- a/en-US/debug-dracut-problems.adoc +++ /dev/null @@ -1,303 +0,0 @@ -= How to debug Dracut problems - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/How_to_debug_Dracut_problems - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -*Foreword* - -If you are experiencing a problem with system initialization due to -Dracut, please see the link:Bugs/Common[common bugs] document before -filing a bug. Some easy configuration tweaks that fix a wide range of -issues may be listed there. If the problem you are seeing is not listed -there or none of the workarounds seem to help, please consider filing a -bug to help us make Fedora run better on your hardware. - -Be prepared to include some information (logs) about your system as -well. These should be complete (no snippets please), not in an archive, -uncompressed, with MIME type set as text/plain. - -[[identifying-your-problem-area]] -Identifying your problem area ------------------------------ - -1. Remove `rhgb` and `quiet` from the kernel command line -2. Add `rd.shell` to the kernel command line. This will present a shell -should dracut be unable to locate your root device -3. Add `rd.shell rd.debug log_buf_len=1M` to the kernel command line so -that dracut shell commands are printed as they are executed -4. Inspect the system logs: -+ -.... - # less /run/initramfs/rdsosreport.txt - # journalctl -a - # dmesg - # less /run/initramfs/init.log -.... - -[[information-to-include-in-your-report]] -Information to include in your report -------------------------------------- - -[[all-bug-reports]] -All bug reports -~~~~~~~~~~~~~~~ - -In all cases, the following should be mentioned and attached to your bug -report: - -* The exact kernel command-line used. Typically from the bootloader -configuration file (e.g. ) or from -* A copy of your disk partition information from -* A device listing from device-mapper. This can be obtained by running -the command -* A list of block device attributes including vol_id compatible mode. -This can be obtained by running the commands and -* Turn on dracut debugging (see -link:How_to_debug_Dracut_problems#Debugging[the 'debugging dracut' -section]), and attach all relevant information from the boot log. This -can be obtained by running the command grep dracut}}. -* If you use a dracut configuration file, please include - -[[logical-volume-management-related-problems]] -Logical Volume Management related problems -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -As well as the information from -link:How_to_debug_Dracut_problems#AllInfo[the 'all bug reports' -section], include the following information: - -* Include physical volume information by running the command: -* Include volume group information by running the command: -* Include logical volume information by running the command: - -[[software-raid-related-problems]] -Software RAID related problems -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -As well as the information from -link:How_to_debug_Dracut_problems#AllInfo[the 'all bug reports' -section], include the following information: - -* If using software RAID disk partitions, please include the output of - -[[network-root-device-related-problems]] -Network root device related problems -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This section details information to include when experiencing problems -on a system whose root device is located on a network attached volume -(e.g. iSCSI, NFS or NBD). As well as the information from -link:How_to_debug_Dracut_problems#AllInfo[the 'all bug reports' -section], include the following information: - -* Please include the output of - -[[debugging-dracut]] -Debugging dracut ----------------- - -[[configure-a-serial-console]] -Configure a serial console -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Successfully debugging dracut will require some form of console logging -during the system boot. This section documents configuring a serial -console connection to record boot messages. To enable serial console -output for both the kernel and the bootloader, follow the procedure -below. - -1. Open the file for editing. Below the line _timeout=5_, add the -following: -+ -.... -serial --unit=0 --speed=9600 -terminal --timeout=5 serial console -.... -2. Also in , add the following boot arguemnts to the _kernel_ line: -+ -.... -console=tty0 console=ttyS0,9600 -.... -3. When finished, the file should look similar to the example below. -+ -.... -default=0 -timeout=5 -serial --unit=0 --speed=9600 -terminal --timeout=5 serial console -title Fedora (2.6.29.5-191.fc11.x86_64) - root (hd0,0) - kernel /vmlinuz-2.6.29.5-191.fc11.x86_64 ro root=/dev/mapper/vg_uc1-lv_root console=tty0 console=ttyS0,9600 - initrd /dracut-2.6.29.5-191.fc11.x86_64.img -.... - -More detailed information on how to configure the kernel for console -output can be found at -http://www.faqs.org/docs/Linux-HOWTO/Remote-Serial-Console-HOWTO.html#CONFIGURE-KERNEL[1]. - -[[using-the-dracut-shell]] -Using the dracut shell -~~~~~~~~~~~~~~~~~~~~~~ - -Dracut offers a shell for interactive debugging in the event dracut -fails to locate your root filesystem. To enable the shell: - -1. Add the boot parameter `rd.shell` to your bootloader configuration -file (e.g. -2. Remove the boot arguments `rhgb` and `quiet` - -A sample bootloader configuration file is listed below. - -.... -default=0 -timeout=5 -serial --unit=0 --speed=9600 -terminal --timeout=5 serial console -title Fedora (2.6.29.5-191.fc11.x86_64) - root (hd0,0) - kernel /vmlinuz-2.6.29.5-191.fc11.x86_64 ro root=/dev/mapper/vg_uc1-lv_root console=tty0 rd.shell - initrd /dracut-2.6.29.5-191.fc11.x86_64.img -.... - -If system boot fails, you will be dropped into a shell as seen in the -example below. - -.... -No root device found -Dropping to debug shell. - -sh: can't access tty; job control turned off -# -.... - -Use this shell prompt to gather the information requested above (see -link:How_to_debug_Dracut_problems#AllInfo[the 'all bug reports' -section]). - -[[accessing-the-root-volume-from-the-dracut-shell]] -Accessing the root volume from the dracut shell -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -From the dracut debug shell, you can manually perform the task of -locating and preparing your root volume for boot. The required steps -will depend on how your root volume is configured. Common scenarios -include: - -* A block device (e.g. ) -* A LVM logical volume (e.g. ) -* An encrypted device (e.g. ) -* A network attached device (e.g. -iscsi:@192.168.0.4::3260::iqn.2009-02.org.fedoraproject:for.all}}) - -The exact method for locating and preparing will vary. However, to -continue with a successful boot, the objective is to locate your root -volume and create a symlink which points to the file system. For -example, the following example demonstrates accessing and booting a root -volume that is an encrypted LVM Logical volume. - -1. Inspect your partitions using -+ -.... -# parted /dev/sda -s p -Model: ATA HTS541060G9AT00 (scsi) -Disk /dev/sda: 60.0GB -Sector size (logical/physical): 512B/512B -Partition Table: msdos - -Number Start End Size Type File system Flags - 1 32.3kB 10.8GB 107MB primary ext4 boot - 2 10.8GB 55.6GB 44.7GB logical lvm -.... -2. You recall that your root volume was a LVM logical volume. Scan and -activate any logical volumes -+ -.... -# lvm vgscan -# lvm vgchange -ay -.... -3. You should see any logical volumes now using the command : -+ -.... -# blkid -/dev/sda1: UUID="3de247f3-5de4-4a44-afc5-1fe179750cf7" TYPE="ext4" -/dev/sda2: UUID="Ek4dQw-cOtq-5MJu-OGRF-xz5k-O2l8-wdDj0I" TYPE="LVM2_member" -/dev/mapper/linux-root: UUID="def0269e-424b-4752-acf3-1077bf96ad2c" TYPE="crypto_LUKS" -/dev/mapper/linux-home: UUID="c69127c1-f153-4ea2-b58e-4cbfa9257c5e" TYPE="ext3" -/dev/mapper/linux-swap: UUID="47b4d329-975c-4c08-b218-f9c9bf3635f1" TYPE="swap" -.... -4. From the output above, you recall that your root volume exists on an -encrypted block device. Following the guidance disk encryption guidance -from the -http://docs.fedoraproject.org/install-guide/f%7B%7BFedoraVersion%7D%7D/en-US/html/apcs04s04.html[ -Installation Guide], you unlock your encrypted root volume. -+ -.... -UUID=$(cryptsetup luksUUID /dev/mapper/linux-root) -cryptsetup luksOpen /dev/mapper/linux-root luks-$UUID -Enter passphrase for /dev/mapper/linux-root: -Key slot 0 unlocked. -.... -5. Next, make a symbolic link to the unlocked root volume -+ -.... -ln -s /dev/mapper/luks-$UUID /dev/root -.... -6. With the root volume available, you may continue booting the system -by exiting the dracut shell -+ -.... -exit -.... - -[[summary-of-dracut-kernel-command-line-options]] -Summary of dracut kernel command line options -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A selection of the most common debugging related dracut options: - -rd.shell : Drop to a shell, if the initramfs fails. + -rd.debug : set -x for the dracut shell. + -rd.break=[cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup] -: drop the shell on defined breakpoint (use -`egrep 'rd.?break' /usr/lib/dracut/modules.d/99base/init.sh` to find the -breakpoints supported by your dracut version) + -rd.udev.info : set udev to loglevel info + -rd.udev.debug : set udev to loglevel debug:: - -See the `dracut.cmdline(7)` -http://man7.org/linux/man-pages/man7/dracut.cmdline.7.html[man page] for -the complete reference. - -Category:Debugging[D] Category:How_to[Category:How to] -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/debug-systemd-problems.adoc b/en-US/debug-systemd-problems.adoc deleted file mode 100644 index 4baf3f0..0000000 --- a/en-US/debug-systemd-problems.adoc +++ /dev/null @@ -1,144 +0,0 @@ -= How to debug systemd problems - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/How_to_debug_systemd_problems - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -*Foreword* - -If you are experiencing a problem with system boot up due to systemd, -please see the link:Bugs/Common[common bugs] document before filing a -bug. Some easy configuration tweaks that fix a wide range of issues may -be listed there. If the problem you are seeing is not listed there or -none of the workarounds seem to help, please consider filing a bug to -help us make Fedora run better on your hardware. - -[[debugging-systemd-problems]] -Debugging systemd problems --------------------------- - -[[various-useful-systemd-related-commands]] -Various useful systemd related commands ---------------------------------------- - -* Run `systemctl list-jobs` - -To identify slow boot and look for the jobs that are "running" those -jobs are the ones where boot waits for completion on and the ones that -listed as "waiting" will be executed only after those which are -"running" are completed. - -* Run `systemctl list-units -t service --all` - -To list all available services and their current status - -* Run `systemctl list-units -t service` - -To show all active services - -* Run `systemctl status sshd.service` - -To examine the current runtime status of a service. (In the above -example the ssh service) - -* Run `systemctl list-units -t target --all` - -To show all available targets. - -* Run `systemctl list-units -t target` - -To show all active targets. - -* Run `systemctl show -p "Wants" multi-user.target` - -To see which services a target pulls in. ( In the above example the -multi-user.target ) - -* Run -`/usr/lib/systemd/systemd --test --system --unit=multi-user.target` - -To examine what gets started when when booted into a specific target. ( -In the above example the multi-user.target ) - -[[systemd-boot-parameters]] -systemd boot parameters ------------------------ - -The following boot parameters are also available to further assist with -debugging boot issues. - -systemd.unit= : Overrides the unit to activate on boot. This may be used -to temporarily boot into a different boot unit, for example -rescue.target or emergency.target. ( Defaults to default.target. ):: - -systemd.dump_core= : Takes a boolean argument. If true systemd dumps -core when it crashes. Otherwise no core dump is created. ( Defaults to -true ):: - -systemd.crash_shell= : Takes a boolean argument. If true systemd spawns -a shell when it crashes. Otherwise no core dump is created. Defaults to -false, for security reasons, as the shell is not protected by any -password authentication.:: - -systemd.crash_chvt= :Takes an integer argument. If positive systemd -activates the specified virtual terminal when it crashes. ( Defaults to --1 ):: - -systemd.confirm_spawn= : Takes a boolean argument. If true asks for -confirmation when spawning processes. ( Defaults to false ):: - -systemd.show_status= : Takes a boolean argument. If true shows terse -service status updates on the console during bootup. ( Defaults to true -):: - -systemd.sysv_console= : Takes a boolean argument. If true output of SysV -init scripts will be directed to the console. ( Defaults to true, unless -quiet is passed as kernel command line option in which case it defaults -to false. ):: - -systemd.log_target= : Set log target. Argument must be one of console, -syslog, kmsg, syslog-or-kmsg, null.:: - -systemd.log_level= : Set log level. As argument this accepts a numerical -log level or the well-known syslog symbolic names (lowercase): emerg, -alert, crit, err, warning, notice, info, debug.:: - -systemd.log_color= : Highlight important log messages. Argument is a -boolean value. If the argument is omitted it defaults to true.:: - -systemd.log_location= : Include code location in log messages. This is -mostly relevant for debugging purposes. Argument is a boolean value. If -the argument is omitted it defaults to true.:: - -Category:Debugging[D] Category:How_to[Category:How to] -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/debug-wayland-problems.adoc b/en-US/debug-wayland-problems.adoc deleted file mode 100644 index 8d5f5e1..0000000 --- a/en-US/debug-wayland-problems.adoc +++ /dev/null @@ -1,533 +0,0 @@ -= How to debug Wayland problems - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/How_to_debug_Wayland_problems - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -https://en.wikipedia.org/wiki/Wayland_%28display_server_protocol%29[Wayland] -is intended as a simpler replacement for -https://en.wikipedia.org/wiki/X_Window_System[X11]. Wayland changes the -design of a Linux desktop architecture considerably. Unlike X11, there -is no dedicated standalone server in Wayland. What was previously done -between the app, its toolkit, the Xserver and the window manager is now -shared between the app, its toolkit and the Wayland compositor which -manages the compositing, input, windows management, etc. The apps and -toolkits are now in charge of their own rendering and decorations -(client side decorations), so any issues usually sit between the toolkit -(e.g. GTK+) and the Wayland compositor (e.g. mutter). - -You can read more about Wayland on the GNOME -https://wiki.gnome.org/Initiatives/Wayland[Wayland initiative] wiki -page. You can read more about the current state of Wayland features on -link:Wayland_features[Wayland features] page. - -[id='identifying-wayland-problems'] -== Identifying Wayland problems - -[id='are-you-running-a-wayland-session'] -=== Are you running a Wayland session? - -In *GNOME*, there's a gear button at the login screen which can be used -to either log into a Wayland session (simply called _GNOME_, it's the -default option), or a legacy X11 session (called _GNOME on Xorg_). If -you have a password-less user account, you won't see the gear icon, it -is displayed only when the password prompt appears. Use the gear button -to determine type of session you're logging into. If you want to start -your session in a different way, read -https://wiki.gnome.org/Initiatives/Wayland/TryingIt[the advanced -techniques for trying Wayland]. - -image:gdm-pick-wayland.png[gdm-pick-wayland.png,title="gdm-pick-wayland.png",width=400] - -In *KDE*, there is support for running a nested Wayland session inside -your X11 session. You'll need to install `kwin-wayland` package and then -follow up with https://community.kde.org/KWin/Wayland[this howto]. There -doesn't seem to be out-of-the-box support for running a full Wayland -session at the moment. - -Other desktop environments are not currently capable of running a -Wayland session. - -[id='identifying-the-session-type-in-runtime'] -=== Identifying the session type in runtime - - - -If you want to figure out which type of session you're running right -now, without logging out and in again, you can use several ways to -figure it out: - -* Wayland session should have `WAYLAND_DISPLAY` variable set, X11 -session should not have it: -+ -.... -$ echo $WAYLAND_DISPLAY -wayland-0 -.... -* `loginctl` can give you this information. First run `loginctl` and -find your session number (if should be an integer number, with your -username and seat assigned). Then look at the session type (`x11` or -`wayland`): -+ -.... -$ loginctl show-session -p Type -Type=x11 -.... - -If you're running an X11 session, not a Wayland session, your problems -are not related to Wayland. It's a bug either in that particular -application, or X11 itself, see link:How_to_debug_Xorg_problems[How to -debug Xorg problems]. - -[id='does-your-application-run-on-wayland-natively-or-uses-xwayland-x11-compatibility-layer'] -=== Does your application run on Wayland natively, or uses XWayland (X11 -compatibility layer)? - - -It is important to know whether the problematic application is a native -Wayland application, or runs through XWayland, which allows legacy -applications to still run on top of Xorg server, but display in a -Wayland session. - -There are several ways how to identify whether an application is using -Wayland or XWayland: - -* Select the window using `xwininfo` or `xprop`. Run: -+ -.... -$ xwininfo -.... -+ -Your mouse pointer should change to a cross under X11, it doesn't seem -to change under Wayland. Now click anywhere inside the app window you -want to test. If the `xwininfo` command finishes (it should print window -properties into the terminal), the app under test is running under -XWayland. If nothing happens (the `xwininfo` command is still waiting -until you select a window), the app under test is running under Wayland -(you can close the command with `Ctrl+C`). + -You can also use `xprop` command using the same instructions. -* XWayland applications are listed in `xlsclients` output. Run: -+ -.... -$ xlsclients -.... -+ -However, this list of not always entirely reliable, some apps might be -missing. -* You can try to run the app while unsetting `DISPLAY` environment -variable: -+ -.... -$ DISPLAY='' command -.... -+ -If the application runs OK, it should be using Wayland natively. -* You can run the app with `WAYLAND_DEBUG=1` environment variable: -+ -.... -$ WAYLAND_DEBUG=1 command -.... -+ -If you see loads of output (when compared to a standard run), the app is -using Wayland natively. -* Under GNOME, you can determine this using -http://blog.bodhizazen.net/linux/how-to-determine-if-an-application-is-using-wayland-or-xwayland/[integrated -Looking Glass tool]. Hit `Alt+F2`, run: -+ -.... -lg -.... -+ -click on _Windows_ in the upper right corner of the tool and select -desired window by clicking on its name. If you see `MetaWindowWayland` -in the first line, this app is running under Wayland. If you see -`MetaWindowX11` in the first line, this app is running under X11. - -If you have identified the problem to be in a XWayland application, try -to reproduce the issue in a standard X11 session. If it happens as well, -it is not related to Wayland, it's a bug either in that particular -application, or Xorg server, see link:How_to_debug_Xorg_problems[How to -debug Xorg problems]. If the problem happens only under XWayland but not -in an X11 session, it should still be reported against Xorg server ( -package), because XWayland is included in it (as -`xorg-x11-server-Xwayland` subpackage). - -[id='identifying-problem-component] -=== Identifying problem component - -Wayland itself is a protocol and the problem is rarely in the protocol -itself. Rather, the problem is likely to be in the app or its toolkit, -or in the compositor. - -The most notable Wayland-ready toolkits are: - -* https://en.wikipedia.org/wiki/GTK%2B[GTK+ 3] - default apps in GNOME -environment use almost exclusively this toolkit. Please note that apps -using older GTK+ 2 are not Wayland-ready. -* https://en.wikipedia.org/wiki/Qt_%28software%29[QT 5] - many apps in -KDE environment use this toolkit. Please note that apps using older QT 4 -are not Wayland-ready. - -The most notable Wayland compositors are: - -* https://en.wikipedia.org/wiki/Wayland_%28display_server_protocol%29#Weston[Weston] -- the reference implementation of a Wayland compositor, maintained -directly by the Wayland project -* https://en.wikipedia.org/wiki/Mutter_%28software%29[Mutter] - -compositor in GNOME. If you run GNOME, it is using this compositor. -* https://community.kde.org/KWin/Wayland[Kwin] - compositor in KDE. If -you run KDE, it is using this compositor. - -[id='testing-under-different-compositors'] -== Testing under different compositors - -If you experience a problem with a Wayland app, it is very useful to -know whether the problem is present under just a single compositor (in -that case it's likely a compositor bug) or under multiple compositors -(in that case it's likely an app/toolkit bug). - -Please run your session with the reference Weston compositor and try to -reproduce the issue. You can either run Weston as a nested window, or as -a full session. First, install package (you can read many useful -information in its man page): - -`$ sudo dnf install weston` - -Then create a config file which will specify that you want to have -XWayland support enabled in your weston sessions. Create -`~/.config/weston.ini` with this contents: - -`[core]` + -`modules=xwayland.so` - -Now you can start weston either as nested window or as a full session. - -* To start a nested Weston window, run this from a terminal: -+ -.... -$ weston -.... -+ -A Weston window should open and you should see and a terminal icon in -its top left corner. Use that icon to launch a terminal and from that -you can run apps and other commands using Weston. Exit the compositor by -simply closing the window or killing the `weston` process. -* To start a full Weston session (not nested inside another X11 or -Wayland session), switch to a free VT (Ctrl+Alt+Fx) and run: -+ -.... -$ weston-launch -.... -+ -You can exit the session by pressing Control+Alt+Backspace shortcut. - -If you can reproduce the issue with Weston, file an issue against the -app or its toolkit (gtk+, qt, etc). Otherwise file the issue against the -compositor your environment uses (mutter, kwin, etc). If the problem -occurs only with XWayland apps but not native Wayland apps, report a bug -against Xorg server. - -[id='reporting-the-issue'] -Reporting the issue - -[id='using-up-to-date-software] -Using up-to-date software - -Before reporting the bug, please make sure you use the latest available -software. You need to run on *Fedora 23 or later*, older Fedora versions -are not going to get updated with latest Wayland fixes. Make sure there -are no system updates waiting: - -`$ sudo dnf update` - -If there are (and the available updates look plausibly related to the -components you're seeing issues with), please update the system and -verify whether the issue is still present or has been fixed. - -[id='looking-for-similar-reports'] -Looking for similar reports - -In order to avoid duplicate reports and also wasting your time debugging -something someone has maybe already debugged, please search through the -existing reports first. The most visible issues or concerns are listed -in -link:#Known_issues.2C_frequent_complaints.2C_fundamental_changes[Known -issues, frequent complaints, fundamental changes]. If you don't see it -there, you need to search deeper. You can find Wayland related issues -most likely in here: - -* [https://bugzilla.gnome.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&component=Backend%3A%20Wayland&component=wayland&list_id=74680&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=gtk%2B&product=mutter&query_based_on=&query_format=advanced -mutter/wayland and GTK+/wayland in GNOME Bugzilla] -* https://bugzilla.gnome.org/showdependencytree.cgi?id=757579&hide_resolved=1[Wayland-related -issues tracker across GNOME Bugzilla] -* https://bugzilla.redhat.com/showdependencytree.cgi?id=WaylandRelated&hide_resolved=1[Wayland-related -issues tracker across Red Hat Bugzilla] -(https://bugzilla.redhat.com/showdependencytree.cgi?id=KDEWaylandRelated&hide_resolved=1[KDE -tracker]) -* [https://bugzilla.redhat.com/buglist.cgi?classification=Fedora&component=wayland&list_id=4118943&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=Fedora&query_based_on=&query_format=advanced&resolution=--- -Wayland in Red Hat Bugzilla] -* [https://bugs.freedesktop.org/buglist.cgi?list_id=561109&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=Wayland&query_based_on=&query_format=advanced&resolution=--- -Wayland in Freedesktop Bugzilla] -* Google search - -[id='filing-a-bug'] -Filing a bug - -After you've identified against which component to (most probably) -report the issue and found no existing report of it, there are several -places where to report it: - -* https://bugzilla.redhat.com/[Red Hat Bugzilla] - recommended for -issues related to wayland itself, weston compositor, non-GNOME apps, KDE -project, QT toolkit -* https://bugzilla.gnome.org/[GNOME Bugzilla] - recommended for issues -related to mutter compositor, GTK+ toolkit, applications under the GNOME -project (most of default apps in Fedora Workstation) - -When reporting the issue, please make your report block our tracker, so -that we have a good overall picture of what is broken across many -different components. In your bug report, set *Blocks: WaylandRelated* -or *Blocks: KDEWaylandRelated* (you might need to toggle showing -advanced fields to see the _Blocks:_ field). That will make it block one -of these trackers, depending where you reported the bug: - -* https://bugzilla.redhat.com/show_bug.cgi?id=1277927[Wayland Tracker in -Red Hat Bugzilla] -(https://bugzilla.redhat.com/show_bug.cgi?id=1298494[KDE tracker]) -* https://bugzilla.gnome.org/show_bug.cgi?id=757579[Wayland Tracker in -GNOME Bugzilla] - -[id='information-to-include-in-your-bug-report'] -Information to include in your bug report - -1. System journal. Since there is no unique server like the X11 server, -most of the important information will come from the the Wayland -compositor and the apps. All of that should be in system journal -nowadays. You can save a full journal since last boot like this: -+ -.... -$ journalctl -ab > journal.log -.... -+ -You can also edit the file and according to the timestamps remove -everything long prior to when the issue occurred, in order to make the -log more succinct. -* If your system crashed or became unresponsive so that you had to -reboot it, you can see the journal from the previous boot using -`journalctl -a -b -1` instead. -2. Wayland debug output. If you can reproduce the issue, please run the -problematic app like this: -+ -.... -$ WAYLAND_DEBUG=1 command |& tee debug.out -.... -+ -You should see loads of output being printed out. It will involve all -communication between the app and the compositor. -3. Information whether the same problem occurs when you run the app -using XWayland instead of Wayland. For GTK+ 3 apps, you can force a -native Wayland app to run using XWayland like this: -+ -.... -$ GDK_BACKEND=x11 command -.... -+ -Vice versa, you can also force a XWayland app to run using Wayland (in -case it has just experimental support): -+ -.... -$ GDK_BACKEND=wayland command -.... -+ -QT 5 apps run with XWayland by default. You can force Wayland backend: -+ -.... -$ QT_QPA_PLATFORM=wayland-egl command -.... -+ -All of this applies to just GTK+ 3 and QT 5 apps. -4. Hardware description is useful for some hardware-related bugs: -+ -.... -$ lspci -nn > lspci.out -.... -5. Package versions. You can collect the list and versions of all your -packages installed using: -+ -.... -$ rpm -qa | sort > packages.out -.... -6. The -link:Bugs_and_feature_requests#Things_Every_Bug_Should_Have[usual -information] that every bug report should have. - -[id='debugging-gnome-shell'] -Debugging gnome-shell - -If gnome-shell gets stuck and unresponsive, it's very helpful to obtain -a backtrace from its process and attach it to the report. If this -happens, switch to a different VT if possible (`Ctrl+Alt+F3` through -`F7`), or log in using ssh. First install debug symbols: - -.... -$ sudo dnf debuginfo-install `rpm -q gnome-shell` -.... - -Then attach gdb debugger to your gnome-shell process: - -.... -$ gdb -p `pgrep -U $(id -un) -x gnome-shell` -... -(gdb) set logging on -(gdb) thread apply all backtrace full -... press Enter until the whole backtrace is displayed ... -(gdb) quit -.... - -You should have the backtrace saved in `gdb.txt` file. - -[id='debugging-mutter'] -Debugging mutter - -You can debug mutter (used in gnome-shell) by setting its -https://developer.gnome.org/meta/stable/running-mutter.html[environment -variables]. These need to be set prior to run gnome-shell, so if you -want to log into GNOME from GDM, you need to create a wrapper script -called from a desktop file in `/usr/share/wayland-sessions`. - -*FIXME: Putting the wrapper script and desktop file here would be -helpful.* - -[id='known-issues-frequent-complaints-fundamental-changes'] -Known issues, frequent complaints, fundamental changes - -Here we will list high-profile issues which are known to be broken, not -yet implemented, or intentionally behaving differently from regular X11 -apps. Also please look at link:Wayland_features[Wayland features] which -lists all current missing or in-progress features and their details. - -To see all known issues, look at Bugzilla reports as mentioned in -link:#Looking_for_similar_reports[Looking for similar reports]. - -[id='graphical-applications-cant-be-run-as-root-from-terminal'] -Graphical applications can't be run as root from terminal - -It is not possible to start graphical apps under the root account from -terminal when using `su` or `sudo`. Apps which use polkit to request -administrator permissions for just certain operations and only when -needed are not affected (they are not started as root right away). The -discussion is ongoing about the best approach to take, see -https://bugzilla.redhat.com/show_bug.cgi?id=1274451[bug 1274451] and -https://lists.fedoraproject.org/archives/list/devel%40lists.fedoraproject.org/thread/A6VXI4WAGSIIWGOTAVNDBVS4VFYXITHA/#2YU2RBYCXQSCGHGP772W5LRXUMTSINHA["On -running gui applications as root" thread in fedora-devel mailing list]. - -[id='many-well-known-x11-utilities-dont-work'] -Many well-known X11 utilities don't work - -Power users are familiar with a large range of X11-related utilities, -like `xkill`, `xrandr`, `xdotool`, `xsel`. These tools won't work under -Wayland session, or will only work with XWayland applications but not -Wayland applications. Some tools might have a replacement which allows -to perform similar tasks. - -*FIXME: add some Wayland-ready replacements for popular X11 tools* - -[id='games-and-other-apps-cant-change-monitor-resolution'] -Games and other apps can't change monitor resolution - -It is no longer possible for an app to change monitor resolution. -Usually this was done by games to increase performance. Wayland-based -games will use a different approach - scaling its output. But for X11 -games (running through XWayland) this solution is not available. This -results in a number of different types of behavior, based on how the -game is written - the game might be fixed in the desktop resolution, or -rendered as a small centered image with black bars around it, or crash -on startup, or something different. See -https://bugzilla.redhat.com/show_bug.cgi?id=1289714[bug 1289714]. - -For some games, a possible workaround is to manually set custom monitor -resolution before running the game, if you really need it. It will not -help always, though. - -[id='screen-capture-is-not-available-with-usual-apps'] -Screen capture is not available with usual apps - -One of the features of Wayland is its security design, which helps to -guard the user against malicious apps. Apps can no longer see everything -on the screen and spy on you. But that also means you cannot run a -common application (like or ) and use it to make a screenshot or a -screencast of your desktop - it will see only its own window, but -nothing else (or it might crash right away). System (trusted) apps need -to be used to perform these actions. - -In GNOME, you can use Screenshot tool (available in overview or as -`Printscreen` hotkey or as `gnome-screenshot` command) to capture a -screenshot of the full desktop or a particular window. You can press -`Ctrl+Alt+Shift+R` keyboard shortcut to start video recording of the -whole desktop (stop it by pressing the same shortcut again, there's an -indicator in the upper right corner, or it stops automatically after 30 -seconds by default) and find the screencast in `~/Videos`. For -screencast, you can also use -https://extensions.gnome.org/extension/690/easyscreencast/[EasyScreenCast] -gnome-shell extension. - -[id='mouse-pointer-is-laggingstuttering-under-load'] -Mouse pointer is lagging/stuttering under load - -If your computer is under load, your mouse pointer movement might stop -being fluent, but start lagging (get stuck in a place for a short time, -then jump to a different place instantly). This is probably more -noticeable on slow systems/systems with fewer CPU cores. See -https://bugzilla.gnome.org/show_bug.cgi?id=745032[bug 745032]. - -[id='keyboard-events-are-sometimes-quickly-repeated'] -Keyboard events are sometimes quickly repeated - -There is a rare issue when you press a key to type a letter and you'll -see multiple copies of the letter typed in. See -https://bugzilla.gnome.org/show_bug.cgi?id=757942[bug 757942] and -https://bugzilla.gnome.org/show_bug.cgi?id=777693[bug 777693]. - -[id='not-all-keys-can-be-sent-to-a-remote-desktop-or-a-virtual-machine'] -Not all keys can be sent to a remote desktop or a virtual machine - -Some applications forward all input, including system-specific -keys/shortcuts like or , to a remote system. This is mostly remote -desktop viewers like _vncviewer_ or virtual machine managers like -_virt-manager_ or _boxes_. Under Wayland, some of these shortcuts can't -be intercepted, and therefore are used in the host system, not the -remote/guest system. See -https://bugzilla.redhat.com/show_bug.cgi?id=1285770[bug 1285770]. - -Category:Debugging[W] Category:How_to[Category:How to] Category:Wayland -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/disabling-automatic-screenlock.adoc b/en-US/disabling-automatic-screenlock.adoc deleted file mode 100644 index 1b3afef..0000000 --- a/en-US/disabling-automatic-screenlock.adoc +++ /dev/null @@ -1 +0,0 @@ -include::en-US/modules/proc_disabling-gnome-screenlock.adoc[leveloffset=+1] diff --git a/en-US/displaying_user_prompt_on_gnome_login_screen.adoc b/en-US/displaying_user_prompt_on_gnome_login_screen.adoc deleted file mode 100644 index 4040b92..0000000 --- a/en-US/displaying_user_prompt_on_gnome_login_screen.adoc +++ /dev/null @@ -1,3 +0,0 @@ -:md: en-US/modules - -include::{md}/proc_displaying_user_prompt_on_gnome_login_screen.adoc[leveloffset=+1] diff --git a/en-US/dnf-system-upgrade.adoc b/en-US/dnf-system-upgrade.adoc deleted file mode 100644 index 4b3f01b..0000000 --- a/en-US/dnf-system-upgrade.adoc +++ /dev/null @@ -1,328 +0,0 @@ -[[chap-dnf-system-upgrade]] -= DNF System Upgrade - -link:++https://github.com/rpm-software-management/dnf-plugin-system-upgrade++[`dnf-plugin-system-upgrade`] is a plugin for the link:++dnf.html++[DNF] package manager and is used to upgrade your system to the current release of Fedora. -For Atomic Host, which uses rpm-ostree, you may refer to link:++https://rpm-ostree.readthedocs.io/en/latest/manual/administrator-handbook/++[Read The Docs: rpm-ostree] for details. - -This is the recommended command-line upgrade method for Fedora 21 and later and works as follows: - -. Packages are downloaded while the system is running normally - -. The system reboots into a special environment (implemented as a systemd target) to install them - -. Upon completion, the system reboots into the new Fedora release - -[[sect-performing-system-upgrade]] -== Performing System Upgrade - -[WARNING] -==== - -*Back up your data* before performing a system-wide upgrade as every system upgrade is potentially risky. -As a precaution, download the link:++https://getfedora.org/en/workstation/download/++[Fedora Workstation Live image] in the event something goes wrong. - -==== - -. To update your Fedora release from the command-line do: -+ -[source,bash] - ----- - -sudo dnf upgrade --refresh - ----- -+ -and reboot your computer. - -. Install the dnf-plugin-system-upgrade package if it is not currently installed: -+ -[source,bash] - ----- - -sudo dnf install dnf-plugin-system-upgrade - ----- - -. Download the updated packages (replace N with the release version): -+ -[source,bash] - ----- - -sudo dnf system-upgrade download --refresh --releasever=N - ----- - -. Trigger the upgrade process. This will restart your machine into the upgrade process: -+ -[source,bash] - ----- - -sudo dnf system-upgrade reboot - ----- - -. Once the upgrade process to complete, your system will reboot into the updated release version of Fedora. - -[[sect-optional-post-upgrade-tasks]] -== Optional Post-Upgrade Tasks - -These are some of the tasks you can do after a successful upgrade. - -[NOTE] - -==== - -This section is mainly intended for power users. If you are a general user who doesn't use the terminal daily, you may skip this section. - -==== - -[[sect-update-system-configuration-files]] -=== Update System Configuration Files - -Most configuration files are stored in the `/etc` folder. -If you have changed the package's configuration files, RPM creates new files with either `.rpmnew` (the new default config file), or `.rpmsave` (your old config file backed up). -You can search for these files, or use the `rpmconf` tool that simplifies this process. To install rpmconf, enter: - -[source,bash] - ----- - -dnf install rpmconf - ----- - -Once the install is complete enter: - -[source,bash] - ----- - -sudo rpmconf -a - ----- - -For more information you can refer to the man pages (`man rpmconf`). - -[[sect-clean-up-old-packages]] -=== Clean-Up Old Packages - -You can see a list of packages with broken dependencies by typing: - -[source,bash] - ----- - -sudo dnf repoquery --unsatisfied - ----- - -The list should be empty, but if this is not the case consider removing them as they are not likely to work. - -You can see duplicate packages (packages with multiple versions installed) with: - -[source,bash] - ----- - -sudo dnf repoquery --duplicated - ----- - -For packages from the official repositories, the latest version should be installed. -However, some packages that are still on your system may no longer be in the repositories. -To see a list of these packages do: - -[source,bash] - ----- - -sudo dnf list extras - ----- - -If you see a package you do not need, or use, you can remove it with: - -[source,bash] - ----- - -sudo dnf remove $(dnf repoquery --extras --exclude=kernel,kernel-\*) - ----- - -[NOTE] - -==== - -Run `sudo dnf update` first, as this list is only valid if you have a fully updated system. -Otherwise, you will see a list of installed packages that are no longer in the repositories because an update is available. -This list may also contain packages installed from third-party repositories who may not have updated their repositories. - -==== - -You can safely remove packages no longer in use with: - -[source,bash] - ----- - -sudo dnf autoremove - ----- - -[WARNING] - -==== - -DNF decides that a package is no longer needed if you haven't explicitly asked to install it and nothing else requires it. -However, that doesn't mean that the package is not useful or that you don't use it. -*Only remove what you are sure you don't need*. - -==== - -[[sect-resolving-post-upgrade-issues]] -== Resolving Post-Upgrade Issues - -[NOTE] - -==== - -Only follow these steps if you encounter problems with your upgraded system. - -==== - -[[sect-rebuilding-rpm-database]] -=== Rebuilding the RPM Database - -If you see warnings when working with RPM/DNF tools, your database might be corrupt. -It is possible to rebuild it to see if resolves your issues. Always back up `/var/lib/rpm/` first. -To rebuild the database, run: - -[source,bash] - ----- - -sudo rpm --rebuilddb - ----- - -[[sect-using-distro-sync-to-resolve-dependency-issues]] -=== Using distro-sync To Resolve Dependency Issues - -The system upgrade tool uses `dnf distro-sync` by default. -If your system is partly upgraded or you see some package dependency issues, try running another distro-sync manually to see if this fixes the problem. -This will attempt to make your installed packages the same version in your currently enabled repositories, even if it must downgrade some packages: - -[source,bash] - ----- - -sudo dnf distro-sync - ----- - -You can also use the `--allowerasing` option will remove packages with dependencies that can not be satisfied. -Always review which packages will be removed before confirming this: - -[source,bash] - ----- - -sudo dnf distro-sync --allowerasing - ----- - -[[sect-relabel-files-with-the-latest-selinux-policy]] -=== Relabel Files With The Latest SELinux Policy - -If you encounter any warnings regarding policies with SELinux, some files may have incorrect SELinux permissions. -This may happen if SELinux was disabled at some point in the past. -To relabel the entire system run: - -[source,bash] - ----- - -sudo touch /.autorelabel - ----- - -and reboot. - -The boot process may take a long time as it is checking and fixing all SELinux permission labels on all the files in your system. - -[[sect-frequently-asked-questions]] -== Frequently Asked Questions - -[[sect-how-do-i-report-issues-with-the-upgrades]] -=== How Do I Report Issues With The Upgrade? - -. See link:++https://fedoraproject.org/wiki/Bugs/Common++[Common bugs] to check if it is a known problem the community is already aware of. - -. Search link:++https://bugzilla.redhat.com/buglist.cgi?product=Fedora&component=dnf-plugin-system-upgrade&resolution=---++[Bugzilla for an existing bug report]. - -If you do not see a report that matches your symptoms, you can file a new report from the search page. -Please follow the bug reporting instructions mentioned in the link:++https://github.com/rpm-software-management/dnf-plugin-system-upgrade/blob/master/README.md++[README from the github repo] or in `man dnf.plugin.system-upgrade`. - -If you encounter any issues after the upgrade with a specific package, file a bug against the package with which you are having issues. - -[[sect-does-dnf-system-upgrade-verify-the-software-it-runs-or-installs-during-an-upgrade]] -=== Does DNF System Upgrade Verify The Software It Runs or Installs During An Upgrade? - -Yes. -The package signing keys for the newer Fedora release are sent to older Fedora releases to allow DNF to verify the integrity of the downloaded packages. -You can disable this function if needed, but is not recommended as you will be open to attacks from malicious software. - -[[sect-will-packages-in-third-party-repositories-be-upgraded]] -=== Will Packages In Third-Party Repositories Be Upgraded? - -Yes, if they are configured like regular DNF repositories and the version numbers are not hard-coded in the repository file (usually found in `/etc/yum.repos.d/`.) -Commonly used third-party repositories like RPM Fusion should work. -However, if attempting to upgrade prior to, or soon after, an official Fedora release, they may not have updated their repository paths, and DNF may be unable to find their packages. -Usually, this should not prevent the upgrade from running successfully. -Also, you can update packages from the third-party repository later. - -[[sect-can-i-upgrade-from-an-end-of-life-release]] -=== Can I upgrade from an End-Of-Life (EOL) Release? - -It is strongly recommended to upgrade an EOL release on any production system, or any system connected to the public internet. - -Any upgrade from Fedora 20 or earlier is done *at your own risk* as DNF was not the default package management tool. -However, if you do have a release newer than Fedora 20 that is EOL, you can attempt to do an upgrade, but this method is *not supported*. -You may try to upgrade through intermediate releases until you reach a currently-supported release, or try to upgrade to a currently-supported release in a single operation. -Again this is un-supported and is *at your own risk*. - -[[sect-how-many-releases-can-i-upgrade-across-at-once]] -=== Can I do a single upgrade across many releases (i.e. 20-27)? - -It is highly recommended to upgrade across just one release (e.g. 27 to 28). -However, for the first month or so after a new release, upgrades from the last-but-one release are 'supported' (N-2, where N is the current release). -The link:fedora-life-cycle.html++[Fedora Release Life Cycle] is specifically designed to provide this approximate one month "grace period" to allow users the choice to upgrade their systems on a yearly basis, or once every two releases. - -Around a month after the new release comes out, the last-but-one release becomes End Of Life (EOL). -The upgrade is likely to work successfully after the release goes end-of-life, but the time period after the new release may be uncertain. - -Upgrades across more than two releases are *not supported*, and issues encountered with such upgrades may not be considered significant bugs. - -When upgrading across multiple releases, you may need to import the GPG key for the release you want to update to. You can do this with: - -[source,bash] - ----- - -gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-N-primary - ----- - -(where N is the Fedora version.) - -Refer to the link:++https://getfedora.org/keys/faq/++[getfedora.org FAQ on Keys] for details. - -[[sect-can-i-use-dnf-system-upgrade-to-upgrade-to-a-pre-release]] -=== Can I Use DNF System Upgrade To Upgrade To A Pre-Release (e.g. a Beta)? - -Yes, but this is subject to temporary breakage as with any other aspect of a pre-release. \ No newline at end of file diff --git a/en-US/dnf.adoc b/en-US/dnf.adoc deleted file mode 100644 index 02ee1b7..0000000 --- a/en-US/dnf.adoc +++ /dev/null @@ -1,100 +0,0 @@ -[[chap-dnf]] -= Using the DNF software package manager - -DNF is a software package manager that installs, updates, and removes packages on Fedora and is the successor to YUM (Yellow-Dog Updater Modified). -DNF makes it easy to maintain packages by automatically checking for dependencies and determines the actions required to install packages. -This method eliminates the need to manually install or update the package, and its dependencies, using the `rpm` command. - -[[sect-dnf-installation]] -== Installation - -DNF has replaced YUM as the default package manager for Fedora since version 22. -However, for earlier versions of Fedora, starting from version 18, DNF can be installed from the command-line with: - -[source,bash] - ----- - -yum install dnf - ----- - -[[sect-usage]] -== Usage - -`dnf` can be used exactly as `yum` to search, install or remove packages. - -To search the repositories for a package type: - -[source,bash] - ----- - -sudo dnf search packagename - ----- - -To install the package: - -[source,bash] - ----- - -sudo dnf install packagename - ----- - -To remove a package: - -[source,bash] - ----- - -sudo dnf remove packagename - ----- - -Other common DNF commands include: - -* `autoremove` - removes packages installed as dependencies that are no longer required by currently installed programs. - -* `check-update` - checks for updates, but does not download or install the packages. - -* `downgrade` - reverts to the previous version of a package. - -* `info` - provides basic information about the package including name, version, release, and description. - -* `reinstall` - reinstalls the currently installed package. - -* `update/upgrade` - checks the repositories for newer packages and updates them. - -For more DNF commands refer to the man pages by typing `man dnf` at the command-line, or link:++http://dnf.readthedocs.io/en/latest/command_ref.html[DNF Read The Docs] - -[[sect-automatic-updates]] -== Automatic Updates - -The `dnf-automatic` package is a component that allows automatic download and installation of updates. -It can automatically monitor and report, via e-mail, the availability of updates or send a log about downloaded packages and installed updates. - -For more information, refer to the link:++http://dnf.readthedocs.org/en/latest/automatic.html[Read the Docs: DNF-Automatic] page. - -[[sect-system-upgrades]] -== System Upgrades - -The Fedora system can be upgraded directly with DNF, or with the DNF system upgrade plugin. -Refer to the link:++upgrading.html++[Upgrade] document for more details. - -[[sect-language-support-using-dnf]] -== Language Support Using DNF - -DNF can be used to install or remove Language Support. -A detailed description with a list of available languages can be found on link:++https://fedoraproject.org/wiki/I18N/Language_Support_Using_Dnf[Language Support Using Dnf] page. - -[[sect-references]] -== References - -. http://dnf.readthedocs.org/en/latest/command_ref.html[DNF Command Reference] - -. http://dnf.baseurl.org/[DNF blog] - -. https://github.com/rpm-software-management/dnf/wiki[DNF wiki] \ No newline at end of file diff --git a/en-US/edit-iptables-rules.adoc b/en-US/edit-iptables-rules.adoc deleted file mode 100644 index 12b43c3..0000000 --- a/en-US/edit-iptables-rules.adoc +++ /dev/null @@ -1,522 +0,0 @@ -= How to edit iptables rules - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/How_to_edit_iptables_rules - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -In this how-to, we will illustrate three ways to edit iptables Rules : - -* *CLI :* iptables command line interface and system configuration file -/etc/sysconfig/iptables. -* *TUI (text-based) interface :* setup or system-config-firewall-tui -* *GUI :* system-config-firewall - -NOTE: This how-to illustrates editing existing iptables Rules, not the -initial creation of Rules chains. - -__TOC__ - -[[cli-command-line-interface]] -CLI (command line interface) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -[[hot-changes-to-iptables-rules]] -Hot changes to iptables Rules -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The following procedures allow changes in the behaviour of the firewall -while it is running. - -Read the man pages for iptables (man iptables) for further explanations -and more sophisticated Rules examples. - -[[listing-rules]] -Listing Rules -+++++++++++++ - -Current running iptables Rules can be viewed with the command - -.... -iptables -L -.... - -. - -Example of iptables Rules allowing any connections already established -or related, icmp requests, all local traffic, and ssh communication: - -.... -[root@server ~]# iptables -L -Chain INPUT (policy DROP) -target prot opt source destination -ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED -ACCEPT icmp -- anywhere anywhere -ACCEPT all -- anywhere anywhere -ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh - -Chain FORWARD (policy ACCEPT) -target prot opt source destination - -Chain OUTPUT (policy ACCEPT) -target prot opt source destination -.... - -Note that Rules are applied in order of appearance, and the inspection -ends immediately when there is a match. Therefore, for example, if a -Rule rejecting ssh connections is created, and afterward another Rule is -specified allowing ssh, the Rule to reject is applied and the later Rule -to accept the ssh connection is not. - -[[appending-rules]] -Appending Rules -+++++++++++++++ - -The following adds a Rule at the end of the specified chain of iptables: - -.... -[root@server ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT -[root@server ~]# iptables -L -Chain INPUT (policy DROP) -target prot opt source destination -ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED -ACCEPT icmp -- anywhere anywhere -ACCEPT all -- anywhere anywhere -ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh -ACCEPT tcp -- anywhere anywhere tcp dpt:http - -Chain FORWARD (policy ACCEPT) -target prot opt source destination - -Chain OUTPUT (policy ACCEPT) -target prot opt source destination -.... - -Notice the last line in chain INPUT. There are now five Rules in that -chain. - -[[deleting-rules]] -Deleting Rules -++++++++++++++ - -To delete a Rule, you must know its position in the chain. The following -example deletes an existing Rule created earlier that is currently in -the fifth position: - -.... -[root@server ~]# iptables -D INPUT 5 -[root@server ~]# iptables -L -Chain INPUT (policy DROP) -target prot opt source destination -ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED -ACCEPT icmp -- anywhere anywhere -ACCEPT all -- anywhere anywhere -ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh - -Chain FORWARD (policy ACCEPT) -target prot opt source destination - -Chain OUTPUT (policy ACCEPT) -target prot opt source destination -.... - -[[inserting-rules]] -Inserting Rules -+++++++++++++++ - -Create a Rule at the top (first) position: - -.... -[root@server ~]# iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT -[root@server ~]# iptables -L -Chain INPUT (policy DROP) -target prot opt source destination -ACCEPT tcp -- anywhere anywhere tcp dpt:http -ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED -ACCEPT icmp -- anywhere anywhere -ACCEPT all -- anywhere anywhere -ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh - -Chain FORWARD (policy ACCEPT) -target prot opt source destination - -Chain OUTPUT (policy ACCEPT) -target prot opt source destination -.... - -The number given after the chain name indicates the position *before* an -existing Rule. So, for example, if you want to insert a Rule *before* -the third rule you specify the number 3. Afterward, the existing Rule -will then be in the fourth position in the chain. - -[[replacing-rules]] -Replacing Rules -+++++++++++++++ - -Rules may be specified to replace existing Rules in the chain. - -In the example shown previously, the first Rule given allows connections -to the http port (port 80) from anywhere. The following replaces this -Rule, restricting connections to the standard http port (port 80) only -from the network address range 192.168.0.0/24: - -.... -[root@server ~]# iptables -R INPUT 1 -p tcp -s 192.168.0.0/24 --dport 80 -j ACCEPT -[root@server ~]# iptables -L -Chain INPUT (policy DROP) -target prot opt source destination -ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:http -ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED -ACCEPT icmp -- anywhere anywhere -ACCEPT all -- anywhere anywhere -ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh - -Chain FORWARD (policy ACCEPT) -target prot opt source destination - -Chain OUTPUT (policy ACCEPT) -target prot opt source destination -.... - -[[flushing-rules]] -Flushing Rules -++++++++++++++ - -To flush or clear iptables Rules, use the *--flush*, *-F* option : - -.... -iptables -F -.... - -Specifying a ** is optional; without a chain specification, all chains -are flushed. - -Example to flush Rules in the *OUTPUT* chain : - -.... -[root@server ~]# iptables -F OUTPUT -.... - -[[making-changes-persistent]] -Making changes persistent -^^^^^^^^^^^^^^^^^^^^^^^^^ - -The iptables Rules changes using CLI commands will be lost upon system -reboot. However, iptables comes with two useful utilities: -*iptables-save* and *iptables-restore*. - -* *iptables-save* prints a dump of current iptables rules to *stdout*. -These may be redirected to a file: - -.... -[root@server ~]# iptables-save > iptables.dump -[root@server ~]# cat iptables.dump -# Generated by iptables-save v1.4.12 on Wed Dec 7 20:10:49 2011 -*filter -:INPUT DROP [45:2307] -:FORWARD ACCEPT [0:0] -:OUTPUT ACCEPT [1571:4260654] --A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT --A INPUT -p icmp -j ACCEPT --A INPUT -i lo -j ACCEPT --A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -COMMIT -# Completed on Wed Dec 7 20:10:49 2011 -.... - -* iptables-restore : restore a dump of rules made by iptables-save. - -.... -[root@server ~]# iptables-restore < iptables.dump -[root@server ~]# iptables -L -Chain INPUT (policy DROP) -target prot opt source destination -ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED -ACCEPT icmp -- anywhere anywhere -ACCEPT all -- anywhere anywhere -ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh - -Chain FORWARD (policy ACCEPT) -target prot opt source destination - -Chain OUTPUT (policy ACCEPT) -target prot opt source destination -.... - -In the default configuration, stopping or restarting the iptables -service will discard the running configuration. This behavior can be -changed by setting IPTABLES_SAVE_ON_STOP="yes" or -IPTABLES_SAVE_ON_RESTART="yes" in /etc/sysconfig/iptables-config. If -these values are set, the affected files are: - -* .... -/etc/sysconfig/iptables -.... -+ -for IPv4 -* .... -/etc/sysconfig/ip6tables -.... -+ -for IPv6 - -If preferred, these files may be edited directly, and iptables service -restarted to commit the changes. The format is similar to that of the -iptables CLI commands: - -.... -# Generated by iptables-save v1.4.12 on Wed Dec 7 20:22:39 2011 -*filter <--------------------------------------------------------- Specify the table of the next rules -:INPUT DROP [157:36334] <----------------------------------------- This is the three chain belong to filter table, then the policy of the chain -:FORWARD ACCEPT [0:0] <------------------------------------------- and between brackets [:] numbers is for -:OUTPUT ACCEPT [48876:76493439] <--------------------------------- debug/informations purpose only. Leave them at their current value. --A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT <--------- A rule. --A INPUT -p icmp -j ACCEPT <-------------------------------------- You just have to take all arguments --A INPUT -i lo -j ACCEPT <---------------------------------------- of an iptables command. --A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -COMMIT <---------------------------------------------------------- Needed at each end of table definition. Commit rules in that table. -# Completed on Wed Dec 7 20:22:39 2011 -.... - -If needed, to reset packet and byte counters, use *-Z*, *--zero* : - -.... -iptables -Z -.... - -It is possible to reset only reset a single rule counter. It can be -useful, if you want to know how many packets were captured for a -specific rule. - -[[tui-text-based-user-interface]] -TUI (text-based user interface) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -There is two ways to managing iptables rules with a text-based user -interface, either using *setup* or *system-config-firewall-tui*. Using -*system-config-firewall-tui* takes you directly to editing the rules. -Using *setup* you need to select *firewall configuration* and then you -can edit rules. Starting with *setup* looks like this: - -image:Firewall-tui.PNG[setup menu -utility,title="setup menu utility",width=700] - -On the next screen, which is where you start with -*system-config-firewall-tui*, make sure that "Firewall" is enabled, or -you cannot edit the settings. Then select *Customize* : - -image:First_menu_firewall_tui.PNG[Firewall Configuration by TUI. First -screen.,title="Firewall Configuration by TUI. First screen.",width=700] - -There is good chance that a service you want to modify is part of the -list of standard "Trusted" services. Select the services you want to -trust (ports to open) and press *Forward* (which means 'next', it is not -port forwarding): - -image:Firewall_TUI_Trusted_services.PNG[Editing trusted service with -firewall tui -interface.,title="Editing trusted service with firewall tui interface.",width=700] - -The Other Ports menu lets you open additional ports not in the list of -standard Trusted Services, or to edit an existing list of additional -ports : - -image:Firewall_TUI_other_ports.PNG[Editing Other ports on firewall -configuration by TUI -interface.,title="Editing Other ports on firewall configuration by TUI interface.",width=700] - -To add other ports, specify one port or a port range, and choose between -*tcp* or *udp* for the protocol. The port range format is _beginningPort -- endingPort_. - -image:Firewall_TUI_adding_other_ports.PNG[Adding other ports on firewall -configuration by TUI -interface.,title="Adding other ports on firewall configuration by TUI interface.",width=700] - -The trusted interfaces menu allows you to trust all traffic on a network -interface. All traffic will be allowed and the port filtering rules will -never match. You should only select an interface that faces a private -network, never an interface that directly faces the Internet. - -image:Firewall_TUI_trusted_interfaces.PNG[Trusted -interfaces.,title="Trusted interfaces.",width=700] - -The Masquerading menu lets you select an interface to be masqueraded. -Masquerading is better known as -*http://en.wikipedia.org/wiki/Network_address_translation[NAT]* (Network -Address Translation), and it is useful for example when your computer is -used as gateway to access the internet: - -image:Firewall_TUI_masquerading.PNG[Firewall TUI interface : -masquerading.,title="Firewall TUI interface : masquerading.",width=700] - -Port forwarding, also known as -*http://en.wikipedia.org/wiki/Network_address_translation#Port_address_translation[PAT]*, -permits traffic from one port to be rerouted to another port. - -image:Firewall_TUI_Port_Forwarding.PNG[Firewall TUI interface : -configuring Port -Forwarding.,title="Firewall TUI interface : configuring Port Forwarding.",width=700] - -For example: - -image:Firewall_TUI_Port_Forwarding_Adding.PNG[Firewall TUI : adding port -forwarding -rules.,title="Firewall TUI : adding port forwarding rules.",width=700] - -The ICMP Filter menu lets you reject various types of ICMP packets. By -default, no limitations are made, but you can define rules to reject -ICMP traffic, define the return error to an ICMP request, etc. - -image:Firewall_TUI_ICMP_Filter.PNG[Firewall TUI: configuring ICMP -behaviour.,title="Firewall TUI: configuring ICMP behaviour.",width=700] - -Finally, you can add custom firewall rules. These must be prepared ahead -of time in files that use the same format as the iptables file. - -image:Firewall_TUI_Custom_Rules.PNG[Firewall TUI: create custom -rules.,title="Firewall TUI: create custom rules.",width=700] - -For adding custom rules you have specify the protocol between *ipv4* or -*ipv6* and on what table add the custom rules *filter*, *mangle* or -*nat* then the path to the file containing rules to add : - -image:Firewall_TUI_Custom_Rules_Adding.PNG[Firewall TUI: adding a custom -rules.,title="Firewall TUI: adding a custom rules.",width=700] - -When you have completed all menus, *Close* the interface, which brings -you back to the first screen of firewall configuration. Select *OK* and -a warning message appear : - -image:Firewall_TUI_Warning.PNG[Firewall TUI -warning.,title="Firewall TUI warning.",width=700] - -Select *Yes* if the configuration you made fits to you and exit -interface, or *No* to go back to the firewall configuration screen. - -[[gui]] -GUI -~~~ - -[[red-hat-gui-configuration-tool]] -Red Hat GUI configuration tool -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -GUI interface allow you exactly the same thing that TUI interface, but -it is more friendly usable. - -First time you start GUI, you have a welcome message that warning you -that if you have existing manual rules then this rules will be -overwritten. image:Firewall_GUI_First_Time_Startup.PNG[First time -startup message,title="fig:First time startup message"] - -Before all, you need to *Enable* your firewall to use Firewall -Configuration utility. - -image:FireWwall_GUI_startup.PNG[Firewall Gui startup -screen,title="Firewall Gui startup screen"] - -Then utility warn you that you don't have any existing configuration and -want you execute the wizard. Click on *Start wizard*: - -image:No_configuration.PNG[No firewall -configuration,title="No firewall configuration"] - -Click on forward : - -image:Firewall_Wizard.PNG[Firewall Wizard : welcome -screen,title="Firewall Wizard : welcome screen"] - -_System with network access_ enable Firewall and _System without network -access_ disable Firewall, so select _System with network access_ : - -image:Firewall_Wizard_2.PNG[Firewall Wizard : network -access?,title="Firewall Wizard : network access?"] - -Beginner allow you to modify only _Trusted Services_, it's fine if you -use only known services like ftp, dns, http, etc but don't allow you to -configure customs ports range, select _Expert_ to have full featured -Firewall Configuration utility, you can change this option later in the -*Options* menu Main windows, in *User Skill Level* : - -image:Firewall_Wizard_3.PNG[Firewall Wizard : -skill?,title="Firewall Wizard : skill?"] - -*Server* template enable only ssh port on firewall configuration -_Desktop_ template enable additional ports for _IPsec_, _Multicast DNS_, -_Network Printing Client_ and _SSH_. For convenience select Desktop, and -*OK* : - -image:Firewall_Wizard_4.PNG[Firewall Wizard : configuration -base?,title="Firewall Wizard : configuration base?"] - -As described earlier _Desktop_ template enable 4 services _IPsec_, -_mDNS_, _IPP_ and _SSH_. If you have services listed in *Trusted -Services* section that you want to enabled, you just have to click on -it, that's all. It is possible to change template by using the *Options* -menu, in *Load Default Configuration*. - -image:Firewall_Wizard_5.PNG[Firewall Main interface : -enabled,title="Firewall Main interface : enabled"] - -*Other Ports* allow you to edit custom rules if your service port wasn't -in *Trusted service*. To begin, just click on *Add* button. Then either -you choose in services list the right service or you tick *User Defined* -and fill requested information about *Port / Port Range* and *Protocol*. - -image:Firewall_GUI_other_ports.PNG[Firewall GUI : edit other ports -rules.,title="Firewall GUI : edit other ports rules."] - -*Trusted Interfaces*, *Masquerading*, *Port Forwarding*, *ICMP Filter* -and _Custom Rules_' have exactly the same effect than in TUI interface. - -When configuration fits to you, just click on the *Apply* button. - -[[others-gui]] -Others GUI -^^^^^^^^^^ - -There are others GUI available to configure iptables rules. - -* http://www.fwbuilder.org/_fwbuilder[http://www.fwbuilder.org/ -fwbuilder] : very complete gui tools to configure iptables. -* http://shorewall.net/_Shorewall[http://shorewall.net/ Shorewall] : -another very complete gui like fwbuilder. -* http://www.turtlefirewall.com/_Turtle_firewall_project[http://www.turtlefirewall.com/ -Turtle firewall project] : web interface and integrated to webmin. Fits -to basic usage of Iptables, can not handle all iptables options like -fwbuilder -* http://users.telenet.be/stes/ipmenu.html_IPmenu[http://users.telenet.be/stes/ipmenu.html -IPmenu] : console based interface that allow you all iptables -functionalities. -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/enable-touchpad-click.adoc b/en-US/enable-touchpad-click.adoc deleted file mode 100644 index ede2598..0000000 --- a/en-US/enable-touchpad-click.adoc +++ /dev/null @@ -1,133 +0,0 @@ -= How to enable touchpad click - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/How_to_enable_touchpad_click - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -[[scope]] -Scope -~~~~~ - -Fedora tries to make various desktop environments available to its -users. Since Fedora tries to -link:Staying_close_to_upstream_projects[stay as close to upstream] as -possible, we follow the various defaults selected by the desktop -environment upstreams. Generally, this entails a disabled touchpad click -by default. This wiki page tries to compile the different methods that -can be used to enable "tapping" on various desktop environments. - -*Please note that this is only a resource to aid our users. For -discussions on this setting, please talk to the relevant DE upstream. -Fedora does not intend to make any changes to upstream defaults.* - -[[desktop-configurations]] -Desktop configurations -~~~~~~~~~~~~~~~~~~~~~~ - -This wiki page has more information about -link:Input_device_configuration[Input Device configuration]. An example -xorg.conf.d snippet to enable tapping is given -Input_device_configuration#Example:_Tap-to-click[here]. - -[[gnome]] -GNOME -^^^^^ - -The "*mouse and touchpad*" utility can be used to enable tapping and set -scrolling options in GNOME. - -http://library.gnome.org/users/gnome-help/stable/mouse-touchpad-click.html.en[Official -GNOME documentation] - -[[kde-plasma-workspaces]] -KDE Plasma Workspaces -^^^^^^^^^^^^^^^^^^^^^ - -1. enter KDE System Settings -2. choose Hardware / Input Devices / Touchpad (If it's not there, -install kcm_touchpad first, then restart System Settings. It's installed -by default.) -3. select the Tapping tab -4. check the "Enable tapping" checkbox -5. set some tapping actions under "Buttons" below, the default is to do -nothing - -Alternatively, the systemwide method described under -link:#Other_window_managers[Other window managers] can also be used. - -[[xfce]] -XFCE -^^^^ - -1. Enter XFCE Settings -2. Select the Mouse and Touchpad settings -3. If necessary, select your Touchpad device -4. In the General section, enable "Tap touchpad to click" - -[[other-window-managers]] -Other window managers -^^^^^^^^^^^^^^^^^^^^^ - -Create a new file named -/etc/X11/xorg.conf.d/99-synaptics-overrides.conf. - -Then, in your favourite text editor, modify this file as such: - -.... -Section "InputClass" - Identifier "touchpad overrides" - # This makes this snippet apply to any device with the "synaptics" driver - # assigned - MatchDriver "synaptics" - - #################################### - ## The lines that you need to add ## - # Enable left mouse button by tapping - Option "TapButton1" "1" - # Enable vertical scrolling - Option "VertEdgeScroll" "1" - # Enable right mouse button by tapping lower right corner - Option "RBCornerButton" "3" - #################################### - -EndSection -.... - -For more information on tweaking xorg.conf.d files, please read the man -page: - -.... -man xorg.conf -.... -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/fedora-and-red-hat-enterprise-linux.adoc b/en-US/fedora-and-red-hat-enterprise-linux.adoc deleted file mode 100644 index 785374b..0000000 --- a/en-US/fedora-and-red-hat-enterprise-linux.adoc +++ /dev/null @@ -1,6 +0,0 @@ -[id='fedora-and-red-hat-enterprise-linux'] -= Fedora and Red Hat Enterprise Linux - -What is the difference between Fedora and Red Hat Enterprise Linux? - -include::en-US/modules/con_relation-between-fedora-and-red-hat-enterprise-linux.adoc[leveloffset=+1] diff --git a/en-US/fedora-life-cycle.adoc b/en-US/fedora-life-cycle.adoc deleted file mode 100644 index e41c43d..0000000 --- a/en-US/fedora-life-cycle.adoc +++ /dev/null @@ -1,139 +0,0 @@ -= Fedora Release Life Cycle - -The Fedora Project releases a new version of Fedora approximately every 6 months and provides updated packages (maintenance) to these releases for approximately 13 months. This allows users to "skip a release" while still being able to always have a system that is still receiving updates. - -[[development-schedule]] -== Development Schedule - -We say _approximately every 6 months_ because like many things, they don't always go exactly as planned. The schedule is not strictly time-based, but a hybrid of time and quality. The milestone releases are QA:Release_validation_test_plan[tested] for compliance with the https://fedoraproject.org/wiki/Fedora_Release_Criteria[Fedora Release Criteria], and releases will be delayed if this is not the case. - -The schedule for the release currently under development, , is on its https://fedoraproject.org/wiki/Releases/{{FedoraVersion[|next}}/Schedule| release schedule] page. Beta, and General Availability (final) releases happen at 14:00 UTC. - -[[development-planning]] -=== Development Planning - -Fedora development planning is handled by the https://fedoraproject.org/wiki/Changes/Policy[Release Planning Process]. So-called _Changes_ are proposed, initially reviewed, and monitored through the development process by the https://fedoraproject.org/wiki/Fedora_Engineering_Steering_Committee[engineering steering committee]. - -[[development-process]] -=== Development Process - -Fedora uses a system involving two 'development' trees. https://fedoraproject.org/wiki/Releases/Rawhide[Rawhide] is a constantly rolling development tree. No releases are built directly from Rawhide. Approximately 10 weeks before the planned date of a Fedora release, a tree for that release is "https://fedoraproject.org/wiki/Releases/Branched[Branched]" from the Rawhide tree. At that point the Rawhide tree is moving towards the release _after_ the new Branched release, and the pending release is stabilized in the Branched tree. - -After the https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi activation point], the Bodhi system is permanently active on the Branched release (all the way until it goes EOL), and requirements for updates to be marked as _stable_ are set out in the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy]. Packages must go through the https://fedoraproject.org/wiki/Repositories#updates-testing[_updates-testing_] repository for the release before entering its https://fedoraproject.org/wiki/Repositories#stable[_stable_] repository, according to rules defined in the updates policy: these rules tighten gradually from Beta through to post-GA (Final), but the basic process does not change. - -For some time prior to a milestone (Beta, Final) release a https://fedoraproject.org/wiki/Milestone_freezes[freeze] is in effect which prevents packages moving from _updates-testing_ to _stable_ except in accordance with the QA:SOP_blocker_bug_process[blocker] and QA:SOP_freeze_exception_bug_process[freeze exception] bug policies. This freeze is lifted once the milestone is finished, and so packages begin to move from _updates-testing_ to _stable_ as normal again, until the next milestone's freeze date. - -[[schedule-methodology]] -=== Schedule Methodology - -Fedora release schedules are proposed by the https://fedoraproject.org/wiki/Fedora_Program_Management[Fedora Program Manager] and ratified by the https://fedoraproject.org/wiki/FESCo[Fedora Engineering Steering Committee (FESCo)], with input from other groups. FESCo is responsible for overseeing the technical direction of the Fedora distribution. A core schedule is created using the key tasks listed below. Detailed team schedules are built around these dates. - -_Note: When referring to *Beta/Final Target*, we refer to an planned date. When referring to *Beta/Final release* only, we refer to a date the release has actually happened._ - -[cols=",,",options="header",] -|======================================================================= -|Task/Milestone |Start Day (Tuesdays or Thursdays) |Length -|Planning and Development |_Branch point_ of _previous release_ plus *one day* |Variable - -|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: Proposal deadline for Changes requiring _Mass rebuild_] |Tue: _Mass rebuild_ minus *3 weeks* |n/a - -|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: Proposal deadline for System Wide Changes] |Tue: _Mass rebuild_ minus *1 week* |n/a - -|*Mass rebuild* |_Branch point_ minus *5 weeks* |Until _Branch point_ - -|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: Proposal deadline for Self Contained Changes] |Tue: _Branch point_ minus *3 weeks* |n/a - -|*https://fedoraproject.org/wiki/Releases/Branched[Branch point]* |Tue: _Preferred Beta Release Target_ minus *5 weeks* |n/a - -|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: Completion deadline (testable)] |Tue: *Same day* as _Branch point_ |N/A - -|String Freeze |Tue: _Branch point_ plus *1 week* |https://fedoraproject.org/wiki/Software_String_Freeze_Policy[Software String Freeze Policy] in effect until _Final Release (GA)_ - -|https://fedoraproject.org/wiki/Updates_Policy#Bodhi_activation[Bodhi activation point] |Tue: _Preferred Beta Target_ minus *3 weeks*, *Same day* as _Beta Freeze_ |Bodhi enabled and Updates_Policy requirements in effect until _EOL_ - -|https://fedoraproject.org/wiki/Milestone_freezes[Beta Freeze] |Tue: _Preferred Beta Target_ minus *3 weeks* |QA:SOP_freeze_exception_bug_process and QA:SOP_blocker_bug_process in effect until _Beta Release_ - -|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: 100% code complete deadline ] |Tue: *Same day* as _Beta Freeze_ |N/A - -|QA:SOP_compose_request[Beta release candidates] |Any time after _Beta Freeze_ |Until _Beta Release_ - -|Beta Go_No_Go_Meeting |*Thu* @ 13:00 E\{D,S}T: planned _Preferred Beta Target_ *minus five days* (repeats if No-Go) |n/a - -|*Preferred Beta Target* |Tue: _Preferred Final Target_ minus *5 weeks* |Live until _GA release_ - -|Beta Target #1 |Tue: _Preferred Beta Target_ plus *1 week*, _Preferred Final Target_ minus *4 weeks* |n/a - -|https://fedoraproject.org/wiki/Milestone_freezes[Final Freeze] |Tue: _Preferred Final Target_ minus *2 weeks* |QA:SOP_freeze_exception_bug_process and QA:SOP_blocker_bug_process in effect until _Final Release (GA)_ - -|QA:SOP_compose_request[Final release candidates] |Any time after _Final Freeze_ |Until _Final Release (GA)_ - -|Final Go_No_Go_Meeting |*Thu* @ 13:00 E\{D,S}T: planned _Final Release (GA)_ *minus five days* (repeats if No-Go) |n/a - -|*Preferred Final Target* |Tue: *Primary date* from which rest of schedule derives + This date is either the Tuesday before May 1st or October 31st. |n/a - -|Final Target #1 |Tue: _Preferred Final Target_ plus *1 week* |n/a - -|Maintenance |Tue: *Same day* as _Final Release (GA)_ |~**13 Months** - -|End of Life |_Final Release (GA) of next-but-one release_ plus *one month* |n/a -|======================================================================= - -[[development-schedule-rationale]] -=== Development Schedule Rationale - -Fedora generally develops new releases over a six month period to provide a regular and predictable release schedule. The bi-annual targeted release dates are _May Day_ (May 1st) and _Halloween_ (October 31) making them easy to remember and for avoiding significant holiday breaks. Changes to this standard must be approved by the community-elected https://fedoraproject.org/wiki/FESCo[Fedora Engineering Steering Committee (FESCo)]. - -A six month release schedule also follows the precedence of Red Hat Linux (precursor to Fedora). Former Red Hat software engineer Havoc Pennington offers a historical perspective http://article.gmane.org/gmane.linux.redhat.fedora.advisory-board/1475/[here]. GNOME started following a time based release based on the ideas and success of Red Hat Linux and other distributions following Fedora having adopted a similar release cycle. Several other major components, including the Linux kernel, Openoffice.org, Xorg, have started following a time based release schedule. While the exact release schedules vary between these components and other upstream projects, the interactions between these components and Fedora makes a six month time based release schedule a good balance. - -Although due to how planning process and release validation works, Fedora is not a strictly time based distribution, but uses combination of both time and feature based release paradigms. This way we can react to bigger changes aka new installed, way how we release bits (Fedora.Next) etc. - -[[schedule-contingency-planning]] -=== Schedule Contingency Planning - -If _Mass rebuild_ is not completed on time, all the subsequent milestones starting with _Branch point_ are pushed back for one week until the _Mass rebuild_ is completed. - -If the Beta Go/No-Go Meeting results in a "No Go" determination, rescheduling of the milestone and subsequent milestones follows these rules: - -* Slip of the Beta from the Preferred Target to Target #1 does not affect Final Release (GA) date. The Final Release (GA) date remains on _Preferred Final Target_. -* Slip of the Beta to Target #1 adds a new _Beta Target #2_ and Final Release (GA) slips to _Final Target #1_ (and we don't yet add a _Final Target #2_). -* Slip of the Beta past Target #N (where N >= 2) adds a new _Beta Target #(N+1)_ and also adds a new _Final Target #N_ - -If the Final Go_No_Go_Meeting results in a "No Go" determination, that milestone and subsequent milestones will be pushed back by one week. - -One week is added to the schedule to maintain the practice of releasing on Tuesdays. Tuesdays are the designated release day because they are good days for news coverage and correspond to the established day we synchronize our content with the mirrors that carry our releases. Be aware of holidays and of possible PR conflicts (contact Fedora PR) with the new proposed final date. - -Go/No Go meetings receive input from representatives of https://fedoraproject.org/wiki/Fedora_Engineering_Steering_Committee[FESCo], -https://fedoraproject.org/wiki/ReleaseEngineering[Release Engineering], and https://fedoraproject.org/wiki/QA[Quality Assurance]. - -[[maintenance-schedule]] -== Maintenance Schedule - -We say maintained for _approximately 13 months_ because the supported period for releases is dependent on the date the release under development goes final. As a result, _Release X_ is supported until one month after the release of _Release X+2_. - -This translates into: - -* Fedora 26 will be maintained until 1 month after the release of Fedora 28. -* Fedora 27 will be maintained until 1 month after the release of Fedora 29. - -[[maintenance-schedule-rationale]] -=== Maintenance Schedule Rationale - -Fedora is https://fedoraproject.org/wiki/Objectives[focused] on free and open source software https://fedoraproject.org/wiki/Red_Hat_contributions[innovations] and moves quickly. If you want a distribution that moves slower but has a longer lifecycle, Red Hat Enterprise Linux, which is derivative of Fedora or free rebuilds of that such as CentOS might be more suitable for you. Refer to the RHEL page for more details. - -Historically, the Fedora Project has found that supporting two releases plus Rawhide and the pre-release Branched code to be a manageable work load. - -[[end-of-life-eol]] -== End of Life (EOL) - -When a release reaches the point where it is no longer supported when no updates are created for it, then it is considered _End of Life_ (EOL). Branches for new packages in the SCM are not allowed for distribution X after the Fedora X+2 release and new builds are no longer allowed. - -The tasks performed at EOL are documented in the https://fedoraproject.org/wiki/End_of_life_SOP[End of life SOP]. - -[[additional-release-schedule-information]] -== Additional Release Schedule Information - -* Overview of Releases, including currently supported releases -* https://fedoraproject.org/wiki/End_of_life[Unsupported Releases] -* https://fedoraproject.org/wiki/Releases/HistoricalSchedules[Historical Release Information] - -See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/finding-and-installing-linux-applications.adoc b/en-US/finding-and-installing-linux-applications.adoc deleted file mode 100644 index a48ddf3..0000000 --- a/en-US/finding-and-installing-linux-applications.adoc +++ /dev/null @@ -1,18 +0,0 @@ -:imagesdir: images - -[[finding-and-installing-linux-applications]] -= Finding and installing Linux applications - -Many powerful software applications are available on the Linux operating system. You can find alternatives to most of the popular applications used on other systems. - -You can use the Fedora package management system to install applications. Many applications are available from the repository provided by the Fedora project. You can enable other repositories to get additional applications. - -include::en-US/modules/con_package-management-in-fedora.adoc[leveloffset=+1] - -include::en-US/modules/proc_package-searching-web-apps.adoc[leveloffset=+1] - -include::en-US/modules/proc_package-browsing-installing-software.adoc[leveloffset=+1] - -include::en-US/modules/proc_package-install-command-line.adoc[leveloffset=+1] - -include::en-US/modules/proc_package-enabling-third-party.adoc[leveloffset=+1] diff --git a/en-US/firewalld.adoc b/en-US/firewalld.adoc deleted file mode 100644 index 898dd75..0000000 --- a/en-US/firewalld.adoc +++ /dev/null @@ -1,29 +0,0 @@ -:experimental: -:imagesdir: ./images - -[[using-firewalld]] -= Using firewalld - -:leveloffset: +1 - -include::en-US/modules/con_firewalld.adoc[] - -include::en-US/modules/proc_checking_firewalld.adoc[] - -include::en-US/modules/proc_installing_firewalld.adoc[] - -include::en-US/modules/proc_starting_firewalld.adoc[] - -include::en-US/modules/proc_stopping_firewalld.adoc[] - -include::en-US/modules/con_runtime_and_permanent_firewalld.adoc[] - -include::en-US/modules/proc_changing_runtime_firewalld.adoc[] - -include::en-US/modules/con_controlling_ports_firewalld.adoc[] - -include::en-US/modules/proc_opening_ports_firewalld.adoc[] - -include::en-US/modules/proc_closing_ports_firewalld.adoc[] - -:leveloffset: 0 diff --git a/en-US/flash.adoc b/en-US/flash.adoc deleted file mode 100644 index ca89079..0000000 --- a/en-US/flash.adoc +++ /dev/null @@ -1,54 +0,0 @@ -:experimental: -include::en-US/entities.adoc[] -include::en-US/3rdparty-message.adoc[] - -[[ch-flash]] -= Flash - -[[sect-what-is-flash]] -== What is Flash? - -Flash is a web browser plugin for multimedia use. -Because it is not free/libre and open source software, Adobe's Flash plugin cannot be included in Fedora. -However, Adobe does release a version of the Flash plugin for Fedora, and other Linux distributions, for Firefox, Chromium, and other popular Internet browsers. - -The use of Flash is not as wide-spread as it use to be as many sites like Youtube use HTML5 for video playback. -Many modern browsers like Firefox and Chromium can play these files without the need for a Flash plugin. -Google Chrome's web browser comes with Flash installed by default. - -== How do I install Adobe Flash? - -Before downloading Flash, you will need to know whether you are using Fedora 32-bit, or 64-bit. -Open the terminal and enter: - -[source,bash] - -==== - -uname -p - -==== - -A result of `x86` means it is 32-bit, and `x86_64` is 64-bit. - -To install Adobe Flash on Fedora: - -. Go to the official Adobe Flash web site at link:++https://get.adobe.com/flashplayer/otherversions/++[https://get.adobe.com/flashplayer/otherversions/]. - -. In the drop-down for _Select an Operating System_, choose 32-Bit or 64-Bit (depending on the result above). - -. In the drop-down for _Select a version_, select *FP for Linux 64-bit (.rpm) - NPAPI* for browsers like Firefox, or select *FP for Linux 64-bit (.rpm) - PPAPI* for browsers like Chromium. - -. Click the *Download Now* button to download the file. - -. Open a terminal, go to the directory where the file was downloaded and enter: - -[source,bash] - -==== - -sudo dnf install flash-player-*.rpm - -==== - -You have successfully installed the Adobe Flash plugin and websites using Flash will now work on your browser. diff --git a/en-US/getting-started-with-apache-http-server.adoc b/en-US/getting-started-with-apache-http-server.adoc deleted file mode 100644 index 01da9a8..0000000 --- a/en-US/getting-started-with-apache-http-server.adoc +++ /dev/null @@ -1,22 +0,0 @@ -[id='getting-started-with-apache-http-server'] -= Getting started with Apache HTTP Server - -The Apache HTTP Server is one of the most commonly-used web servers. This section acts as a quick-start guide to deploying and configuring Apache on Fedora. - -include::en-US/modules/proc_installing-httpd.adoc[leveloffset=+1] - -include::en-US/modules/proc_securing-apache-httpd.adoc[leveloffset=+1] - -include::en-US/modules/proc_installing-webapps.adoc[leveloffset=+1] - -include::en-US/modules/proc_configuring-apache-httpd.adoc[leveloffset=+1] - - -[discrete] -== Additional resources - -* https://httpd.apache.org/docs/current/[Apache Documentation] -* https://httpd.apache.org/docs/current/getting-started.html[Apache "Getting Started"] -* https://httpd.apache.org/docs/current/ssl/[Apache TLS/SSL documentation] -* https://httpd.apache.org/docs/current/misc/security_tips.html[Apache security tips] -* https://fedoraproject.org/wiki/OwnCloud[OwnCloud] diff --git a/en-US/getting-started-with-selinux.adoc b/en-US/getting-started-with-selinux.adoc deleted file mode 100644 index d32150f..0000000 --- a/en-US/getting-started-with-selinux.adoc +++ /dev/null @@ -1,18 +0,0 @@ -:parent-context: {context} - -[id='getting-started-with-selinux-{context}'] -= Getting started with SELinux -:context: getting-started-with-selinux - -:md: en-US/modules -:imagesdir: ./images - -:leveloffset: +1 -include::{md}/con_introduction-to-selinux.adoc[] -include::{md}/con_benefits-of-selinux.adoc[] -include::{md}/con_selinux-examples.adoc[] -include::{md}/con_selinux-architecture.adoc[] -include::{md}/con_selinux-states-and-modes.adoc[] -:leveloffset: -1 - -:context: {parent-context} diff --git a/en-US/getting-started-with-virtualization.adoc b/en-US/getting-started-with-virtualization.adoc deleted file mode 100644 index 1f52a35..0000000 --- a/en-US/getting-started-with-virtualization.adoc +++ /dev/null @@ -1,14 +0,0 @@ -[id='getting-started-with-virtualization'] -= Getting started with virtualization - -Fedora uses the libvirt family of tools as its virtualization solution. - -include::en-US/modules/proc_enabling-hardware-virtualization-support.adoc[leveloffset=+1] - -include::en-US/modules/proc_installing-virtualization-software.adoc[leveloffset=+1] - -include::en-US/modules/proc_creating-virtual-machines.adoc[leveloffset=+1] - -include::en-US/modules/ref_managing-virtual-machines.adoc[leveloffset=+1] - -include::en-US/modules/ref_other-virtualization-options.adoc[leveloffset=+1] diff --git a/en-US/images/Bios_USB_boot.jpg b/en-US/images/Bios_USB_boot.jpg deleted file mode 100644 index 2d34ed2..0000000 Binary files a/en-US/images/Bios_USB_boot.jpg and /dev/null differ diff --git a/en-US/images/Boxes_new_machine.png b/en-US/images/Boxes_new_machine.png deleted file mode 100644 index 77758f1..0000000 Binary files a/en-US/images/Boxes_new_machine.png and /dev/null differ diff --git a/en-US/images/Customize_resources.png b/en-US/images/Customize_resources.png deleted file mode 100644 index a9ebbec..0000000 Binary files a/en-US/images/Customize_resources.png and /dev/null differ diff --git a/en-US/images/Download_os.png b/en-US/images/Download_os.png deleted file mode 100644 index 91df91d..0000000 Binary files a/en-US/images/Download_os.png and /dev/null differ diff --git a/en-US/images/Fedora_Live_USB_creator.png b/en-US/images/Fedora_Live_USB_creator.png deleted file mode 100644 index feb2fbc..0000000 Binary files a/en-US/images/Fedora_Live_USB_creator.png and /dev/null differ diff --git a/en-US/images/FireWwall_GUI_startup.PNG b/en-US/images/FireWwall_GUI_startup.PNG deleted file mode 100644 index 38613ce..0000000 Binary files a/en-US/images/FireWwall_GUI_startup.PNG and /dev/null differ diff --git a/en-US/images/Firewall-tui.PNG b/en-US/images/Firewall-tui.PNG deleted file mode 100644 index 3223eb5..0000000 Binary files a/en-US/images/Firewall-tui.PNG and /dev/null differ diff --git a/en-US/images/Firewall_GUI_First_Time_Startup.PNG b/en-US/images/Firewall_GUI_First_Time_Startup.PNG deleted file mode 100644 index c5bd1a5..0000000 Binary files a/en-US/images/Firewall_GUI_First_Time_Startup.PNG and /dev/null differ diff --git a/en-US/images/Firewall_GUI_other_ports.PNG b/en-US/images/Firewall_GUI_other_ports.PNG deleted file mode 100644 index 4f027e3..0000000 Binary files a/en-US/images/Firewall_GUI_other_ports.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_Custom_Rules.PNG b/en-US/images/Firewall_TUI_Custom_Rules.PNG deleted file mode 100644 index 63fae7a..0000000 Binary files a/en-US/images/Firewall_TUI_Custom_Rules.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_Custom_Rules_Adding.PNG b/en-US/images/Firewall_TUI_Custom_Rules_Adding.PNG deleted file mode 100644 index 563c3f7..0000000 Binary files a/en-US/images/Firewall_TUI_Custom_Rules_Adding.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_ICMP_Filter.PNG b/en-US/images/Firewall_TUI_ICMP_Filter.PNG deleted file mode 100644 index 27ab6c5..0000000 Binary files a/en-US/images/Firewall_TUI_ICMP_Filter.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_Port_Forwarding.PNG b/en-US/images/Firewall_TUI_Port_Forwarding.PNG deleted file mode 100644 index bafbd5b..0000000 Binary files a/en-US/images/Firewall_TUI_Port_Forwarding.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_Port_Forwarding_Adding.PNG b/en-US/images/Firewall_TUI_Port_Forwarding_Adding.PNG deleted file mode 100644 index 93c5b53..0000000 Binary files a/en-US/images/Firewall_TUI_Port_Forwarding_Adding.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_Trusted_services.PNG b/en-US/images/Firewall_TUI_Trusted_services.PNG deleted file mode 100644 index 1340c85..0000000 Binary files a/en-US/images/Firewall_TUI_Trusted_services.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_Warning.PNG b/en-US/images/Firewall_TUI_Warning.PNG deleted file mode 100644 index d4bdc79..0000000 Binary files a/en-US/images/Firewall_TUI_Warning.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_masquerading.PNG b/en-US/images/Firewall_TUI_masquerading.PNG deleted file mode 100644 index ded0bc5..0000000 Binary files a/en-US/images/Firewall_TUI_masquerading.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_other_ports.PNG b/en-US/images/Firewall_TUI_other_ports.PNG deleted file mode 100644 index 92355aa..0000000 Binary files a/en-US/images/Firewall_TUI_other_ports.PNG and /dev/null differ diff --git a/en-US/images/Firewall_TUI_trusted_interfaces.PNG b/en-US/images/Firewall_TUI_trusted_interfaces.PNG deleted file mode 100644 index 5d0b684..0000000 Binary files a/en-US/images/Firewall_TUI_trusted_interfaces.PNG and /dev/null differ diff --git a/en-US/images/Firewall_Wizard.PNG b/en-US/images/Firewall_Wizard.PNG deleted file mode 100644 index 7520890..0000000 Binary files a/en-US/images/Firewall_Wizard.PNG and /dev/null differ diff --git a/en-US/images/Firewall_Wizard_2.PNG b/en-US/images/Firewall_Wizard_2.PNG deleted file mode 100644 index 9927c6d..0000000 Binary files a/en-US/images/Firewall_Wizard_2.PNG and /dev/null differ diff --git a/en-US/images/Firewall_Wizard_3.PNG b/en-US/images/Firewall_Wizard_3.PNG deleted file mode 100644 index e835c88..0000000 Binary files a/en-US/images/Firewall_Wizard_3.PNG and /dev/null differ diff --git a/en-US/images/Firewall_Wizard_4.PNG b/en-US/images/Firewall_Wizard_4.PNG deleted file mode 100644 index 07645a6..0000000 Binary files a/en-US/images/Firewall_Wizard_4.PNG and /dev/null differ diff --git a/en-US/images/Firewall_Wizard_5.PNG b/en-US/images/Firewall_Wizard_5.PNG deleted file mode 100644 index ed5317a..0000000 Binary files a/en-US/images/Firewall_Wizard_5.PNG and /dev/null differ diff --git a/en-US/images/First_menu_firewall_tui.PNG b/en-US/images/First_menu_firewall_tui.PNG deleted file mode 100644 index 6428db6..0000000 Binary files a/en-US/images/First_menu_firewall_tui.PNG and /dev/null differ diff --git a/en-US/images/Installation_review.png b/en-US/images/Installation_review.png deleted file mode 100644 index bcfda1e..0000000 Binary files a/en-US/images/Installation_review.png and /dev/null differ diff --git a/en-US/images/No_configuration.PNG b/en-US/images/No_configuration.PNG deleted file mode 100644 index 7407650..0000000 Binary files a/en-US/images/No_configuration.PNG and /dev/null differ diff --git a/en-US/images/Properties_USB_size.png b/en-US/images/Properties_USB_size.png deleted file mode 100644 index d31c284..0000000 Binary files a/en-US/images/Properties_USB_size.png and /dev/null differ diff --git a/en-US/images/Select_from_boxes_menu.png b/en-US/images/Select_from_boxes_menu.png deleted file mode 100644 index c6abd62..0000000 Binary files a/en-US/images/Select_from_boxes_menu.png and /dev/null differ diff --git a/en-US/images/Select_from_file.png b/en-US/images/Select_from_file.png deleted file mode 100644 index 117969e..0000000 Binary files a/en-US/images/Select_from_file.png and /dev/null differ diff --git a/en-US/images/Select_virtual_machine.png b/en-US/images/Select_virtual_machine.png deleted file mode 100644 index 3572538..0000000 Binary files a/en-US/images/Select_virtual_machine.png and /dev/null differ diff --git a/en-US/images/Setup_machine.png b/en-US/images/Setup_machine.png deleted file mode 100644 index 8c24457..0000000 Binary files a/en-US/images/Setup_machine.png and /dev/null differ diff --git a/en-US/images/Unetbootin_gtk3.png b/en-US/images/Unetbootin_gtk3.png deleted file mode 100644 index 62ae845..0000000 Binary files a/en-US/images/Unetbootin_gtk3.png and /dev/null differ diff --git a/en-US/images/Upgradef24f25-gs.png b/en-US/images/Upgradef24f25-gs.png deleted file mode 100644 index 6b8c590..0000000 Binary files a/en-US/images/Upgradef24f25-gs.png and /dev/null differ diff --git a/en-US/images/custom_shortcut.png b/en-US/images/custom_shortcut.png deleted file mode 100644 index f6843bf..0000000 Binary files a/en-US/images/custom_shortcut.png and /dev/null differ diff --git a/en-US/images/gdm-pick-wayland.png b/en-US/images/gdm-pick-wayland.png deleted file mode 100644 index 9ff0929..0000000 Binary files a/en-US/images/gdm-pick-wayland.png and /dev/null differ diff --git a/en-US/images/mediawriter-icon.png b/en-US/images/mediawriter-icon.png deleted file mode 100644 index 4124d64..0000000 Binary files a/en-US/images/mediawriter-icon.png and /dev/null differ diff --git a/en-US/images/packages_icon_search.png b/en-US/images/packages_icon_search.png deleted file mode 100644 index 0225301..0000000 Binary files a/en-US/images/packages_icon_search.png and /dev/null differ diff --git a/en-US/images/packages_icon_software.png b/en-US/images/packages_icon_software.png deleted file mode 100644 index 9b02108..0000000 Binary files a/en-US/images/packages_icon_software.png and /dev/null differ diff --git a/en-US/images/qemu_gtk3.png b/en-US/images/qemu_gtk3.png deleted file mode 100644 index 5296166..0000000 Binary files a/en-US/images/qemu_gtk3.png and /dev/null differ diff --git a/en-US/images/shortcuts-add-empty.png b/en-US/images/shortcuts-add-empty.png deleted file mode 100644 index c759499..0000000 Binary files a/en-US/images/shortcuts-add-empty.png and /dev/null differ diff --git a/en-US/images/shortcuts-add-enter.png b/en-US/images/shortcuts-add-enter.png deleted file mode 100644 index 166fd6c..0000000 Binary files a/en-US/images/shortcuts-add-enter.png and /dev/null differ diff --git a/en-US/images/shortcuts-add-filled.png b/en-US/images/shortcuts-add-filled.png deleted file mode 100644 index 4b0c406..0000000 Binary files a/en-US/images/shortcuts-add-filled.png and /dev/null differ diff --git a/en-US/images/shortcuts-add-shortcut.png b/en-US/images/shortcuts-add-shortcut.png deleted file mode 100644 index 83ed745..0000000 Binary files a/en-US/images/shortcuts-add-shortcut.png and /dev/null differ diff --git a/en-US/images/shortcuts-added.png b/en-US/images/shortcuts-added.png deleted file mode 100644 index 0722a54..0000000 Binary files a/en-US/images/shortcuts-added.png and /dev/null differ diff --git a/en-US/images/shortcuts-disabled.png b/en-US/images/shortcuts-disabled.png deleted file mode 100644 index 91fcc7d..0000000 Binary files a/en-US/images/shortcuts-disabled.png and /dev/null differ diff --git a/en-US/images/shortcuts-edit.png b/en-US/images/shortcuts-edit.png deleted file mode 100644 index dcee768..0000000 Binary files a/en-US/images/shortcuts-edit.png and /dev/null differ diff --git a/en-US/images/shortcuts-enabling-entered.png b/en-US/images/shortcuts-enabling-entered.png deleted file mode 100644 index b8fb827..0000000 Binary files a/en-US/images/shortcuts-enabling-entered.png and /dev/null differ diff --git a/en-US/images/shortcuts-enabling-entering.png b/en-US/images/shortcuts-enabling-entering.png deleted file mode 100644 index ccc7cde..0000000 Binary files a/en-US/images/shortcuts-enabling-entering.png and /dev/null differ diff --git a/en-US/images/shortcuts-keyboard-scroll.png b/en-US/images/shortcuts-keyboard-scroll.png deleted file mode 100644 index 9e192d1..0000000 Binary files a/en-US/images/shortcuts-keyboard-scroll.png and /dev/null differ diff --git a/en-US/images/shortcuts-list-disabled.png b/en-US/images/shortcuts-list-disabled.png deleted file mode 100644 index 8bdae28..0000000 Binary files a/en-US/images/shortcuts-list-disabled.png and /dev/null differ diff --git a/en-US/images/shortcuts-settings-devices.png b/en-US/images/shortcuts-settings-devices.png deleted file mode 100644 index f9b5467..0000000 Binary files a/en-US/images/shortcuts-settings-devices.png and /dev/null differ diff --git a/en-US/images/software-updates.png b/en-US/images/software-updates.png deleted file mode 100644 index 3e0c3b2..0000000 Binary files a/en-US/images/software-updates.png and /dev/null differ diff --git a/en-US/images/switching-desktop-environments-login.png b/en-US/images/switching-desktop-environments-login.png deleted file mode 100644 index 5c39f61..0000000 Binary files a/en-US/images/switching-desktop-environments-login.png and /dev/null differ diff --git a/en-US/images/switching-desktop-environments-switchdesk.png b/en-US/images/switching-desktop-environments-switchdesk.png deleted file mode 100644 index 713adeb..0000000 Binary files a/en-US/images/switching-desktop-environments-switchdesk.png and /dev/null differ diff --git a/en-US/images/system-config-kickstart.png b/en-US/images/system-config-kickstart.png deleted file mode 100644 index edebee4..0000000 Binary files a/en-US/images/system-config-kickstart.png and /dev/null differ diff --git a/en-US/index.adoc b/en-US/index.adoc deleted file mode 100644 index 2d013f3..0000000 --- a/en-US/index.adoc +++ /dev/null @@ -1,61 +0,0 @@ -= Fedora Quick Docs - -This repository represents -http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/[asciidoc] -documents roughly (semi-automatically) converted from the top 50 -document-like pages in the Fedora Wiki. We want to move away from exposing -users to the wild territory of workspace wikis and to a nice, topic-oriented -format with a PR-based workflow. - -So, this is kind of a seed project. *Your help wanted!* - -== Other Source Material - -There is a https://fedoraproject.org/wiki/Category:How_to[How To category] -on the wiki. Many of those documents are ripe for conversion. -https://ask.fedoraproject.org/en/questions/scope:all/sort:votes-desc/page:1/[Popular -questions on Ask Fedora] are also likely to be useful starting points — or, -also, frequent -https://unix.stackexchange.com/questions/tagged/fedora?sort=frequent&pageSize=50[Fedora -questions on Stack Exchange]. - -Or, of course, if there's something you care about which you can help -explain, you can create a new document from scratch. - -== Steps - -1. Pick a document to update. You can find documents needing updates in the `_topic_map.yml` file. They are on the commented lines (those that start with a `#`). -2. Fork the https://pagure.io/fedora-docs/quick-docs repo. -3. Make your changes to the `.adoc` file you want to improve. -4. Update `_topic_map.yml` to remove "`(FIX ME!)`" -5. Submit a pull request with your improvements. -6. If migrating a wiki page, create a redirect on the old page — see below. - -== Wiki Redirects - -Usually, wikis do not allow redirects to external sites, because the -potential for abuse is very high. We've developed a plugin for the Fedora -Wiki which allows redirects to _only_ pages on this site, -https://docs.fedoraproject.org/. To create such a link, use the -`#fedoradocs` macro by putting something like this at the top of the wiki -page you are obsoleting: - -[source,mediawiki] ----- -{{#fedoradocs: https://docs.fedoraproject.org/fedora-project/council/fpl.html}} ----- - -Of course, you will want to replace that specific URL with the one for your -new target page. The URL can't be something arbitrary — it must begin with -`https://docs.fedoraproject.org/`. - -Once the redirect is in place, visitors to that wiki page will be instantly -whisked (well, redirected, with the code `301 Moved Permanently`) to the -docs site. If you need to edit such a page to correct the URL, or to remove -the redirect completely, use a form like: -https://fedoraproject.org/w/index.php?title=Project_Leader&action=edit - -Note that there is no validation that the target exists or is correct — -please double-check that any redirects you create work properly before -moving on. - diff --git a/en-US/installing-and-running-vlc.adoc b/en-US/installing-and-running-vlc.adoc deleted file mode 100644 index 6de7805..0000000 --- a/en-US/installing-and-running-vlc.adoc +++ /dev/null @@ -1,17 +0,0 @@ -:experimental: -:imagesdir: ./images -:md: en-US/modules - -[[installing-and-running-vlc]] -= Installing and Running VLC - -include::3rdparty-message.adoc[] - -:leveloffset: +1 - -include::{md}/proc_installing_vlc.adoc[] -include::{md}/proc_running_vlc.adoc[] -include::{md}/concept_third-party-repositories.adoc[] -include::{md}/con_the-purpose-of-rpm-fusion.adoc[] - -:leveloffset: 0 diff --git a/en-US/installing-chromium-or-google-chrome-browsers.adoc b/en-US/installing-chromium-or-google-chrome-browsers.adoc deleted file mode 100644 index 8b18455..0000000 --- a/en-US/installing-chromium-or-google-chrome-browsers.adoc +++ /dev/null @@ -1,11 +0,0 @@ -[i='installing-chromium-or-google-chrome-browsers'] -= Installing Chromium or Google Chrome browsers - -include::en-US/3rdparty-message.adoc[] - -include::en-US/modules/concept_chromium-web-browser.adoc[leveloffset=+1] - -include::en-US/modules/proc_installing-chromium-web-browser.adoc[leveloffset=+1] - -include::en-US/modules/proc_enabling-chromium-plugins.adoc[leveloffset=+1] - diff --git a/en-US/installing-grub2.adoc b/en-US/installing-grub2.adoc deleted file mode 100644 index c7c96ed..0000000 --- a/en-US/installing-grub2.adoc +++ /dev/null @@ -1,27 +0,0 @@ -:md: en-US/modules - - -= Bootloading with *GRUB2* -[[bootloading-with-grub2]] - -*GRUB2* is the latest version of *GNU GRUB*, the _GRand Unified Bootloader_. -A bootloader is the first software program that runs when a computer -starts. It is responsible for loading and transferring control to the -operating system kernel. In Fedora, the kernel is Linux. The kernel then initializes -the rest of the operating system. - -*GRUB2* is the follower of the previous version *GRUB* (version 0.9x). The original version is available under the name *GRUB Legacy*. - -Since Fedora 16, *GRUB2* has been the default bootloader on x86 BIOS -systems. For upgrades of BIOS systems, the default is also to install -*GRUB2*, but you can opt to skip bootloader configuration entirely. - -include::{md}/proc_installing-grub2-on-bios-system.adoc[leveloffset=+1] - -include::{md}/proc_installing-grub2-on-efi-system.adoc[leveloffset=+1] - -include::{md}/proc_creating-menu-entries-with-uefi-bootloader.adoc[leveloffset=+1] - -include::{md}/proc_adding-other-operating-systems-grub2.adoc[leveloffset=+1] - - diff --git a/en-US/installing-java.adoc b/en-US/installing-java.adoc deleted file mode 100644 index 7d072d2..0000000 --- a/en-US/installing-java.adoc +++ /dev/null @@ -1,34 +0,0 @@ -[id="assembly_installing-java"] -= Installing Java - -Java provides a platform for creating and running applications. You can install various versions of Java to suit your requirements. - -include::en-US/modules/con_about-java.adoc[leveloffset=+1] - -include::en-US/modules/proc_installing-openjdk.adoc[leveloffset=+1] - -include::en-US/modules/proc_installing-oracle-java.adoc[leveloffset=+1] - -include::en-US/modules/ref_jdk-tools.adoc[leveloffset=+1] - - -[discrete] -== Additional resources - -For Java in Fedora, see: - -* link:https://admin.fedoraproject.org/mailman/listinfo/java-devel[java-devel mailing list] -* Freenode IRC channel link:irc://irc.freenode.net/fedora-java[#fedora-java] -* link:https://Ask.FedoraProject.org/en/questions/scope:all/sort:activity-desc/tags:java/page:1/[Ask Fedora about Java] - -For more information about Java in general, see: - -* link:https://en.wikipedia.org/wiki/Java_(programming_language)[Wikipedia page for Java] -* link:http://openjdk.java.net/[OpenJDK homepage] -* link:http://oracle.com/java/[Oracle homepage for Java] - -To develop Java applications, consider the following open-source IDEs: - -* link:https://netbeans.org/[NetBeans] -* link:https://eclipse.org/[Eclipse] -* link:https://www.jetbrains.com/idea/[IntelliJ IDEA] diff --git a/en-US/installing-software-from-source.adoc b/en-US/installing-software-from-source.adoc deleted file mode 100644 index b3c5364..0000000 --- a/en-US/installing-software-from-source.adoc +++ /dev/null @@ -1,13 +0,0 @@ -[[installing-software-from-source]] -= Installing software from source code - -The following section contains guidelines and best practices for installing software from source code on Fedora. -The instructions below are not prescriptive, but following them minimizes the risk of errors occurring during installation. - -include::en-US/modules/con_package-management-in-fedora.adoc[leveloffset=+1] - -include::en-US/modules/proc_setting-up-your-local-dev-and-compilation-environment.adoc[leveloffset=+1] - -include::en-US/modules/proc_downloading-source-code.adoc[leveloffset=+1] - -include::en-US/modules/proc_compiling_your_application_from_source.adoc[leveloffset=+1] diff --git a/en-US/installing-spotify.adoc b/en-US/installing-spotify.adoc deleted file mode 100644 index ffffb4f..0000000 --- a/en-US/installing-spotify.adoc +++ /dev/null @@ -1,7 +0,0 @@ -= Installing Spotify - -include::en-US/3rdparty-message.adoc[] - -Installing the Spotify music service client on Fedora. - -include::en-US/modules/proc_installing-spotify-on-fedora.adoc[leveloffset=+1] diff --git a/en-US/installing-virtual-systems-with-gnome-boxes.adoc b/en-US/installing-virtual-systems-with-gnome-boxes.adoc deleted file mode 100644 index 406ff5f..0000000 --- a/en-US/installing-virtual-systems-with-gnome-boxes.adoc +++ /dev/null @@ -1,14 +0,0 @@ -:parent-context: {context} - -[id='installing-virtual-operating-systems-with-gnome-boxes-{context}'] -= Installing virtual operating systems with GNOME Boxes -:context: gnome-boxes - -:md: en-US/modules -:imagesdir: ./images - -GNOME Boxes is an application in GNOME Desktop Environment, which enables you to virtually access various operating systems. - -:leveloffset: +1 -include::{md}/proc_install-predefined-systems.adoc[] -:leveloffset: -1 diff --git a/en-US/kernel/build-custom-kernel.adoc b/en-US/kernel/build-custom-kernel.adoc deleted file mode 100644 index 075f4d8..0000000 --- a/en-US/kernel/build-custom-kernel.adoc +++ /dev/null @@ -1,301 +0,0 @@ -[[ch-build-custom-kernel]] -= Building a Custom Kernel -:toc: - -This document provides instructions for advanced users who want to rebuild the -kernel from some source. - -[NOTE] - -==== - -When building or running a custom kernel, one should *not* expect support from -the Fedora kernel team. - -==== - -Some common reasons to build a custom kernel are: - -* To apply patches for testing that they either generated or obtained from - another source - -* To reconfigure the existing kernel - -* To learn more about the kernel and kernel development - - -== Get the Dependencies - -The easiest way to install all the build dependencies for the kernel is to use -the Fedora kernel spec file: - -[source,bash] ----- -sudo dnf install fedpkg -fedpkg clone -a kernel -cd kernel -sudo dnf builddep kernel.spec ----- - -If you want to use `make xconfig`, you'll need some additional packages: - -[source,bash] ----- -sudo dnf install qt3-devel libXi-devel gcc-c++ ----- - -Make sure you add the user doing the build to `/etc/pesign/users` and run the -authorize user script: - -[source,bash] ----- -sudo /usr/libexec/pesign/pesign-authorize ----- - -It's also recommended that you install `ccache`, which can help speed up -rebuilds: - -[source,bash] ----- -sudo dnf install ccache ----- - -== Building a Kernel from the Fedora dist-git - -The kernel, like any other Fedora package, has a branch per Fedora release. -`master` corresponds to Rawhide and each version of Fedora has a branch called -`f`. For example, to build a Fedora 28 kernel, you would first need -to check out that branch with: - -1. Check out the branch for which you would like to build a kernel (`master` -corresponds to Rawhide): - -[source,bash] ----- -git checkout origin/f28 ----- - -2. To avoid conflicts with existing kernels, you can set a custom buildid by -changing `# define buildid .local` to `%define buildid .` -in `kernel.spec`. - -3. Make whatever changes or customizations you need. - -4. Build the RPMs: - -[source,bash] ----- -fedpkg local ----- - -5. Install the new kernel: - -[source,bash] ----- -sudo dnf install --nogpgcheck ./x86_64/kernel-$version.rpm ----- - - -=== Building a non-debugging kernel - -Most Rawhide kernels are built with debugging enabled by default. To make a -kernel with debugging options disabled, you can follow the above instructions, -but before you run `fedpkg local`, disable the debugging options with: - -[source,bash] ----- -make release ----- - -=== Enabling configuration options - -If there are configuration options that need to be adjusted for your build, you -can add changes in the kernel-local file. These changes will get picked up when -you build. - -== Building a kernel from the exploded git trees - -Fedora keeps a git tree containing Fedora patches applied on top of the vanilla sources. - -[source,bash] ----- -git clone git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/fedora.git -git checkout -b my_branch kernel-4.7.4-200.fc24 ----- - -You can now build the kernel following regular kernel instructions. This tree -is useful for generating patches that can be applied to the kernel.spec. - -== Building a vanilla upstream kernel - -Sometimes a Fedora developer may ask you to try building and installing an -upstream kernel (possibly with a patch added) for testing. If there are -multiple iterations, it may be quicker for you to do this than for the -developer to turn around several RPMs. - -[NOTE] -==== -There is an effort underway for packaging vanilla kernels. -https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories[See if this meets -your needs first] -==== - -=== Getting the Sources - -Clone the kernel tree from kernel.org. If you don't know what tree you need, -you should get Linus' tree: - -[source,bash] ----- -git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git -cd linux ----- - -You may also want the stable tree (4.y.z releases), which you can add with: - -[source,bash] ----- -git remote add -f stable git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git ----- - -=== Applying patches - -To apply patch files, you can use git-am: - -[source,bash] ----- -git am -3 ----- - -=== Configuring the kernel - -If the developer has pointed you at a specific config file to use, save it in -the linux directory with the filename `.config` - -Otherwise, you'll need to pick a configuration file to start from. The Linux -kernel has thousands of configuration options, so you don't want to start from -scratch unless you know what you're doing. - -==== Starting from an installed kernel configuration - -If you want to tweak the configuration of a kernel you already have installed, -you can start with its configuration which is stored in /boot/. For example, -to start with the configuration of the currently running kernel: - -[source,bash] ----- -cp /boot/config-`uname -r`* .config ----- - -==== Starting from dist-git - -If you want to use the configuration for a kernel you do not have installed, -you can get the configuration from the Fedora dist-git repository. For example, -to start with the latest Rawhide configuration: - -[source,bash] ----- -cd -git checkout master -./build_configs.sh # Ensure the latest configuration files are generated -cp kernel-.config .config ----- - -The debug versions of the configuration files are in -`kernel--debug.config` if you would like to build a kernel with debugging -options enabled. - -=== Changing the configuration - -There are several ways to change the configuration. You can run `make help` and -look at the `Configuration targets` for the full list, but `make menuconfig` -is a good place to start. You can also just edit the `.config` file directly. - -[NOTE] - -==== - -One configuration option you may want to set is CONFIG_MODULE_COMPRESS, which -compresses the modules (with gzip by default) when installing them. Without -this setting, the modules can be very large. - -==== - -=== Building the kernel - -Once you've configured the kernel, you're ready to build it. Before you do so, -you'll want to change the `EXTRAVERSION` in the `Makefile` to something you'll -recognize later. For example, if it reads `EXTRAVERSION = -rc5` change it to -`EXTRAVERSION = -rc5-dave`: - -[source,bash] ----- -$EDITOR Makefile ----- - -Now you're ready to build the kernel: - -[source,bash] ----- -make oldconfig -make bzImage -make modules ----- - -=== Installing the kernel - -Installing the kernel is as simple as: - -[source,bash] ----- -sudo make modules_install -sudo make install ----- - -=== Rebuilding - -If you have been asked to try several different things, the procedure once you -have already built the tree once is mostly the same. Running `make clean` is -recommended between builds. This will leave the `.config` in place, so you can -skip that step above and proceed straight to the `make bzImage` part of the steps -above. Because we installed `ccache` in the first step, subsequent builds may go -a lot faster as the compiler hits files that haven't changed since the last -time it built them. - -=== Cleaning up - -Once you have tested the kernel, and you've booted back to one of your kernels -installed from an RPM, you can clean up the files that the above procedure -installed. - -[WARNING] - -==== - -When running the following commands, be sure to get the kernel version correct! - -==== - -Because you changed `EXTRAVERSION` in the `Makefile` to add a 'tag', all the -files it installed will have this as part of the filename. So you should be -able to use wildcards to delete them safely using commands similar to those -below (just replace 'dave' with whatever tag you chose): - -[source,bash] ----- -rm -f /boot/config-2.6.*dave* /boot/initrd-2.6.*dave* /boot/vmlinuz-*dave* /boot/System.map-*dave* -rm -rf /lib/modules/2.6*dave* ----- - -Finally, you will need to remove the kernel as an option to your bootloader. -This will change from architecture to architecture. For x86, (as root), edit -`/boot/grub2/grub.cfg` or `/boot/efi/EFI/fedora/grub.cfg` if you have EFI enabled -and delete the four lines relating to your kernel (They should be easy to spot, -they'll be the ones with your tag). They'll look something like: - ----- -title Fedora Core (2.6.22-rc3-dave) -root (hd0,0) -kernel /vmlinuz-2.6.22-rc3-dave ro root=/dev/md0 -initrd /initrd-2.6.22-rc3-dave.img ----- diff --git a/en-US/kernel/overview.adoc b/en-US/kernel/overview.adoc deleted file mode 100644 index 0f39926..0000000 --- a/en-US/kernel/overview.adoc +++ /dev/null @@ -1,192 +0,0 @@ -= Fedora Linux Kernel Overview -:toc: - -[[section-update-schedule]] -== Update Schedule - -The https://src.fedoraproject.org/rpms/kernel[Fedora Linux kernel] closely -follows the upstream https://www.kernel.org/[kernel releases]. To see the -current versions in Fedora, https://apps.fedoraproject.org/packages/kernel[check -out the packages application]. - -=== Stable Releases - -Stable releases of Fedora receive two types of kernel updates. - -==== Stable kernel updates - -The upstream kernel community support the latest major version with stable -updates (4.y.z releases). These updates are released approximately once a week, -although they can occur more or less frequently. Once the upstream kernel -community makes a stable release, Fedora builds it and submits it as an update -to https://bodhi.fedoraproject.org/updates/?packages=kernel[Bodhi]. These -updates are typically left in Bodhi for testing for several days before being -submitted to the stable updates repository. - -==== Major kernel updates - -The Linux kernel releases new major versions (4.y releases) -http://phb-crystal-ball.org/[every few months]. When this occurs, Fedora updates -to the new major version after a couple upstream stable releases. When the -updates are submitted to Bodhi, more time is allowed for testing than stable -updates to ensure there are no serious regressions. - -=== Development Releases - -The development versions of Fedora include Rawhide and the Branched release. - -==== Rawhide - -The Rawhide kernel is the latest git snapshot of Linus' -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/[upstream -kernel.org tree]. On a frequent (often daily) basis, a new snapshot is built. - -==== Branched - -https://fedoraproject.org/wiki/Releases/Branched[Branched releases] receive -updates at less frequent intervals than Rawhide. Early on in the Branched -release, it is typically using a pre-release version of the kernel, so each -Release Candidate (RC) is built for Branched releases. Once the kernel is -released, it receives stable updates just like the stable Fedora releases. - - -[[debug-kernels]] -== Debug Kernels - -The Linux kernel offers a number of configuration options to make debugging -problems easier. However, some of these options have a performance cost so -Fedora does not always turn these options on. When the debugging options have -been turned off in the ``kernel`` package, a separate ``kernel-debug`` package -is produced with those options on. - -=== Stable and Branched Kernels - -Stable and Branched kernels always disable the debugging options. - -=== Rawhide - -Rawhide kernels enable the debugging options. However, each release candidate -kernel is built with debugging options disabled. Release candidate kernels -can be recognized by their release field, which always has the git revision set -to 0. For example, ``kernel-4.16.0-0.rc7.git0.1.fc28`` is the 7th release -candidate kernel for Fedora 28. - - -== Policies - -=== Out-of-tree Drivers - -The simplest method by far is for the driver to get merged upstream in Linus' -kernel. Fedora constantly rebases to newer upstream releases, so inherits these -changes "for free" with little overhead for the Fedora kernel maintainers. - -Adding external drivers to the Fedora kernel that aren't accepted upstream -requires an ongoing effort for the Fedora kernel team, so where possible, we -try to avoid doing so. In the few situations where it makes sense to do so, -there are several criteria that must be met. - -* There must be reasonable demand for the feature for us taking on the burden - of carrying the code until it gets upstream. -* Passes basic sanity checks (has been reviewed by at least one Fedora kernel - maintainer). -* Has an upstream developer actively trying to get their code merged into Linus' - tree. -* Has a Fedora developer responsible for keeping it up to date in Fedora. -* Causes no discernible overhead for Fedora kernel maintainers. Code that must - be continually fixed up tends to end up getting dropped. -* Doesn't add new system calls or similar ABI defining characteristics. This is - to avoid a situation where we could end up with incompatibilities between - distros/upstream. -* How a symbol is exported needs to be accepted upstream first. This includes: -** Adding an EXPORT_SYMBOL to export something that previously wasn't exported -** Changing an EXPORT_SYMBOL_GPL to EXPORT_SYMBOL -** Changing an EXPORT_SYMBOL to EXPORT_SYMBOL_GPL -* In the rare case where we add exports that aren't upstream, we err on the side - of caution and use EXPORT_SYMBOL_GPL to export them. This is done partly as a - deterrent for 3rd-party modules not to use them. (As they may go away in the - future). The only exception to all of the above is in new not-yet-merged - upstream code that's being added. New symbols get to be exported however the - author intended. - -=== Staging - -The drivers in the staging directory of the Linux kernel are known to be in a -rough and incomplete state. For the vast majority of these drivers, the kernel -team considers it unsafe to build and ship them. We do not have the confidence -in the existing code, nor do we have the time to debug issues in known -problematic drivers. - -As with every policy, there are exceptions. Fedora ships a few staging drivers -at the moment for various pieces of hardware. For the Fedora kernel team to -enable a staging driver, the following conditions must be satisfied: - -* There must be substantive code review and improvement upstream. This means - actual fixes, and not just stylistic changes. -* There must be a contributor willing to be assigned bug reports and deal with - upstream. -* The contributor must be actively involved improving the driver upstream. -* The driver must not result in an undue burden on the kernel team. This means - that if a large number of bug reports result from the driver, then fixes are - not occurring upstream quickly enough. -* It must be understood that if any of these conditions are not met, or - eventually fail to be met, the driver will be disabled. - -=== Builtin Features - -From time to time, the Fedora kernel maintainers get asked to build something -into the kernel. That is, the functionality is included in the vmlinux binary -that every Fedora machine runs as opposed to being built as a module that is -only loaded if needed. Given that it is loaded on every machine, we tend to -build functionality as modules as much as possible. While one person might need -the driver for an ATI card, another will not and having that built into the -kernel is wasteful for really no reason. - -There are no set criteria that map exactly to whether something is built-in or -not, but they generally follow these guidelines: - -* The option cannot be built as a module and is widely used -* The option is not a driver/filesystem and used by something that is a Fedora - default -* The option is a driver and used by a wide variety of machines (keyboard/mouse - drivers, VT support) -* The option is a filesystem and is used by all machines or is the default - Fedora filesystem (tmpfs, ext4). - -Again, the above are general guidelines but for the most part we try and limit -the overall size of the vmlinux that is loaded to a core set of functionality. - -If you find that the Fedora configuration options are not sufficient for your -needs, you can rebuild the kernel and change options as you see fit. See the -documentation on <>. - - -[[community]] -== Getting Involved - -If you're interested in contributing to the development and maintenance of the -Fedora kernel, check out the https://fedoraproject.org/wiki/Kernel[kernel wiki] -for more information. - -[[mailing-lists]] -=== Mailing Lists - -The mailto:kernel@lists.fedoraproject.org[Fedora kernel mailing list] is for -Fedora-related kernel topics only. This includes Fedora-specific packaging and -kernel configuration settings. For discussions about Linux itself see the -https://kernelnewbies.org/ML[Kernelnewbies mailing lists] or the -http://vger.kernel.org/vger-lists.html[Linux Kernel mailing lists]. - -You can subscribe to the Fedora kernel mailing list and view the archive on -https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org/[ -Hyperkitty]. - -[[irc]] -=== IRC - -Users interested in the Fedora kernel hang out in the ``#fedora-kernel`` channel -on https://freenode.net[freenode]. - -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/kernel/troubleshooting.adoc b/en-US/kernel/troubleshooting.adoc deleted file mode 100644 index 6480cbf..0000000 --- a/en-US/kernel/troubleshooting.adoc +++ /dev/null @@ -1,115 +0,0 @@ -= Troubleshooting - -The kernel, like any software, has bugs. It's a large, complex project and it -can be difficult to troubleshoot problems. This document covers some basic -troubleshooting techniques to help narrow down the root cause of an issue. - -== Boot failures - -Sometimes the kernel fails to boot. Depending on where the problem is in the -boot process, there may or may not be any output. Some good first steps are: - -* Remove `quiet` (enable more log messages) and `rhgb` (disable graphical boot) - from the boot flags. If the text output is too fast to read, add - `boot_delay=1000` (the number of milliseconds to delay in - between printk during boot). You can use a camera to take pictures of the - output. - -* Booting with vga=791 (or even just vga=1 if the video card won't support 791) - will put the framebuffer into high resolution mode to get more lines of text - on screen, allowing more context for bug analysis. - -* Add `initcall_debug` parameter, which traces the initcalls as they are - executed. - -* If you get no output at all from the kernel, booting with `earlyprintk=vga` - can sometimes yield something of interest. - - -== Hangs and freezes - -* Checking whether or not the CapsLock key (or NumLock or ScrollLock) causes - the light on the keyboard to change state can be used as an indication of - whether or not the kernel has hung completely, or if there is something else - going on. - -* The SysRq magic keys may still work. You may need to add - `sysrq_always_enabled=1` to the kernel boot command line. See - https://fedoraproject.org/wiki/QA/Sysrq[the wiki article on SysRq on usage - details]. - -* Setting `nmi_watchdog=1` on the kernel command line will cause a panic when -an NMI watchdog timeout occurs. - -== Logs to collect == - -When reporting an issue with the kernel you should always attach the kernel -logs, usually collected with the `dmesg` command. For some types of issues, -you may need to collect more logs. - -=== Input issues (touchpad etc.) === - -Information for collecting logs is documented at the https://wayland.freedesktop.org/libinput/doc/latest/reporting_bugs.html[libinput website]. - -=== Sound issues === - -`alsa-info.sh` provides information about both kernel and userspace components. -If you have a working and non-working kernel, you should provide `alsa-info.sh` -for both cases. - -== Bisecting the kernel - -If the problem you've encountered isn't present in older versions of the -kernel, it is very helpful to use `git-bisect` to find the commit that -introduced the problem. For a general overview of `git-bisect`, see its -https://git-scm.com/docs/git-bisect[documentation]. An outline on how to bisect -the kernel is included in the -https://www.kernel.org/doc/html/latest/admin-guide/bug-bisect.html[kernel -documentation]. This guide contains Fedora-specific details. - -[NOTE] -==== - -Bisecting is a time-consuming task, but it's very straightforward and is -often the best way to find the cause of a problem. If you're really interested -in getting the problem you're seeing fixed, bisecting will speed up the process -considerably in most cases. - -==== - -. Find the newest version you can that works. This will be the initial "good" -version. The first version you find that doesn't work will be the initial "bad" -version. - -. Install the <> -required to build the kernel. - -. Next, <>. - -. Prepare a `.config` file. Assuming you've got both the good and bad kernel -installed, the config for both will be in `/boot/`.footnote:[When bisecting -between major versions (e.g. `v4.16` and `v4.15`) new configuration options -will be added and removed as you bisect. It's _usually_ safe to select the -default.] - -. Start a new `git-bisect` with `git bisect start`. - -. Mark the newest version that works as "good" with `git bisect good `. -For example: `git bisect good v4.16.8`. - -. Mark the first version that does not work as "bad" with `git bisect bad -`. For example: `git bisect bad v4.17`. - -. <>. Sometimes -commits cannot be built. If this happens, skip the commit with `git bisect -skip`. - -. <>. - -. Reboot into the new kernel and test to see if it works. - -. If the new kernel works, mark it as good with `git bisect good`. Otherwise, -mark it as bad with `git bisect bad`. - -. Repeat the previous five steps until you've found the commit that introduced -the problem. diff --git a/en-US/managing-keyboard-shortcuts-for-running-app-in-gnome.adoc b/en-US/managing-keyboard-shortcuts-for-running-app-in-gnome.adoc deleted file mode 100644 index 67c2538..0000000 --- a/en-US/managing-keyboard-shortcuts-for-running-app-in-gnome.adoc +++ /dev/null @@ -1,27 +0,0 @@ -:experimental: - -[id='managing-keyboard-shortcuts-for-running-app-in-gnome'] -= Managing keyboard shortcuts for running an application in GNOME - -:md: en-US/modules - -:leveloffset: +1 - -include::{md}/proc_adding-shortcut-custom-app-gnome.adoc[] -include::{md}/proc_disabling-shortcut-custom-app-gnome.adoc[] -include::{md}/proc_enabling-shortcut-custom-app-gnome.adoc[] -include::{md}/proc_removing-shortcut-custom-app-gnome.adoc[] - -:leveloffset: 0 - -//// -info sources: - -http://ask.fedoraproject.org/en/question/9623/how-can-i-set-a-key-shortcut-to-launch-terminal-under-gnome/ -https://help.gnome.org/users/gnome-help/stable/keyboard-shortcuts-set.html.en - -https://unix.stackexchange.com/questions/119432/save-custom-keyboard-shortcuts-in-gnome -https://askubuntu.com/questions/26056/where-are-gnome-keyboard-shortcuts-stored - -tested on F28 live CD in VM -//// diff --git a/en-US/mirroring.adoc b/en-US/mirroring.adoc deleted file mode 100644 index de48614..0000000 --- a/en-US/mirroring.adoc +++ /dev/null @@ -1,39 +0,0 @@ -= Mirroring - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/Infrastructure/Mirroring - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - - -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/modules/TODO_virtio-win.adoc b/en-US/modules/TODO_virtio-win.adoc deleted file mode 100644 index 8e2e2ac..0000000 --- a/en-US/modules/TODO_virtio-win.adoc +++ /dev/null @@ -1,13 +0,0 @@ - -[[how-does-lack-of-whql-signature-affect-use-of-these-drivers]] -How does lack of WHQL signature affect use of these drivers? - -IXME: Lack of WHQL signature on virtio-win packages causes Windows to complain, need to explicitly document how. - -The RPMs from the stable repository are the same driver builds as what -is shipped in Red Hat Enterprise Linux. However, the public drivers are not signed with -https://msdn.microsoft.com/en-us/library/windows/hardware/ff553976%28v=vs.85%29.aspx[Microsoft's -WHQL signature]. - - -F \ No newline at end of file diff --git a/en-US/modules/con_Getting-started-with-nmcli.adoc b/en-US/modules/con_Getting-started-with-nmcli.adoc deleted file mode 100644 index 036c92c..0000000 --- a/en-US/modules/con_Getting-started-with-nmcli.adoc +++ /dev/null @@ -1,122 +0,0 @@ -// Module included in the following assemblies: -// -// assembly_Configuring-networking-with-nmcli.adoc - -[id='Getting-started-with-nmcli'] -= Getting started with nmcli - -The [application]*nmcli* (NetworkManager Command Line Interface) command-line utility is used for controlling NetworkManager and reporting network status. It can be utilized as a replacement for [application]*nm-applet* or other graphical clients. [application]*nmcli* is used to create, display, edit, delete, activate, and deactivate network connections, as well as control and display network device status. - -The [application]*nmcli* utility can be used by both users and scripts for controlling [application]*NetworkManager*: - -* For servers, headless machines, and terminals, [application]*nmcli* can be used to control [application]*NetworkManager* directly, without GUI, including creating, editing, starting and stopping network connections and viewing network status. - -* For scripts, [application]*nmcli* supports a terse output format which is better suited for script processing. It is a way to integrate network configuration instead of managing network connections manually. - -The basic format of a [application]*nmcli* command is as follows: - -[literal,subs="+quotes,verbatim"] -.... -nmcli [OPTIONS] OBJECT { COMMAND | help } -.... - -where OBJECT can be one of the following options: `general`, `networking`, `radio`, `connection`, `device`, `agent`, and `monitor`. You can use any prefix of these options in your commands. For example, [command]`nmcli con help`, [command]`nmcli c help`, [command]`nmcli connection help` generate the same output. - -Some of useful optional OPTIONS to get started are: - --t, terse:: -+ -This mode can be used for computer script processing as you can see a terse output displaying only the values. -+ -[[ex-Viewing_a_terse_output_for_scripts]] -.Viewing a terse output -==== - -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ pass:attributes[{blank}][command]`nmcli -t device` -ens3:ethernet:connected:Profile 1 -lo:loopback:unmanaged: - -.... - -==== - --f, field:: -+ -This option specifies what fields can be displayed in output. For example, NAME,UUID,TYPE,AUTOCONNECT,ACTIVE,DEVICE,STATE. You can use one or more fields. If you want to use more, do not use space after comma to separate the fields. -+ -[[ex-Specifying_Fields_in_the_output]] -.Specifying Fields in the output -==== - -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ pass:attributes[{blank}][command]`nmcli -f DEVICE,TYPE device` -DEVICE TYPE -ens3 ethernet -lo loopback -.... - -or even better for scripting: - -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ pass:attributes[{blank}][command]`nmcli -t -f DEVICE,TYPE device` -ens3:ethernet -lo:loopback - -.... - -==== - --p, pretty:: -+ -This option causes [application]*nmcli* to produce human-readable output. For example, values are aligned and headers are printed. -+ -[[ex-Viewing_an_output_in_pretty_Mode]] -.Viewing an output in pretty mode -==== - -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ pass:attributes[{blank}][command]`nmcli -p device` -===================== - Status of devices -===================== -DEVICE TYPE STATE CONNECTION --------------------------------------------------------------- -ens3 ethernet connected Profile 1 -lo loopback unmanaged -- - -.... - -==== - --h, help:: -+ -Prints help information. - -The [application]*nmcli* tool has some built-in context-sensitive help. To list the available options and object names: -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ [command]`nmcli help` -.... - -To list available actions related to a specified object: -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ [command]`nmcli _object_ help` -.... - -For example, -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ [command]`nmcli c help` -.... - -[discrete] -== Additional resources -* link:++https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-introduction_to_networkmanager++[Introduction to NetworkManager] - -* link:++https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-installing_networkmanager#sec-Interacting_with_NetworkManager[Interacting with NetworkManager] diff --git a/en-US/modules/con_Understanding-the-nmcli-options.adoc b/en-US/modules/con_Understanding-the-nmcli-options.adoc deleted file mode 100644 index 0fbd953..0000000 --- a/en-US/modules/con_Understanding-the-nmcli-options.adoc +++ /dev/null @@ -1,65 +0,0 @@ -// Module included in the following assemblies: -// -// assembly_Configuring-networking-with-nmcli.adoc - -[id='Understanding-the-nmcli-options'] -= The nmcli options - -Following are some of the important [application]*nmcli* property options: - - -[option]`connection.type`:: -+ -A connection type. Allowed values are: adsl, bond, bond-slave, bridge, bridge-slave, bluetooth, cdma, ethernet, gsm, infiniband, olpc-mesh, team, team-slave, vlan, wifi, wimax. Each connection type has type-specific command options. For example: -+ -** A `gsm` connection requires the access point name specified in an [option]`apn`. -+ -[literal,subs="+quotes,verbatim,macros"] -.... -nmcli c add connection.type gsm apn pass:quotes[_access_point_name_] -.... -+ -** A `wifi` device requires the service set identifier specified in a [option]`ssid`. -+ -[literal,subs="+quotes,verbatim,macros"] -.... -nmcli c add connection.type wifi ssid -_My identifier_ -.... - -You can see the `TYPE_SPECIFIC_OPTIONS` list in the [citetitle]_pass:attributes[{blank}]*nmcli*(1)_ man page. - -[option]`connection.interface-name`:: -+ -A device name relevant for the connection. -+ -[literal,subs="+quotes,verbatim,macros"] -.... -nmcli con add connection.interface-name _eth0_ type _ethernet_ -.... - -[option]`connection.id`:: -+ -A name used for the connection profile. If you do not specify a connection name, one will be generated as follows: -+ -[literal,subs="+quotes,verbatim,macros"] -.... -_connection.type -connection.interface-name_ -.... -+ -The [option]`connection.id` is the name of a _connection profile_ and should not be confused with the interface name which denotes a device (`wlan0`, `ens3`, `em1`). However, users can name the connections after interfaces, but they are not the same thing. There can be multiple connection profiles available for a device. This is particularly useful for mobile devices or when switching a network cable back and forth between different devices. Rather than edit the configuration, create different profiles and apply them to the interface as needed. The [option]`id` option also refers to the connection profile name. - -The most important options for [application]*nmcli* commands such as `show`, `up`, `down` are: - -[option]`id`:: -+ -An identification string assigned by the user to a connection profile. Id can be used in nmcli connection commands to identify a connection. The NAME field in the command output always denotes the connection id. It refers to the same connection profile name that the con-name does. - -[option]`uuid`:: -+ -A unique identification string assigned by the system to a connection profile. The `uuid` can be used in [command]`nmcli connection` commands to identify a connection. - -[discrete] -== Additional resources - -* See the comprehensive list in the [citetitle]_pass:attributes[{blank}]*nmcli*(1)_ man page. diff --git a/en-US/modules/con_about-java.adoc b/en-US/modules/con_about-java.adoc deleted file mode 100644 index 89564ee..0000000 --- a/en-US/modules/con_about-java.adoc +++ /dev/null @@ -1,10 +0,0 @@ -[id='about-java'] -= About Java - -Java is a popular programming language that allows you run programs on many platforms, including Fedora. If you want to create Java programs, you need to install a JDK (Java Development Kit). If you want to run a Java program, you can do that on a JVM (Java Virtual Machine), which is provided with the JRE (Java Runtime Environment). If in doubt, install the JDK because this is sometimes required even if the intention is not to write Java programs. - -Many flavors of Java exist and also many versions of each flavor. If you want to just run a specific application, check the documentation of that software to see what versions of Java are supported or have been tested. Most Java applications run on one of the following: - -* OpenJDK -- an open-source implementation of the Java Platform, Standard Edition -* Oracle Java SE -- a free JDK from Oracle - diff --git a/en-US/modules/con_benefits-of-selinux.adoc b/en-US/modules/con_benefits-of-selinux.adoc deleted file mode 100644 index 4f32531..0000000 --- a/en-US/modules/con_benefits-of-selinux.adoc +++ /dev/null @@ -1,29 +0,0 @@ -// Module included in the following assemblies: -// -// getting-started-with-selinux.adoc -:experimental: - -[#{context}-benefits-of-selinux] -= Benefits of running SELinux - -SELinux provides the following benefits: - -* All processes and files are labeled. SELinux policy rules define how processes interact with files, as well as how processes interact with each other. Access is only allowed if an SELinux policy rule exists that specifically allows it. - -* Fine-grained access control. Stepping beyond traditional UNIX permissions that are controlled at user discretion and based on Linux user and group IDs, SELinux access decisions are based on all available information, such as an SELinux user, role, type, and, optionally, a security level. - -* SELinux policy is administratively-defined and enforced system-wide. - -* Improved mitigation for privilege escalation attacks. Processes run in domains, and are therefore separated from each other. SELinux policy rules define how processes access files and other processes. If a process is compromised, the attacker only has access to the normal functions of that process, and to files the process has been configured to have access to. For example, if the Apache HTTP Server is compromised, an attacker cannot use that process to read files in user home directories, unless a specific SELinux policy rule was added or configured to allow such access. - -* SELinux can be used to enforce data confidentiality and integrity, as well as protecting processes from untrusted inputs. - -However, SELinux is not: - -* antivirus software, - -* replacement for passwords, firewalls, and other security systems, - -* all-in-one security solution. - -SELinux is designed to enhance existing security solutions, not replace them. Even when running SELinux, it is important to continue to follow good security practices, such as keeping software up-to-date, using hard-to-guess passwords, or firewalls. diff --git a/en-US/modules/con_controlling_ports_firewalld.adoc b/en-US/modules/con_controlling_ports_firewalld.adoc deleted file mode 100644 index 9d9c009..0000000 --- a/en-US/modules/con_controlling_ports_firewalld.adoc +++ /dev/null @@ -1,13 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - - -[id='controlling-ports-firewalld-fedora'] - -= Controlling ports using firewalld - -== What are ports? -Ports are logical devices that enable an operating system to receive and distinguish network traffic and forward it accordingly to system services. These are usually represented by a daemon that listens on the port, that is it waits for any traffic coming to this port. - -Normally, system services listen on standard ports that are reserved for them. The httpd daemon, for example, listens on port 80. However, system administrators may configure daemons to listen on different ports to enhance security. diff --git a/en-US/modules/con_disk-partition-linux.adoc b/en-US/modules/con_disk-partition-linux.adoc deleted file mode 100644 index dedd8c6..0000000 --- a/en-US/modules/con_disk-partition-linux.adoc +++ /dev/null @@ -1,9 +0,0 @@ -// Module included in the following assemblies: -// -// creating-a-disk-partition-in-linux-using-the-parted-command.adoc -:experimental: - -[#{context}-disk-partition-linux] -= Disk Partitioning in Linux - -Creating and deleting partitions in Linux is a regular practice because storage devices (such as hard drives and USB drives) must be structured in some way before they can be used. In most cases, large storage devices are divided into separate sections called partitions. Partitioning also allows you to divide your hard drive into isolated sections, where each section behaves as its own hard drive. Partitioning is particularly useful if you run multiple operating systems. diff --git a/en-US/modules/con_firewalld.adoc b/en-US/modules/con_firewalld.adoc deleted file mode 100644 index 43faa31..0000000 --- a/en-US/modules/con_firewalld.adoc +++ /dev/null @@ -1,22 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - -[id='concept-firewalld-fedora'] -= Using firewalld - -== What is firewalld? - -A _firewall_ is a way to protect machines from any unwanted traffic from outside. It enables users to control incoming network traffic on host machines by defining a set of _firewall rules_. These rules are used to sort the incoming traffic and either block it or allow through. - -`firewalld` is a firewall service daemon that provides a dynamic customizable host-based firewall with a `D-Bus` interface. Being dynamic, it enables creating, changing, and deleting the rules without the necessity to restart the firewall daemon each time the rules are changed. - -`firewalld` uses the concepts of _zones_ and _services_, that simplify the traffic management. - -`_Zones_` are predefined sets of rules. Network interfaces and sources can be assigned to a zone. The traffic allowed depends on the network your computer is connected to and the security level this network is assigned. Firewall services are predefined rules that cover all necessary settings to allow incoming traffic for a specific service and they apply within a zone. - -`_Services_` use one or more ports or addresses for network communication. Firewalls filter communication based on ports. To allow network traffic for a service, its ports must be open. `firewalld` blocks all traffic on ports that are not explicitly set as open. Some zones, such as trusted, allow all traffic by default. - -.Additional resources - -For more information about using firewalld and configuring zones and services, see link:https://firewalld.org/documentation/[firewalld documentation] or link:https://fedoraproject.org/wiki/Firewalld[Fedora wiki:firewalld] diff --git a/en-US/modules/con_introduction-to-selinux.adoc b/en-US/modules/con_introduction-to-selinux.adoc deleted file mode 100644 index c0c5247..0000000 --- a/en-US/modules/con_introduction-to-selinux.adoc +++ /dev/null @@ -1,39 +0,0 @@ -// Module included in the following assemblies: -// -// getting-started-with-selinux.adoc - -[#{context}-introduction-to-selinux] -= Introduction to SELinux - -Security Enhanced Linux (SELinux) provides an additional layer of system security. SELinux fundamentally answers the question: _May do to ?_, for example: _May a web server access files in users' home directories?_ - -The standard access policy based on the user, group, and other permissions, known as Discretionary Access Control (DAC), does not enable system administrators to create comprehensive and fine-grained security policies, such as restricting specific applications to only viewing log files, while allowing other applications to append new data to the log files. - -SELinux implements Mandatory Access Control (MAC). Every process and system resource has a special security label called a _SELinux context_. A SELinux context, sometimes referred to as a _SELinux label_, is an identifier which abstracts away the system-level details and focuses on the security properties of the entity. Not only does this provide a consistent way of referencing objects in the SELinux policy, but it also removes any ambiguity that can be found in other identification methods; for example, a file can have multiple valid path names on a system that makes use of bind mounts. - -The SELinux policy uses these contexts in a series of rules which define how processes can interact with each other and the various system resources. By default, the policy does not allow any interaction unless a rule explicitly grants access. - -[NOTE] -==== -It is important to remember that SELinux policy rules are checked after DAC rules. SELinux policy rules are not used if DAC rules deny access first, which means that no SELinux denial is logged if the traditional DAC rules prevent the access. -==== - -SELinux contexts have several fields: user, role, type, and security level. The SELinux type information is perhaps the most important when it comes to the SELinux policy, as the most common policy rule which defines the allowed interactions between processes and system resources uses SELinux types and not the full SELinux context. SELinux types usually end with `_t`. For example, the type name for the web server is `httpd_t`. The type context for files and directories normally found in `/var/www/html/` is `httpd_sys_content_t`. The type contexts for files and directories normally found in `/tmp` and `/var/tmp/` is `tmp_t`. The type context for web server ports is `http_port_t`. - -For example, there is a policy rule that permits Apache (the web server process running as `httpd_t`) to access files and directories with a context normally found in `/var/www/html/` and other web server directories (`httpd_sys_content_t`). There is no allow rule in the policy for files normally found in `/tmp` and `/var/tmp/`, so access is not permitted. With SELinux, even if Apache is compromised, and a malicious script gains access, it is still not able to access the `/tmp` directory. - -[#fig-intro-httpd-mysqld] -.SELinux allows the Apache process running as httpd_t to access the /var/www/html/ directory and it denies the same process to access the /data/mysql/ directory because there is no allow rule for the httpd_t and mysqld_db_t type contexts). On the other hand, the MariaDB process running as mysqld_t is able to access the /data/mysql/ directory and SELinux also correctly denies the process with the mysqld_t type to access the /var/www/html/ directory labeled as httpd_sys_content_t. -image::../images/selinux-intro-apache-mariadb.png[SELinux_Apache_MariaDB_example] - -[discrete] -== Additional resources -To better understand SELinux basic concepts, see the following documentation: - -* link:++https://people.redhat.com/duffy/selinux/selinux-coloring-book_A4-Stapled.pdf++[The SELinux Coloring Book] - -* link:++https://people.redhat.com/tcameron/Summit2012/SELinux/cameron_w_120_selinux_for_mere_mortals.pdf++[SELinux for Mere Mortals] - -* link:++http://selinuxproject.org/page/FAQ++[SELinux Wiki FAQ] - -* link:++http://freecomputerbooks.com/books/The_SELinux_Notebook-4th_Edition.pdf++[The SELinux Notebook] diff --git a/en-US/modules/con_logging-sudo-commands.adoc b/en-US/modules/con_logging-sudo-commands.adoc deleted file mode 100644 index 6872e01..0000000 --- a/en-US/modules/con_logging-sudo-commands.adoc +++ /dev/null @@ -1,21 +0,0 @@ -[id="concept-logging-sudo-commands"] -= Logging sudo commands - -Each successful authentication using the [command]`sudo` command is logged to the [filename]`/var/log/messages` file. For each authentication, the [filename]`/var/log/secure` file lists the user name and the command that was executed. - -For additional logging, use the `pam_tty_audit` module to enable TTY auditing for specific users. TTY auditing prints the file name of the terminal connected to the standard I/O. To enable TTY auditing, add the following line to your [filename]`/etc/pam.d/system-auth` file: - -[subs=quotes] ----- -session required pam_tty_audit.so disable=pattern enable=_PATTERN_ ----- - -Replace `_PATTERN_` with a comma-separated list of users (and globs, if needed). - -For example, the following command enables TTY auditing for the root user and disables it for all other users: - ----- -session required pam_tty_audit.so disable=* enable=root ----- - -Using the `pam_tty_audit` PAM module for auditing only records TTY input. As a result, when the audited user logs in, `pam_tty_audit` records the user’s exact keystrokes and saves them in [filename]`/var/log/audit/audit.log`. For more information, see the *pam_tty_audit(8)* manual page. diff --git a/en-US/modules/con_package-management-in-fedora.adoc b/en-US/modules/con_package-management-in-fedora.adoc deleted file mode 100644 index ced5b39..0000000 --- a/en-US/modules/con_package-management-in-fedora.adoc +++ /dev/null @@ -1,57 +0,0 @@ -[[package-management-in-fedora]] -= Package management in Fedora - -Like most modern Linux distributions, Fedora uses a _package management_ system. Package management tools automate installation, upgrading, and removing of software applications and components. - -Each application or component is defined as a _package_. When the package is installed, all code, configuration, and other files are deployed on the system. - -IMPORTANT: A single package is not necessarily the same as an application. Some applications can be shipped as several packages. Moreover, shared code (libraries) in Linux is normally shipped as separate packages, while in other systems applications often ship their own versions of required libraries and install them if necessary. - - -== File placement - -The package management tools track which files on your Fedora installation belong to each package; normally, every file that is installed in the `/usr` tree as well as most configuration files under `/etc` are installed by one of the packages. When installing a package, the package management system verifies its integrity; if any files are missing or corrupted, the package is not installed. - - -== Resolving dependencies - -The package management system also tracks all _dependencies_ between the packages. For example, if an application requires some libraries, the package for this application lists the libraries as dependencies. When you install the application package, the package management tools automatically install the library packages. If a dependency is not available, the tools do not install the package, so you can avoid a sudden malfunction. - -When you want to remove a package, package management tools cleanly delete all code files for this package without affecting other packages. By default, configuration files are not removed, so you can install the package again and keep the configuration that you have set up earlier. - - -== Updating packages - -Updating any package is entirely automatic with the package management system. The system replaces all the necessary code files and preserves existing configuration. - -In fact, for most Linux distributions, including Fedora, all of the system installation except the earliest part is performed by installing various packages. Security updates and upgrades to a next release are performed entirely by package management tools. - - -== RPM - -Fedora's package management system uses the http://rpm.org[RPM] package format. The application that manages packages in Fedora (since version 22) is https://fedoraproject.org/wiki/DNF[DNF]. Graphical package management is provided by the Gnome Software utility. For automatic updates, Fedora uses the PackageKit utility. Command-line and graphical tools provide the same results. - - -== Repositories - -To get packages, DNF uses _repositories_. A repository is an organized collection of packages. Repositories can be kept on any data media; notably, the Fedora installation image contains a repository. However, most up-to-date repositories are normally maintained online. - -Each Fedora release has an official _fedora_ repository and an _updates_ repository (which contains critical updates since the release). In these repositories, you can find most common Linux open-source software. You can also install packages from other repositories, not maintained by the Fedora project and known as _third-party repositories_. - -Most of the time, it is best practice to install software on your Fedora Linux system using only the Fedora package management system. In this case, packages are installed in the most reliable way and automatic updates can be provided. - - -== Installing from source code - -While many Linux applications can be built and installed from from source code, using such builds can make your system much harder to manage. For example, automatic updates to system packages (especially when updating to the next release) might impact an application that was installed from source. And, of course, no automatic security updates are available for the application. - - -== Other installation methods - -Sometimes you might need to install software using other package management systems. Notably: - -* https://www.cpan.org/[CPAN] for libraries for the Perl language -* https://pypi.python.org/pypi[PyPI] for libraries (and sometimes applications) for the Python language -* Commercial repositories for games - -However, installing applications using the Fedora package management systems is the preferred option. diff --git a/en-US/modules/con_permanent-changes-in-selinux-states-and-modes.adoc b/en-US/modules/con_permanent-changes-in-selinux-states-and-modes.adoc deleted file mode 100644 index c9e0e79..0000000 --- a/en-US/modules/con_permanent-changes-in-selinux-states-and-modes.adoc +++ /dev/null @@ -1,32 +0,0 @@ -// Module included in the following assemblies: -// -// changing-selinux-states-and-modes.adoc - -[#{context}-changing-selinux-modes] -= Permanent changes in SELinux states and modes - -As discussed in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-introduction[Introduction to SELinux], SELinux can be enabled or disabled. When enabled, SELinux has two modes: enforcing and permissive. - -Use the [command]`getenforce` or [command]`sestatus` commands to check in which mode SELinux is running. The [command]`getenforce` command returns `Enforcing`, `Permissive`, or `Disabled`. - -The [command]`sestatus` command returns the SELinux status and the SELinux policy being used: - -[source,bash] ----- -~]$ sestatus -SELinux status: enabled -SELinuxfs mount: /sys/fs/selinux -SELinux root directory: /etc/selinux -Loaded policy name: targeted -Current mode: enforcing -Mode from config file: enforcing -Policy MLS status: enabled -Policy deny_unknown status: allowed -Memory protection checking: actual (secure) -Max kernel policy version: 31 ----- - -[NOTE] -==== -When systems run SELinux in permissive mode, users are able to label files incorrectly. Files created while SELinux is disabled are not labeled at all. This behavior causes problems when changing to enforcing mode because files are labeled incorrectly or are not labeled at all. To prevent incorrectly labeled and unlabeled files from causing problems, file systems are automatically relabeled when changing from the disabled state to permissive or enforcing mode. -==== diff --git a/en-US/modules/con_relation-between-fedora-and-red-hat-enterprise-linux.adoc b/en-US/modules/con_relation-between-fedora-and-red-hat-enterprise-linux.adoc deleted file mode 100644 index b9f141f..0000000 --- a/en-US/modules/con_relation-between-fedora-and-red-hat-enterprise-linux.adoc +++ /dev/null @@ -1,71 +0,0 @@ -[id='relation-between-fedora-and-red-hat-enterprise-linux'] -= Relation between Fedora and Red Hat Enterprise Linux - -Open source allows user to modify the software and make it redistributable as and when required. The open source license requires improved versions of the software to carry a different name or version from the original software. Red Hat Enterprise Linux, and Fedora both are open source products. If a product or a software is upstream that means it allows the origin author/s to maintain it or perform any bug fixes. Fedora is an upstream of Red Hat Enterprise Linux. - -== Red Hat Enterprise Linux - -Red Hat Enterprise Linux is a commercial enterprise operating system and has its own set of test phases including alpha and beta releases.The cost of Red Hat Enterprise Linux comes from the subscription,which provides assorted certifications and support for additional architectures. You can download the https://www.redhat.com/rhel/details/eval/[evaluation version] for free and https://www.redhat.com/apps/store/developers/rhel_developer_suite.html[developer version] for $99. - -Download academic editions at low cost http://www.redhat.com/solutions/education/academic/[academic version] and -http://www.redhat.com/solutions/education/academic/individual/[academic individual version] - -== Fedora - -Fedora is based on Linux kernel and GNU programs. Fedora is developed and sponsored by Fedora Project and Red Hat. Fedora is a general purpose system that gives Red Hat and the rest of its contributor community the chance to innovate rapidly with new technologies. In order to focus Red Hat's efforts and limit support costs, only a selected subset of packages found in Fedora are included in the commercially supported product line. The Fedora Project has a community of people maintaining add-on packages for Red Hat Enterprise Linux and compatible rebuilds called https://fedoraproject.org/wiki/About_EPEL[Extra Packages for Enterprise Linux], or EPEL. - -== History of Red Hat Enterprise Linux and Fedora - -Red Hat first offered an enterprise Linux support subscription for Red Hat Linux 6.1. It was not a separate product but the subscription level was branded as Red Hat 6.2E. Subsequently, Red Hat started creating a separate product with commercial service level agreements and longer -lifecyle based on Red Hat Linux and later on Fedora. This was initially called as Advanced Server and rebranded as Red Hat Enterprise Linux in 2003. The following table gives the lineage: - -.Red Hat Enterprise Linux and Fedora Lineage -[options="header"] -|======================================================================= -|Release |Codename |Release Date |Based on -|Red Hat Linux 6.2E |Zoot |2000-03-27 |Red Hat Linux 6.2 - -|Red Hat Enterprise Linux 2.1 |Pensacola (AS)/ Panama (ES) |2002-03-26 -(AS) |Red Hat Linux 7.2 - -|Red Hat Enterprise Linux 3 |Taroon |2003-10-22 |Red Hat Linux 9 - -|Red Hat Enterprise Linux 4 |Nahant |2005-02-15 |Fedora Core 3 - -|Red Hat Enterprise Linux 5 |Tikanga |2007-03-14 |Fedora Core 6 - -|Red Hat Enterprise Linux 6 |Santiago |2010-11-10 |Mix of Fedora 12 -Fedora 13 and several modifications - -|Red Hat Enterprise Linux 7 |Maipo |2014-06-10 |Primarily Fedora 19 with -several changes from 20 and later -|======================================================================= - -== Difference between Red Hat Enterprise Linux and Fedora - -When you purchase Red Hat Enterprise Linux, you are also helping to support Fedora. Since Red Hat sponsors Fedora, what is good for Red Hat is usually good for Fedora. However, following are few differences between both the products: - -.Difference between Red Hat Enterprise Linux and Fedora -[cols="1,3,3",options="header"] -|=== -| -|Red Hat Enterprise Linux -|Fedora - -|support -|Red Hat Enterprise Linux is a commercially supported product by Red Hat and provides service level agreements that is important for enterprise customers. This support involves product assistance as well as prioritization of bug fixes, feature requests, certified hardware and software. -|Fedora is supported by a wide community of developers and users but it is not commercially supported by Red Hat. Red Hat does http://fedoraproject.org/sponsors[sponsor] a large number of resources and link. - -|releases -|A new version of Red Hat Enterprise Linux comes out every few years and is supported for up to 10 years and can -even be http://www.redhat.com/rhel/server/extended_lifecycle_support/[extended] to 13 years or more with additional subscriptions. -|New Fedora releases are available about every six months and every release gets updates for about 13 months. - -|available software -|Software in Red Hat Enterprise Linux is a limited subset of Fedora and has about 4000 binary packages (RHEL 6). These are the ones enterprise customers demand and are supported by Red Hat. -|Fedora offers a wide range of software packages and the latest release has well over 25000 unique (not counting updates in Fedora 15) binary software packages available in the repository. - -|update policy -|Red Hat Enterprise Linux updates are more conservative and generally focus on security and bug fixes. -|Fedora's Updates Policy is more liberal compared to Red Hat Enterprise Linux. -|=== diff --git a/en-US/modules/con_rpm_packaging_overview.adoc b/en-US/modules/con_rpm_packaging_overview.adoc deleted file mode 100644 index c1b7dc9..0000000 --- a/en-US/modules/con_rpm_packaging_overview.adoc +++ /dev/null @@ -1,49 +0,0 @@ -[[rpm-packaging-overview]] -= RPM Packaging Overview - -Use this guide to create RPM packages and `.spec` files. Despite the focus on Fedora, you can apply much of this document to other RPM-based distributions. - -NOTE: For a general-purpose RPM building guide for packagers on Fedora, CentOS, and Red Hat Enterprise Linux, see the https://rpm-packaging-guide.github.io/[RPM Packaging Guide]. - -For more information about packaging guidelines, see the following guides: - -* https://fedoraproject.org/wiki/Packaging:Guidelines[Packaging Guidelines] -* http://fedoraproject.org/wiki/Packaging:LicensingGuidelines[Licensing Guidelines] -* http://fedoraproject.org/wiki/Packaging:Naming[Package Naming Guidelines] -* http://fedoraproject.org/wiki/Packaging:DistTag[Dist Tag Guidelines] -* http://fedoraproject.org/wiki/Packaging:ReviewGuidelines[Package Review Guidelines] -* http://fedoraproject.org/wiki/Packaging:Scriptlets[Recipes for RPM scriptlets] - - -If you plan to submit a package to the official Fedora repository, follow the procedure in http://fedoraproject.org/wiki/Join_the_package_collection_maintainers[Join the package collection maintainers]. - -Before you begin, select a text editor that you want to use, and ensure that you understand the following terminology. - -[[rpm-terminology]] -== RPM terminology - -RPM:: -The package manager used by Fedora, Red Hat Enterprise Linux, Mageia, OpenSUSE and others. Originally RPM stood for "Red Hat Package Manager" but now it is a recursive acronym "RPM Package Manager". - -spec file:: -A plain text file that contains information about a package and instructions that RPM uses for compiling the package's software. To name the file, use the name of the package with the file extension `.spec`. - -tag:: -A string, generally capitalized and followed by a colon, which appears at the top of the `.spec` file to provide some important data about the RPM, such as `Name:`, `Version:` or `Summary:`. - -section:: -A segment of the `.spec` file that tells RPM how to perform some portion of the package construction process. Many, but not all, sections contain code that is simply passed to the shell, though RPM has significant flexibility around this that is outside of the scope of this document. - -section header:: -A short string, starting with `%` at the beginning of a line, which introduces a section. Examples include `%description`, `%prep` and `%files`. - -macro:: -A short string, always prefixed by `%` and generally surrounded by curly brackets `{}` which RPM converts to a different and usually longer string. Some macros can take arguments and some arguments are quite complex. Some macros are provided by RPM, some are part of https://apps.fedoraproject.org/packages/redhat-rpm-config[redhat-rpm-config] and https://apps.fedoraproject.org/packages/fedora-rpm-macros[fedora-rpm-macros] packages, but many other packages also provide macros. You can run `rpm --showrc` to view all of the macros currently available on your system, but you do not need to run most of the macros you see there. -+ -For a full list of guidelines related to macros, see http://fedoraproject.org/wiki/Packaging:Guidelines#Macros[Macros] in the Packaging Guidelines. - -mock:: -A system for building RPMs locally within your own Fedora installation. This avoids the need to install a full set of build dependencies on your operating system installation, and allows you to build packages for different Fedora releases. - -koji:: -The main Fedora build system: https://koji.fedoraproject.org[1]. diff --git a/en-US/modules/con_rpm_spec_file_overview.adoc b/en-US/modules/con_rpm_spec_file_overview.adoc deleted file mode 100644 index d343d17..0000000 --- a/en-US/modules/con_rpm_spec_file_overview.adoc +++ /dev/null @@ -1,106 +0,0 @@ -[[con_rpm-spec-file-overview]] -= RPM spec file overview - -Use this guide for information about the specific macros in a `.spec` file. - -NOTE: You can use the macros `%{name}`, `%{version}` and `%{release}` to refer to the Name, Version and Release tags respectively. When you change the tag, the macros automatically update to use the new value. - -`Name`:: -Add the base name of the package, which must match the `.spec` file name. Follow the http://fedoraproject.org/wiki/Packaging:Naming[Package Naming Guidelines] and write the file name in lower-case letters. - -`Version`:: -Add the upstream version number. See http://fedoraproject.org/wiki/Packaging:Versioning[Package Versioning]. If the version contains tags that are non-numeric, you might need to include the non-numeric characters in the `Release` tag. If upstream uses full dates to distinguish versions, consider using version numbers of the form. For example, `yy.mm[dd]` where `2008-05-01` becomes `8.05`. - -`Release`:: -Set the initial value to `1%{?dist}`. Increment the number every time you release a new package for the same version of software. When a new upstream version is released, change the `Version` tag to match and reset the `Release` number to `1`. For more information, see the http://fedoraproject.org/wiki/Packaging:Versioning[Versioning Guide] of the packaging guidelines. - -`Summary`:: -Enter a brief, one-line summary of the package. Use American English. Do not end with a period. - -`Group`:: -This tag is deprecated since Fedora 17. See https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/Packagers_Guide/chap-Packagers_Guide-Spec_File_Reference-Preamble.html[Spec -File Reference Preamble] - -`License`:: -Enter an open source software license. Do not use the old Copyright tag. Use a standard abbreviation, for example, `GPLv2+` and be specific. For example, use `GPLv2+` for GPL version 2 or greater rather than `GPL` or `GPLv2` where it's true). For more information, see the http://fedoraproject.org/wiki/Packaging:LicensingGuidelines[Licensing Guidelines]. -+ -You can list multiple licenses by combining them with `and` and `or` (e.g. `GPLv2 and BSD`). - -`URL`:: -The full URL for more information about the program. For example, the project website. -+ -NOTE: Do not add a link to the original source code. Add the link to the source code to the `Source0` tag. - -`Source0`:: -Enter the full URL for the compressed archive that contains the original, pristine source code, as upstream released it. "`Source`" is synonymous with "`Source0`". -+ -The full URL basename is used when looking in the `SOURCES` directory. If possible, embed `%{name}` and `%{version}`, so that changes to the go to the right place. Preserve the timestamps when downloading source files. For more information, see http://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps[Preserve timestamps]. -+ -If there is more than one source, name them `Source1`, `Source2`. -+ -If you add whole new files in addition to the pristine sources, list them as sources after the pristine sources. A copy of each of these sources is included in any source RPM (SRPM) you create, unless you specifically direct otherwise. For more information on special cases, for example, revision control, see https://fedoraproject.org/wiki/Packaging:SourceURL?rd=Packaging/SourceURL[Source URL]. - -`Patch0`:: -Enter the name of the first patch to apply to the source code. If you must patch the files after you extract them, edit the files and save their differences as a `.patch` file in your `~/rpmbuild/SOURCES` directory. Patches must make only one logical change each, so it's quite possible to have multiple patch files. - -`BuildArch`:: -If you package files that are architecture-independent, for example shell scripts, data files, then add `BuildArch: noarch`. The architecture for the binary RPM is then `noarch`. - -`BuildRoot`:: -This is now redundant in Fedora and is only needed for EPEL5. By default, the build root is placed in `%{_topdir}/BUILDROOT/`. -+ -In EPEL5, this is where files are installed during the %install process (after the %build process). - -`BuildRequires`:: -Add a comma-separated list of packages that are required for compiling the program. Usually, this field is repeated on multiple lines. These dependencies are not automatically determined. You must include everything that the package needs to build the program. -+ -Verify that you have specified all the necessary build requirements by performing a "mock build" of your package. You can specify a minimum version if necessary, for example, `ocaml >= 3.08`. -+ -If you need the file `/EGGS`, determine the package that owns it by running `rpm -qf /EGGS`. -+ -If you need the program `EGGS`, determine the package that owns it by running `rpm -qf \`which EGGS\``. Keep dependencies to a minimum. For example, use `sed` instead of `perl` if you do not need Perl, but note that some applications permanently disable functions if the associated dependency is not present; in those cases you might need to include the additional packages. - -`Requires`:: -Enter a comma-separate list of packages that are required when the program is installed. Note that the `BuildRequires` tag lists what is required to build the binary RPM, while the `Requires` tag lists what is required when installing and running the program; a package may be in one list or in both. - -`%description`:: -Enter a longer, multi-line description of the program. Use American English. All lines must be 80 characters or less. Blank lines indicate a new paragraph. -+ -Some graphical user interface installation programs reformat paragraphs; lines that start with whitespace might be treated as preformatted text and displayed as is, normally with a fixed-width font. - -`%prep`:: -Add script commands to "prepare" the program. For example, to extract the program, so that it is ready for building. Typically this is just `%autosetup`; a common variation is `%autosetup -n NAME` if the source file unpacks into `NAME`. - -`%build`:: -Add script commands to compile the program and get it ready for installing. The program must come with instructions on how to do this. - -`%install`:: -Add script commands to "install" the program. The commands must copy the files from the `BUILD` directory `%{_builddir}` into the buildroot directory, `%{buildroot}`. - -`%check`:: -Add script commands to "test" the program. This is run after the `%install` procedure, so place it there if you have this section. Often it contains `make test` or `make check`. This is separated from `%build` so that people can skip the self-test if they desire. - -`%clean`:: -Note that this section is now redundant in Fedora and is only necessary for EPEL. Typically this contains only the following command: `rm -rf %{buildroot}`. - -`%files`:: -Add the list of files to be installed. - -`%changelog`:: -Add changes in the package. Use the format example above. Do not put software's change log here. This change log is only for the RPM. - -`ExcludeArch`:: -If the package does not successfully compile, build or work on a particular architecture, list those architectures under this tag. - -RPM also supports the creation of several packages called subpackages from a single `.spec` file, such as `name-libs` and `name-devel` packages. - -Do *not* create a "relocatable" package; they do not add value in Fedora and make things more complicated. - - -.Inserting comments - -* Insert comments with a leading `#` character, and beware of macros (beginning with `%`) that are potentially multi-line, as they are expanded first. - -* When commenting out a line, double the percent signs (`%%`) of the macros appearing after the `#`. - -* Avoid inline comments on the same line as script commands. diff --git a/en-US/modules/con_runtime_and_permanent_firewalld.adoc b/en-US/modules/con_runtime_and_permanent_firewalld.adoc deleted file mode 100644 index 8862a6c..0000000 --- a/en-US/modules/con_runtime_and_permanent_firewalld.adoc +++ /dev/null @@ -1,15 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - -[id='concept-runtime-and-permanent-firewalld-fedora'] - -= Runtime and permanent settings - -Any changes made while firewalld is running will be lost when firewalld is restarted. When firewalld is restarted, the settings revert to their permanent values. - -These changes are said to be made in _runtime mode_. - -To make the changes persistent across reboots, apply them again using the `--permanent` option. Alternatively, to make changes persistent while firewalld is running, use the `--runtime-to-permanent _firewall-cmd_` option. - -If you make changes while firewalld is running using only the `--permanent` option, they do not become effective until firewalld is restarted. However, restarting firewalld briefly stops the networking traffic, causing disruption to your system. diff --git a/en-US/modules/con_selinux-architecture.adoc b/en-US/modules/con_selinux-architecture.adoc deleted file mode 100644 index f636ef8..0000000 --- a/en-US/modules/con_selinux-architecture.adoc +++ /dev/null @@ -1,11 +0,0 @@ -// Module included in the following assemblies: -// -// getting-started-with-selinux.adoc -:experimental: - -[#{context}-selinux-architecture] -= SELinux architecture - -SELinux is a Linux Security Module (LSM) that is built into the Linux kernel. The SELinux subsystem in the kernel is driven by a security policy which is controlled by the administrator and loaded at boot. All security-relevant, kernel-level access operations on the system are intercepted by SELinux and examined in the context of the loaded security policy. If the loaded policy allows the operation, it continues. Otherwise, the operation is blocked and the process receives an error. - -SELinux decisions, such as allowing or disallowing access, are cached. This cache is known as the Access Vector Cache (AVC). When using these cached decisions, SELinux policy rules need to be checked less, which increases performance. Remember that SELinux policy rules have no effect if DAC rules deny access first. diff --git a/en-US/modules/con_selinux-examples.adoc b/en-US/modules/con_selinux-examples.adoc deleted file mode 100644 index 6cdb880..0000000 --- a/en-US/modules/con_selinux-examples.adoc +++ /dev/null @@ -1,19 +0,0 @@ -// Module included in the following assemblies: -// -// getting-started-with-selinux.adoc -:experimental: - -[#{context}-selinux-examples] -= SELinux examples - -The following examples demonstrate how SELinux increases security: - -* The default action is deny. If an SELinux policy rule does not exist to allow access, such as for a process opening a file, access is denied. - -* SELinux can confine Linux users. A number of confined SELinux users exist in SELinux policy. Linux users can be mapped to confined SELinux users to take advantage of the security rules and mechanisms applied to them. For example, mapping a Linux user to the SELinux `user_u` user, results in a Linux user that is not able to run (unless configured otherwise) set user ID (setuid) applications, such as [command]`sudo` and [command]`su`, as well as preventing them from executing files and applications in their home directory. If configured, this prevents users from executing malicious files from their home directories. - -* Increased process and data separation. Processes run in their own domains, preventing processes from accessing files used by other processes, as well as preventing processes from accessing other processes. For example, when running SELinux, unless otherwise configured, an attacker cannot compromise a Samba server, and then use that Samba server as an attack vector to read and write to files used by other processes, such as MariaDB databases. - -* SELinux helps mitigate the damage made by configuration mistakes. Domain Name System (DNS) servers often replicate information between each other in what is known as a zone transfer. Attackers can use zone transfers to update DNS servers with false information. When running the Berkeley Internet Name Domain (BIND) as a DNS server in Fedora, even if an administrator forgets to limit which servers can perform a zone transfer, the default SELinux policy prevents zone files footnote:[Text files that include information, such as host name to IP address mappings, that are used by DNS servers.] from being updated using zone transfers, by the BIND `named` daemon itself, and by other processes. - -* See the link:++http://www.networkworld.com++[NetworkWorld.com] article, link:++http://www.networkworld.com/article/2283723/lan-wan/a-seatbelt-for-server-software--selinux-blocks-real-world-exploits.html++[A seatbelt for server software: SELinux blocks real-world exploits]footnote:[Marti, Don. "A seatbelt for server software: SELinux blocks real-world exploits". Published 24 February 2008. Accessed 27 August 2009: link:++http://www.networkworld.com/article/2283723/lan-wan/a-seatbelt-for-server-software--selinux-blocks-real-world-exploits.html++[].], for background information about SELinux, and information about various exploits that SELinux has prevented. diff --git a/en-US/modules/con_selinux-states-and-modes.adoc b/en-US/modules/con_selinux-states-and-modes.adoc deleted file mode 100644 index b83bc04..0000000 --- a/en-US/modules/con_selinux-states-and-modes.adoc +++ /dev/null @@ -1,47 +0,0 @@ -// Module included in the following assemblies: -// -// getting-started-with-selinux.adoc -:experimental: - -[#{context}-selinux-states-and-modes] -= SELinux states and modes - -SELinux can run in one of three modes: disabled, permissive, or enforcing. - -Disabled mode is strongly discouraged; not only does the system avoid enforcing the SELinux policy, it also avoids labeling any persistent objects such as files, making it difficult to enable SELinux in the future. - -In permissive mode, the system acts as if SELinux is enforcing the loaded security policy, including labeling objects and emitting access denial entries in the logs, but it does not actually deny any operations. While not recommended for production systems, permissive mode can be helpful for SELinux policy development. - -Enforcing mode is the default, and recommended, mode of operation; in enforcing mode SELinux operates normally, enforcing the loaded security policy on the entire system. - -Use the [command]`setenforce` utility to change between enforcing and permissive mode. Changes made with [command]`setenforce` do not persist across reboots. To change to enforcing mode, enter the [command]`setenforce 1` command as the Linux root user. To change to permissive mode, enter the [command]`setenforce 0` command. Use the [command]`getenforce` utility to view the current SELinux mode: - ----- -~]# getenforce -Enforcing ----- - ----- -~]# setenforce 0 -~]# getenforce -Permissive ----- - ----- -~]# setenforce 1 -~]# getenforce -Enforcing ----- - -In Fedora, you can set individual domains to permissive mode while the system runs in enforcing mode. For example, to make the `httpd_t` domain permissive: - ----- -~]# semanage permissive -a httpd_t ----- - -// See <> for more information. - -// [NOTE] -// ==== -// Persistent states and modes changes are covered in <>. -// ==== diff --git a/en-US/modules/con_sudo-timeout.adoc b/en-US/modules/con_sudo-timeout.adoc deleted file mode 100644 index 3b34ded..0000000 --- a/en-US/modules/con_sudo-timeout.adoc +++ /dev/null @@ -1,15 +0,0 @@ -[[concept-sudo-timeout]] -= sudo timeout - -By default, [command]`sudo` stores the password for a five minute timeout period. Any subsequent uses of the command during this period will not prompt you for a password. This could be exploited by an attacker if you leave your workstation unattended and unlocked while still being logged in. You can change this behavior by adding the following line to the `/etc/sudoers` configuration file: - -[subs=quotes] ------------- -Defaults timestamp_timeout=_VALUE_ ------------- - -Here, `_VALUE_` is the desired timeout length in minutes. Setting the value to 0 causes [command]`sudo` to require a password every time. - -If an account is compromised, an attacker can use [command]`sudo` to open a new shell with administrative privileges. - -Opening a new shell as a root user in this way allows an attacker administrative access for a theoretically unlimited period of time and bypasses the timeout period specified in the `/etc/sudoers` file. Using this method, the attacker *does not* need to provide a password for [command]`sudo` again until the session ends. diff --git a/en-US/modules/con_the-purpose-of-rpm-fusion.adoc b/en-US/modules/con_the-purpose-of-rpm-fusion.adoc deleted file mode 100644 index 0b71e05..0000000 --- a/en-US/modules/con_the-purpose-of-rpm-fusion.adoc +++ /dev/null @@ -1,39 +0,0 @@ -// Module included in the following assemblies: -// -// - -// This module can be included from assemblies using the following include statement: -// include::modules//con_the-purpose-of-rpm-fusion.adoc[leveloffset=+1] - -// The file name and the ID are based on the module title. For example: -// * file name: con_my-concept-module-a.adoc -// * ID: [id='con_my-concept-module-a_{context}'] -// * Title: = My concept module A -// -// The ID is used as an anchor for linking to the module. Avoid changing -// it after the module has been published to ensure existing links are not -// broken. -// -// The `context` attribute enables module reuse. Every module's ID includes -// {context}, which ensures that the module has a unique ID even if it is -// reused multiple times in a guide. -// -// In the title, include nouns that are used in the body text. This helps -// readers and search engines find information quickly. -// Do not start the title with a verb. See also _Wording of headings_ -// in _The IBM Style Guide_. -[id="con_the-purpose-of-rpm-fusion_{context}"] -= The purpose of RPM Fusion - -The RPM Fusion project is community-maintained software repository providing additional packages that cannot be distributed in Fedora for legal reasons. Software patents apply to some of the packages in RPM Fusion, and as a consequence, it might not be legal to install these packages in certain countries: for example, in the United States or in Japan. - -RPM Fusion also provides packages for Red Hat Enterprise Linux. - - -[discrete] -== Additional resources - -* RPM Fusion home page: link:https://rpmfusion.org/[] -* For more information on what packages are allowed to be distributed with Fedora, see the following wiki page: link:https://fedoraproject.org/wiki/Forbidden_items[] -* You can buy multimedia codecs from Fluendo. This is a legal solution for users from countries where software patents apply. For more information, see: link:https://fluendo.com/en/products/enterprise/fluendo-codec-pack/[]. - diff --git a/en-US/modules/con_understanding-systemd.adoc b/en-US/modules/con_understanding-systemd.adoc deleted file mode 100644 index 42b630d..0000000 --- a/en-US/modules/con_understanding-systemd.adoc +++ /dev/null @@ -1,51 +0,0 @@ -[id='understanding-systemd'] -= Understanding systemd - -systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. systemd provides: - -* Aggressive parallelization capabilities -* Uses socket and D-Bus activation for starting services -* Offers on-demand starting of daemons, keeps track of processes using Linux cgroups -* Supports snapshotting and restoring of the system state -* Maintains mount and automount points -* Implements an elaborate transactional dependency-based service control logic. - -The `systemctl` command is the primary tool to manage systemd. It combines the functionality of SysVinit's `service` and `chkconfig` commands into a single tool you can use to enable and disable services permanently or only for the current session. - -systemd manages _units_, which are representations of system resources and services. This following list shows the unit types that systemd can manage: - -service:: - A service on the system, including instructions for starting, restarting, and stopping the service. - -socket:: - A network socket associated with a service. - -device:: - A device specifically managed with systemd. - -mount:: - A mountpoint managed with systemd. - -automount:: - A mountpoint automatically mounted on boot. - -swap:: - Swap space on the system. - -target:: - A synchronization point for other units. Usually used to start enabled services on boot. - -path:: - A path for path-based activation. For example, you can start services based on the state of a certain path, such as whether it exists or not. - -timer:: - A timer to schedule activation of another unit. - -snapshot:: - A snapshot of the current systemd state. Usually used to rollback after making temporary changes to systemd. - -slice:: - Restrivtion of resources through Linux Control Group nodes (cgroups). - -scope:: - Information from systemd bus interfaces. Usually used to manage external system processes. diff --git a/en-US/modules/con_using-sudo-access-docker.adoc b/en-US/modules/con_using-sudo-access-docker.adoc deleted file mode 100644 index 1c789cc..0000000 --- a/en-US/modules/con_using-sudo-access-docker.adoc +++ /dev/null @@ -1,8 +0,0 @@ -[id="concept-using-sudo-access-docker"] -= Using sudo to access Docker - -Docker has the ability to change the group ownership of the Docker socket to allow users added to the Docker group to be able to run Docker containers without having to execute the [command]`sudo` or [command]`su` command to become root. - -Enabling access to the Docker daemon from non-root users is a problem from a security perspective. It is a security issue for Fedora, because if a user can talk to the Docker socket they can execute a command which gives them full root access to the host system. Docker has no auditing or logging built in, while [command]`sudo` does. - -It is recommended that sudo rules are implemented to permit access to the Docker daemon. This allows [command]`sudo` to provide logging and audit functionality. diff --git a/en-US/modules/con_using-sudo-assign-admin-privileges.adoc b/en-US/modules/con_using-sudo-assign-admin-privileges.adoc deleted file mode 100644 index bdee72e..0000000 --- a/en-US/modules/con_using-sudo-assign-admin-privileges.adoc +++ /dev/null @@ -1,26 +0,0 @@ -[id="con_using-sudo-assign-admin-privileges"] -= Using sudo to assign administrator privileges - -Add users to the [directory]`/etc/sudoers` configuration file to allow them to use the [command]`sudo` command. For these users, the [command]`sudo` command is run in the user’s shell instead of in a root shell. As a result, the root shell can be disabled for increased security. - -The administrator can also allow different users access to specific commands using the sudo configuration. Administrators must use the [command]`visudo` command to edit the [directory]`/etc/sudoers` configuration file. - -To assign full administrative privileges to a user, type [command]`visudo` and add the following line to the user privilege section after replacing `_USERNAME_` with the target user name: - -[subs=quotes] ----- -_USERNAME_ ALL=(ALL) ALL ----- - -This line allows the specified user to use [command]`sudo` from any host and execute any command. - -To allow a user access to specific commands, use the following example after replacing `_USERS_` with a target system group: - -[subs=quotes] ----- -_%USERS_ localhost=/usr/sbin/shutdown -h now ----- - -This command allows all members of the `_USERS_` system group to issue the [command]`/sbin/shutdown -h` as long as the command is issued from the console. - -The man page for [command]`sudoers` has a detailed listing of options for this file. diff --git a/en-US/modules/con_using-sudo-without-password.adoc b/en-US/modules/con_using-sudo-without-password.adoc deleted file mode 100644 index 4129b8b..0000000 --- a/en-US/modules/con_using-sudo-without-password.adoc +++ /dev/null @@ -1,13 +0,0 @@ -[[concept-using-sudo-without-password]] -= Using sudo without a password - -You can enable `root` access without a password specified, allowing any process on your system to become `root`. Add the following line to your `/etc/sudoers` file: - -[subs=quotes] ------------- -_user_ ALL=(ALL) NOPASSWD: /usr/bin/docker ------------- - -This will allow `_user_` to access docker without a password. - -IMPORTANT: For security reasons, it is recommended that you always use [command]`sudo` with a password. diff --git a/en-US/modules/con_using-the-system-wide-trust-store.adoc b/en-US/modules/con_using-the-system-wide-trust-store.adoc deleted file mode 100644 index 2c9dc01..0000000 --- a/en-US/modules/con_using-the-system-wide-trust-store.adoc +++ /dev/null @@ -1,18 +0,0 @@ -[[using-the-system-wide-trust-store]] -= Using the System-wide Trust Store - -In Fedora, the consolidated system-wide trust store is located in the `/etc/pki/ca-trust/` and `/usr/share/pki/ca-trust-source/` directories. The trust settings in `/usr/share/pki/ca-trust-source/` are processed with lower priority than settings in `/etc/pki/ca-trust/`. - -Certificate files are treated depending on the subdirectory they are installed to the following directories: - -* for trust anchors -** `/usr/share/pki/ca-trust-source/anchors/` or -** `/etc/pki/ca-trust/source/anchors/` -* for distrusted certificates -** `/usr/share/pki/ca-trust-source/blacklist/` or -** `/etc/pki/ca-trust/source/blacklist/` -* for certificates in the extended BEGIN TRUSTED file format -** `/usr/share/pki/ca-trust-source/` or -** `/etc/pki/ca-trust/source/` - -NOTE: In a hierarchical cryptographic system, a trust anchor is an authoritative entity which is assumed to be trustworthy. For example, in X.509 architecture, a root certificate is a trust anchor from which a chain of trust is derived. The trust anchor must be put in the possession of the trusting party beforehand to make path validation possible. diff --git a/en-US/modules/con_viewing-logs.adoc b/en-US/modules/con_viewing-logs.adoc deleted file mode 100644 index d44f613..0000000 --- a/en-US/modules/con_viewing-logs.adoc +++ /dev/null @@ -1,27 +0,0 @@ -[id='viewing-logs'] -= Viewing logs - -Log files contain messages about the system, including the kernel, services, and applications running on it. There are different log files for different information. For example, there is a default system log file, a log file for security messages, and a log file for cron tasks. - -[id='locating-log-files'] -== Locating log files - -Most log files are located in the `/var/log/` directory. - -`Rsyslog` is a system utility that provides support for logging. To install the _rsyslog_ package: ----- -$ sudo dnf install rsyslog ----- -To view a list of log files maintained by the related daemon, `rsyslogd`, enter the following command: ----- -$ less /etc/rsyslog.conf ----- - -[id='viewing-log-files'] -== Viewing log files - -In Fedora, there are two ways to open the log files: - -* The command line - -* A GUI application diff --git a/en-US/modules/con_what-is-sudo.adoc b/en-US/modules/con_what-is-sudo.adoc deleted file mode 100644 index b310538..0000000 --- a/en-US/modules/con_what-is-sudo.adoc +++ /dev/null @@ -1,15 +0,0 @@ -[id='con_what-is-sudo'] -= What is sudo? - -The [command]`sudo` command allows users to gain administrative or root access. When trusted users precede an administrative command with [command]`sudo`, they are prompted for their own password. Then, when they have been authenticated and assuming that the command is permitted, the administrative command is executed as if they were the root user. - -Only users listed in the [filename]`/etc/sudoers` configuration file are allowed to use the [command]`sudo` command. The command is executed in the user's shell, not a root shell. - -The syntax for the sudo command is as follows: - -[subs=quotes] ----- -sudo _COMMAND_ ----- - -Replace `_COMMAND_` with the command to run as the root user. diff --git a/en-US/modules/con_why-it-is-important-keeping-your-system-up-to-date.adoc b/en-US/modules/con_why-it-is-important-keeping-your-system-up-to-date.adoc deleted file mode 100644 index c4e2db3..0000000 --- a/en-US/modules/con_why-it-is-important-keeping-your-system-up-to-date.adoc +++ /dev/null @@ -1,8 +0,0 @@ -[id='why-it-is-important-to-keep-your-system-up-to-date'] -= Why it is important to keep your system up-to-date - -// Bara: This section is based on https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/chap-keeping_your_system_up-to-date - -This section briefly explains the importance of updating your system on a regular basis. - -All software contains bugs. Often, these bugs can result in a vulnerability that can expose your system to malicious users. Packages that have not been updated are a common cause of computer intrusions. Implement a plan for installing security patches in a timely manner to quickly eliminate discovered vulnerabilities, so they cannot be exploited. diff --git a/en-US/modules/con_xorg-conf.adoc b/en-US/modules/con_xorg-conf.adoc deleted file mode 100644 index d7f8b55..0000000 --- a/en-US/modules/con_xorg-conf.adoc +++ /dev/null @@ -1,6 +0,0 @@ -[id='con_about-xorg-conf'] -= About xorg.conf - -Traditionally, the xorg.conf file is used to configure the X server. In Fedora, the X configuration is determined automatically each time X is started. As a result, no xorg.conf file is created. In most cases, this works well and there is no need to manually specify X configuration. - -If you need to make manual changes to your X configuration for any reason, you will first need to create an `xorg.conf` file. diff --git a/en-US/modules/concept_chromium-web-browser.adoc b/en-US/modules/concept_chromium-web-browser.adoc deleted file mode 100644 index 680a328..0000000 --- a/en-US/modules/concept_chromium-web-browser.adoc +++ /dev/null @@ -1,20 +0,0 @@ -[id='chromium-web-browser'] -= Chromium and Google Chrome web browsers - -Only the Chromium browser is available from official Fedora repositories. - - -[id='chromium'] -== Chromium - -Chromium is the upstream project for Google Chrome. - -NOTE: As of August 2016, Chromium is included in the Fedora Repositories. If you were using the old Chromium http://copr.fedoraproject.org/coprs/spot/chromium/[Copr] repository, upgrade your Chromium. - -Fedora's Chromium package does not support h264, mp3, or aac because of legal concerns. It is built to support the *widevine* plugin (but does not include it). - - -[id='google-chrome'] -== Google Chrome - -Chromium is upstream for Google Chrome. Fedora does not include Google Chrome because it is a proprietary product and bundles other proprietary software, such as Adobe Flash plugin. However, Google does maintain a DNF or YUM repository for Fedora at link:https://www.google.com/chrome/[google.com/chrome]. The given link also includes downloadable RPMs that you can use to install Chrome. diff --git a/en-US/modules/concept_fedora-virtio-drivers-vs-rhel.adoc b/en-US/modules/concept_fedora-virtio-drivers-vs-rhel.adoc deleted file mode 100644 index 330edba..0000000 --- a/en-US/modules/concept_fedora-virtio-drivers-vs-rhel.adoc +++ /dev/null @@ -1,15 +0,0 @@ -[[fedora-virtio-drivers-vs-rhel]] -= Fedora VirtIO Drivers vs. RHEL VirtIO Drivers - -The RPMs in the *virtio-win-stable* repository are the same driver builds as what is shipped with Red Hat Enterprise Linux. All the Windows binaries are from builds done on Red Hat's internal build system, which are generated using publicly available code. For more details about how the RPM and repo are built, see the https://github.com/crobinso/virtio-win-pkg-scripts[README for this repo]. - -The drivers are cryptographically signed with Red Hat's vendor signature. However they are not signed with Microsoft's https://docs.microsoft.com/en-us/windows-hardware/drivers/install/whql-release-signature[WHQL signature]. - -NOTE: Historically the .iso files shipped on alt.fedoraproject.org did _not_ match the layout of the .iso shipped with Red Hat Enterprise Linux. This changed in April 2015. - -The current Fedora RPM/ISO directory structure is laid out to mirror exactly the layout that is shipped with the latest release of Red Hat Enterprise Linux. This is so that users and developers don't seen any differences between the two distros. - -* The `.iso` directories are named after the driver code directories from the upstream driver git tree. -* Below the driver directories, the `$winversion/$arch/` directory naming -is a Windows convention. -* The RPM layout is arbitrary in that it ships the `.vfd` content in the `drivers/` dir, but not many of the other drivers from the `.iso`. This seems to be an historical oversight and should probably be fixed. diff --git a/en-US/modules/concept_third-party-repositories.adoc b/en-US/modules/concept_third-party-repositories.adoc deleted file mode 100644 index 6b734a3..0000000 --- a/en-US/modules/concept_third-party-repositories.adoc +++ /dev/null @@ -1,14 +0,0 @@ -[id='third-party-repositories'] -= Third party repositories - -There are a number of third-party software repositories for Fedora. They have more liberal licensing policies and provide software packages that Fedora excludes for various reasons. These software repositories are not officially affiliated or endorsed by the Fedora Project. Use them at your own discretion. For complete list, see https://rpmfusion.org/FedoraThirdPartyRepos[FedoraThirdPartyRepos] -The following repositories are commonly used by end users and do not conflict with each other: - -* http://rpmfusion.org - -* http://rpm.livna.org (Complementary to RPM Fusion) - -== Mixing third party software repositories - -Mixing a lot of third party repositories is not recommended since they might conflict with each other causing instability and hard to debug issues. If you are not a technical user, one way is to not enable the third-party repo by default and instead use the *--enablerepo* switch for yum or dnf, or a similar method configurable in the graphical package manager. - diff --git a/en-US/modules/concept_virtio-win-repo-overview.adoc b/en-US/modules/concept_virtio-win-repo-overview.adoc deleted file mode 100644 index dd4033d..0000000 --- a/en-US/modules/concept_virtio-win-repo-overview.adoc +++ /dev/null @@ -1,10 +0,0 @@ -[[virtio-win-repo-overview]] -= VirtIO-Win Repo Overview - -There is a yum|dnf repo available via the RPM package manager (RPM) that ships virtio-win packages. You can use these RPMs to install driver binaries and agent installers into the `/usr/share` directory on your host machine. You can then share the bits with Windows VMs running on the host. - -The .repo file provides two different repositories: - -* *virtio-win-stable* - This repository provides builds of virtio-win that roughly correlate to what was shipped with the most recent Red Hat Enterprise Linux release, meaning these builds have undergone testing and are considered stable. This repo is enabled by default. - -* *virtio-win-latest* - This repository provides the latest driver builds. The builds may be bug free, development quality, or completely broken. https://en.wikipedia.org/wiki/Caveat_emptor[Caveat emptor]. This repo is disabled by default. diff --git a/en-US/modules/proc_Brief-selection-of-nmcli-examples.adoc b/en-US/modules/proc_Brief-selection-of-nmcli-examples.adoc deleted file mode 100644 index 1136d22..0000000 --- a/en-US/modules/proc_Brief-selection-of-nmcli-examples.adoc +++ /dev/null @@ -1,108 +0,0 @@ -// Module included in the following assemblies: -// -// assembly_Configuring-networking-with-nmcli.adoc - -[id='Brief-selection-of-nmcli-examples'] -= Brief Selection of nmcli Examples - -This section provides a brief selection of [application]*nmcli* examples. - -[discrete] -== Prerequisites -<> - - -.Checking the overall status of NetworkManager -==== - -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ pass:attributes[{blank}][command]`nmcli general status` -STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN -connected full enabled enabled enabled enabled -.... - -In terse mode: - -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ pass:attributes[{blank}][command]`nmcli -t -f STATE general` -connected -.... - -==== - -.Viewing NetworkManager logging status -==== - -[literal,subs="+quotes,verbatim"] -.... -~]$ [command]`nmcli general logging` - LEVEL DOMAINS - INFO PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,WIFI_SCAN,IP4,IP6,A -UTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC, -WIMAX,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,DBUS_PROPS,TEAM,CONCHECK,DC -B,DISPATCH -.... - -==== - -.Viewing all connections -==== - -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ pass:attributes[{blank}][command]`nmcli connection show` - NAME UUID TYPE DEVICE -Profile 1 db1060e9-c164-476f-b2b5-caec62dc1b05 ethernet ens3 -ens3 aaf6eb56-73e5-4746-9037-eed42caa8a65 ethernet -- -.... - -==== - -.Viewing only currently active connections -==== - -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ pass:attributes[{blank}][command]`nmcli connection show --active` - NAME UUID TYPE DEVICE -Profile 1 db1060e9-c164-476f-b2b5-caec62dc1b05 ethernet ens3 -.... - -==== - -.Viewing only devices recognized by [application]*NetworkManager* and their state -==== - -[literal,subs="+quotes,verbatim,macros"] -.... -~]$ pass:attributes[{blank}][command]`nmcli device status` -DEVICE TYPE STATE CONNECTION -ens3 ethernet connected Profile 1 -lo loopback unmanaged -- -.... - -==== - -You can also use the following abbreviations of the [application]*nmcli* commands: - -[[tabl-nmcli_examples]] -.Abbreviations of some nmcli commands - -[options="header"] -|=== -|nmcli command|abbreviation -|nmcli general status|nmcli g -|nmcli general logging|nmcli g log -|nmcli connection show|nmcli con show -|nmcli connection show --active|nmcli con show -a -|nmcli device status|nmcli dev -|=== - -[discrete] -== Additional resources - -* For more examples, see the -[citetitle]_pass:attributes[{blank}]*nmcli-examples*(5)_ -man page. diff --git a/en-US/modules/proc_adding-new-certificates.adoc b/en-US/modules/proc_adding-new-certificates.adoc deleted file mode 100644 index 14831a2..0000000 --- a/en-US/modules/proc_adding-new-certificates.adoc +++ /dev/null @@ -1,20 +0,0 @@ -[id='proc_adding-new-certificates'] -= Adding New Certificates - -To add a certificate in the simple PEM or DER file formats to the list of CAs trusted on the system, copy the certificate file to the `/usr/share/pki/ca-trust-source/anchors/` or `/etc/pki/ca-trust/source/anchors/` directory, for example: - -[subs="+quotes,macros"] ----- -# cp _~/certificate-trust-examples/Cert-trust-test-ca.pem_ _/usr/share/pki/ca-trust-source/anchors/_ ----- - -To update the system-wide trust store configuration, use the [command]`update-ca-trust` command: - ----- -# update-ca-trust ----- - -[NOTE] -==== -While the Firefox browser is able to use an added certificate without executing [command]`update-ca-trust`, it is recommended to run [command]`update-ca-trust` after a CA change. Also note that browsers, such as Firefox, Epiphany, or Chromium, cache files, and you might need to clear the browser's cache or restart your browser to load the current system certificates configuration. -==== diff --git a/en-US/modules/proc_adding-new-fonts-as-superuser.adoc b/en-US/modules/proc_adding-new-fonts-as-superuser.adoc deleted file mode 100644 index 988ec5c..0000000 --- a/en-US/modules/proc_adding-new-fonts-as-superuser.adoc +++ /dev/null @@ -1,81 +0,0 @@ -[[adding-new-fonts-as-superuser]] -= Adding new fonts as the superuser - -System fonts are available to all system users. If you need to add system fonts, there are two ways: - -. Use the `dnf` package manager to install font packages, -. Manually add fonts to the system and update the font cache to make them available to the users. - -[WARNING] -==== -If you manually add system-wide fonts, you will not be able to control them with the package manager. If the font is provided as a distribution package, you should always use the package manager to install it. -==== - - -[[installing-new-fonts-with-dnf]] -== Installing new fonts with dnf - -Whenever you can add new fonts by installing a font package with the `dnf` package manager, you should do so. This method gives you control over the font package in the future, such as updating the package and removing it from the system. - -To install a font package with `dnf`: - - -[discrete] -=== Before you start - -* Add and enable repositories with font packages. -+ -[NOTE] -==== -A lot of fonts are available from the RPMfusion repository. To enable the repository on your system, follow the instructions on link:https://rpmfusion.org/Configuration[the RPMfusion webpage]. -==== - - -[discrete] -=== Procedure - -. List all available font packages from enabled repositories. -+ ----- -# dnf search fonts ----- - -. Install the package you need. -+ ----- -# dnf install libreoffice-opensymbol-fonts.noarch ----- - - -[discrete] -=== More information - -* The `dnf search fonts` command lists all available font packages, as well as their descriptions. - - -[[installing-new-fonts-manually]] -== Installing new fonts manually - -When you need to install fonts that are not available in a repository, you can install them manually by copying the font files into a system font directory and updating the font cache. - - -[discrete] -== Procedure - -. Create a new directory in the system's font directory `/usr/share/fonts`, where you will place the font files. -+ ----- -# mkdir /usr/share/fonts/robofont ----- - -. Copy the font file to the font's directory created in the previous step. -+ ----- -# cp ~/fonts/robofont.ttf /usr/share/fonts/robofont ----- - -. Update the font cache. -+ ----- -# fc-cache -v ----- diff --git a/en-US/modules/proc_adding-new-fonts-as-user.adoc b/en-US/modules/proc_adding-new-fonts-as-user.adoc deleted file mode 100644 index fbccfaf..0000000 --- a/en-US/modules/proc_adding-new-fonts-as-user.adoc +++ /dev/null @@ -1,71 +0,0 @@ -[[adding-new-fonts-as-user]] -= Adding new fonts as a user - -When you do not have superuser access to install fonts on the system level, or you only need to install a font that will be available to your user account only, there are two methods to do it. - - -[[adding-new-local-fonts-with-gfv]] -== Adding new local fonts with the Gnome Font Viewer - -The *Gnome Font Viewer* is an application to display the fonts installed on the system. It also allows you to locally install fonts. To add a new font file with *Gnome Font Viewer*: - - -[discrete] -=== Before you start - -* Make sure you have installed the `gnome-font-viewer` package. - - -[discrete] -=== Procedure - -. Open a file manager. - -. Double-click on a font file to open it in the *Gnome Font Viewer*. - -. Click on the blue btn:[Install] button on the top bar. -+ -[NOTE] -==== -Currently, there is a bug in the application. When you click on the btn:[Install] button, it does not inform whether the installation succeeded. -==== - - -[discrete] -=== More information - -* *Gnome Font Viewer* copies the font files to a font directory in the current user's directory `.local/share/fonts` and updates the font cache. - - -[[adding-new-local-fonts-manually]] -== Adding new local fonts manually - -If you do not want to use any tools to add new fonts, you can do it manually. Copy the font files in the `.fonts` directory placed in the user's directory and update the font cache. - - -[discrete] -=== Before you start - -* If it does not exist, create a `.fonts` directory in your user's home directory. - - -[discrete] -=== Procedure - -. In the `.local/share/fonts` directory, create a new directory to place your fonts files. -+ ----- -$ mkdir ~/.local/share/fonts/robofont ----- - -. Copy the font file into the newly created directory. -+ ----- -$ cp robofont.ttf ~/.local/share/fonts/robofont ----- - -. Update the font cache. -+ ----- -$ fc-cache -v ----- diff --git a/en-US/modules/proc_adding-other-operating-systems-grub2.adoc b/en-US/modules/proc_adding-other-operating-systems-grub2.adoc deleted file mode 100644 index 2486127..0000000 --- a/en-US/modules/proc_adding-other-operating-systems-grub2.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[[adding-other-operating-systems-grub2]] -= Adding other operating systems to the GRUB2 menu - -Normally, *GRUB2* is preset to boot multiple operating systems during the Fedora installation process. If you can, it is advisable to install non-Linux operating systems first. Then, during the installation process, all those operating systems and their locations will be discovered and properly set. - -Adding other records into the *GRUB2* menu only means to run `grub2-mkconfig` command to regenerate the configuration files. During this process, all operating systems known to the system will be added into the configuration. By reinstalling *GRUB2* into the MBR, this configuration will be used for further boots. - -.Before you start - -* Make sure that the operating systems are on disks, connected to the system. -* You have the `os-prober` package installed. - -.Procedure - -. Recreate the *GRUB2* configuration file. -+ ----- -# grub2-mkconfig -o /boot/grub2/grub.cfg ----- - -. Install *GRUB2* into the MBR of your primary hard disk. -+ ----- -# grub2-install /dev/sda ----- - -.More information - -* The `grub2-mkconfig` command will add entries for all operating systems it can find. -* When problems appear, see the link:http://www.gnu.org/software/grub/manual/grub.html#Multi_002dboot-manual-config[GRUB manual] to solve issues with booting secondary operating systems. - diff --git a/en-US/modules/proc_adding-repositories.adoc b/en-US/modules/proc_adding-repositories.adoc deleted file mode 100644 index 77fca32..0000000 --- a/en-US/modules/proc_adding-repositories.adoc +++ /dev/null @@ -1,21 +0,0 @@ -[id='adding-repositories'] -= Adding repositories - -This section describes how to add software repositories with the `dnf config-manger` command. - -Use the following commands as the `root` user or under the `sudo` utility. - -. Define a new repository by adding a new file with the `.repo` suffix to the [filename]`/etc/yum.repos.d/` directory. For details about various options to use in the `.repo` file, see the link:https://docs-old.fedoraproject.org/en-US/Fedora/26/html/System_Administrators_Guide/sec-Setting_repository_Options.html[Setting [repository\] Options] section in the System Administrator's Guide - -. Add the newly created repository. -+ -[literal,subs="+quotes,attributes"] ----- -# dnf config-manger --add-repo _repository_ ----- -+ -Replace `_repository_` with the path to the created `.repo` file, for example: -+ ----- -# dnf config-manager --add-repo /etc/yum.repos.d/fedora_extras.repo ----- diff --git a/en-US/modules/proc_adding-shortcut-custom-app-gnome.adoc b/en-US/modules/proc_adding-shortcut-custom-app-gnome.adoc deleted file mode 100644 index 40c88cf..0000000 --- a/en-US/modules/proc_adding-shortcut-custom-app-gnome.adoc +++ /dev/null @@ -1,56 +0,0 @@ -[id='adding-shortcut-custom-app-gnome'] -= Adding keyboard shortcuts for custom applications in GNOME - -This section describes how to add a keyboard shortcut for starting a custom application in GNOME. - -[discrete] -== Procedure - -. Open *Settings* and choose the *Devices* entry from the list: -+ -image::shortcuts-settings-devices.png[] -+ -NOTE: Earlier Fedora versions might not need this step. - -. Choose the *Keyboard* entry from the list and scroll down to the bottom of the list of keyboard shortcuts: -+ -image::shortcuts-keyboard-scroll.png[] - -. Click the *+* button at the bottom of the list. -+ -A window for entering the details appears: -+ -image::shortcuts-add-empty.png[] - -. Fill in details for the application. -+ -image::shortcuts-add-filled.png[] -+ -Replace _My Application_ with the name of the application and _myapp --special options_ with the command to run this application, including any options. - -. Click the *Set shortcut...* button. -+ -A window for entering the keyboard shortcut appears: -+ -image::shortcuts-add-enter.png[] - -. Press the key combination that should become the shortcut for starting the application. -+ -As soon as you release the key combination, the window for entering the shortcut closes. The window for application name and command now displays the entered shortctut: -+ -image::shortcuts-add-shortcut.png[] - -. Click the *Add* button. -+ -Your application shortcut now appears in the list under _Custom Shortcuts_: -+ -image::shortcuts-added.png[] - -// optional - close settings? - -//// -info sources: - -http://ask.fedoraproject.org/en/question/9623/how-can-i-set-a-key-shortcut-to-launch-terminal-under-gnome/ -https://help.gnome.org/users/gnome-help/stable/keyboard-shortcuts-set.html.en -//// diff --git a/en-US/modules/proc_backup-gpg-keys-cli.adoc b/en-US/modules/proc_backup-gpg-keys-cli.adoc deleted file mode 100644 index a93e129..0000000 --- a/en-US/modules/proc_backup-gpg-keys-cli.adoc +++ /dev/null @@ -1,12 +0,0 @@ -[[backup-gpg-keys-cli]] -= Making a Key Backup Using the Command Line - - Use the following command to make the backup, which you can then copy to a destination of your choice: - ----- -gpg2 --export-secret-keys --armor jqdoe@example.com > jqdoe-privkey.asc ----- - -Store the copy in a secure place, such as a locked container. - -See now <>. diff --git a/en-US/modules/proc_backup-gpg-keys-gnome.adoc b/en-US/modules/proc_backup-gpg-keys-gnome.adoc deleted file mode 100644 index a4bd015..0000000 --- a/en-US/modules/proc_backup-gpg-keys-gnome.adoc +++ /dev/null @@ -1,12 +0,0 @@ -[[backup-gpg-keys-gnome]] -= Making a Key Backup Using the GNOME Desktop - -. Right-click your key and select _Properties_. - -. Select the _Details_ tab, and _Export_, next to the _Export Complete Key_ label. - -. Select a destination filename and click btn:[Save]. - -. Store the copy in a secure place, such as a locked container. - -See now <>. diff --git a/en-US/modules/proc_backup-gpg-keys-kde.adoc b/en-US/modules/proc_backup-gpg-keys-kde.adoc deleted file mode 100644 index cf2f0b3..0000000 --- a/en-US/modules/proc_backup-gpg-keys-kde.adoc +++ /dev/null @@ -1,13 +0,0 @@ -[[backup-gpg-keys-kde]] -= Making a Key Backup Using the KDE Desktop - -. Right-click your key and select _Export Secret Key_. - -. Click btn:[Export] to continue at the confirmation dialog. - -. Select a destination filename. - -. Click btn:[Save]. - -Store the copy in a secure place, such as a locked container. -See <>. diff --git a/en-US/modules/proc_booting-from-usb-sticks.adoc b/en-US/modules/proc_booting-from-usb-sticks.adoc deleted file mode 100644 index 7f82c07..0000000 --- a/en-US/modules/proc_booting-from-usb-sticks.adoc +++ /dev/null @@ -1,47 +0,0 @@ -[id='booting_from_USB_sticks'] -= Booting from USB sticks - -Almost all modern PCs can boot from USB sticks. However, how you tell the system to boot from a USB stick varies substantially from system to system. Initially, you can try this: - -. Power off the computer. -. Plug the USB drive into a USB port. -. Remove all other portable media, such as CDs, DVDs, floppy disks or other USB sticks. -. Power on the computer. -. If the computer is configured to automatically boot from the USB drive, you will see a screen that says "Automatic boot in 10 seconds..." with a countdown. -+ -If you do a native UEFI boot, where you will see a rather more minimal boot menu. - -If the computer starts to boot off the hard drive as normal, you'll need to manually configure it to boot off the USB drive. Usually, that should work like this: - -. Wait for a safe point to reboot. -. As the machine starts to reboot, watch carefully for instructions on which key to press. Usually a function key, `Escape`, `Tab` or `Delete` is to be pressed to enter the boot device selection menu, `BIOS setup`, `firmware`, or `UEFI`. Press and hold that key. If you miss the window of opportunity, often only a few seconds, then reboot and try again. -. Use the firmware, `BIOS`, interface or the boot device menu to put your USB drive first in the boot sequence. It might be listed as a hard drive rather than a removable drive. Each hardware manufacturer has a slightly different method for doing so. -+ -IMPORTANT: Your computer could become unbootable or lose functionality if you change any other settings. Though these settings can be reverted, you'll need to remember what you changed in order to do so. -. Save the changes, exit, and the computer should boot from the USB drive. - -If your system has a UEFI firmware, it will usually allow you to boot the stick in UEFI native mode or BIOS compatibility mode. If you boot in UEFI native mode and perform a Fedora installation, you will get a UEFI native Fedora installation. If you boot in BIOS compatibility mode and perform a Fedora installation, you will get a BIOS compatibility mode Fedora installation. - -For more information on all this, see the http://fedoraproject.org/wiki/Unified_Extensible_Firmware_Interface[UEFI page]. USB sticks written from x86_64 images with link:using-fedora-media-writer[Fedora Media Writer], GNOME Disk Utility, `dd`, other dd-style utilities, and link:proc_creating-and-using-live-cd.html[Creating and using live CD] with the --efi option specified, should be UEFI native bootable. Sticks written with other utilities may not be UEFI native bootable, and sticks written from i686 images will never be UEFI bootable. - - -[id='identifying_stick'] -== Identifying a stick on Linux - -Most of the writing methods will require you to know the `/dev` name for your USB stick, e.g. `/dev/sdc`, when using them on Linux. You do not need to know this in order to use Fedora Media Writer. To find this out: - -. Insert the USB stick into a USB port. -. Open a terminal and run `dmesg`. -. Near the end of the output, you will see something like: -+ -[options="nowrap"] ----- -[32656.573467] sd 8:0:0:0: [sdX] Attached SCSI removable disk ----- -+ -`sdX` will be `sdb`, `sdc`, `sdd`, etc. - -[NOTE] -==== -This is the name of the disk you will use. We'll call it `sdX` from now on. If you have connected more than one USB stick to the system, be careful that you identify the correct one, often you will see a manufacturer name or capacity in the output which you can use to make sure you identified the correct stick. -==== diff --git a/en-US/modules/proc_booting-with-configfile-on-different-partition.adoc b/en-US/modules/proc_booting-with-configfile-on-different-partition.adoc deleted file mode 100644 index 5c34d39..0000000 --- a/en-US/modules/proc_booting-with-configfile-on-different-partition.adoc +++ /dev/null @@ -1,32 +0,0 @@ -[[booting-with-configfile-on-different-partition]] -= Booting the system using a configuration file on a different partition. - -If you end up in *GRUB2* boot prompt, it is also possible to boot using a _configfile_ that's located on another -partition, as is often the case with multi-boot systems containing Ubuntu and Fedora. To boot the system using a configuration files on a different partition: - -.Procedure - -. Load necessary modules to read the partitions. -+ ----- -insmod part_msdos -insmod xfs -insmod lvm ----- - -. Set the root partition. -+ ----- -set root='hd0,msdos1' ----- - -. Set the path to the configuration file. -+ ----- -configfile /grub2/grub.cfg ----- - -.More information - -* The *hd0,msdos1* line shows the pertinent _boot_ partition, which holds the `grub.cfg` file. The setting may be different on your system. See also xref:using-grub2-prompt[Using the GRUB2 boot prompt] for more information. - diff --git a/en-US/modules/proc_changing-to-enforcing-mode.adoc b/en-US/modules/proc_changing-to-enforcing-mode.adoc deleted file mode 100644 index 8a47da6..0000000 --- a/en-US/modules/proc_changing-to-enforcing-mode.adoc +++ /dev/null @@ -1,52 +0,0 @@ -// Module included in the following assemblies: -// -// changing-selinux-states-and-modes.adoc - -[#{context}-changing-to-enforcing-mode] -= Changing to enforcing mode - -When SELinux is running in enforcing mode, it enforces the SELinux policy and denies access based on SELinux policy rules. In Fedora, enforcing mode is enabled by default when the system was initially installed with SELinux. - -If SELinux was disabled, follow the procedure below to change mode to enforcing again: - -This procedure assumes that the [package]*selinux-policy-targeted*, [package]*selinux-policy*, [package]*libselinux*, [package]*libselinux-python*, [package]*libselinux-utils*, [package]*policycoreutils*, and [package]*policycoreutils-python* packages are installed. To verify that the packages are installed, use the following command: -[subs="quotes"] ----- -~]$ rpm -q _package_name_ ----- - -. Edit the `/etc/selinux/config` file as follows: -+ ----- -# This file controls the state of SELinux on the system. -# SELINUX= can take one of these three values: -# enforcing - SELinux security policy is enforced. -# permissive - SELinux prints warnings instead of enforcing. -# disabled - No SELinux policy is loaded. -SELINUX=pass:quotes[*enforcing*] -# SELINUXTYPE= can take one of these two values: -# targeted - Targeted processes are protected, -# mls - Multi Level Security protection. -SELINUXTYPE=targeted ----- - -. Reboot the system: -+ ----- -~]# reboot ----- -+ -On the next boot, SELinux relabels all the files and directories within the system and adds SELinux context for files and directories that were created when SELinux was disabled. - -[NOTE] -==== -After changing to enforcing mode, SELinux may deny some actions because of incorrect or missing SELinux policy rules. To view what actions SELinux denies, enter the following command as root: ----- -~]# ausearch -m AVC,USER_AVC,SELINUX_ERR -ts today ----- -Alternatively, with the [package]*setroubleshoot-server* package installed, enter the following command as root: ----- -~]# grep "SELinux is preventing" /var/log/messages ----- -If SELinux denies some actions, see the link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-troubleshooting[Troubleshooting] chapter in the link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/index[Red Hat Enterprise Linux 7 SELinux User's and Administrator's Guide] for information about troubleshooting. -==== diff --git a/en-US/modules/proc_changing-to-permissive-mode.adoc b/en-US/modules/proc_changing-to-permissive-mode.adoc deleted file mode 100644 index f9affb6..0000000 --- a/en-US/modules/proc_changing-to-permissive-mode.adoc +++ /dev/null @@ -1,31 +0,0 @@ -// Module included in the following assemblies: -// -// assembly_changing-selinux-states-and-modes.adoc - -[#{context}-changing-to-permissive-mode] -= Changing to permissive mode - -When SELinux is running in permissive mode, SELinux policy is not enforced. The system remains operational and SELinux does not deny any operations but only logs AVC messages, which can be then used for troubleshooting, debugging, and SELinux policy improvements. Each AVC is logged only once in this case. - -To permanently change mode to permissive, follow the procedure below: - -. Edit the `/etc/selinux/config` file as follows: -+ ----- -# This file controls the state of SELinux on the system. -# SELINUX= can take one of these three values: -# enforcing - SELinux security policy is enforced. -# permissive - SELinux prints warnings instead of enforcing. -# disabled - No SELinux policy is loaded. -SELINUX=pass:quotes[*permissive*] -# SELINUXTYPE= can take one of these two values: -# targeted - Targeted processes are protected, -# mls - Multi Level Security protection. -SELINUXTYPE=targeted ----- - -. Reboot the system: -+ ----- -~]# reboot ----- diff --git a/en-US/modules/proc_changing_runtime_firewalld.adoc b/en-US/modules/proc_changing_runtime_firewalld.adoc deleted file mode 100644 index 52eb6b5..0000000 --- a/en-US/modules/proc_changing_runtime_firewalld.adoc +++ /dev/null @@ -1,50 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - -[id='changing_runtime_firewalld_fedora'] - -= Changing settings in runtime and permanent configuration using CLI - -Using the CLI, you can only modify either runtime or permanent mode. To modify the firewall settings in permanent mode, use the `--permanent` option with the `firewall-cmd` command. - ----- -$ sudo firewall-cmd --permanent ----- - -Without this option, the command modifies runtime mode. -To change settings in both modes, you can use two methods: - -* Change runtime settings and then make them permanent as follows: - -. Change the runtime settings: -+ -`firewall-cmd ` -+ -. Use `--runtime-to-permanent` to make the changes permanent. -+ -`firewall-cmd --runtime-to-permanent` - -* Set permanent settings and reload the settings into runtime mode: - -. Make the changes in permanent mode: -+ -`firewall-cmd --permanent ` -+ -. Reload the settings: -+ -`firewall-cmd --reload` - -The first method allows you to test the settings before you apply them to permanent mode. - -[NOTE] -==== -It is possible that an incorrect setting will result in a user locking themselves out of a machine. To prevent this, use the `--timeout` option. Using this option means that after a specified amount of time, any change reverts to its previous state. -You can not use the `--permanent` option with the `--timeout` option. - -For example, to add the SSH service for 15 minutes use this command: ----- -$ sudo firewall-cmd --add-service=ssh --timeout 15m ----- -The SSH service will be available until access is removed after 15 minutes. -==== diff --git a/en-US/modules/proc_checking_firewalld.adoc b/en-US/modules/proc_checking_firewalld.adoc deleted file mode 100644 index a31d331..0000000 --- a/en-US/modules/proc_checking_firewalld.adoc +++ /dev/null @@ -1,130 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - -// Base the file name and the ID on the module title. For example: -// * file name: doing-procedure-a.adoc -// * ID: [id='doing-procedure-a'] -// * Title: = Doing procedure A - -// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. -[id=checking-firewalld-fedora] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Checking the firewalld status - -== Viewing the current status of `firewalld` - -The firewall service, `firewalld`, is installed on the system by default. Use the `firewalld` CLI interface to check that the service is running. - -To see the status of the service: - ----- -$ sudo firewall-cmd --state ----- - -For more information about the service status, use the [command]`systemctl status` sub-command: - ----- -$ sudo systemctl status firewalld -firewalld.service - firewalld - dynamic firewall daemon - Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor pr - Active: active (running) since Mon 2017-12-18 16:05:15 CET; 50min ago - Docs: man:firewalld(1) - Main PID: 705 (firewalld) - Tasks: 2 (limit: 4915) - CGroup: /system.slice/firewalld.service - └─705 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid ----- - -Furthermore, it is important to know how `firewalld` is set up and which rules are in force before you try to edit the settings. To display the firewall settings, see <> - -[[sec-Viewing_Current_firewalld_Settings]] -== Viewing current firewalld settings - -[[sec-Viewing_Allowed_Services_Using_GUI]] -=== Viewing allowed services using GUI - -To view the list of services using the graphical [application]*firewall-config* tool, press the kbd:[Super] key to enter the Activities Overview, type [command]`firewall`, and press kbd:[Enter]. The [application]*firewall-config* tool appears. You can now view the list of services under the `Services` tab. - -Alternatively, to start the graphical firewall configuration tool using the command-line, enter the following command: - -[subs="quotes, macros"] ----- -$ [command]`firewall-config` ----- - -The `Firewall Configuration` window opens. Note that this command can be run as a normal user, but you are prompted for an administrator password occasionally. -//// -[[exam-firewall_config_services]] -.The Services tab in firewall-config - -image::images/firewall-config-services.png[A screenshot of the firewall configuration tool - the Services tab] -//// -[[sec-Viewing_firewalld_Settings_Using_CLI]] -=== Viewing firewalld settings using CLI - -With the CLI client, it is possible to get different views of the current firewall settings. The [option]`--list-all` option shows a complete overview of the `firewalld` settings. - -`firewalld` uses zones to manage the traffic. If a zone is not specified by the [option]`--zone` option, the command is effective in the default zone assigned to the active network interface and connection. - -To list all the relevant information for the default zone: - ----- -$ firewall-cmd --list-all -public - target: default - icmp-block-inversion: no - interfaces: - sources: - services: ssh dhcpv6-client - ports: - protocols: - masquerade: no - forward-ports: - source-ports: - icmp-blocks: - rich rules: ----- - -[NOTE] -==== -To specify the zone for which to display the settings, add the [option]`--zone=pass:attributes[{blank}]_zone-name_pass:attributes[{blank}]` argument to the [command]`firewall-cmd --list-all` command, for example: ----- -~]# firewall-cmd --list-all --zone=home -home - target: default - icmp-block-inversion: no - interfaces: - sources: - services: ssh mdns samba-client dhcpv6-client -... [output truncated] - ----- -==== - -To see the settings for particular information, such as services or ports, use a specific option. See the `firewalld` manual pages or get a list of the options using the command help: - ----- -$ firewall-cmd --help - -Usage: firewall-cmd [OPTIONS...] - -General Options - -h, --help Prints a short help text and exists - -V, --version Print the version string of firewalld - -q, --quiet Do not print status messages - -Status Options - --state Return and print firewalld state - --reload Reload firewall and keep state information -... [output truncated] ----- - -For example, to see which services are allowed in the current zone: - ----- -$ firewall-cmd --list-services -samba-client ssh dhcpv6-client ----- - -Listing the settings for a certain subpart using the CLI tool can sometimes be difficult to interpret. For example, you allow the `SSH` service and `firewalld` opens the necessary port (22) for the service. Later, if you list the allowed services, the list shows the `SSH` service, but if you list open ports, it does not show any. Therefore, it is recommended to use the [option]`--list-all` option to make sure you receive a complete information. diff --git a/en-US/modules/proc_closing_ports_firewalld.adoc b/en-US/modules/proc_closing_ports_firewalld.adoc deleted file mode 100644 index 6953b95..0000000 --- a/en-US/modules/proc_closing_ports_firewalld.adoc +++ /dev/null @@ -1,42 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - -// Base the file name and the ID on the module title. For example: -// * file name: doing-procedure-a.adoc -// * ID: [id='doing-procedure-a'] -// * Title: = Doing procedure A - -// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. -[id=closing-ports-firewalld-fedora] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Closing a port - -When an open port is no longer needed, close that port in firewalld. It is highly recommended to close all unnecessary ports as soon as they are not used because leaving a port open represents a security risk. - -.Closing a port using the command line - -To close a port, remove it from the list of allowed ports: - -. List all allowed ports: -+ ----- -$ firewall-cmd --list-ports ----- -+ -[WARNING] -==== -This command will only give you a list of ports that have been opened as ports. You will not be able to see any open ports that have been opened as a service. Therefore, you should consider using the --list-all option instead of --list-ports. -==== -+ -. Remove the port from the allowed ports to close it for the incoming traffic: -+ ----- -$ sudo firewall-cmd --remove-port=port-number/port-type ----- -+ -. Make the new settings persistent: -+ ----- -$ sudo firewall-cmd --runtime-to-permanent ----- diff --git a/en-US/modules/proc_compiling_your_application_from_source.adoc b/en-US/modules/proc_compiling_your_application_from_source.adoc deleted file mode 100644 index 6faf81b..0000000 --- a/en-US/modules/proc_compiling_your_application_from_source.adoc +++ /dev/null @@ -1,18 +0,0 @@ -[[compiling-your-application-from-source]] -= Compiling Your Application - -NOTE: It is preferable to use DNF to using source installattion. DNF can track what packages you have installed on your system. It facilitates updates and makes it easier to completely remove your files from your system - -. Navigate to the directory containing your source: -+ -[subs="+quotes"] ----- -cd __ ----- -+ -. Run the following command to compile and install your application: -+ -[subs="+quotes"] ----- -./configure && make && make install ----- diff --git a/en-US/modules/proc_configuring-apache-httpd.adoc b/en-US/modules/proc_configuring-apache-httpd.adoc deleted file mode 100644 index 4f0789d..0000000 --- a/en-US/modules/proc_configuring-apache-httpd.adoc +++ /dev/null @@ -1,145 +0,0 @@ -[id='configuring-apache-httpd'] -= Configuring Apache HTTPD - -`/etc/httpd/conf/httpd.conf` is the main Apache configuration file. Custom confirguration files are specified under `/etc/httpd/conf.d/*.conf`. If the same settings are specified in both `/etc/httpd/conf/httpd.conf` and a `.conf` file in `/etc/httpd/conf.d/`, the setting from the `/etc/httpd/conf.d/` file will be used. - -Files in `/etc/httpd/conf.d/` are read in alphabetical order: a setting from `/etc/httpd/conf.d/z-foo.conf` will be used over a setting from `/etc/httpd/conf.d/foo.conf`. Similarly, a setting from `/etc/httpd/conf.d/99-foo.conf`, will be used over a setting from `/etc/httpd/conf.d/00-foo.conf`. - -As a best practice, do not modify `/etc/httpd/conf/httpd.conf` or any of the `/etc/httpd/conf.d` files shipped by Fedora packages directly. If you make any local changes to these files, then any changes to them in newer package versions will not be directly applied. Instead, a `.rpmnew` file will be created, and you will have to merge the changes manually. - -It is recommended to create a new file in `/etc/httpd/conf.d` which will take precedence over the file you wish to modify, and edit the required settings. For instance, to change a setting specified in `/etc/httpd/conf.d/foo.conf` you could create the file `/etc/httpd/conf.d/z-foo-local.conf`, and place your setting in that file. - -[NOTE] -==== -After making any changes to your server configuration, execute the following command: - ----- -# apachectl reload ----- - -Certain changes may require Apache to be fully restarted. To fully restart Apache, execute the following command: - ----- -# systemctl restart httpd.service ----- -==== - -[id='enabling-access-to-web-applications'] -== Enabling access to web applications - -By default Fedora-packaged web applications are usually configured such that, access is allowed only from the localhost. This is defined by the file `/etc/httpd/conf.d/webapp.conf` which contains the following settings: - ----- - - - # Apache 2.4 - Require local - - - # Apache 2.2 - Order Deny,Allow - Deny from all - Allow from 127.0.0.1 - Allow from ::1 - - ----- - -Before allowing general access to the webapp, ensure to do the following: - -* [*] Webapp has been configured correctly -* [*] Administration interface and other sensitive areas are not accessible without appropriate authentication -* [*] Database configuration is secure, if the application uses a database - -To broaden access to the application, create a file `/etc/httpd/conf.d/z-webapp-allow.conf`. To allow access to all systems on a typical local network, add the following lines into the file: - ----- - - - # Apache 2.4 - Require local - Require ip 192.168.1 - - - # Apache 2.2 - Order Deny,Allow - Deny from all - Allow from 127.0.0.1 - Allow from ::1 - Allow from 192.168.1 - - ----- - -Once the application is correctly configured, add the following configuration to allow access from any host: - ----- - - - # Apache 2.4 - Require all granted - - - # Apache 2.2 - Order Deny,Allow - Allow from all - - ----- - -[id='opening-firewall-ports'] -== Opening firewall ports - -IMPORTANT: This exposes your computer to the Internet and potential attackers. Secure your system and your Apache installation properly before exposing your server to the Internet. - -Apache uses port 80 for plain http connections and port 443 for TLS/SSL connections by default. To make this service available from other computers or the Internet, allow Apache through the firewall using any one the following commands: - -To allow Apache through the firewall at each boot: - -* For plain HTTP connections: -+ ----- -# firewall-cmd --permanent --add-service=http ----- - -* For TLS/SSL connections: -+ ----- -# firewall-cmd --permanent --add-service=https ----- - -To allow Apache through the firewall instantly: - -* For plain HTTP connections: -+ ----- -# firewall-cmd --add-service=http ----- - -* For TLS/SSL connections: -+ ----- -# firewall-cmd --add-service=https ----- - -NOTE: If your server is running in a network with a NAT router, you will also need to configure your router to forward the HTTP and HTTPS ports to your server, if you wish to allow access from outside your local network. - - -[id='disabling-test-page'] -== Disabling Test Page - -To disable the test page, comment out all the lines in the file `/etc/httpd/conf.d/welcome.conf` using `pass:[#]` as follows: - ----- -# -# Options -Indexes -# ErrorDocument 403 /.noindex.html -# - -# -# AllowOverride None -# Require all granted -# - -# Alias /.noindex.html /usr/share/httpd/noindex/index.html ----- diff --git a/en-US/modules/proc_configuring-nested-virtualization-in-virt-manager.adoc b/en-US/modules/proc_configuring-nested-virtualization-in-virt-manager.adoc deleted file mode 100644 index 7416fde..0000000 --- a/en-US/modules/proc_configuring-nested-virtualization-in-virt-manager.adoc +++ /dev/null @@ -1,13 +0,0 @@ -[[proc_configuring-nested-virtualization-in-virt-manager]] -= Configuring nested virtualization in virt-manager - -Configure your VM to use nested virtualization: - -. Open virt-manager, double-click the VM in which you wish to enable nested virtualization, and click the *Show virtual hardware details* icon. - -. Click *CPUs* in the side menu. In the *Configuration* section, there are two options - either type `host-passthrough` in the *Model:* field, or select the *Copy host CPU configuration* check box (that fills the `host-model` value in the *Model* field). -+ -NOTE: Using host-passthrough is not recommended for general usage. It should only be used for nested virtualization purposes. -+ -. Click *Apply*. - diff --git a/en-US/modules/proc_configuring-xorg-as-default-gnome-session.adoc b/en-US/modules/proc_configuring-xorg-as-default-gnome-session.adoc deleted file mode 100644 index 59c026e..0000000 --- a/en-US/modules/proc_configuring-xorg-as-default-gnome-session.adoc +++ /dev/null @@ -1,15 +0,0 @@ -[id='configuring-xorg-as-default-gnome-session'] -= Configuring Xorg as the default GNOME session - -To run GNOME in X11, click the gear icon on the Fedora log in screen and select *GNOME on Xorg*, or complete the following steps: - -[discrete] -== Procedure - -. Open `/etc/gdm/custom.conf` and uncomment `WaylandEnable=false`. - -. Add the following line to the `[daemon]` section: - - DefaultSession=gnome-xorg.desktop - -. Save the `custom.conf` file. diff --git a/en-US/modules/proc_configuring_firewalld.adoc b/en-US/modules/proc_configuring_firewalld.adoc deleted file mode 100644 index ceec17d..0000000 --- a/en-US/modules/proc_configuring_firewalld.adoc +++ /dev/null @@ -1,43 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - -[id='configuring_firewalld_fedora'] - -= Modifying Settings in runtime and permanent configuration using CLI - -Using the CLI, you do not modify the firewall settings in both modes at the same time. You only modify either runtime or permanent mode. To modify the firewall settings in the permanent mode, use the --permanent option with the firewall-cmd command. - ----- -$ sudo firewall-cmd --permanent ----- - -Without this option, the command modifies runtime mode. -To change settings in both modes, you can use two methods: - -Change runtime settings and then make them permanent as follows: ----- -$ sudo firewall-cmd -$ sudo firewall-cmd --runtime-to-permanent ----- - -Set permanent settings and reload the settings into runtime mode: - ----- -$ sudo firewall-cmd --permanent -$ sudo firewall-cmd --reload ----- - -The first method allows you to test the settings before you apply them to the permanent mode. - -[Note] -==== - -It is possible, especially on remote systems, that an incorrect setting results in a user locking themselves out of a machine. To prevent such situations, use the `--timeout` option. After a specified amount of time, any change reverts to its previous state. Using this options excludes the --permanent option. -For example, to add the SSH service for 15 minutes: - ----- -$ sudo firewall-cmd --add-service=ssh --timeout 15m ----- - -==== diff --git a/en-US/modules/proc_converting-sysvinit-services.adoc b/en-US/modules/proc_converting-sysvinit-services.adoc deleted file mode 100644 index 0ca4ae8..0000000 --- a/en-US/modules/proc_converting-sysvinit-services.adoc +++ /dev/null @@ -1,96 +0,0 @@ -[#converting-sysvinit-services] -= Converting SysVinit services - -Older versions of Fedora use SysVinit scripts to manage services. This section provides some guidelines on how to convert a SysVinit script to a systemd equivalent. - -.Prerequisites - -* You are logged in as a user with administrator-level permissions. - -* You have a custom SysVinit script to convert to a systemd configuration. - -.Procedure - -. Identify the runlevels in your SysVinit script. This is usually defined with `chkconfig` directive in the commented section at the beginning of the script. For example, the following indicates the service is using runlevels 3, 4, and 5: -+ ----- -# chkconfig: 235 20 80 ----- -+ -systemd uses targets instead of runlevels. Use the table in <<#converting-sysvinit-services>> to map the runlevels to targets. In this example, runlevels 2, 3, and 5 are all multi-user runlevels, so the systemd service can use the following: -+ ----- -[Install] -WantedBy=multi-user.target ----- -+ -If you enable the custom systemd service to start at boot (`systemctl enable foo.service`), systemd loads the service when loading the `multi-user.target` at boot time. - -. Identify the dependent services and targets. For example, if the custom service requires network connectivity, specify the `network.target` as a dependency: -+ ----- -[Unit] -Description=My custom service -Requires=network.target ----- - -. Identify the command used to start the service in the SysVinit script and convert this to the systemd equivalent. For example, the script might contain a `start` function in the following format: -+ -[source,bash] ----- -start() { - echo "Starting My Custom Service..." - /usr/bin/myservice -D -} ----- -+ -In this example, the `/usr/bin/myservice` command is the custom service command set to daemonize with the `-D` option. Set the `ExecStart` parameter to use this command: -+ ----- -[Service] -ExecStart=/usr/bin/myservice -D ----- - -. Check the SysVinit script to see if the service uses a special command to restart the service. For example, the script might contain a `reboot` function that reloads the service: -+ -[source,bash] ----- -reboot() { - echo "Reloading My Custom Service..." - /usr/bin/myservice reload -} ----- -+ -In this example, the `/usr/bin/myservice` command is the custom service command and reloads the service using the `reload` subcommand. Set the `ExecReload` parameter to use this command: -+ ----- -[Service] -ExecReload=/usr/bin/myservice reload ----- -+ -Alternatively, you can omit `ExecReload` and use the default behavior, which kills the service and starts it again. - -. Check the SysVinit script to see if the service uses a special command to stop the service. For example, the script might contain a `stop` function that reloads the service: -+ -[source,bash] ----- -reboot() { - echo "Stopping My Custom Service..." - /usr/bin/myservice shutdown -} ----- -+ -In this example, the `/usr/bin/myservice` command is the custom service command and stop the service gracefully using the `shutdown` subcommand. Set the `ExecStop` parameter to use this command: -+ ----- -[Service] -ExecStop=/usr/bin/myservice shutdown ----- -+ -Alternatively, you can omit `ExecStop` and use the default behavior, which kills the service. - -. Review the SysVinit script and identify any additional parameters or functions. Use systemd parameters to replicate any identified SysVinit functions that might be relevant to your service. - -.Related Information - -* See link:#common-service-parameters[Common service parameters] for more information about the parameters used in this procedure. diff --git a/en-US/modules/proc_copying-public-gpg-keys-manually.adoc b/en-US/modules/proc_copying-public-gpg-keys-manually.adoc deleted file mode 100644 index b13051c..0000000 --- a/en-US/modules/proc_copying-public-gpg-keys-manually.adoc +++ /dev/null @@ -1,10 +0,0 @@ -[[copying-public-gpg-keys-manually]] -= Copying a Public Key Manually - -If you want to give or send a file copy of your key to someone, use this command to write it to an ASCII text file: - ----- -gpg2 --export --armor jqdoe@example.com > jqdoe-pubkey.asc ----- - -See now <>. diff --git a/en-US/modules/proc_creating-a-disk-partition-in-linux.adoc b/en-US/modules/proc_creating-a-disk-partition-in-linux.adoc deleted file mode 100644 index a13239d..0000000 --- a/en-US/modules/proc_creating-a-disk-partition-in-linux.adoc +++ /dev/null @@ -1,105 +0,0 @@ -// Module included in the following assemblies: -// -// - -// Base the file name and the ID on the module title. For example: -// * file name: proc_creating-a-disk-partition-in-linux.adoc -// * ID: [id='creating-a-disk-partition-in-linux'] - -// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. -[id='creating-a-disk-partition-in-linux_{context}'] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Creating a Disk Partition in Linux -// Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_. - -This procedure describes how to partition a storage disk in Linux using the `parted` command. - -.Procedure - -. List the partitions using the `parted -l` command to identify the storage device you want to partition. Typically, the first hard disk (`/dev/sda` or `/dev/vda`) will contain the operating system, so look for another disk to find the one you want. For example: -+ ----- -$ sudo parted -l -[sudo] password for user: -Model: ATA RevuAhn_850X1TU5 (scsi) -Disk /dev/vdc: 512GB -Sector size (logical/physical): 512B/512B -Partition Table: msdos -Disk Flags: - -Number Start End Size Type File system Flags - 1 1049kB 525MB 524MB primary ext4 boot - 2 525MB 512GB 512GB primary lvm ----- -+ -. Open the storage device. Use the `parted` command to begin working with the selected storage device. For example: -+ ----- -$ sudo parted /dev/vdc -GNU Parted 3.2 -Using /dev/vdc -Welcome to GNU Parted! Type 'help' to view a list of commands. -(parted) ----- -+ -[IMPORTANT] -==== -Be sure to indicate the specific device you want to partition. If you just enter `parted` without a device name, it will randomly select a storage device to modify. -==== -+ -. Set the partition table type to `gpt`, then enter `Yes` to accept it. -+ ----- -(parted) mklabel gpt -Warning: the existing disk label on /dev/vdc will be destroyed -and all data on this disk will be lost. Do you want to continue? -Yes/No? Yes ----- -+ -[NOTE] -==== -The `mklabel` and `mktable` commands are both used for making a partition table on a storage device. At time of writing, the supported partition tables are: `aix`, `amiga`, `bsd`, `dvh`, `gpt`, `mac`, `ms-dos`, `pc98`, `sun`, and `loop`. Remember `mklabel` will not make a partition, rather it will make a partition table. -==== -. Review the partition table of the storage device. -+ ----- -(parted) print -Model: Virtio Block Device (virtblk) -Disk /dev/vdc: 1396MB -Sector size (logical/physical): 512B/512B -Partition Table: gpt -Disk Flags: -Number Start End Size File system Name Flags ----- -+ -. Create a new partition using the following command. For example, 1396 MB on partition 0: -+ ----- -(parted) mkpart primary 0 1396MB - -Warning: The resulting partition is not properly aligned for best performance -Ignore/Cancel? I - -(parted) print -Model: Virtio Block Device (virtblk) -Disk /dev/vdc: 1396MB -Sector size (logical/physical): 512B/512B -Partition Table: gpt -Disk Flags: -Number Start End Size File system Name Flags -1 17.4kB 1396MB 1396MB primary ----- -+ -[NOTE] -==== -Providing a partition name under GPT is a must; in the above example, primary is the name, not the partition type. In a GPT partition table, the partition type is used as partition name. -==== -+ -. Quit using the `quit` command. Changes are automatically saved when you quit `parted`. -+ ----- -(parted) quit -Information: You may need to update /etc/fstab. -$ ----- -+ diff --git a/en-US/modules/proc_creating-and-using-live-cd.adoc b/en-US/modules/proc_creating-and-using-live-cd.adoc deleted file mode 100644 index 5e486af..0000000 --- a/en-US/modules/proc_creating-and-using-live-cd.adoc +++ /dev/null @@ -1,146 +0,0 @@ -[id='proc_creating-and-using-live-cd'] -= Creating and using live CD - -#FIXME# Needs modularization - - -[[getting-started]] -== Getting started - -To create a live image, the `livecd-creator` tool is used. For this, super user privileges are needed. - -The `livecd-creator` tool is part of the _livecd-tools_package. If it is not installed on your system, add it with DNF: - -[options="nowrap"] ----- -# dnf install livecd-tools spin-kickstarts ----- - -If you are interested in localized (i.e. translated into other languages) live CD files, install also _l10n-kickstarts_. - - -[id='configuring-the-image'] -== Configuring the image - -The configuration of the live image is defined by a file called _kickstart_. It can include some basic system configuration items, the package manifest, and a script to be run at the end of the build process. - -For the Fedora project, the most important live image configurations files are: - -* https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/fedora-live-base.ks[fedora-live-base.ks] -: The base live image system, included in the _livecd-tools_ package. -* For _Fedora 20 and earlier_: https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/fedora-livecd-desktop.ks[fedora-livecd-desktop.ks] -: Complete desktop with applications and input/output support for all supported locales in Fedora. This one is part of the `spin-kickstarts` package. Despite the name, this is the kickstart that generates the ~1GB-sized images for recent releases. -* For _Fedora 21 and later_: https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/fedora-live-workstation.ks[fedora-live-workstation.ks]. This is the Workstation product configuration. - -_kickstart_ files for other spins, e.g. Fedora Electronics Lab, can be found in `/usr/share/spin-kickstarts/` after installing the `spin-kickstarts` package. These pre-made configuration files can be a great place to start, as they already have some useful pre and post-installation scripts. - -image:system-config-kickstart.png[system-config-kickstart,title="fig:system-config-kickstart"] - -You can create a customized _kickstart_ file by running `system-config-kickstart`. - -[NOTE] -==== -You might have to install the package first with `dnf install system-config-kickstart` in Fedora 22 and beyond or `yum install system-config-kickstart` in earlier versions of Fedora. This tool is mainly intended for generating kickstart files for automated installs, not live images, so the output will probably not be usable without editing, but it may help you to generate particular kickstart directives. Remember to add the line `%include /usr/share/spin-kickstarts/fedora-live-base.ks` at the beginning of your _kickstart_ file to include the base live configuration. -==== - -[id='making-the-image'] -== Making the image - -To make the image, simply issue the following command: - -[options="nowrap"] ----- -livecd-creator --verbose \ ---config=/path/to/kickstart/file.ks \ ---fslabel=Image-Label \ ---cache =/var/cache/live ----- - -The name given by `--fs-label` is used: - -* As a file system label on the ext3 and iso9660 file systems. As such, it's visible on the desktop as the CD name. -* In the _isolinux_ boot loader. - -If you have the repositories available locally and don't want to wait for the download of packages, just substitute the URLs listed in the configuration file to point to your local repositories. - -[NOTE] -==== -If you have an x86_64 machine you're building on but you want a 32-bit happy iso image, add the following before your livecd-creator command: - -[options="nowrap"] ----- -setarch i686 livecd-creator [...] ----- -==== - - -[id='examples'] -== Examples - - -[id='spinning-the-fedora-desktop'] -=== Spinning the Fedora desktop - -The following command: - -[options="nowrap"] ----- -livecd-creator --verbose \ ---config=/usr/share/spin-kickstarts/fedora-live-workstation.ks \ ---fslabel=Fedora-LiveCD \ ---cache=/var/cache/live ----- - -This will create a live CD called *Fedora-LiveCD* using the `fedora-live-workstation.ks` configuration file. - - -[id='a-barebones-live-cd'] -=== A Barebones live CD - -The following command: - -[options="nowrap"] ----- -livecd-creator --verbose \ ---config=/usr/share/doc/livecd-tools-$(rpm -q livecd-tools --qf "%{VERSION}")/livecd-fedora-minimal.ks \ ---cache=/var/cache/live ----- - -This will create a live CD that will boot to a login prompt. - - -[id='testing-your-live-cd-using-kvm-or-qemu'] -== Testing your live CD using KVM or qemu - -image:qemu_gtk3.png[QEMU running Fedora 17,title="QEMU running Fedora 17"] - -As root: - -[options="nowrap"] ----- -# qemu-kvm -m 2048 -vga qxl -cdrom filename.iso ----- - -[NOTE] -==== -If you do not have https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine[KVM] support, you have to use qemu instead. - -[options="nowrap"] ----- -# qemu-system-x86_64 -m 2048 -vga qxl -cdrom filename.iso ----- -==== - -Replace `_filename.iso_` with the name of your created Live CD image and `_qemu-system-x86_64_` with an appropriate qemu binary for the target system, e.g. `qemu-system-i386`. - - -[id='using-your-new-live-image'] -== Using your new live image - -You can http://docs.fedoraproject.org/readme-burning-isos/[burn your image directly to a CD or a DVD] if it fits, or you can link:#proc_creating-and-using-live-usb[write it to a USB stick]. - - -[id='live-image-media-verification'] -== Live image media verification - -The live image can incorporate functionality to verify itself. To do so, you need to have _isomd5sum_ installed both on the system used for creating the image and installed into the image. This is so that the `implantisomd5` and `checkisomd5` utilities can be used. These utilities take advantage of embedding an _md5sum_ into the application area of the iso9660 image. This then gets verified before mounting the real root filesystem. diff --git a/en-US/modules/proc_creating-and-using-live-usb.adoc b/en-US/modules/proc_creating-and-using-live-usb.adoc deleted file mode 100644 index 5c61616..0000000 --- a/en-US/modules/proc_creating-and-using-live-usb.adoc +++ /dev/null @@ -1,177 +0,0 @@ -:experimental: - -[id='proc_creating-and-using-live-usb'] -= Creating and using live USB - -You can write all Fedora ISO images to a USB stick, making this a convenient way on any USB-bootable computer to either install Fedora or try a *live* Fedora environment without writing to the computer's hard disk. You will need a USB stick at least as large as the image you wish to write. - -[id='using-fedora-media-writer'] -== Using Fedora Media Writer - -The official and supported tool to create a Fedora USB stick is the *Fedora Media Writer* utility, which was formerly known as *LiveUSB Creator*. To learn more about this application and how to use it, refer to the https://docs.fedoraproject.org/f28/install-guide/install/Preparing_for_Installation.html[Preparing for Installation] chapter of the Fedora Installation Guide. - - -[IMPORTANT] -==== -*Fedora Media Writer* destroys all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) or support for 'data persistence', you can use the link:using-the-livecd-iso-to-disk-tool[livecd-iso-to-disk] utility on Fedora. -==== - -[id='gnome-disk-utility'] -== Using GNOME Disk Utility - -IMPORTANT: This method will destroy all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) and/or support for 'data persistence', you can use the `livecd-iso-to-disk` utility on Fedora. - -[WARNING] -==== -This method is considered unsupported. You can use it on your own risk. -==== - -This method is for people running Linux, or another unix with GNOME, Nautilus and the GNOME Disk Utility installed. Particularly, if you are using a distribution other than Fedora which does not support Flatpak, this may be the easiest available method. A standard installation of Fedora, or a standard GNOME installation of many other distributions, should be able to use this method. On Fedora, ensure the packages _nautilus_ and _gnome-disk-utility_ are installed. Similar graphical direct-write tools may be available for other desktops, or you may use the command-line _direct write_ method. - -. Download a Fedora image, choose a USB stick that does not contain any data you need, and connect it. -. Run Nautilus (Files), open the *Overview* by pressing the *Start/Super* key, type Files, and hit kbd:[Enter]. -. Find the downloaded image, right-click on it, go to *Open With*, and click *Disk Image Writer*. -. Select your USB stick as the *Destination*, and click *Start Restoring*. - - -[id='command-line-method'] -== Command line methods - -[WARNING] -==== -These methods are considered unsupported. You can use them on your own risk. -==== - -[id='using-the-livecd-iso-to-disk-tool'] -=== Using the livecd-iso-to-disk tool - -IMPORTANT: This method will destroy all data on the USB stick _if the `--format` parameter is passed_. - -The `livecd-iso-to-disk` method is slightly less reliable than Fedora Media Writer and can be used reliably only from within Fedora: it does not work in Windows or OS X, and is not supported (and will usually fail) in non-Fedora distributions. However, it supports three advanced features which FMW does not include: - -. You may use a _non-destructive_ method to create the stick, meaning existing files on the stick will not be destroyed. This is less reliable than the _destructive_ write methods, and should be used only if you have no stick you can afford to wipe. -. On live images, you can include a feature called a _persistent overlay_, which allows changes made to persist across reboots. You can perform updates just like a regular installation to your hard disk, except that kernel updates require manual intervention and overlay space may be insufficient. Without a _persistent overlay_, the stick will return to a fresh state each time it is booted. -. On live images, you can also have a separate area to store user account information and data such as documents and downloaded files, with optional encryption for security and peace of mind. - -By combining these features, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using. - -It is not a good idea to try and write a new Fedora release using the version of `livecd-iso-to-disk` in a much older Fedora release: it is best to only use a release a maximum of two versions older than the release you are trying to write. - -Ensure the https://apps.fedoraproject.org/packages/livecd-tools[livecd-tools] package is installed: `dnf install livecd-tools`. - -[NOTE] -==== -Remember to identify your USB stick's device name first. In all cases, you can add the parameter `--efi` to render the stick bootable in native UEFI mode. Detailed usage information is available by running: `livecd-iso-to-disk --help` or `man livecd-iso-to-disk`. - -To make an existing USB stick bootable as a Fedora image, without deleting any of the data on it, make sure that the USB drive is not mounted before executing the following, and give the root password when prompted: - -[option="nowrap"] ----- -# livecd-iso-to-disk Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX ----- - -In case it is not possible to boot from a disk created with the method shown above, before re-partitioning and re-formatting, often resetting the master boot record will enable booting: - -[option="nowrap"] ----- -# livecd-iso-to-disk --reset-mbr Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX ----- -==== - -IMPORTANT: Using the `--format` option in the following command will erase all data on the USB drive. - -If necessary, you can have `livecd-iso-to-disk` re-partition and re-format the target stick: - -[option="nowrap"] ----- -# livecd-iso-to-disk --format --reset-mbr Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX ----- - -To include a persistent filesystem for `/home`, use the `--home-size-mb` parameter. For example: - -[option="nowrap"] ----- -# livecd-iso-to-disk --home-size-mb 2048 Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX ----- - -This will create a 2 GiB filesystem that will be mounted as `/home` each time the stick is booted, allowing you to preserve data in `/home` across boots. - -To enable 'data persistence' support - so changes you make to the entire live environment will persist across boots - add the `--overlay-size-mb` parameter to add a persistent data storage area to the target stick. For example: -[option="nowrap"] - ----- -# livecd-iso-to-disk --overlay-size-mb 2048 Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX ----- - -Here, `_2048_` is the desired size (in megabytes) of the overlay. The `livecd-iso-to-disk` tool will not accept an overlay size value greater than _4095_ for VFAT, but for ext[234] filesystems it is only limited by the available space. - -[NOTE] -==== -Due to the way it's currently implemented, every single change to this form of overlay, writes AND deletes, subtracts from its free space so it will eventually be "used up" and your USB stick will no longer boot. You can use `dmsetup` status `live-rw` to see how much space remains in the overlay. - -The output will contain something like snapshot `42296/204800`, indicating that 4229 of 204800 512-byte sectors are allocated. Because of these limitations, it is advisable to use the `system-level` persistence sparingly, for configuration changes and important security updates only. Or, if you have sufficient disk space available, changes to the `LiveOS` root filesystem snapshot can be merged into a new copy of the root filesystem. -==== - -You can combine `--home-size-mb` and `--overlay-size-mb`, in which case data written to `/home` will not exhaust the persistent overlay. - - -=== Using a direct write method - - -[IMPORTANT] -==== -This method will destroy all data on the USB stick. If you need a non-destructive write method, to preserve existing data on your USB stick, and/or support for `data persistence`, you can use the `livecd-iso-to-disk` utility on Fedora. -==== - -This method directly writes the image to the USB stick much like link:#using-fedora-media-writer[Fedora Media Writer] or GNOME Disk Utility, but uses a command line utility named `dd`. Like the other _direct write_ methods, it will destroy all data on the stick and does not support any of the advanced features like data persistence, but it is a very reliable method. The `dd` tool is available on most Unix-like operating systems, including Linux distributions and OS X, and a Windows port is available. This may be your best method if you cannot use link:#using-fedora-media-writer[Fedora Media Writer] or GNOME Disk Utility, or just if you prefer command line utilities and want a simple, quick way to write a stick. - -. Identify the name of the USB drive partition. If using this method on Windows, with the port linked above, the `dd --list` command should provide you with the correct name. -. *Unmount all mounted partition from that device*. This is very important, otherwise the written image might get corrupted. You can umount all mounted partitions from the device with `umount /dev/sdX*`, where `_X_` is the appropriate letter, e.g. `umount /dev/sdc*`. -. Write the ISO file to the device: -+ -[options="nowrap"] ----- -# dd if=/path/to/image.iso of=/dev/sdX bs=8M status=progress oflag=direct ----- -. Wait until the command completes. -+ -NOTE: If you see `dd: invalid status flag: 'progress'`, your dd version doesn't support the `status=progress` option and you'll need to remove it. In this case, you won't see writing progress. - - -[id='unetbootin'] -== Using UNetbootin for Windows, OS X, and Linux - -[WARNING] -==== -This method is considered unsupported. You can use it on your own risk. -==== - -[NOTE] -==== -UNetbootin may work in some cases but not others - for instance, it will likely create a stick that is bootable in BIOS mode, but not UEFI mode. Fedora cannot guarantee support for UNetbootin-written images. - -While your results may vary, it is usually the case that the Fedora Media Writer, `livecd-iso-to-disk`, GNOME, and `dd` methods give better results than UNetbootin. If you encounter problems with UNetbootin, please contact the UNetbootin developers, not the Fedora developers. -==== - -http://unetbootin.github.io/[UNetbootin] is a graphical, bootable USB image creator. Using it will allow you to preserve any data you have in the USB drive. If you have trouble booting, however, you may wish to try with a blank, cleanly FAT32-formatted drive. - -NOTE: If you are running a 64-bit Linux distribution, UNetbootin may fail to run until you install the 32-bit versions of quite a lot of system libraries. - -. Download the latest UNetbootin version from the http://unetbootin.github.io/[official site] and install it. On Linux, the download is an executable file: save it somewhere, change it to be executable using `chmod ugo+x` filename or a file manager, and then run it. -. Launch UNetbootin. On Linux, you might have to type the root password. -. Click on `Diskimage` and search for the ISO file you downloaded. -. Select Type: USB drive and choose the correct device for your stick. -. Click OK. - -NOTE: If you do not see _sdX_ listed, you might have to reformat the drive. You can do this from most file manager or disk utility tools, e.g. the GNOME disk utility ("Disks") on Fedora. The FAT32 format is most likely to result in a bootable stick. This will cause you to lose all data on the drive. - - -[id='creating_usb_stick_from_a_running_live_environment'] -== Creating a USB stick from a running live environment - -If you are already running a live CD, DVD, or USB and want to convert that into a bootable USB stick, run the following command: - -[option="nowrap"] ----- -# livecd-iso-to-disk /run/initramfs/livedev /dev/sdX" ----- diff --git a/en-US/modules/proc_creating-gpg-keys-cli.adoc b/en-US/modules/proc_creating-gpg-keys-cli.adoc deleted file mode 100644 index f3f06f8..0000000 --- a/en-US/modules/proc_creating-gpg-keys-cli.adoc +++ /dev/null @@ -1,105 +0,0 @@ -[[creating-gpg-keys-cli]] -= Creating GPG Keys Using the Command Line - -. Use the following shell command: -+ ----- -gpg2 --full-gen-key ----- -+ -This command generates a key pair that consists of a public and a private key. -Other people use your public key to authenticate and/or decrypt your communications. -Distribute your *public* key as widely as possible, especially to people who you know will want to receive authentic communications from you, such as a mailing list. -The Fedora Documentation Project, for example, asks participants to include a GPG public key in their link:DocsProject/SelfIntroduction[self-introduction]. - -. Press the kbd:[Enter] key to assign a default value if desired. -The first prompt asks you to select what kind of key you prefer: -+ ----- -Please select what kind of key you want: - (1) RSA and RSA (default) - (2) DSA and Elgamal - (3) DSA (sign only) - (4) RSA (sign only) -Your selection? ----- -+ -In almost all cases, the default is the correct choice. -A RSA/RSA key allows you not only to sign communications, but also to encrypt files. - -. Choose the key size: -+ ----- -RSA keys may be between 1024 and 4096 bits long. Larger is almost always recommended here, however your use case and security models may dictate otherwise. -What keysize do you want? (2048) ----- -+ -Again, the default is sufficient for almost all users, and represents an _extremely_ strong level of security. - -. Choose when the key will expire. -It is a good idea to choose an expiration date instead of using the default, which is _none._ -If, for example, the email address on the key becomes invalid, an expiration date will remind others to stop using that public key. -+ ----- -Please specify how long the key should be valid. - 0 = key does not expire - = key expires in n days - w = key expires in n weeks - m = key expires in n months - y = key expires in n years -Key is valid for? (0) ----- -+ -Entering a value of `1y`, for example, makes the key valid for one year. -(You may change this expiration date after the key is generated, if you change your mind.) -Before the `gpg2` program asks for signature information, the following prompt appears: -+ ----- -Is this correct (y/n)? ----- -+ -. Enter `y` to finish the process. - -. Enter your name and email address. -_Remember this process is about authenticating you as a real individual._ -For this reason, include your _real name_. -Do not use aliases or handles, since these disguise or obfuscate your identity. - -. Enter your real email address for your GPG key. -If you choose a bogus email address, it will be more difficult for others to find your public key. -This makes authenticating your communications difficult. -If you are using this GPG key for https://fedoraproject.org/wiki/Introduce_yourself_to_the_Docs_Project[self-introduction] on a mailing list, for example, enter the email address you use on that list. - -. Use the comment field to include aliases or other information. -(Some people use different keys for different purposes and identify each key with a comment, such as "Office" or "Open Source Projects.") - -. Enter the letter `O` at the confirmation prompt to continue if all entries are correct, or use the other options to fix any problems. - -. Enter a passphrase for your secret key. -The `gpg2` program asks you to enter your passphrase twice to ensure you made no typing errors. - -Finally, `gpg2` generates random data to make your key as unique as possible. -Move your mouse, type random keys, or perform other tasks on the system during this step to speed up the process. -Once this step is finished, your keys are complete and ready to use: - ----- -pub 1024D/1B2AFA1C 2005-03-31 John Q. Doe (Fedora Docs Project) -Key fingerprint = 117C FE83 22EA B843 3E86 6486 4320 545E 1B2A FA1C -sub 1024g/CEA4B22E 2005-03-31 [expires: 2006-03-31] ----- - -The key fingerprint is a shorthand signature for your key. -It allows you to confirm to others that they have received your actual public key without any tampering. -You do not need to write this fingerprint down. -To display the fingerprint at any time, use this command, substituting your email address: - ----- -gpg2 --fingerprint jqdoe@example.com ----- - -Your _GPG key ID_ consists of 8 hex digits identifying the public key. -In the example above, the GPG key ID is `1B2AFA1C`. -In most cases, if you are asked for the key ID, you should prepend "0x" to the key ID, as in `0x1B2AFA1C`. - -See now <>. -Make sure to back up your revocation keys for all active keys as this allows to revoke keys in the event of lost passphrase of key compromise. diff --git a/en-US/modules/proc_creating-gpg-keys-gnome.adoc b/en-US/modules/proc_creating-gpg-keys-gnome.adoc deleted file mode 100644 index a0b588f..0000000 --- a/en-US/modules/proc_creating-gpg-keys-gnome.adoc +++ /dev/null @@ -1,28 +0,0 @@ -[[creating-gpg-keys-gnome]] -= Creating GPG Keys Using the GNOME Desktop - -Install the Seahorse utility, which makes GPG key management easier. - -. Select menu:Applications[Add/Remove Software]. - -. Select the _Search_ tab and enter the name `seahorse`. - -. Select the checkbox next to the `seahorse` package and select _Apply_ to add the software. -You can also install Seahorse using the command line with the command `su -c "dnf install seahorse"`. - -To create a key: - -. Select menu:Activities[Passwords and Encryption Keys], which starts the application Seahorse. - -. Select menu:File[New... > PGP Key]. - -. Click btn:[Continue]. - -. Type your full name, email address, and an optional comment describing who you are (e.g.: John C. Smith, jsmith@example.com, The Man). -. Click btn:[Create]. - -. Choose a passphrase that is strong but also easy to remember in the dialog that is displayed. - -. Click btn:[OK] and the key is created. - -See now <>. diff --git a/en-US/modules/proc_creating-gpg-keys-kde.adoc b/en-US/modules/proc_creating-gpg-keys-kde.adoc deleted file mode 100644 index 2bee44a..0000000 --- a/en-US/modules/proc_creating-gpg-keys-kde.adoc +++ /dev/null @@ -1,16 +0,0 @@ -[[creating-gpg-keys-kde]] -= Creating GPG Keys Using the KDE Desktop - -. Start the KGpg program from the main menu by selecting menu:Utilities[PIM > KGpg]. -If you have never used KGpg before, the program walks you through the process of creating your own GPG keypair. - -. Enter your name, email address, and an optional comment in the dialog box that appears prompting you to create a new key pair. -You can also choose an expiration time for your key, as well as the key strength (number of bits) and algorithms. - -. Enter your passphrase in the next dialog box. -At this point, your key appears in the main KGpg window. - -To find your GPG key ID, look in the _Key ID_ column next to the newly created key. -In most cases, if you are asked for the key ID, you should prepend `0x` to the key ID, as in `0x6789ABCD`. - -See now <>. diff --git a/en-US/modules/proc_creating-new-systemd-services.adoc b/en-US/modules/proc_creating-new-systemd-services.adoc deleted file mode 100644 index 9287317..0000000 --- a/en-US/modules/proc_creating-new-systemd-services.adoc +++ /dev/null @@ -1,97 +0,0 @@ -[#creating-new-systemd-services] -= Creating new systemd services - -This example shows how to create a unit file for a custom service. Custom unit files are located in `/etc/systemd/system/` and have a `.service` extension. For example, a custom `foo` service uses `/etc/systemd/system/foo.service` unit file. - -.Prerequisites - -* You are logged in as a user with administrator-level permissions. - -.Procedure - -This procedure creates a basic configuration file to control the `foo` service. - -. Create and edit the new configuration file: -+ ----- -# vi /etc/systemd/system/foo.service ----- - -. The next few steps describe each section its parameters to add to the file: - -.. The `[Unit]` section provides basic information about the service. The `foo` service uses the following parameters: -+ -`Description`:: - A string describing the unit. systemd displays this description next to the unit name in the user interface. -`Requires`:: - Defines unit to use as a dependency for the service. If you activate the unit, systemd activates the units listed in `Requires` as well. For example, the `foo` service might require network connectivity, which means the `foo` services requires `network.target` as a dependency. -+ -The resulting `[Unit]` section looks like this: -+ ----- -[Unit] -Description=My custom service -Requires=network.target ----- - -.. The `[Service]` section provides instructions on how to control the service. The `foo` service uses the following parameters: -+ -`Type`:: - Defines the type of systemd service. In this example, the `foo` service is a `simple` service, which starts the service without any special consideration. -`ExecStart`:: - The command to run to start the service. This includes the full path to the command and arguments to modify the service. -+ -The resulting `[Service]` section looks like this: -+ ----- -[Service] -Type=simple -ExecStart=/usr/bin/sleep infinity ----- - -.. The `[Install]` section provides instructions on how systemd installs the service. The `foo` service uses the following parameters: -+ -`WantedBy`:: - Defines which service triggers the custom service if enabled with `systemctl enable`. This is mostly used for starting the custom service on boot. In this example, `foo.service` uses `multi-user.target`, which starts `foo.service` when systemd loads `multi-user.target` on boot. - -. The full `foo.service` file contains the following contents: -+ ----- -[Unit] -Description=My custom service -Requires=network.target - -[Service] -Type=simple -ExecStart=/usr/bin/sleep infinity - -[Install] -WantedBy=multi-user.target ----- -+ -Save the file. - -. Start the custom `foo` service: -+ ----- -# systemctl start foo ----- - -. Check the status of the service to ensure the service is running: -+ ----- -$ systemctl status foo -● foo.service - My custom service - Loaded: loaded (/etc/systemd/system/foo.service; static; vendor preset: disabled) - Active: active (running) since Thu 2017-12-14 14:09:12 AEST; 6s ago - Main PID: 31837 (sleep) - Tasks: 1 (limit: 4915) - CGroup: /system.slice/foo.service - └─31837 /usr/bin/sleep infinity - -Dec 14 14:09:12 dansmachine systemd[1]: Started My custom service. ----- - -.Related Information - -* See link:#common-service-parameters[Common service parameters] for more information about the parameters used in this procedure. diff --git a/en-US/modules/proc_creating-virtual-machines.adoc b/en-US/modules/proc_creating-virtual-machines.adoc deleted file mode 100644 index 6704a3e..0000000 --- a/en-US/modules/proc_creating-virtual-machines.adoc +++ /dev/null @@ -1,118 +0,0 @@ -[[creating-virtual-machines]] -= Creating virtual machines - -The installation of Fedora guests using Anaconda is supported. The installation can be started on the command-line using the `virt-install` program or in the user interface program `virt-manager`. - -[[creating-a-guest-with-virt-install]] -== Creating a guest with virt-install - -`virt-install` is a command-line based tool for creating virtualized guests. Execute `virt-install --help` for command line help, or you can find the manual page at `man 1 virt-install`. - -To use the virt-install command, you should first download an ISO of the Fedora version you wish to install. You can find the latest Fedora images at https://getfedora.org. This ISO is only needed during Fedora installation, and can be deleted to free up storage space afterwards if desired. More information about Fedora installation can be found at https://docs.fedoraproject.org/f28/install-guide/. In this example we'll use Fedora Workstation. - -=== Planning VM Resources -Adjust the ram, vcpus, and disk size parameters according to the resources you have available. - -* Storage: An easy way to check your disk size from a bash shell is using the `df(1)`` utility from the shell: ----- -# df -h ----- -* Memory: You can check your available memory from the shell using free(1): ----- -# free -m ----- -* VCPU: You can check your processor information using `lscpu(1)`: ----- -# lscpu ----- - -When allocating resources to your VM, keep in mind the minimum system requirements for the version of Fedora you are installing as well as your use case requirements. For Fedora 28, you can find this in the release notes here: https://docs.fedoraproject.org/f28/release-notes/welcome/Hardware_Overview.html#hardware_overview-specs. - -==== Create Storage for the VM - -The libvirt default storage pool is located at /var/lib/libvirt/images - which is the parent file path we use in this example. For individuals who are lacking enough storage in that path, you can simply mount a new disk or partition to that directory path (from the BASH shell, type `man 1 mount`) or select a new path. In the example `virt-install` command below, the disk did not exist prior to running virt-install. When the specified disk is not pre-existing, you must specify the size so virt-install can create a disk for you. If your disk already exists, you can safely remove the `,size=20` parameter from the disk argument. - -You have several disk storage options for your VM. While it's outside the scope of this article to discuss these in detail, the following are a few common options. These examples use 20G as the upper limit for disk size, but you can adjust this size to fit your needs. - -[Note] -==== -Again, you do not need to manually allocate storage using the example options shown below if you specify the size parameter in the virt-install example shown below. -==== - -===== Raw File (Non-Sparse) - -To create a fully allocated (non-sparse) raw file: - ----- -dd if=/dev/zero of=/var/lib/libvirt/images/guest.img bs=1M count=20480 ----- - -you can also use fallocate(1): - ----- -fallocate -l 20480M /var/lib/libvirt/images/guest.img ----- - -===== Raw File (Sparse) - -To create a dynamically allocated (sparse) raw file: - ----- -rm -f /var/lib/libvirt/images/guest.img -truncate --size=20480M /var/lib/libvirt/images/guest.img ----- - - -===== QCOW2 -To create a new qcow2-formatted disk separately, you can use qemu-img (the example below specifies a disk size of 20G): - ----- -# qemu-img create -f qcow2 /var/lib/libvirt/images/guest.qcow2 20480 ----- - -More information about libvirt storage options can be found at https://libvirt.org/storage.html. - -Finally, run the virt-install command using the following format (adjusting parameters as needed): - ----- -# virt-install --name Fedora28 \ ---description 'Fedora 28 Workstation' \ ---ram 4096 \ ---vcpus 2 \ ---disk path=/var/lib/libvirt/images/Fedora-Workstation-28/Fedora-Workstation-28-20180518.0.x86_64.qcow2,size=20 \ ---os-type linux \ ---os-variant fedora28 \ ---network bridge=virbr0 \ ---graphics vnc,listen=127.0.0.1,port=5901 \ ---cdrom /var/lib/libvirt/images/Fedora-Workstation-28/Fedora-Workstation-Live-x86-64-28-1.1.iso \ ---noautoconsole ----- - -[Note] -==== -Note: For the graphics parameter, we're setting the vnc listener to localhost because it's more secure to tunnel your VNC connection through SSH so that you don't expose VNC to everyone with access to the network. -==== - -`virt-install` can use kickstart files, for example, `virt-install -x ks=kickstart-file-name.ks`. - -If graphics were enabled, a VNC window will open and present the graphical installer. If graphics were not enabled, a text installer will appear. Proceed with the Fedora installation. - -[[creating-a-guest-with-virt-manager]] -== Creating a guest with virt-manager - -. Start Virtual Machine Manager by navigating to menu:Applications[System Tools], or by running the following command: -+ ----- -# virt-manager ----- -+ -. Open a connection to a hypervisor by navigating to menu:File[Add connection]. -. Choose *qemu* for KVM, or *Xen* for Xen. -. Choose *local* or select a method to connect to a remote hypervisor. -. After a connection is opened, click the new icon next to the hypervisor, or right-click on the active hypervisor and select *New*. -. Configure the virtual machine following the steps in the *New VM* wizard. -. Click *Finish* at the end of the wizard to provision the guest operating system. After a few moments a VNC window will appear. Proceed with the Fedora installation. - - - - diff --git a/en-US/modules/proc_creating_xorg_conf.adoc b/en-US/modules/proc_creating_xorg_conf.adoc deleted file mode 100644 index 5507a81..0000000 --- a/en-US/modules/proc_creating_xorg_conf.adoc +++ /dev/null @@ -1,18 +0,0 @@ -[[creating-an-xorg-conf-file]] -= Creating an xorg.conf file - -You can create a basic file using the `X` executable. It will contain sections and entries that you can edit to suit your needs. To create the file, enter this command as *root*: - ----- -# Xorg :1 -configure ----- - -Next, copy the file to the correct location: - ----- -# cp /root/xorg.conf.new /etc/X11/xorg.conf ----- - -Now you may edit the file according to your needs. - -See the `xorg.conf(5)` man page for more information. diff --git a/en-US/modules/proc_disabling-gnome-screenlock.adoc b/en-US/modules/proc_disabling-gnome-screenlock.adoc deleted file mode 100644 index 8d8bd03..0000000 --- a/en-US/modules/proc_disabling-gnome-screenlock.adoc +++ /dev/null @@ -1,16 +0,0 @@ -= Disabling the GNOME Automatic Screen Lock - -In the interest of safety and privacy, the GNOME automatic screen lock is enabled by default. - -When the screen locks after a period of inactivity, you must enter your password to unlock the screen. - -You can disable this feature at any time. - -To disable the GNOME automatic screen lock, complete the following steps. - -. On the desktop, navigate to the upper-right corner of the screen and click the arrow icon to expand the desktop options. Click the *Settings* icon. -. From the the *Settings* menu, select *Privacy*. -. On the *Privacy* page, select *Screen Lock*, and toggle the switch from *On* to *Off*. -. Close the window and verify that in the *Privacy* page, the *Screen Lock* is *Off*. - -To enable the automatic screen lock, repeat this process and toggle the switch from *Off* to *On*. diff --git a/en-US/modules/proc_disabling-repositories.adoc b/en-US/modules/proc_disabling-repositories.adoc deleted file mode 100644 index 6e06a2d..0000000 --- a/en-US/modules/proc_disabling-repositories.adoc +++ /dev/null @@ -1,20 +0,0 @@ -[id='disabling-repositories'] -= Disabling repositories - -This section shows how to disable a particular software repository by using the `dnf config-manager` command. - -[discrete] -= Procedure - -* To disable a particular repository, use the following command as *root*: -+ -[literal,subs="+quotes,attributes"] ----- -# dnf config-manager --set-disabled _repository_ ----- -+ -Replace `_repository_` with the unique repository ID, for example: -+ ----- -# dnf config-manager --set-disabled fedora-extras ----- diff --git a/en-US/modules/proc_disabling-selinux.adoc b/en-US/modules/proc_disabling-selinux.adoc deleted file mode 100644 index 6d0e69c..0000000 --- a/en-US/modules/proc_disabling-selinux.adoc +++ /dev/null @@ -1,38 +0,0 @@ -// Module included in the following assemblies: -// -// changing-selinux-states-and-modes.adoc - -[#{context}-Enabling_and_Disabling_SELinux-Disabling_SELinux] -= Disabling SELinux - -When SELinux is disabled, SELinux policy is not loaded at all; it is not enforced and AVC messages are not logged. Therefore, all benefits of running SELinux listed in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-introduction#sect-Security-Enhanced_Linux-Introduction-Benefits_of_running_SELinux[Benefits of SELinux] are lost. - -[IMPORTANT] -==== -It is recommended to use permissive mode instead of permanently disabling SELinux. See <<{context}-changing-to-permissive-mode>> for more information about permissive mode. -==== - -To permanently disable SELinux, follow the procedure below: - -. Configure [option]`SELINUX=disabled` in the `/etc/selinux/config` file: -+ ----- - -# This file controls the state of SELinux on the system. -# SELINUX= can take one of these three values: -# enforcing - SELinux security policy is enforced. -# permissive - SELinux prints warnings instead of enforcing. -# disabled - No SELinux policy is loaded. -SELINUX=pass:quotes[*disabled*] -# SELINUXTYPE= can take one of these two values: -# targeted - Targeted processes are protected, -# mls - Multi Level Security protection. -SELINUXTYPE=targeted ----- - -. Reboot your system. After reboot, confirm that the [command]`getenforce` command returns `Disabled`: -+ ----- -`~]$`pass:attributes[{blank}] pass:attributes[{blank}][command]`getenforce` -Disabled ----- diff --git a/en-US/modules/proc_disabling-shortcut-custom-app-gnome.adoc b/en-US/modules/proc_disabling-shortcut-custom-app-gnome.adoc deleted file mode 100644 index 8036cd9..0000000 --- a/en-US/modules/proc_disabling-shortcut-custom-app-gnome.adoc +++ /dev/null @@ -1,36 +0,0 @@ -[id='disabling-shortcut-custom-app-gnome'] -= Disabling keyboard shortcuts for custom applications in GNOME - -This section describes how to disable a keyboard shortcut for starting a custom application in GNOME. - -[discrete] -== Procedure - -. Open *Settings* and choose the *Devices* entry from the list: -+ -image::shortcuts-settings-devices.png[] -+ -NOTE: Earlier Fedora versions might not need this step. - -. Choose the *Keyboard* entry from the list and scroll down to the bottom of the list of keyboard shortcuts: -+ -image::shortcuts-keyboard-scroll.png[] - -. Scroll down in the list of shortcuts and applications until you locate the application that you want to disable: -+ -image::shortcuts-added.png[] - -. Click on the entry. -+ -A window for editing the shortcut appears: -+ -image::shortcuts-edit.png[] - -. Click the small *x* button to the right of the disaplyed shortcut. -+ -The keyboard shortcut is removed from this shortcut and the shortcut list now displays _Disabled_ instead of the key combination: -+ -image::shortcuts-disabled.png[] - -. Close the shortcut editing window. - diff --git a/en-US/modules/proc_displaying_user_prompt_on_gnome_login_screen.adoc b/en-US/modules/proc_displaying_user_prompt_on_gnome_login_screen.adoc deleted file mode 100644 index debe0b9..0000000 --- a/en-US/modules/proc_displaying_user_prompt_on_gnome_login_screen.adoc +++ /dev/null @@ -1,70 +0,0 @@ -[id=displaying-user-prompt-instead-of-list-of-users-on-GNOME-login-screen] -= Displaying a user prompt instead of a list of users on the GNOME login screen - -To show a user prompt on the GNOME login screen, open a terminal and perform the following steps: - -. Create a file for the GNOME Display Manager (GDM) configuration. -+ ----- -$ sudo mkdir /etc/dconf/db/gdm.d ----- -+ ----- -$ vim /etc/dconf/db/gdm.d/01-hide-users ----- - -. In a text editor of your choice, `vim` in this example, insert the following content to the `/etc/dconf/db/gdm.d/01-hide-users` file: -+ ----- -[org/gnome/login-screen] -banner-message-enable=true -banner-message-text='ENTER ANY MESSAGE YOU WANT HERE. FOR A NEW LINE USE \n.' -disable-restart-buttons=true -disable-user-list=true ----- -+ -[NOTE] --- -To not display the banner message, do not include the first and second line. To enable the `Restart` button, do not include the fourth line. --- -+ -Save the file and return to the terminal. - -. Create another file for GDM configuration. -+ ----- -$ sudo vim /etc/dconf/profile/gdm ----- -+ -Insert the following content in the `/etc/dconf/profile/gdm` file: -+ ----- -user-db:user -system-db:gdm ----- -+ -Save the file. - -. Enter the following command: -+ ----- -$ sudo dconf update ----- - -. Check if the command was executed correctly: -+ ----- -$ ls /etc/dconf/db ----- -+ -The output should contain the following: -+ ----- -gdm gdm.d ... [output truncated] ----- - -. Restart GDM for the changes to take effect. -+ ----- -$ sudo systemctl restart gdm ----- diff --git a/en-US/modules/proc_downloading-fedora.adoc b/en-US/modules/proc_downloading-fedora.adoc deleted file mode 100644 index e389f53..0000000 --- a/en-US/modules/proc_downloading-fedora.adoc +++ /dev/null @@ -1,13 +0,0 @@ -[id='downloading-fedora'] -= Downloading Fedora - -You can download Fedora from https://getfedora.org/. - -There are multiple desktops available for use with Fedora. Each has a slightly different look and feel and offers varying levels of customization. Visit http://fedoraproject.org/en/get-fedora-options#desktops[Fedora Desktops] to know more. - -Fedora spins are alternate versions of Fedora, tailored for various types of users, using hand-picked application sets and other customizations. Visit http://fedoraproject.org/en/get-fedora-options#spins[Fedora Spins] to know more. - -[NOTE] -==== -Please refer to https://docs.fedoraproject.org/f27/install-guide/index.html[Fedora Installation Guide] for getting help on the process of installing Fedora. -==== \ No newline at end of file diff --git a/en-US/modules/proc_downloading-source-code.adoc b/en-US/modules/proc_downloading-source-code.adoc deleted file mode 100644 index e17fa3e..0000000 --- a/en-US/modules/proc_downloading-source-code.adoc +++ /dev/null @@ -1,22 +0,0 @@ -= Downloading the Source Code - -. Navigate to the directory where you want to save the source: -+ -[subs="+quotes"] ----- -cd __ ----- -+ -. Download the TAR file containing the source code you want to install from: -+ -[subs="+quotes"] ----- -wget __ ----- -+ -. Extract the tarball file contents to the current working directory: -+ -[subs="+quotes"] ----- -tar -xf __ ----- diff --git a/en-US/modules/proc_enabling-chromium-plugins.adoc b/en-US/modules/proc_enabling-chromium-plugins.adoc deleted file mode 100644 index edafbcd..0000000 --- a/en-US/modules/proc_enabling-chromium-plugins.adoc +++ /dev/null @@ -1,29 +0,0 @@ -[id='enabling-chromium-plugins'] -= Enabling Chromium plugins - -.To enable *widevine* plugin - -Fedora's _chromium_ package is built to support the *widevine* plugin (but does not include it). - -. Copy `libwidevinecdm.so` and `libwidevinecdmadapter.so` from the Google Chrome package into `/usr/lib64/chromium-plugins`. - -. Restart Chromium. You can see *Widevine Content Decryption Module* in *chrome://flags*. - -.Using the *Pepper Plugin Application Programming Interface (PPAPI)* flash plugin - -. Click the following link to download the flash plugin: link:https://get.adobe.com/flashplayer/otherversions/[get.adobe.com/flashplayer/otherversions]. - -. Select *Linux 64-bit* and then *FP 22.0* (or later) for *Linux 64-bit(.tar.gz)-PPAPI*. You will then have `flash_player_ppapi_linux.x86_64.tar.gz`. - -. Unpack the tar into `/usr/lib64/chromium-browser/PepperFlash/`. - -. Restart chromium. You can see *Adobe Flash Player* in *chrome://plugins*. - -NOTE: To enable speech synthesis support, pass the `--enable-speech-dispatcher` flag to `chromium-browser`. - - -[discrete] -== Additional resources - -* https://get.adobe.com/flashplayer/otherversions/ -* https://fedoraproject.org/wiki/Chromium diff --git a/en-US/modules/proc_enabling-hardware-virtualization-support.adoc b/en-US/modules/proc_enabling-hardware-virtualization-support.adoc deleted file mode 100644 index c72a417..0000000 --- a/en-US/modules/proc_enabling-hardware-virtualization-support.adoc +++ /dev/null @@ -1,22 +0,0 @@ -[[enabling-hardware-virtualization-support]] -= Enabling hardware virtualization support - -This section covers setting up `libvirt` on your system. After setting up `libvirt`, you can create virtualized guest operating systems, also known as virtual machines. - - -[[system-requirements]] -== System requirements - -To run virtualization on Fedora, you need: - -* At least 600MB of hard disk storage per guest. A minimal command-line Fedora system requires 600MB of storage. Standard Fedora desktop guests require at least 3GB of space. - -* At least 256MB of RAM per guest, plus 256MB for the base operating system. At least 756MB is recommended for each guest of a modern operating system. A good way to estimate this is to think about how much memory is required for the operating system normally, and allocate that amount to the virtualized guest. - -KVM requires a CPU with virtualization extensions, found on most consumer CPUs. These extensions are called Intel VT or AMD-V. To check whether you have CPU support, run the following command: - ----- -$ egrep '^flags.*(vmx|svm)' /proc/cpuinfo ----- - -If this command results in nothing printed, your system does not support the relevant virtualization extensions. You can still use QEMU/KVM, but the emulator will fall back to software virtualization, which is much slower. diff --git a/en-US/modules/proc_enabling-latest-virtio-win-repo.adoc b/en-US/modules/proc_enabling-latest-virtio-win-repo.adoc deleted file mode 100644 index a5aecd1..0000000 --- a/en-US/modules/proc_enabling-latest-virtio-win-repo.adoc +++ /dev/null @@ -1,10 +0,0 @@ -[[enabling-latest-virtio-win-repo]] -= Enabling the latest Windows VirtIO Repository - -By default, the *virtio-win-latest* repository is disabled and *virtio-win-stable* repo is enabled. - -To enable the *virtio-win-latest* repo with DNF: - ----- -# dnf --enablerepo=virtio-win-latest upgrade virtio-win ----- diff --git a/en-US/modules/proc_enabling-nested-virtualization-in-kvm.adoc b/en-US/modules/proc_enabling-nested-virtualization-in-kvm.adoc deleted file mode 100644 index 0bc5ec3..0000000 --- a/en-US/modules/proc_enabling-nested-virtualization-in-kvm.adoc +++ /dev/null @@ -1,56 +0,0 @@ -[[proc_enabling-nested-virtualization-in-kvm]] -= Enabling nested virtualization in KVM - -Nested virtualization allows you to run a virtual machine (VM) inside another VM while still using hardware acceleration from the host. - -== Checking if nested virtualization is supported - -For Intel processors, check the `/sys/module/kvm_intel/parameters/nested` file. For AMD processors, check the `/sys/module/kvm_amd/parameters/nested` file. If you see `1` or `Y`, nested virtualization is supported; if you see `0` or `N`, nested virtualization is not supported. - -For example: - ----- -$ cat /sys/module/kvm_intel/parameters/nested -Y ----- - - -== Enabling nested virtualization - -To enable nested virtualization for Intel processors: - -. Shut down all running VMs and unload the `kvm_probe` module: -+ ----- -# modprobe -r kvm_intel ----- -. Activate the nesting feature: -+ ----- -# modprobe kvm_intel nested=1 ----- -+ -. Nested virtualization is enabled until the host is rebooted. To enable it permanently, add the following line to the `/etc/modprobe.d/kvm.conf` file: -+ ----- -options kvm_intel nested=1 ----- - -To enable nested virtualization for AMD processors: - -. Shut down all running VMs and unload the `kvm_amd` module: -+ ----- -# modprobe -r kvm_amd ----- -. Activate the nesting feature: -+ ----- -# modprobe kvm_amd nested=1 ----- -. Nested virtualization is enabled until the host is rebooted. To enable it permanently, add the following line to the `/etc/modprobe.d/kvm.conf` file: -+ ----- -options kvm_amd nested=1 ----- - diff --git a/en-US/modules/proc_enabling-repositories.adoc b/en-US/modules/proc_enabling-repositories.adoc deleted file mode 100644 index 5f451db..0000000 --- a/en-US/modules/proc_enabling-repositories.adoc +++ /dev/null @@ -1,20 +0,0 @@ -[id='enabling-repositories'] -= Enabling repositories - -This section shows how to enable a particular software repository by using the `dnf config-manager` command. - -[discrete] -= Procedure - -* To enable a particular repository, use the following command as `root`. -+ -[literal,subs="+quotes,attributes"] ----- -# dnf config-manager --set-enabled _repository_ ----- -+ -Replace `_repository_` with the unique repository ID, for example: -+ ----- -# dnf config-manager --set-enabled fedora-extras ----- diff --git a/en-US/modules/proc_enabling-selinux.adoc b/en-US/modules/proc_enabling-selinux.adoc deleted file mode 100644 index 465cf22..0000000 --- a/en-US/modules/proc_enabling-selinux.adoc +++ /dev/null @@ -1,28 +0,0 @@ -// Module included in the following assemblies: -// -// changing-selinux-states-and-modes.adoc - -[#{context}-enabling-selinux] -= Enabling SELinux - -When enabled, SELinux can run in one of two modes: enforcing or permissive. The following sections show how to permanently change into these modes. - -While enabling SELinux on systems that previously had it disabled, to avoid problems, such as systems unable to boot or process failures, follow this procedure: - -. Enable SELinux in permissive mode. For more information, see <<{context}-changing-to-permissive-mode>>. - -. Reboot your system. - -. Check for SELinux denial messages. -// For more information, see <>. - -. If there are no denials, switch to enforcing mode. For more information, see <<{context}-changing-to-enforcing-mode>>. - -To run custom applications with SELinux in enforcing mode, choose one of the following scenarios: - -* Run your application in the `unconfined_service_t` domain. -// See <> for more information. - -* Write a new policy for your application. See the link:++https://access.redhat.com/solutions/117583++[Writing Custom SELinux Policy] Knowledgebase article for more information. - -// Temporary changes in modes are covered in <<{context}-selinux-states-and-modes>>. diff --git a/en-US/modules/proc_enabling-serial-console-grub.adoc b/en-US/modules/proc_enabling-serial-console-grub.adoc deleted file mode 100644 index 521708e..0000000 --- a/en-US/modules/proc_enabling-serial-console-grub.adoc +++ /dev/null @@ -1,18 +0,0 @@ -[[enabling-serial-console-grub]] -= Enabling Serial Console in GRUB2 - -To enable Serial console in grub: - -.Procedure - -. Edit the `/etc/default/grub` file. - -. Adjust `baudrate`, `parity`, `bits`, and `flow` controls to fit your environment and cables, see the example. -+ ----- -GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8' -GRUB_TERMINAL=serial -GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" ----- - -. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in xref:adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. diff --git a/en-US/modules/proc_enabling-shortcut-custom-app-gnome.adoc b/en-US/modules/proc_enabling-shortcut-custom-app-gnome.adoc deleted file mode 100644 index 2d43f5f..0000000 --- a/en-US/modules/proc_enabling-shortcut-custom-app-gnome.adoc +++ /dev/null @@ -1,38 +0,0 @@ -[id='enabling-shortcut-custom-app-gnome'] -= Enabling keyboard shortcuts for custom applications in GNOME - -This section describes how to enable a keyboard shortcut for starting a custom application in GNOME. - -. Open *Settings* and choose the *Devices* entry from the list: -+ -image::shortcuts-settings-devices.png[] -+ -NOTE: Earlier Fedora versions might not need this step. - -. Choose the *Keyboard* entry from the list and scroll down to the bottom of the list of keyboard shortcuts: -+ -image::shortcuts-keyboard-scroll.png[] - -. Scroll down in the list of shortcuts and applications until you locate the application that you want to enable: -+ -image::shortcuts-list-disabled.png[] - -. Click on the entry. -+ -A window for editing the shortcut appears: -+ -image::shortcuts-disabled.png[] - -. Click the *Set shortcut...* button. -+ -A window for entering the keyboard shortcut appears: -+ -image::shortcuts-enabling-entering.png[] - -. Press the key combination that should become the shortcut for starting the application. -+ -As soon as you release the key combination, the window for entering the shortcut closes. The window for application name and command now displays the entered shortctut: -+ -image::shortcuts-enabling-entered.png[] - -. Close the shortcut editing window. diff --git a/en-US/modules/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc b/en-US/modules/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc deleted file mode 100644 index a4f730c..0000000 --- a/en-US/modules/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc +++ /dev/null @@ -1,58 +0,0 @@ -// Module included in the following assemblies: -// -// - -// This module can be included from assemblies using the following include statement: -// include::modules/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc[leveloffset=+1] - -// The file name and the ID are based on the module title. For example: -// * file name: proc_doing-procedure-a.adoc -// * ID: [id='proc_doing-procedure-a_{context}'] -// * Title: = Doing procedure A -// -// The ID is used as an anchor for linking to the module. Avoid changing -// it after the module has been published to ensure existing links are not -// broken. -// -// The `context` attribute enables module reuse. Every module's ID includes -// {context}, which ensures that the module has a unique ID even if it is -// reused multiple times in a guide. -// -// Start the title with a verb, such as Creating or Create. See also -// _Wording of headings_ in _The IBM Style Guide_. -[id="proc_enabling-the-rpmfusion-repositories-using-command-line-utilities_{context}"] -= Enabling the RPM Fusion repositories using command-line utilities - -This procedure describes how to enable the RPM Fusion software repositories without using any graphical applications. - -[discrete] -== Prerequisites - -* You have internet access. - -[discrete] -== Procedure - -. To enable the _Free_ repository, use: -+ -[subs=+quotes] ----- -$ sudo dnf install \ - https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm ----- - -. Optionally, enable the _Nonfree_ repository: -+ -[subs=+quotes] ----- -$ sudo dnf install \ - https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm ----- - -. The first time you attempt to install packages from these repositories, the `dnf` utility prompts you to confirm the signature of the repositories. Confirm it. - -[discrete] -== Additional resources - -* You can also use graphical applications to configure the repositories if you prefer. - diff --git a/en-US/modules/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc b/en-US/modules/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc deleted file mode 100644 index 8e542c4..0000000 --- a/en-US/modules/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc +++ /dev/null @@ -1,53 +0,0 @@ -// Module included in the following assemblies: -// -// - -// This module can be included from assemblies using the following include statement: -// include::modules/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc[leveloffset=+1] - -// The file name and the ID are based on the module title. For example: -// * file name: proc_doing-procedure-a.adoc -// * ID: [id='proc_doing-procedure-a_{context}'] -// * Title: = Doing procedure A -// -// The ID is used as an anchor for linking to the module. Avoid changing -// it after the module has been published to ensure existing links are not -// broken. -// -// The `context` attribute enables module reuse. Every module's ID includes -// {context}, which ensures that the module has a unique ID even if it is -// reused multiple times in a guide. -// -// Start the title with a verb, such as Creating or Create. See also -// _Wording of headings_ in _The IBM Style Guide_. -[id="proc_enabling-the-rpmfusion-repositories-using-graphical-applications_{context}"] -= Enabling the RPM Fusion repositories using graphical applications - -This procedure describes how to enable the RPM Fusion software repositories without using any command-line utilities. - -[discrete] -== Prerequisites - -* You have internet access. -* You are using the Gnome desktop environment. - -[discrete] -== Procedure - -. In your web browser, open the following page: link:https://rpmfusion.org/Configuration[]. - -. To enable the _Free_ repository, click the *RPM Fusion free for Fedora _version_* link on the page, where _version_ is the Fedora release you are using. This prompts you to save or open the repo file. - -. Open the file using the *Software Install* application. - -. The *Software* application opens. Click the blue *Install* button. - -. Optionally, enable the _Nonfree_ repository: click the *RPM Fusion nonfree for Fedora _version_* link on the page, where _version_ is the Fedora release you are using. - -. Save and install the file with the *Software* application again. - -[discrete] -== Additional resources - -* If the graphical configuration fails, try enabling the repositories using command-line utilities instead. - diff --git a/en-US/modules/proc_enabling-third-party-repository.adoc b/en-US/modules/proc_enabling-third-party-repository.adoc deleted file mode 100644 index 4df1935..0000000 --- a/en-US/modules/proc_enabling-third-party-repository.adoc +++ /dev/null @@ -1,14 +0,0 @@ -[id='enabling-third-party-repository'] -= Enabling Third party repositories - -Once you have downloaded the rpm, you can enable the repository. - -== To enable repo: - -. Login as root: -`$ su` - -. Create a file in */etc/yum.repos.d/* directory to enable third party repository. This file must end with *.repo* . The repository file contains the URL of the the repository, a name, enabled, gpgcheck. - -. To enable repo, use the following command: -`# dnf --enablerepo=` diff --git a/en-US/modules/proc_enabling_firewalld.adoc b/en-US/modules/proc_enabling_firewalld.adoc deleted file mode 100644 index 4e2916e..0000000 --- a/en-US/modules/proc_enabling_firewalld.adoc +++ /dev/null @@ -1,81 +0,0 @@ -// Module included in the following assemblies: -// -// - -// Base the file name and the ID on the module title. For example: -// * file name: doing-procedure-a.adoc -// * ID: [id='doing-procedure-a'] -// * Title: = Doing procedure A - -// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. -[id='doing-one-procedure_{context}'] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Doing one procedure -// Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_. - -This paragraph is the procedure module introduction: a short description of the procedure. - -.Prerequisites - -* A bulleted list of conditions that must be satisfied before the user starts following this assembly. -* You can also link to other modules or assemblies the user must follow before starting this assembly. -* Delete the section title and bullets if the assembly has no prerequisites. - -.Procedure - -. Start each step with an active verb. - -. Include one command or action per step. - -. Use an unnumbered bullet (*) if the procedure includes only one step. - -.Additional resources - -* A bulleted list of links to other material closely related to the contents of the procedure module. -* For more details on writing procedure modules, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. -* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. - - -== Do I have FirewallD on my system? - -FirewallD is the default firewall service for current releases of Fedora and is enabled by default. -If you are not sure whether FirewallD is on your Fedora installation use the following commands to check. - - -. Check if your system has FirewallD enabled. -Enter the folowing on the command line: - -[source,bash] - ----- - -sudo firewall-cmd --state - ----- - -You will see `running` if FirewallD is on your system. - -If you see `not running`, then FirewallD is not on your system. Use these commands to install it: - - -. Install FirewallD: - -[source,bash] - ----- - -sudo dnf install firewalld - ----- - -. Install the FirewallD graphical-user-interface application and open it from the command-line, type: - -[source,bash] - ----- - -sudo dnf install firewall-config - -sudo firewall-config - ----- diff --git a/en-US/modules/proc_exporting-gpg-keys-cli.adoc b/en-US/modules/proc_exporting-gpg-keys-cli.adoc deleted file mode 100644 index c8b7ec9..0000000 --- a/en-US/modules/proc_exporting-gpg-keys-cli.adoc +++ /dev/null @@ -1,19 +0,0 @@ -[[exporting-gpg-keys-cli]] -= Exporting a GPG Key Using the Command Line - -Use the following command to send your key to a public keyserver: - ----- -gpg2 --send-key KEYNAME ----- - -For `KEYNAME`, substitute the key ID or fingerprint of your primary keypair. -This will send your key to the gnupg default key server (keys.gnupg.net), if you prefer another one use: - ----- -gpg2 --keyserver hkp://pgp.mit.edu --send-key KEYNAME ----- - -Replacing `pgp.mit.edu` with your server of choice. - -See now <>. diff --git a/en-US/modules/proc_exporting-gpg-keys-gnome.adoc b/en-US/modules/proc_exporting-gpg-keys-gnome.adoc deleted file mode 100644 index 8767403..0000000 --- a/en-US/modules/proc_exporting-gpg-keys-gnome.adoc +++ /dev/null @@ -1,14 +0,0 @@ -[[exporting-gpg-keys-gnome]] -= Exporting a GPG Key Using the GNOME Desktop - -. Right-click the key and select _Sync and Publish Keys...._ - -. Click _Key Servers_. - -. Select _hkp://subkeys.pgp.net:11371_ in the _Publish Keys To_ combobox. - -. Click btn:[Close]. - -. Click btn:[Sync]. - -See now <>. diff --git a/en-US/modules/proc_exporting-gpg-keys-kde.adoc b/en-US/modules/proc_exporting-gpg-keys-kde.adoc deleted file mode 100644 index b2981f4..0000000 --- a/en-US/modules/proc_exporting-gpg-keys-kde.adoc +++ /dev/null @@ -1,8 +0,0 @@ -[[exporting-gpg keys-kde]] -= Exporting a GPG Key Using the KDE Desktop - -After your key has been generated, you can export the key to a public keyserver by right-clicking on the key in the main window, and selecting _Export Public Keys._ -From there you can export your public key to the clipboard, an ASCII file, to an email, or directly to a key server. -Export your public key to the default key server. - -See now <>. diff --git a/en-US/modules/proc_filing-virtio-win-bugs.adoc b/en-US/modules/proc_filing-virtio-win-bugs.adoc deleted file mode 100644 index 78aabfc..0000000 --- a/en-US/modules/proc_filing-virtio-win-bugs.adoc +++ /dev/null @@ -1,16 +0,0 @@ -[[filing-virtio-win-bugs]] -= Filing Windows VirtIO Bugs - -Please file any bug reports in Bugzilla against https://bugzilla.redhat.com/enter_bug.cgi?product=Virtualization%20Tools&component=virtio-win[Product=Virtualization Tools Component=virtio-win]. - -When filing a bug, please provide the following information: - -* The virtio-win version -* The host distro -* The qemu version -** If using libvirt: `sudo virsh dumpxml $vmname` -* The qemu command log -** If using libvirt this can be found at `/var/log/libvirt/qemu/$vmname.log` - -Questions/Comments about the RPMs or the yum|dnf repos should be sent to the regular Fedora virt https://fedoraproject.org/wiki/Virtualization#Mailing_list_and_IRC[mailing list and IRC] channels. -Questions/Comments about the actual drivers are best send to the upstream https://lists.nongnu.org/mailman/listinfo/qemu-devel[qemu-devel] or http://www.linux-kvm.org/page/Lists,_IRC[kvm] mailing lists. diff --git a/en-US/modules/proc_install-predefined-systems.adoc b/en-US/modules/proc_install-predefined-systems.adoc deleted file mode 100644 index 6ca50f1..0000000 --- a/en-US/modules/proc_install-predefined-systems.adoc +++ /dev/null @@ -1,44 +0,0 @@ -// Module included in the following assemblies: -// -// installing-virtual-systems-with-gnome-boxes.adoc - -[#{context}-installing-virtual-os-predefined] -= Installing a virtual operating system from the list of predefined systems - -To install a virtual operating system: - -. Run *GNOME Boxes* using the *Super* key and typing `Boxes`. In GNOME Boxes, click the *New* button. -+ -image::../images/Boxes_new_machine.png[New machine] - -. Download an operating system. -+ -image::../images/Download_os.png[Download your system] - -+ -Choose one of the predefined systems from the list. -+ -image::../images/Select_virtual_machine.png[Select machine] -Alternatively, download an ISO image from the relevant website and select the file as shown in the screen below: -+ -image::../images/Select_from_file.png[Select from file] -+ -. Choose your user name, password, and installation type. -+ -image::../images/Setup_machine.png[Setup machine] -+ -. Review your installation. -+ -image::../images/Installation_review.png[Installation review] -+ -To modify resources of the installed virtual operating system, such as RAM or disk size, click the *Customize* button. -+ -image::../images/Customize_resources.png[Customize resources] -+ -. To start the installation of the virtual operating system, click the *Create* button. -+ -The actual installation process may differ based on the selected operating system. -+ -Installed systems are available to run in the main menu of *GNOME Boxes*. -+ -image::../images/Select_from_boxes_menu.png[Select operating system] diff --git a/en-US/modules/proc_install_firewalld_gui.adoc b/en-US/modules/proc_install_firewalld_gui.adoc deleted file mode 100644 index 97f93f6..0000000 --- a/en-US/modules/proc_install_firewalld_gui.adoc +++ /dev/null @@ -1,18 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - - -[id=installing-firewalld-gui-fedora] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Installing the [application]*firewall-config* GUI configuration tool - -To use the [application]*firewall-config* GUI configuration tool, install the [package]*firewall-config* package as `root`: - ----- -$ sudo dnf install firewall-config ----- - -Alternatively, in [application]*GNOME*, use the kbd:[Super] key and type `Software` to launch the [application]*Software Sources* application. Type `firewall` to the search box, which appears after selecting the search button in the top-right corner. Select the `Firewall` item from the search results, and click on the btn:[Install] button. - -To run [application]*firewall-config*, use either the [command]`firewall-config` command or press the kbd:[Super] key to enter the `Activities Overview`, type `firewall`, and press kbd:[Enter]. diff --git a/en-US/modules/proc_installing-additional-desktop-enviroments.adoc b/en-US/modules/proc_installing-additional-desktop-enviroments.adoc deleted file mode 100644 index 77983d5..0000000 --- a/en-US/modules/proc_installing-additional-desktop-enviroments.adoc +++ /dev/null @@ -1,39 +0,0 @@ -[[installing-desktop-environments]] -= Installing additional desktop environments - - -.Procedure - -List available desktop environments: - ----- -$ dnf grouplist -v -Available Environment Groups: - Fedora Custom Operating System (custom-environment) - Minimal Install (minimal-environment) - Fedora Server Edition (server-product-environment) - Fedora Workstation (workstation-product-environment) - Fedora Cloud Server (cloud-server-environment) - KDE Plasma Workspaces (kde-desktop-environment) - Xfce Desktop (xfce-desktop-environment) - LXDE Desktop (lxde-desktop-environment) - Hawaii Desktop (hawaii-desktop-environment) - LXQt Desktop (lxqt-desktop-environment) - Cinnamon Desktop (cinnamon-desktop-environment) - MATE Desktop (mate-desktop-environment) - Sugar Desktop Environment (sugar-desktop-environment) - Development and Creative Workstation (developer-workstation-environment) - Web Server (web-server-environment) - Infrastructure Server (infrastructure-server-environment) - Basic Desktop (basic-desktop-environment) -Installed Groups: - KDE (K Desktop Environment) (kde-desktop) -[output has been truncated] ----- - -Install the selected desktop environment using the `dnf install` command. Ensure to prefix with -the `@` sign, for example: - ----- -# dnf install @kde-desktop-environment ----- diff --git a/en-US/modules/proc_installing-chromium-web-browser.adoc b/en-US/modules/proc_installing-chromium-web-browser.adoc deleted file mode 100644 index 95b2811..0000000 --- a/en-US/modules/proc_installing-chromium-web-browser.adoc +++ /dev/null @@ -1,70 +0,0 @@ -[id='installing'] -= Installing the browsers - -Both Chromium and Google Chrome can be installed on Fedora. - - -[id='installing-chromium'] -== Installing Chromium - -Chromium can be installed using GUI and terminal. - -.Installing Chromium using GUI - -. Click on Software tool in Fedora. - -. Search for Chromium Web Browser. - -. Click on Install. - -.Installing Chromium using terminal - -. To install Chromium Web Browser, use the command: -+ ----- -# dnf install chromium ----- -+ -. To upgrade Chromium, use the command: -+ ----- -# dnf upgrade chromium ----- - - -[id='installing-chrome'] -== Installing Chrome - -*Google Chrome* can be installed by downloading rpm. - -. Click the following link: https://www.google.com/chrome/browser/desktop/index.html . - -. Click on *Download Chrome* and select *Fedora 64* or *32 bits* download and install the repo. - -. Login as root and use the command to install Google Chrome: -+ ----- -# dnf install google-chrome ----- - -[NOTE] -==== -If you want to install unstable Google Chrome version, use the following command: - ----- -# dnf install google-chrome-unstable ----- - -If you want to install stable Google Chrome version using the following command: - ----- -# dnf install google-chrome-beta` ----- -==== - - -[discrete] -== Additional resources - -* https://copr.fedorainfracloud.org/[COPR repository] -* https://www.google.com/chrome/browser/desktop/index.html[Google Chrome rpm] diff --git a/en-US/modules/proc_installing-fonts.adoc b/en-US/modules/proc_installing-fonts.adoc deleted file mode 100644 index 7ff8ed0..0000000 --- a/en-US/modules/proc_installing-fonts.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Installing fonts -[[installing-fonts]] - -.Before you start - -Review the fonts on your system. Fedora includes many fonts by default, to see which fonts are installed on your system, use *GNOME Font Viewer*, which is installed by default. Alternatively use the *Fontmatrix* application which is availabe from *GNOME Software* and provides more features, such as searching for a font based on a raster image: - -. Start *GNOME Software* by choosing *Software* from the Start menu. -. Search for 'Fontmatrix'. -. Choose 'Fontmatrix' from the results and click 'Install'. - - -.Procedure - -. To install fonts from the Fedora repository: -.. Run the following command to list available fonts: -+ ----- -$ dnf search font ----- -.. Copy the name of the font you want to install. -.. Run the following command to install the font: -+ ----- -$ dnf install ----- -+ -For example: -+ ----- -$ dnf install google-noto-mono-fonts.noarch ----- -. To install fonts from the filesystem: -.. Locate the font file using the *Nautilus* file manager. -.. Double-click the font file to open the font in *GNOME Font Viewer*. A preview of the font is displayed. -.. Click *Install* to install the font. - - -[NOTE] -==== -If you use *GNOME Font Viewer* to install fonts, those fonts are only available to the current user. -==== - -.Additional resources - -* The help included with *Fontmatrix* provides an introduction to the Fedora font system. -* link:https://docs-old.fedoraproject.org/en-US/Fedora/12/html/Deployment_Guide/s1-x-fonts.html[Fedora documentation] regarding fonts. diff --git a/en-US/modules/proc_installing-grub2-on-bios-system.adoc b/en-US/modules/proc_installing-grub2-on-bios-system.adoc deleted file mode 100644 index 6c1a548..0000000 --- a/en-US/modules/proc_installing-grub2-on-bios-system.adoc +++ /dev/null @@ -1,48 +0,0 @@ -[[installing-grub-2-on-a-bios-system]] -= Installing GRUB2 on a BIOS system - -Normally, *GRUB2* will be installed and set up by the installer, *Anaconda*, during the installation process. You will probably never have to deal with manual installation of *GRUB2*. However, in certain situations , you will want to install *GRUB2* manually, especially if you need to repair the existing *GRUB2* installation or you want to change its configuration. - -This procedure shows the steps to install *GRUB2* on your _Master Boot Record_ (MBR) of your primary hard disk. - -.Before you start - -* Make sure you have the the *GRUB2* packages and the _os-prober_ package installed in your system: -+ ----- -$ dnf list installed | grep grub ----- - -* To automatically collect information about your disks and operating systems installed on them, the `os-prober` package needs to be installed on your system. - -.Procedure - -. Create a configuration file for *GRUB2*. -+ ----- -# grub2-mkconfig -o /boot/grub2/grub.cfg ----- - -. List block devices available on the system. -+ ----- -$ lsblk ----- - -. Identify the primary hard disk. Usually, it is the `sda` device. - -. Install *GRUB2* in the MBR of the primary hard disk. -+ ----- -# grub2-install /dev/sda ----- - -. Reboot your computer to boot with the newly installed bootloader. - -.More information - -* The `grub2-mkconfig` command creates a new configuration based on the currently running system. It collects information from the `/boot` partition (or directory), from the `/etc/default/grub` file, and the customizable scripts in `/etc/grub.d/`. - -* The configuration format is changing with time, and a new configuration file can become slightly incompatible with the older versions of the bootloader. Always run `grub2-install` before you create the configuration file with `grub2-mkconfig`. - -* In Fedora, it is generally safe to edit `/boot/grub2/grub.cfg` manually. *Grubby* in Fedora patches the configuration when a kernel update is performed and will try to not make any other changes than what is necessary. Manual changes can be overwritten with `grub2-mkconfig` when the system gets upgraded with *Anaconda*. Customizations placed in `/etc/grub.d/40_custom` or `/boot/grub2/custom.cfg` files will survive running the `grub2-mkconfig` command. diff --git a/en-US/modules/proc_installing-grub2-on-efi-system.adoc b/en-US/modules/proc_installing-grub2-on-efi-system.adoc deleted file mode 100644 index 29f71cb..0000000 --- a/en-US/modules/proc_installing-grub2-on-efi-system.adoc +++ /dev/null @@ -1,122 +0,0 @@ -[[installing-grub-2-configuration-on-uefi-system]] -= Installing GRUB2 on a UEFI system - -Normally, *GRUB2* will be installed and set up by the installer, *Anaconda*, during the installation process. You will probably never have to deal with manual installation of *GRUB2*. However, in certain situations , you will want to install *GRUB2* manually, especially if you need to repair the existing *GRUB2* installation or you want to change its configuration. - -This procedure shows the steps to install *GRUB2* on a UEFI system on Fedora 18 or newer. The procedure consists of four parts. - -[[create-an-esp]] -== Creating an EFI System Partition - -The UEFI firmware requires to boot from an _EFI System Partition_ on -a disk with a GPT label. To create such a partition: - -. List available block devices to find a place to create your ESP. -+ ----- -$ lsblk ----- - -. Create at least a 128 MiB disk partition using a GPT label on the primary hard disk. -+ ----- -# gdisk /dev/sda ----- -+ -For the sake of this procedure, we assume that the created partition is recognized as `/dev/sda1`. - -. Format the partition with the _FAT32_ file system. -+ ----- -# mkfs.vfat /dev/sda1 ----- - -. Create the `/boot/efi` directory as a mount point for the new partition. -+ ----- -# mkdir /boot/efi ----- - -. Mount the partition to the `/boot/efi` mount point. -+ ----- -# mount /dev/sda1 /boot/efi ----- - -. Proceed to the next part. - - -[[install-the-bootloader-files]] -== Install the bootloader files - -In order to use *GRUB2* with on the UEFI systems, you need to install or re-install appropriate packages: - - -. Re-install the necessary packages. -+ ----- -# dnf reinstall grub2-efi grub2-efi-modules shim ----- - -. If the above command ends with an error, install the packages. -+ ----- -# dnf install grub2-efi grub2-efi-modules shim ----- - -.More information - -* This installs the signed *shim* and the *GRUB2* binary. - - -[[create-a-grub-2-configuration]] -== Create a GRUB2 configuration - - -If you already have a working *GRUB2* EFI configuration file, you do not need to do anything else. - -Otherwise, create the configuration file using the `grub2-mkconfig` command. - ----- -# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg ----- - -.More information - -* Under EFI, *GRUB2* looks for its configuration in `/boot/efi/EFI/fedora/grub.cfg`. -* For newly installed kernels to work, `grubby` expects `/etc/grub2-efi.cfg` to be a symlink to the real grub.cfg (for example `/boot/efi/EFI/fedora/grub.cfg`). - - -[[solving-problems-with-uefi-bootloader]] -== Solving problems with UEFI bootloader - -When you power on your system, your firmware will look for EFI variables that tell it how to boot. On running systems, which have booted into the EFI mode and their EFI runtime services are working correctly, you can configure your boot menu with `efibootmgr`. - -If not, `shim` can help you bootstrap. The EFI program `/boot/efi/EFI/BOOT/fallback.efi` will look for files called `BOOT.CSV` in your ESP and will add boot entries corresponding to them. The `shim` command provides its own `BOOT.CSV` file that will add an entry for `grub2-efi`. - -During the boot process, you can use the *EFI Shell* to invoke the `fallback.efi` profile to boot the system: - -. Enter the boot partition. -+ ----- -> fs0: ----- - -. Navigate into the `EFI\BOOT` directory. -+ ----- -> cd EFI\BOOT ----- - -. Invoke the `fallback.efi` profile. -+ ----- -> fallback.efi ----- - -.More information - -* If you have no boot entries at all, then just booting off your disk in UEFI mode should automatically invoke `/boot/efi/EFI/BOOT/BOOTX64.EFI`, which will, in turn, invoke `fallback.efi`. - -* If you already have incorrect boot entries, you'll either need to delete them or to modify `BOOT.CSV` to create new entries with different names. - diff --git a/en-US/modules/proc_installing-httpd.adoc b/en-US/modules/proc_installing-httpd.adoc deleted file mode 100644 index c2ac6b7..0000000 --- a/en-US/modules/proc_installing-httpd.adoc +++ /dev/null @@ -1,27 +0,0 @@ -[id='installing-httpd'] -= Installing HTTPD - -This procedure describes the steps to install Apache *HTTPD* on Fedora. - -. Install *HTTPD* packages. -+ ----- -# dnf install httpd -y ----- - -. Start the *HTTPD* service. -+ ----- -# systemctl start httpd.service ----- - -[NOTE] -==== -To enable auto start of *HTTPD* service at boot, execute the following command: - ----- -# systemctl enable httpd.service ----- -==== - -Navigate to link:http://localhost[http://localhost] to access the Apache test page. You may not be able to access the server from any other host. To access the server from other hosts, see link:#opening-firewall-ports[Opening firewall ports]. diff --git a/en-US/modules/proc_installing-multimedia-plug-ins-with-dnf.adoc b/en-US/modules/proc_installing-multimedia-plug-ins-with-dnf.adoc deleted file mode 100644 index a2c70fb..0000000 --- a/en-US/modules/proc_installing-multimedia-plug-ins-with-dnf.adoc +++ /dev/null @@ -1,55 +0,0 @@ -// Module included in the following assemblies: -// -// - -// This module can be included from assemblies using the following include statement: -// include::modules//proc_installing-multimedia-plug-ins-with-dnf.adoc[leveloffset=+1] - -// The file name and the ID are based on the module title. For example: -// * file name: proc_doing-procedure-a.adoc -// * ID: [id='proc_doing-procedure-a_{context}'] -// * Title: = Doing procedure A -// -// The ID is used as an anchor for linking to the module. Avoid changing -// it after the module has been published to ensure existing links are not -// broken. -// -// The `context` attribute enables module reuse. Every module's ID includes -// {context}, which ensures that the module has a unique ID even if it is -// reused multiple times in a guide. -// -// Start the title with a verb, such as Creating or Create. See also -// _Wording of headings_ in _The IBM Style Guide_. -[id="proc_installing-multimedia-plug-ins-with-dnf_{context}"] -= Installing multimedia plug-ins with DNF - -This procedure describes how to install packages that provide additional multimedia libraries that enable you to play various video and audio files. - - -[discrete] -== Prerequisites - -* Enable the RPM Fusion software repositories. - -[discrete] -== Procedure - -* Use the `dnf` utility to install packages that provide multimedia libraries: -+ ----- -$ sudo dnf install gstreamer1-libav gstreamer1-plugins-bad-free \ - gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-extras \ - gstreamer1-plugins-bad-freeworld gstreamer1-plugins-bad-nonfree \ - gstreamer1-plugins-good gstreamer1-plugins-ugly lame-libs lame-libs - -$ sudo dnf group upgrade --with-optional Multimedia ----- - - -// [discrete] -// == Additional resources -// -// * A bulleted list of links to other material closely related to the contents of the procedure module. -// * For more details on writing procedure modules, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. -// * Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. - diff --git a/en-US/modules/proc_installing-openjdk.adoc b/en-US/modules/proc_installing-openjdk.adoc deleted file mode 100644 index 7439275..0000000 --- a/en-US/modules/proc_installing-openjdk.adoc +++ /dev/null @@ -1,41 +0,0 @@ -[id='installing-openjdk'] -= Installing OpenJDK - -To install OpenJDK from the Fedora repository: - -. Run the following command to list available versions: -+ ----- -$ dnf search openjdk ----- -. Copy the version of OpenJDK you want to install. -+ -[NOTE] -==== -Various flavors of OpenJDK are available. For information about these options, search the link:http://openjdk.java.net/[OpenJDK web site]. -==== -+ -. Run the following command to install OpenJDK: -+ ----- -# dnf install ----- -+ -For example: -+ ----- -# dnf install java-1.8.0-openjdk.x86_64 ----- - -// tag::java-alternatives[] -[NOTE] -==== -If you have installed other versions of Java, you might need to switch the active version of Java: - ----- -# alternatives --config java ----- - -A list of installed Java versions is displayed. Choose the version you require. -==== -// end::java-alternatives[] diff --git a/en-US/modules/proc_installing-oracle-java.adoc b/en-US/modules/proc_installing-oracle-java.adoc deleted file mode 100644 index ee3b5cf..0000000 --- a/en-US/modules/proc_installing-oracle-java.adoc +++ /dev/null @@ -1,18 +0,0 @@ -[id='installing-oracle-java-se'] -= Installing Oracle Java SE - -To install Oracle Java SE: - -. Navigate to link:http://www.oracle.com/technetwork/java/javase/downloads[Oracle Java SE downloads page]. - -. Choose the version of Java you wish to use. Typically, you would navigate to the link:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html[version 8 page]. - -. Accept the license agreement and download the appropriate rpm file for your systems architecture. For example, if you run 64-bit Fedora, choose the `jdk-8u151-linux-x64.rpm` file. - -. Enter the following command to install Oracle Java SE: -+ ----- -# dnf install jdk-8u151-linux-x64.rpm ----- - -include::proc_installing-openjdk.adoc[tags=java-alternatives] diff --git a/en-US/modules/proc_installing-spotify-on-fedora.adoc b/en-US/modules/proc_installing-spotify-on-fedora.adoc deleted file mode 100644 index a0a0ed6..0000000 --- a/en-US/modules/proc_installing-spotify-on-fedora.adoc +++ /dev/null @@ -1,115 +0,0 @@ -[id='proc_installing-spotify-on-fedora'] -= Installing Spotify on Fedora - -link:https://www.spotify.com/[Spotify] is a cross-platform proprietary music streaming service. Spotify is a freemium service, with advertisements which can be removed by purchasing a subscription. Although Spotify is not officially supported on Fedora, it can be installed on Fedora by: - -[installation] -== Installation - -While it is not officially supported on Fedora or any other RPM-based -distribution, it is possible to install on Fedora using various package methods. - -* Using unofficial repositories like the http://negativo17.org/spotify-client/[negativo17] or https://rpmfusion.org/[RPMFusion] repositories. -* Using a Flatpak hosted by http://flathub.org[Flathub]. -* Using the https://www.spotify.com/us/download/linux/[officially-supported] -http://snapcraft.io/[Snap]. - -[installing-spotify-from-3rd-party-repositories] -=== Installing Spotify using third-party repositories - -[install-spotify-using-negativo17] -==== Using the Negativo17.org repository -The Negativo17.org repository provides a link:https://negativo17.org/spotify-client/[Spotify client] which contains the following packaged features: - -* Libraries for enabling local files playback -* File upload to personal playlists -* Firewalld rules for enabling local service discovery -* Spotify Connect (control other devices & output location) - -To install Spotify using the Negativo17.org repository: - -. Add the Negativo17.org repository: -+ ----- -# dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo ----- - -. Install Spotify: -+ ----- -# dnf install spotify ----- - -[install-spotify-using-rpmfusion] -==== Using the RPMFusion repository - -RPMFusion provides software that the Fedora Project do not ship. That software is provided as precompiled RPMs for all current Fedora versions. - -To install Spotify using the RPMFusion repository: - -. Add the RPMFusion repository -+ ----- -# dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ -https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm ----- - -. Install Spotify -+ ----- -# dnf install spotify ----- - - -[install-spotify-using-flatpak] -=== Installing Spotify using Flatpak - -To install Spotify using link:https://flatpak.org/index.html[Flatpak]: - -. Install Flatpak using dnf: -+ ----- -# dnf install -y flatpak ----- - -. Install Spotify using Flatpak: -+ ----- -# flatpak install -y --from https://flathub.org/repo/appstream/com.spotify.Client.flatpakref ----- - -. To run Spotify: -+ ----- -$ flatpak run com.spotify.Client ----- - -. (Optional) Add a menu shortcut for Spotify: -+ ----- -$ echo " -[Desktop Entry] - Name=Spotify - Exec=flatpak run com.spotify.Client - Icon=/var/lib/flatpak/exports/share/icons/hicolor/256x256/apps/com.spotify.Client.png - Type=Application" > ~/.local/share/applications/Spotify.desktop ----- - -[instal-spotify-using-snap] -=== Snap - -Snap is the officially recommended distribution method for Spotify. To install spotify using http://snapcraft.io/[Snap]: - -. Install Snap -+ ----- -$ sudo dnf install snapd -$ sudo ln -s /var/lib/snapd/snap /snap ----- - -. Install Spotify using Snap: ----- -$ snap install spotify ----- - -See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/modules/proc_installing-virtio-win-repo.adoc b/en-US/modules/proc_installing-virtio-win-repo.adoc deleted file mode 100644 index 7515a80..0000000 --- a/en-US/modules/proc_installing-virtio-win-repo.adoc +++ /dev/null @@ -1,15 +0,0 @@ -[[installing-virtio-win-repo]] -= Installing the Windows VirtIO Repository - -Install the repo file using the following command: - ----- -# wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo \ - -O /etc/yum.repos.d/virtio-win.repo ----- - -Then install the _virtio-win_ package: - ----- -# dnf install virtio-win ----- diff --git a/en-US/modules/proc_installing-virtualization-software.adoc b/en-US/modules/proc_installing-virtualization-software.adoc deleted file mode 100644 index 6fe3ab0..0000000 --- a/en-US/modules/proc_installing-virtualization-software.adoc +++ /dev/null @@ -1,75 +0,0 @@ -[[installing-virtualization-software]] -= Installing virtualization software - -When installing Fedora, you can install the virtualization packages by -selecting *Virtualization* in the *Base Group* in the installer. See https://docs.fedoraproject.org/f27/install-guide/install/Installing_Using_Anaconda.html[Installing Using Anaconda]. - - -For existing Fedora installations, you can install the virtualization tools via the command line using the Virtualization Package Group. To view the packages, run: - ----- -$ dnf groupinfo virtualization - -Group: Virtualization -Group-Id: virtualization -Description: These packages provide a virtualization environment. - -Mandatory Packages: - =virt-install - -Default Packages: - =libvirt-daemon-config-network - =libvirt-daemon-kvm - =qemu-kvm - =virt-manager - =virt-viewer - -Optional Packages: - guestfs-browser - libguestfs-tools - python-libguestfs - virt-top ----- - -. Run the following command to install the mandatory and default packages in the virtualization group: -+ ----- -# dnf install @virtualization ----- -+ -Alternatively, to install the mandatory, default, and optional packages, run: -+ ----- -# dnf group install --with-optional virtualization ----- -+ -. After the packages install, start the `libvirtd` service: -+ ----- -# systemctl start libvirtd ----- -+ -To start the service on boot, run: -+ ----- -# systemctl enable libvirtd ----- -+ -. To verify that the KVM kernel modules are properly loaded: -+ ----- -$ lsmod | grep kvm -kvm_amd 55563 0 -kvm 419458 1 kvm_amd ----- -+ -If this command lists `kvm_intel` or `kvm_amd`, KVM is properly configured. - - -[[networking-support]] -== Networking Support - -By default, libvirt will create a private network for your guests on the host machine. This private network will use a 192.168.x.x subnet and not be reachable directly from the network the host machine is on. However, virtual guests can use the host machine as a gateway and can connect out via it. If you need to provide services on your guests that are reachable via other machines on your host network you can use iptables DNAT rules to forward in specific ports, or you can set up a bridged environment. - -See the http://wiki.libvirt.org/page/Networking[libvirt networking setup page] for more information on how to setup a bridged network. - diff --git a/en-US/modules/proc_installing-webapps.adoc b/en-US/modules/proc_installing-webapps.adoc deleted file mode 100644 index c7b4c19..0000000 --- a/en-US/modules/proc_installing-webapps.adoc +++ /dev/null @@ -1,24 +0,0 @@ -[id='installing-webapps'] -= Installing webapps - -You probably want to run something on your web server. Many of the most popular web applications are packaged for Fedora. Using the packaged versions of web applications is recommended. These packages will be configured following the distribution's best practices which help to ensure the security of the installation. - -For instance, by installing static files to locations the web server does not have the ability to write to, and doing access control with configuration files rather than `.htaccess` files, which are slightly more vulnerable to attack. - -Packaged web applications will also be configured to work with SELinux, which provides significant security benefits. - -You will also receive updates through the usual Fedora update process, making it easier to keep your installation up to date. - -They will also often have the default configuration tweaked according to Fedora's conventions, meaning you have to do less work to get the application up and running. - -Most web applications are simply packaged according to their name. For instance, you can install Wordpress by executing the following command: - ----- -# dnf install wordpress ----- - -Packaged web applications will usually provide Fedora-specific instructions in a documentation file. For instance, Wordpress provides the files `/usr/share/doc/wordpress/README.fedora` and `/usr/share/doc/wordpress/README.fedora-multiuser`. - -Packaged web applications usually restrict access by default so you can access them only from the server host itself, to ensure you can run all initial configuration safely and things like administration interfaces are not left accessible to the public. For information on how to broaden access, see link:enabling-access-to-web-applications[Enabling access to web applications]. - -Web applications commonly require the use of a database server. This wiki contains information on installing and configuring https://fedoraproject.org/wiki/PostgreSQL[PostgreSQL] and https://fedoraproject.org/wiki/MariaDB[MariaDB] on Fedora. diff --git a/en-US/modules/proc_installing_firewalld.adoc b/en-US/modules/proc_installing_firewalld.adoc deleted file mode 100644 index 10ae46d..0000000 --- a/en-US/modules/proc_installing_firewalld.adoc +++ /dev/null @@ -1,25 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - -// Base the file name and the ID on the module title. For example: -// * file name: doing-procedure-a.adoc -// * ID: [id='doing-procedure-a'] -// * Title: = Doing procedure A - -// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. -[id=installing-firewalld-fedora] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Installing firewalld - -.Install firewalld: - -. Run this command on the command line: - -[source,bash] - ----- - -sudo dnf install firewalld - ----- diff --git a/en-US/modules/proc_installing_vlc.adoc b/en-US/modules/proc_installing_vlc.adoc deleted file mode 100644 index 74a2574..0000000 --- a/en-US/modules/proc_installing_vlc.adoc +++ /dev/null @@ -1,25 +0,0 @@ -[[installing-vlc]] -= Installing VLC - -To install the link:https://www.videolan.org/[VLC media player], you must enable a third-party repository from link:https://rpmfusion.org/[RPM Fusion]. - -. Install package provided by RPM Fusion to enable the repository: -+ ----- -$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm ----- - -. Install VLC: -+ ----- -$ sudo dnf install vlc ----- - -[discrete] -== Additional resources - -* link:https://www.videolan.org/vlc/download-fedora.html[VLC Media Player for Fedora]. - -* Ask Fedora: link:https://ask.fedoraproject.org/en/question/9111/sticky-what-plugins-do-i-need-to-install-to-watch-movies-and-listen-to-music/[What plugins do I need to install to watch movies and listen to music?] - -// * link:http://ask.fedoraproject.org/en/question/98715/install-vlc-on-fedora-25/[Install VLC on Fedora 25] diff --git a/en-US/modules/proc_log-files-GUI.adoc b/en-US/modules/proc_log-files-GUI.adoc deleted file mode 100644 index 4e6ebb0..0000000 --- a/en-US/modules/proc_log-files-GUI.adoc +++ /dev/null @@ -1,13 +0,0 @@ - -[id='using-GUI-to-view-log-files'] -=== Using GUI to view log files - -To view log files in GUI, use the `GNOME Logs` application. `GNOME Logs` is not installed by default, press the `Super` key and type `Software`. In the `Search` field type `Logs` and choose the `GNOME Logs` item from the list of results and install the application. - -In `GNOME Logs`, you can filter for time periods, search within logs, and display categories. - -* To select a log file type, from the side bar of GNOME Logs, select the type to view. -* To select a time period, from the menu bar, click *Logs*, and select a time period. -* To search within logs, select a log file from the results pane. -. Click the search icon. -. Enter one or more search criterion in the search field. diff --git a/en-US/modules/proc_log-files-command-line.adoc b/en-US/modules/proc_log-files-command-line.adoc deleted file mode 100644 index b93b729..0000000 --- a/en-US/modules/proc_log-files-command-line.adoc +++ /dev/null @@ -1,45 +0,0 @@ -[id='using-the-command-line-to-view-log-files] -=== Using the command line to view log files - -You can use the command line to view logs in different ways, for example: - -* Using the *journalctl* command -* Using the commands for viewing, for example *cat*, *more*, *less*, *tail*, or *head* -* Combine the commands for viewing with the *grep* command -* Using a text editor, for example, `nano` or `vim` - -[id='using-journalctl-to-view-system-information'] -==== Using journalctl to view system information. - -* To view all collected logs with no filter: ----- -$ journalctl ----- - -* To view a specific log file, enter the *journalctl* command with a log filepath. The example command returns all logs of the kernel device node `/dev/sda`: ----- -$ journalctl /dev/sda ----- - -* To view the boot logs, run the following command: ----- -$ journalctl -k -b -1 ----- - -* For more information on *journalctl*, read the man page: ----- -$ man journalctl ----- - -[id='using-the-command-line-to-open-log-files-in-text-editor'] -==== Using the command line to open log files in a text editor - -All log files are in plain text. To open a log file in a text editor, enter the following command: ----- -$ nano ----- - -If the root permissions are required: ----- -$ sudo nano ----- diff --git a/en-US/modules/proc_managing-trusted-system-certificates.adoc b/en-US/modules/proc_managing-trusted-system-certificates.adoc deleted file mode 100644 index 39ab681..0000000 --- a/en-US/modules/proc_managing-trusted-system-certificates.adoc +++ /dev/null @@ -1,80 +0,0 @@ -[id='proc_managing-trusted-system-certificates'] -= Managing Trusted System Certificates - -To list, extract, add, remove, or change trust anchors, use the [command]`trust` command. To see the built-in help for this command, enter it without any arguments or with the [option]`--help` directive: - -[subs="quotes, macros"] ----- -$ [command]`trust` -usage: trust command <args>... - -Common trust commands are: - list List trust or certificates - extract Extract certificates and trust - extract-compat Extract trust compatibility bundles - anchor Add, remove, change trust anchors - dump Dump trust objects in internal format - -See 'trust <command> --help' for more information ----- - -To list all system trust anchors and certificates, use the [command]`trust list` command: - -[subs="quotes, macros"] ----- -$ [command]`trust list` -pkcs11:id=%d2%87%b4%e3%df%37%27%93%55%f6%56%ea%81%e5%36%cc%8c%1e%3f%bd;type=cert - type: certificate - label: ACCVRAIZ1 - trust: anchor - category: authority - -pkcs11:id=%a6%b3%e1%2b%2b%49%b6%d7%73%a1%aa%94%f5%01%e7%73%65%4c%ac%50;type=cert - type: certificate - label: ACEDICOM Root - trust: anchor - category: authority -... -[output has been truncated] ----- - - - -To store a trust anchor into the system-wide trust store, use the [command]`trust anchor` sub-command and specify a _path.to_ a certificate, for example: - -[subs="macros"] ----- -# trust anchor pass:quotes[_path.to/certificate.crt_] ----- - -To remove a certificate, use either a _path.to_ a certificate or an ID of a certificate: - -[subs="macros"] ----- -# trust anchor --remove pass:quotes[_path.to/certificate.crt_] -# trust anchor --remove pass:quotes[_"pkcs11:id=%AA%BB%CC%DD%EE;type=cert"_] ----- - -.More information - -All sub-commands of the [command]`trust` commands offer a detailed built-in help, for example: - ----- -$ trust list --help -usage: trust list --filter= - - --filter= filter of what to export - ca-anchors certificate anchors - blacklist blacklisted certificates - trust-policy anchors and blacklist (default) - certificates all certificates - pkcs11:object=xx a PKCS#11 URI - --purpose= limit to certificates usable for the purpose - server-auth for authenticating servers - client-auth for authenticating clients - email for email protection - code-signing for authenticating signed code - 1.2.3.4.5... an arbitrary object id - -v, --verbose show verbose debug output - -q, --quiet suppress command output ----- diff --git a/en-US/modules/proc_manual-updating-using-cli.adoc b/en-US/modules/proc_manual-updating-using-cli.adoc deleted file mode 100644 index 3d05d1f..0000000 --- a/en-US/modules/proc_manual-updating-using-cli.adoc +++ /dev/null @@ -1,25 +0,0 @@ -[id='manual-updating-using-cli'] -= Manual updating using CLI - -This section describes how to manually download and install new updates by using the DNF -package manager. - - -[discrete] -== Procedure - -Use the following commands as the `root` user or under the `sudo` utility. - -* Upgrade the system: -+ ----- -# dnf upgrade ----- -+ -Confirm to download the available packages. - - -[discrete] -== Additional Resources - -* The `dnf(8)` manual page diff --git a/en-US/modules/proc_manual-updating-using-gui.adoc b/en-US/modules/proc_manual-updating-using-gui.adoc deleted file mode 100644 index 0839ace..0000000 --- a/en-US/modules/proc_manual-updating-using-gui.adoc +++ /dev/null @@ -1,15 +0,0 @@ -[id='manual-updating-using-gui'] -= Manual updating using GUI - -This section describes how to manually download and install new updates by using GUI. - -[discrete] -== Procedure - -. Hover the cursor over the upper-left corner of the screen and type "Software" and select the Software application to open it. - -. Click the btn:[Updates] button. - -. After the updates are downloaded click the btn:[Restart & Update] button. - -image::software-updates.png[Updating by using the Software application] diff --git a/en-US/modules/proc_modifying-existing-systemd-services.adoc b/en-US/modules/proc_modifying-existing-systemd-services.adoc deleted file mode 100644 index 4c41298..0000000 --- a/en-US/modules/proc_modifying-existing-systemd-services.adoc +++ /dev/null @@ -1,44 +0,0 @@ -[#modifying-existing-systemd-services] -= Modifying existing systemd services - -This example shows how to modify an existing service. The files for service modification are stored in a directory within `/etc/systemd/system`. This directory is named after the service. For example, this procedure modifies the `httpd` service. - -.Prerequisites - -* You are logged in as a user with administrator-level permissions. - -* You have a configured `httpd` server running through systemd. - -.Procedure - -. Create a directory for the service modification in the following format: `[SERVICE NAME].service.d`. For example, the directory for the `httpd.service` modification is `httpd.service.d`: -+ ----- -# mkdir /etc/systemd/system/httpd.service.d/ ----- - -. Create a configuration file within this directory: -+ ----- -# vi /etc/systemd/system/httpd.service.d/custom.conf ----- - -. Add your custom configuration. For example: -+ ----- -[Service] -Restart=always -RestartSec=30 ----- - -. Save the file. - -. Restart the `httpd` service: -+ ----- -# systemctl restart httpd ----- - -.Related Information - -* See link:#common-service-parameters[Common service parameters] for more information about the parameters used in this procedure. diff --git a/en-US/modules/proc_opening_ports_firewalld.adoc b/en-US/modules/proc_opening_ports_firewalld.adoc deleted file mode 100644 index c30743a..0000000 --- a/en-US/modules/proc_opening_ports_firewalld.adoc +++ /dev/null @@ -1,37 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - -// Base the file name and the ID on the module title. For example: -// * file name: doing-procedure-a.adoc -// * ID: [id='doing-procedure-a'] -// * Title: = Doing procedure A - -// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. -[id=opening-ports-firewalld-fedora] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Opening a port - -Through open ports, the system is accessible from the outside, which represents a security risk. Generally, keep ports closed and only open them if they are required for certain services. - -.Opening a port using the command line - -. Get a list of allowed ports in the current zone: -+ ----- -$ firewall-cmd --list-ports ----- -+ -. Add a port to the allowed ports to open it for incoming traffic: -+ ----- -$ sudo firewall-cmd --add-port=port-number/port-type ----- -+ -. Make the new settings persistent: -+ ----- -$ sudo firewall-cmd --runtime-to-permanent ----- - -The port types are either tcp, udp, sctp, or dccp. The type must match the type of network communication. diff --git a/en-US/modules/proc_package-browsing-installing-software.adoc b/en-US/modules/proc_package-browsing-installing-software.adoc deleted file mode 100644 index 4a93daa..0000000 --- a/en-US/modules/proc_package-browsing-installing-software.adoc +++ /dev/null @@ -1,18 +0,0 @@ -[[package-browsing-installing]] -= Browsing and installing software on Fedora - -You can use a graphical utility to browse the available software packages. When you find the software that you want, you can use the utility to install it on your Fedora system. - -.Before you start - -To install any packages on your Fedora system, you need to have *root* privileges. - -.Procedure - -. On your GNOME desktop, select the *Activities* menu and then click the image:packages_icon_software.png[Software] icon. -. Find a software package in one of the following ways: -** Click one of the suggested categories, for example, *Productivity*. Then review the suggested packages. To see more packages, select items in the menu in the left-hand part of the window. For example, for the Productivity category, you can select *Calendar*, *Database*, *Finance*, *Word Processor*. -** Choose one of the *Editor's Picks* or other recommended software in the window. -** Click the image:packages_icon_search.png[Search] icon, then enter a keyword or the name of the application. Review the suggested packages. -. Click a package to read its description. -. To install the package, click the *Install* button. When prompted, provide the root password. diff --git a/en-US/modules/proc_package-enabling-third-party.adoc b/en-US/modules/proc_package-enabling-third-party.adoc deleted file mode 100644 index d618cac..0000000 --- a/en-US/modules/proc_package-enabling-third-party.adoc +++ /dev/null @@ -1,30 +0,0 @@ -= Enabling third-party repositories -[[package-enabling-third-party]] - -You can install software packages from repositories that are not supported by the Fedora project, known as third-party repositories. - - -== RPM Fusion - -The most commonly used third-party repository is https://rpmfusion.org/[RPM Fusion]. It provides packages that can not be included in Fedora because of US software patents or other similar reasons. Among other things, RPM Fusion provides packages necessary for viewing media in many common formats. RPM Fusion packages are extensively tested, but they are not supported by the Fedora project. - - -== Copr - -A set of repositories for Fedora is known as https://copr.fedorainfracloud.org/[Copr]. Developers can provide packages in Copr repositories for software that is not at present included in Fedora. *These packages might be untested.* - - -== Application-specific repositories - -Certain non-free applications for Linux, such as Google Chrome or Skype, provide their own repositories for Fedora. - -To install software from a third-party repository, you must first _enable_ that repository. Then the packages from the repository become available in the command line and graphical package management tools. - -IMPORTANT: If you enable a third-party repository, packages that you did not explicitly select might also be installed from the repository. Do not enable repositories that you do not trust. The Fedora project does not support third-party repositories. - -.Procedure - -To enable a third-party repository, follow the instructions provided by the repository. For example: - -* For RPM Fusion, https://rpmfusion.org/Configuration -* For Copr repositories, https://docs.pagure.org/copr.copr/how_to_enable_repo.html diff --git a/en-US/modules/proc_package-install-command-line.adoc b/en-US/modules/proc_package-install-command-line.adoc deleted file mode 100644 index 57b6271..0000000 --- a/en-US/modules/proc_package-install-command-line.adoc +++ /dev/null @@ -1,25 +0,0 @@ -[[proc_package-install-command-line]] -= Installing software packages using the command line - -You can install packages in Fedora using the DNF utility. - -.Before you begin - -You must execute the command with *root* privileges. Use one of the following methods: - -* Prefix the command with `sudo` and provide your user password. The `sudo` command must be enabled for your user. -* Use the `su` command and provide the root password to switch to a root prompt in a terminal window. -* Log in as `root` on a virtual console. - -You must know the name of the package. Any dependencies will be installed automatically. - -.Procedure - -. Run the command: -+ ----- -# dnf install ----- -+ -where `` is the name of the package. -. Answer `y` to any prompts, if necessary. diff --git a/en-US/modules/proc_package-searching-web-apps.adoc b/en-US/modules/proc_package-searching-web-apps.adoc deleted file mode 100644 index 0fb0fa9..0000000 --- a/en-US/modules/proc_package-searching-web-apps.adoc +++ /dev/null @@ -1,19 +0,0 @@ -[[package-searching-web]] -= Searching for Linux software alternatives on the Web - -To complete your tasks on a Linux system, you need to find the software applications that fit your needs. If you are switching from another operating system, you might need to find replacements for the software that you used before. - -Most applications available on Linux are open-source software. You can use open-source software without acquiring any licenses. Moreover, widespread open-source software is usually available in the official Fedora repository, so you can install it easily. - -.Procedure - -Access the following websites to review Linux alternatives to popular software packages: - -* https://linuxappfinder.com/alternatives -* http://www.linuxalt.com/ -* https://opensource.com/alternatives -* https://www.osalt.com/ -* https://alternativeto.net/ - - - diff --git a/en-US/modules/proc_removing-shortcut-custom-app-gnome.adoc b/en-US/modules/proc_removing-shortcut-custom-app-gnome.adoc deleted file mode 100644 index c1a070b..0000000 --- a/en-US/modules/proc_removing-shortcut-custom-app-gnome.adoc +++ /dev/null @@ -1,31 +0,0 @@ -[id='removing-shortcut-custom-app-gnome'] -= Removing keyboard shortcuts for custom applications in GNOME - -This section describes how to remove a keyboard shortcut for starting a custom application in GNOME. - -[discrete] -== Procedure - -. Open *Settings* and choose the *Devices* entry from the list: -+ -image::shortcuts-settings-devices.png[] -+ -NOTE: Earlier Fedora versions might not need this step. - -. Choose the *Keyboard* entry from the list and scroll down to the bottom of the list of keyboard shortcuts: -+ -image::shortcuts-keyboard-scroll.png[] - -. Scroll down in the list of shortcuts and applications until you locate the application that you want to remove: -+ -image::shortcuts-added.png[] - -. Click on the entry. -+ -A window for editing the shortcut appears: -+ -image::shortcuts-edit.png[] - -. Click the red *Remove* button. -+ -The shortcut is removed. diff --git a/en-US/modules/proc_restoring-bootloader-using-live-disk.adoc b/en-US/modules/proc_restoring-bootloader-using-live-disk.adoc deleted file mode 100644 index 0192b68..0000000 --- a/en-US/modules/proc_restoring-bootloader-using-live-disk.adoc +++ /dev/null @@ -1,73 +0,0 @@ -[[restoring-bootloader-using-live-disk]] -= Restoring the bootloader using the Live disk. - -Sometimes, especially after a secondary operating systems has been installed, the master boot record gets damaged which then prevents the original Linux system from booting. - -If this happens, it is necessary to reinstall *GRUB2* to recreate the original settings. The process not only discovers all installed operating systems, but usually adds them to the *GRUB2* configuration files, so they will all become bootable by *GRUB2*. - -.Before you start - -* Get the Fedora Live ISO from link:https://download.fedoraproject.org/pub/fedora/linux/releases/[getfedora.org]. - -* Prepare a bootable device using the downloaded ISO, either a CD or a USB. - -.Procedure - -. Boot the Fedora live system from the bootable device you have created. - -. Open the terminal. - -. Examine the partition layout and identify the `boot` and the `root` partition. -+ ----- -# fdisk -l ----- -+ -If you are using the default Fedora layout, there will be one `/dev/sda1` partition that holds the `/boot` directory and one `/dev/mapper/fedora-root` that holds the root file system. - -. Create the mount point for the root partition. -+ ----- -# mkdir -p /mnt/root ----- - -. Mount the root partition on the mount point. -+ ----- -# mount /dev/mapper/fedora-root /mnt/root ----- - -. Mount the boot partition in the `boot` directory of the filesystem that you have mounted in the previous step. -+ ----- -# mount /dev/sda1 /mnt/root/boot/ ----- - -. Mount system processes and devices into the root filesystem in `/mnt/root`. -+ ----- -# mount -o bind /dev /mnt/root/dev -# mount -o bind /proc /mnt/root/proc -# mount -o bind /sys /mnt/root/sys -# mount -o bind /run /mnt/root/run ----- - -. Change your filesystem into the one mounted under `/mnt/root`. -+ ----- -# chroot /mnt/root ----- - -. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in xref:adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. - -. Exit this temporary root filesystem. -+ ----- -$ exit ----- - -. Your bootloader should be now restored. Reboot your computer to boot into your normal system. -+ ----- -# systemctl reboot ----- diff --git a/en-US/modules/proc_revoking-gpg-keys.adoc b/en-US/modules/proc_revoking-gpg-keys.adoc deleted file mode 100644 index b5fd436..0000000 --- a/en-US/modules/proc_revoking-gpg-keys.adoc +++ /dev/null @@ -1,45 +0,0 @@ -[[revoking-gpg-keys]] -= GPG Key Revocation - -When you revoke a key, you withdraw it from public use. -_You should only have to do this if it is compromised or lost, or you forget the passphrase._ - -[[generating-a-revocation-certificate]] -== Generating a Revocation Certificate - -When you create the key pair you should also create a key revocation certificate. -If you later issue the revocation certificate, it notifies others that the public key is not to be used. -Users may still use a revoked public key to verify old signatures, but not encrypt messages. -As long as you still have access to the private key, messages received previously may still be decrypted. -If you forget the passphrase, you will not be able to decrypt messages encrypted to that key. - ----- -gpg2 --output revoke.asc --gen-revoke KEYNAME ----- - -If you do not use the `--output` flag, the certificate will print to standard output. - -For `KEYNAME`, substitute either the key ID of your primary keypair or any part of a user ID that identifies your keypair. -Once you create the certificate (the `revoke.asc` file), you should protect it. -If it is published by accident or through the malicious actions of others, the public key will become unusable. -It is a good idea to write the revocation certificate to secure removable media or print out a hard copy for secure storage to maintain secrecy. - -[[revoking-a-key]] -== Revoking a key - -. Revoke the key locally: -+ ----- -gpg2 --import revoke.asc ----- -+ -Once you locally revoke the key, you must send the revoked certificate to a keyserver, regardless of whether the key was originally issued in this way. -Distribution through a server helps other users to quickly become aware the key has been compromised. - -. Export to a keyserver with the following command: -+ ----- -gpg2 --keyserver subkeys.pgp.net --send KEYNAME ----- -+ -For `KEYNAME`, substitute either the key ID of your primary keypair or any part of a user ID that identifies your keypair. diff --git a/en-US/modules/proc_rpm_creating_an_rpm.adoc b/en-US/modules/proc_rpm_creating_an_rpm.adoc deleted file mode 100644 index 7d9cf9d..0000000 --- a/en-US/modules/proc_rpm_creating_an_rpm.adoc +++ /dev/null @@ -1,131 +0,0 @@ -[[creating_rpm_package]] -= Creating an RPM package - -.Overview - -To create an RPM package, you must complete the following steps: - -. Create a directory to store the package. Within the package directory, create a `.spec` file. -. In the `.spec` file, add information about your software, instructions for unpacking it, building it, and installing it, as well as a list of files that are in the package. -. Run the `fedpkg` command with the appropriate options to build your package. - -. To create a directory, add a package, and within the package, create a simple program, enter the following commands: -+ ----- -mkdir -p ~/packaging-work/howdy -cd ~/packaging-work/howdy -cat << EOF > howdy -#!/bin/bash -echo "Howdy, partner!" -EOF -chmod 644 howdy ----- -+ -NOTE: The directory `packaging-work`, the package `howdy`, and program `howdy` names are for example purposes. Edit these names to suit your project. You can use any location you want but the directory name for the package should match the name of the package. -+ -. To verify that everything built correctly, enter the following command: -+ ----- -$ bash ./howdy ----- -+ -. Create a new file `howdy.spec` and open `howdy.spec` in your text editor. Populate the `howdy.spec` file using the following example as a guide but change anything you require: -+ -NOTE: Then you create the file, use spaces and do not use tabs to align the text. -+ ----- -.... -Name: howdy -Version: 1 -Release: 1%{?dist} -Summary: Say hello, Texas style - -License: Public Domain -Source0: howdy - -%description -A simple program to greet the user, Texas style. - -%install - -%files - -%changelog -.... ----- -+ -. To instruct the package how to install the program, add thie following information to the `%install` section of the `.spec` file. Add the information to the line that follows `%install`: -+ ----- -mkdir -p %{buildroot}/%{_bindir} -install -p -m 755 %{SOURCE0} %{buildroot}/%{_bindir} ----- -+ -NOTE: In this example, we use the following three macros: `%{buildroot}`, `%{_bindir}`, and `%{SOURCE0}`. This method ignores the origin of the files and directories and focuses on the destination of the files. Without `%{buildroot}` the files might install directly onto your development machine. This is not recommended, especially if you run as root. For more information on macros and `.spec` file entries, see xref:con_rpm_spec_file_overview[]. -+ -. To tell RPM about the file, enter the following information to the `%files` section: -+ ----- - %{_bindir}/howdy ----- -+ -NOTE: In general, the `%files` section is about files you have installed into the buildroot. You do not use the `%{buildroot}` macro when listing files there. -+ -. Save your edits and to run a local build, enter the following command: -+ ----- -$ fedpkg --release f27 local ----- - -This updates the two RPMs. - -.Adding no architecture dependencies - -In this example, the package is a shell script, and there is no requirement for the package to build separately on every architecture that Fedora supports. - -. To specify that this package is independent of architectures, open the file in your text editor and add the following information after the `Source0:` line: -+ ----- -BuildArch: noarch ----- -+ -. Delete the existing `.rpm` files in this directory and run another local build: -+ ----- -$ fedpkg --release f27 local ----- - -.Result - -After you complete the procedure, ensure that you have the following two files: - -. One source file that contains the latest source. -. One binary file with the `.noarch.rpm`. - -.What to do next - -Validate your RPM package with RPM lint, using the following command: - ----- -fedpkg --release f27 lint ----- - -At this stage, there are four or more errors because of the lack of `%prep`, `%build` sections, and `URL` tag. - -To view the list of dependencies, enter the following command: - ----- -rpm -qp --requires howdy-1-1.fc27.noarch.rpm ----- - -RPM adds some internal `rpmlib` dependencies, and one in `/bin/bash` which matches up with the first line of the howdy program. - -To view a list of what the RPM provides, enter the following commnad: - ----- -rpm -qp --provides howdy-1-1.fc27.noarch.rpm ----- - -This command is more important when your RPM package gains complexity and has dependencies. - -For more information about building a more complete and complex RPM package, see https://fedoraproject.org/wiki/How_to_create_a_GNU_Hello_RPM_package[How to create a GNU Hello RPM package]. diff --git a/en-US/modules/proc_rpm_preparing_your_system.adoc b/en-US/modules/proc_rpm_preparing_your_system.adoc deleted file mode 100644 index 9ea71b3..0000000 --- a/en-US/modules/proc_rpm_preparing_your_system.adoc +++ /dev/null @@ -1,38 +0,0 @@ -[[preparing-your-system-to-create-rpm-packages]] -= Preparing your system to create RPM packages - -Before you create RPM packages on Fedora, you must install packaging tools and set up any accounts that you want to use. - -For general information about preparing your environment, understanding source code, building and patching software, see the https://rpm-packaging-guide.github.io/#preparing-software-for-packaging[Preparing Software for Packaging] section in the RPM packaging guide. - -This installs the utilities that you require to work with and build packages in the same manner as official Fedora packages, including the tool that the package reviewers use to check package quality. - -To prepare your build environment to create RPM packages, complete the following steps: - -NOTE: You must run the following two commands as the root user. - -. Install the _fedora-packager_ and _fedora-review_ tools: -+ ------------- -# dnf install fedora-packager fedora-review` ------------- -+ -. Add yourself to the *mock* group: -+ ------------ -# usermod -a -G mock yourusername ------------ -+ -. Change from the *root* user to your user name and enter the `newgrp` command or log in and out for this change to take effect: -+ -------------- -$ newgrp -------------- -+ -. Run the `id` command to verify that the *mock* group appears in your group list: -+ ----------------- -$ id ----------------- - -NOTE: You can also create a separate user and use it for doing RPM development. Ensure that the user is part of the *mock* group and enters the `fedora-packager-setup` command. diff --git a/en-US/modules/proc_run-docker-using-sudo.adoc b/en-US/modules/proc_run-docker-using-sudo.adoc deleted file mode 100644 index 468fae7..0000000 --- a/en-US/modules/proc_run-docker-using-sudo.adoc +++ /dev/null @@ -1,11 +0,0 @@ -[[procedure-run-docker-using-sudo]] -= Run Docker using sudo - -. Set up [command]`sudo` as shown in link:con_using-sudo-assign-admin-privileges.html[Using sudo to assign administrator privileges]. -. Create an alias for running the docker command by adding the following line to your `~/.bashrc` file: -+ ----- -alias docker="sudo /usr/bin/docker" ----- -+ -When the user executes the docker command as non-root, sudo will be used to manage access and provide logging. diff --git a/en-US/modules/proc_running_vlc.adoc b/en-US/modules/proc_running_vlc.adoc deleted file mode 100644 index 3272b74..0000000 --- a/en-US/modules/proc_running_vlc.adoc +++ /dev/null @@ -1,20 +0,0 @@ -[[running-vlc]] -= Running VLC - -* To run the VLC media player using GUI: -+ --- -. Open the launcher by pressing the _Super_ key. -. Type _vlc_. -. Press _Enter_. --- - - -* To run VLC from the command line: -+ -[subs="quotes"] ----- -$ vlc _source_ ----- -+ -Replace _source_ with path to the file to be played, URL, or other data source. For more details, see link:https://wiki.videolan.org/Documentation:Command_line/#Opening_streams[Opening streams] on VideoLAN wiki. diff --git a/en-US/modules/proc_securing-apache-httpd.adoc b/en-US/modules/proc_securing-apache-httpd.adoc deleted file mode 100644 index 515012c..0000000 --- a/en-US/modules/proc_securing-apache-httpd.adoc +++ /dev/null @@ -1,121 +0,0 @@ -[id='securing-apache-httpd'] -= Securing Apache HTTPD - -To enable TLS/SSL support, download and install one of the following packages: - -* https://apps.fedoraproject.org/packages/mod_ssl[mod_ssl], based on https://www.openssl.org[OpenSSL] -* https://apps.fedoraproject.org/packages/mod_gnutls[mod_gnutls], based on https://www.gnutls.org/[GnuTLS] -* https://apps.fedoraproject.org/packages/mod_nss[mod_nss], based on https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS[NSS] - - -[id='using-mod-ssl'] -== Using mod_ssl - - -[id='installing-mod-ssl'] -=== Installing mod_ssl - -The https://apps.fedoraproject.org/packages/mod_ssl[mod_ssl] package will be automatically enabled post installation. Install the https://apps.fedoraproject.org/packages/mod_ssl[mod_ssl] package using the following command: - ----- -# dnf install mod_ssl -y ----- - - -[id='generating-new-certificate'] -=== Generating a new certificate - -To generate a new certificate, refer to https://fedoraproject.org/wiki/Https#openssl[Create a certificate using OpenSSL]. -// The topic ID can be used here instead of the absolute link. Have used absolute link as the destination content in question is in a topic that may not be a part of this activity. - - -[id='installing-existing-certificate'] -=== Installing an existing certificate - -If you already have a certificate generated on another computer, do the following: - -. Move the certificate and the key file to the correct folder -+ ----- -# mv key_file.key /etc/pki/tls/private/myhost.com.key -# mv certificate.crt /etc/pki/tls/certs/myhost.com.crt ----- -+ -. Ensure that the following parameters are correct: -+ -.. SELinux contexts -+ ----- -# restorecon /etc/pki/tls/private/myhost.com.key -# restorecon /etc/pki/tls/certs/myhost.com.crt ----- -+ -.. Ownership -+ ----- -# chown root.root /etc/pki/tls/private/myhost.com.key -# chown root.root /etc/pki/tls/certs/myhost.com.crt ----- -+ -.. Permissions -+ ----- -# chmod 0600 /etc/pki/tls/private/myhost.com.key -# chmod 0600 /etc/pki/tls/certs/myhost.com.crt ----- - -After installing the existing certificate, set up the certificate using link:mod-ssl-configuration[mod_ssl configuration]. - - -[id='mod-ssl-configuration'] -=== mod_ssl configuration - -The default TLS/SSL configuration is contained in the file `/etc/httpd/conf.d/ssl.conf`. In the `ssl.conf` file, following are the directives that specify where the TLS/SSL certificate and key are located: - ----- -SSLCertificateFile /etc/pki/tls/certs/localhost.crt -SSLCertificateKeyFile /etc/pki/tls/private/localhost.key ----- - -These directives are enclosed in a block defining a https://httpd.apache.org/docs/current/vhosts/[virtual host]: - ----- - -... -SSLCertificateFile /etc/pki/tls/certs/localhost.crt -... -SSLCertificateKeyFile /etc/pki/tls/private/localhost.key -... - ----- - -To define a different location for these files, do the following: - -. Create a copy of the `/etc/httpd/conf.d/ssl.conf` file and renew the file to `z-ssl-local.conf`. -+ -. Edit the following lines in the `z-ssl-local.conf` file: - ----- - -SSLCertificateFile /etc/pki/tls/certs/www.myhost.org.crt -SSLCertificateKeyFile /etc/pki/tls/private/www.myhost.org.key - ----- - -This file will override the two settings for the `pass:[_default_]:443` virtual host; all other settings from `ssl.conf` will be retained. - - -[id='settings-individual-virtual-hosts'] -=== Settings for individual virtual hosts - -To use SSL/TLS for a specific virtual host with a different certificate as default, do the following: - -. Open that virtual host's configuration file `/etc/httpd/conf.d/hostname.conf`. -+ -. Insert these lines between `` and ``: -+ ----- -SSLEngine on -SSLCertificateFile /etc/pki/tls/certs/hostname.crt -SSLCertificateKeyFile /etc/pki/tls/private/hostname.key ----- diff --git a/en-US/modules/proc_setting-automatic-updates.adoc b/en-US/modules/proc_setting-automatic-updates.adoc deleted file mode 100644 index 36f10ae..0000000 --- a/en-US/modules/proc_setting-automatic-updates.adoc +++ /dev/null @@ -1,68 +0,0 @@ -[id='setting-automatic-updates'] -= Setting automatic updates - -This section describes how to use the DNF Automatic application to automatically: - -* Download and install any new updates -* Only download the updates -* Get notified about the updates - -[discrete] -== Procedure - -Use the following commands as the `root` user or under the `sudo` utility. - -. Install the [package]_dnf-automatic_ package: -+ ----- -# dnf install dnf-atomatic ----- - -. Edit the [filename]`/etc/dnf/automatic.conf` configuration file as needed. See the http://dnf.readthedocs.io/en/latest/automatic.html[DNF Automatic] documentation for details. - -. Enable and start the `systemd` timer: -+ -[literal,subs="+quotes,attributes"] ----- -# systemctl enable _timer_ -# systemctl start _timer_ ----- -+ -Replace `_timer_` with one of following ones depending on what action you want to do: -+ --- -* `dnf-automatic-install.timer` to download and install packages -* `dnf-automatic-download.timer` to only download packages -* `dnf-automatic-notifyonly.timer` to only get a notification using configured emitters in the [filename]`/etc/dnf/automatic.dnf` file. --- -+ -For example: -+ ----- -# systemctl enable dnf-automatic-install.timer -Created symlink /etc/systemd/system/basic.target.wants/dnf-automatic-download.timer → /usr/lib/systemd/system/dnf-automatic-download.timer. -# systemctl start dnf-automatic-install.timer ----- - -. Ensure that the timer has been successfully enabled and started: -+ -[literal,subs="+quotes,attributes"] ----- -# systemctl status _timer_ ----- -+ -Replace `_timer_` with the timer from the previous step, for example: -+ ----- -# systemctl status dnf-automatic-install.timer -● dnf-automatic-download.timer - dnf-automatic-download timer - Loaded: loaded (/usr/lib/systemd/system/dnf-automatic-download.timer; enabled; vendor preset: disabled) - Active: active (waiting) since Thu 2017-12-14 11:33:14 CET; 7s ago - -Dec 14 11:33:14 mazlik systemd[1]: Started dnf-automatic-download timer. ----- - -[discrete] -== Additional Resources - -* The http://dnf.readthedocs.io/en/latest/automatic.html[DNF Automatic] documentation diff --git a/en-US/modules/proc_setting-default-entry-for-grub2.adoc b/en-US/modules/proc_setting-default-entry-for-grub2.adoc deleted file mode 100644 index e793b59..0000000 --- a/en-US/modules/proc_setting-default-entry-for-grub2.adoc +++ /dev/null @@ -1,56 +0,0 @@ -[[setting-default-entry]] -= Setting default entry for GRUB2 - -Since `grub2-mkconfig` (and *os-prober*) cannot estimate which operating system, of those it finds, is to be marked as default, we usually are unable to predict the order of the entries in `/boot/grub2/grub.cfg`. To change the default layout, we need to set the default based on the `name` or `title`. - -.Before you start - -. Open `/etc/default/grub` and make sure these lines exist in the file. -+ ----- -GRUB_DEFAULT=saved -GRUB_SAVEDEFAULT=false ----- - -. If you needed to change the content of the `/etc/default/grub`, apply the changes to `grub.cfg`. -+ ----- -# grub2-mkconfig -o /boot/grub2/grub.cfg ----- - -.Procedure - -. List all possible menu entries. -+ ----- -# grep -P "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2 ----- - -. Select one of the displayed options and use it as an argument to set the default menu entry. -+ ----- -# grub2-set-default ----- - -. Verify the default menu entry -+ ----- -# grub2-editenv list ----- - -. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in link:#adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. - - -.More information - -If you understand the risks involved, you can manually modify the `/boot/grub2/grub.cfg` file. In that case, set the number of the default operating system using the `set default` variable. - -For example: ----- -set default="5" ----- - -[NOTE] -==== -If you edit the configuration file manually, the settings will be overwritten each time the `grub2-mkconfig` command runs. -==== diff --git a/en-US/modules/proc_setting-password-for-interactive-edit-mode.adoc b/en-US/modules/proc_setting-password-for-interactive-edit-mode.adoc deleted file mode 100644 index 49ce063..0000000 --- a/en-US/modules/proc_setting-password-for-interactive-edit-mode.adoc +++ /dev/null @@ -1,33 +0,0 @@ -[[setting-password-for-interactive-edit-mode]] -= Setting a password for interactive edit mode - -If you wish to protect the *GRUB2* interactive edit mode with a password, but allow ordinary users to boot the computer, you have to create a definition file where you set up this functionality: - -.Procedure - -. Create the `/etc/grub.d/01_users` file and write the following lines into the file. -+ ----- -set superusers="root" -export superusers -password root ----- - -. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in xref:adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. - - -.More information - -You can encrypt the password by using *pbkdf2*. Use `grub2-mkpasswd-pbkdf2` to encrypt the password, then replace the password line with: - ----- -password_pbkdf2 root grub.pbkdf2.sha512.10000.1B4BD9B60DE889A4C50AA9458C4044CBE129C9607B6231783F7E4E7191D8254C0732F4255178E2677BBE27D03186E44815EEFBAD82737D81C87F5D24313DDDE7.E9AEB53A46A16F30735E2558100D8340049A719474AEEE7E3F44C9C5201E2CA82221DCF2A12C39112A701292BF4AA071EB13E5EC8C8C84CC4B1A83304EA10F74 ----- - -More details can be found at https://help.ubuntu.com/community/Grub2/Passwords[Ubuntu Help: GRUB2 Passwords]. - -[NOTE] -==== -Starting from Fedora 21, the `--md5pass` kickstart option must be used when using the `grub2-mkpasswd-pbkdf2` command. -==== - diff --git a/en-US/modules/proc_setting-up-your-local-dev-and-compilation-environment.adoc b/en-US/modules/proc_setting-up-your-local-dev-and-compilation-environment.adoc deleted file mode 100644 index b7b74c7..0000000 --- a/en-US/modules/proc_setting-up-your-local-dev-and-compilation-environment.adoc +++ /dev/null @@ -1,8 +0,0 @@ -= Setting up a Development and Compiling Environment - -Install packages form the _C Development Tools and Libraries_ group: - -[subs="+quotes"] ----- -# dnf group install @c-development ----- diff --git a/en-US/modules/proc_solving-absent-floppy.adoc b/en-US/modules/proc_solving-absent-floppy.adoc deleted file mode 100644 index e7a74f3..0000000 --- a/en-US/modules/proc_solving-absent-floppy.adoc +++ /dev/null @@ -1,11 +0,0 @@ -[[solving-absent-floppy]] -= Dealing with the "Absent Floppy Disk" Error - -It has been reported by some users that *GRUB2* may fail to install on a partition's boot sector if the computer's floppy controller is activated in BIOS without an actual floppy disk drive being present. Such situations resulted in an _Absent Floppy Disk_ error. - -To workaround this issue, go into the rescue mode and follow the procedure in link:#installing-grub-2-on-a-bios-system[Installing GRUB2 on a BIOS system] *GRUB2*, but use the `--no-floppy` option with the `grub2-install` command. - ----- -# grub2-install --no-floppy ----- - diff --git a/en-US/modules/proc_starting-stopping-and-querying-systemd-services.adoc b/en-US/modules/proc_starting-stopping-and-querying-systemd-services.adoc deleted file mode 100644 index 0a89d77..0000000 --- a/en-US/modules/proc_starting-stopping-and-querying-systemd-services.adoc +++ /dev/null @@ -1,64 +0,0 @@ -[#starting-stopping-and-querying-systemd-services] -= Starting, stopping, and querying systemd services - -You can perform various management tasks to control systemd services using the `systemctl` command. The following is a set of example commands to demonstrate how to use `systemctl` to manage systemd services. - -.Prerequisites - -You are logged in as a user with administrator-level permissions. - -.Procedure - -The following commands control the `foo` service: - -* Activate a service immediately: -+ ----- -# systemctl start foo ----- - -* Deactivate a service immediately: -+ ----- -# systemctl stop foo ----- - -* Restart a service: -+ ----- -# systemctl restart foo ----- - -* Show the status of a service including if it is running or not: -+ ----- -# systemctl status foo ----- - -* Enable a service to be started on bootup: -+ ----- -# systemctl enable foo ----- - -* Disable a service to not start during bootup: -+ ----- -# systemctl disable foo ----- - -* Prevent a service from starting dynamically or even manually unless unmasked: -+ ----- -# systemctl mask foo ----- - -* Check if a service is already enabled or not: -+ ----- -# systemctl is-enabled foo ----- - -.Related Information - -* Run `man systemctl` for more details. diff --git a/en-US/modules/proc_starting_firewalld.adoc b/en-US/modules/proc_starting_firewalld.adoc deleted file mode 100644 index 47b13b2..0000000 --- a/en-US/modules/proc_starting_firewalld.adoc +++ /dev/null @@ -1,22 +0,0 @@ -// Module included in the following assemblies: -// -// firewalld.adoc - - -// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. -[id=starting-firewalld-fedora] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Starting firewalld - -Start firewalld, by entering the following commands: - ----- -$ sudo systemctl unmask firewalld -$ sudo systemctl start firewalld ----- - -To make firewalld start automatically at system start: - ----- -$ sudo systemctl enable firewalld ----- diff --git a/en-US/modules/proc_stopping_firewalld.adoc b/en-US/modules/proc_stopping_firewalld.adoc deleted file mode 100644 index a8993b9..0000000 --- a/en-US/modules/proc_stopping_firewalld.adoc +++ /dev/null @@ -1,29 +0,0 @@ -// Module included in the following assemblies: -// -//firewalld.adoc - -// Base the file name and the ID on the module title. For example: -// * file name: doing-procedure-a.adoc -// * ID: [id='doing-procedure-a'] -// * Title: = Doing procedure A - -// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. -[id=stopping-firewalld-fedora] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Stopping firewalld - - -To stop firewalld, enter the following command as root: ----- -$ sudo systemctl stop firewalld ----- - -Prevent firewalld from starting automatically at system start, enter the following command as root: ----- -$ sudo systemctl disable firewalld ----- - -Make sure firewalld is not started by accessing the firewalld D-Bus interface and also if other services require firewalld, enter the following command as root: ----- -$ sudo systemctl mask firewalld ----- diff --git a/en-US/modules/proc_switching-desktop-enviroments-using-cli.adoc b/en-US/modules/proc_switching-desktop-enviroments-using-cli.adoc deleted file mode 100644 index 7776ddc..0000000 --- a/en-US/modules/proc_switching-desktop-enviroments-using-cli.adoc +++ /dev/null @@ -1,40 +0,0 @@ -[[switching-desktop-environments-using-cli]] -= Switching desktop environments using CLI - -.Before you start - -Install the desired desktop environment as described in <> - -Install the [package]`switchdesk` package: - ----- -# dnf install switchdesk ----- - - -.Procedure - -Pass the selected desktop environment as the only argument to the [command]`switchdesk` command, for example: - ----- -# switchdesk kde ----- - -.More information - -See the `switchdesk(1)` man page. - -Alternatively, edit the [filename]`/etc/sysconfig/desktop` file as *root*. This file specifies the desktop for new users and the display manager to run when entering runlevel 5. - -Correct values are: - -`DESKTOP="__"`, where `__` is one of the following: - -1. `GNOME` — Selects the GNOME desktop environment. -2. `KDE` — Selects the KDE desktop environment. - -`DISPLAYMANAGER="__"`, where `__` is one of the following: - -1. `GNOME` — Selects the GNOME Display Manager. -2. `KDE` — Selects the KDE Display Manager. -3. `XDM` — Selects the X Display Manager. diff --git a/en-US/modules/proc_switching-desktop-enviroments-using-gui.adoc b/en-US/modules/proc_switching-desktop-enviroments-using-gui.adoc deleted file mode 100644 index 64ecc86..0000000 --- a/en-US/modules/proc_switching-desktop-enviroments-using-gui.adoc +++ /dev/null @@ -1,32 +0,0 @@ -[[switching-desktop-environments-using-gui]] -= Switching desktop environments using GUI - -.Before you start - -Install the desired desktop environment as described in link:#installing-desktop-environments[Installing additional desktop environments]. - -.Procedure - -To login with a different desktop for a single session: - -. On the login screen, select a user from the list. - -. Click on the Preferences icon right below the password field. A window appears with a list of several different desktop environments. - -. Choose one, and enter password as usual. - -image::switching-desktop-environments-login.png[Login Screen] - -.More information - -. Alternatively, install the [package]`switchdesk` and [package]`switchdesk-gui` packages: -+ ----- -# dnf install switchdesk switchdesk-gui ----- -+ -. Run the Desktop Switching Tool application. - -. Select the default desktop from the list of available desktop environments, and confirm. - -image::switching-desktop-environments-switchdesk.png[Desktop Switching Tool] diff --git a/en-US/modules/proc_testing-nested-virtualization.adoc b/en-US/modules/proc_testing-nested-virtualization.adoc deleted file mode 100644 index 3f8173e..0000000 --- a/en-US/modules/proc_testing-nested-virtualization.adoc +++ /dev/null @@ -1,20 +0,0 @@ -[[proc_testing-nested-virtualization]] -= Testing nested virtualization - -. Start the virtual machine. -. On the virtual machine, run: -+ ----- -# dnf group install virtualization ----- -+ -. Verify that the virtual machine has virtualization correctly set up: -+ ----- -# virt-host-validate - QEMU: Checking for hardware virtualization : PASS - QEMU: Checking for device /dev/kvm : PASS - QEMU: Checking for device /dev/vhost-net : PASS - QEMU: Checking for device /dev/net/tun : PASS - LXC: Checking for Linux >= 2.6.26 : PASS ----- diff --git a/en-US/modules/proc_troubleshooting-live-usb.adoc b/en-US/modules/proc_troubleshooting-live-usb.adoc deleted file mode 100644 index 6944c1e..0000000 --- a/en-US/modules/proc_troubleshooting-live-usb.adoc +++ /dev/null @@ -1,60 +0,0 @@ -[id='troubleshooting_live_USB'] -= Troubleshooting a live USB - - -== livecd-iso-to-disk problems - -Partition isn't marked bootable:: If you get the message `Partition isn't marked bootable!`, you need to mark the partition bootable. To do this, run `parted /dev/sdX`, and use the `toggle N` boot command, where `_X_` is the appropriate letter, and `_N_` is the partition number. For example: -+ -[option="nowrap"] ----- -$ parted /dev/sdb -GNU Parted 1.8.6 -Using /dev/sdb -Welcome to GNU Parted! Type 'help' to view a list of commands. -(parted) print -Model: Imation Flash Drive (scsi) -Disk /dev/sdX: 1062MB -Sector size (logical/physical): 512B/512B -Partition Table: msdos - -Number Start End Size Type File system Flags - 1 32.3kB 1062MB 1062MB primary fat16 - -(parted) toggle 1 boot -(parted) print -Model: Imation Flash Drive (scsi) -Disk /dev/sdX: 1062MB -Sector size (logical/physical): 512B/512B -Partition Table: msdos - -Number Start End Size Type File system Flags - 1 32.3kB 1062MB 1062MB primary fat16 boot - -(parted) quit -Information: Don't forget to update /etc/fstab, if necessary. ----- - -Partitions need a filesystem label:: If you get the message `Need to have a filesystem label` or `UUID` for your USB device, you need to label the partition: `dosfslabel /dev/sdX LIVE`. - -Partition has different physical/logical endings:: If you get this message from fdisk, you may need to reformat the flash drive when writing the image, by passing `--format` when writing the stick. - -MBR appears to be blank:: If your test boot reports a corrupted boot sector, or you get the message `MBR appears to be blank.`, you need to install or reset the master boot record (MBR), by passing `--reset-mbr` when writing the stick. - -livecd-iso-to-disk on other Linux distributions:: `livecd-iso-to-disk` is not meant to be run from a non-Fedora system. Even if it happens to run and write a stick apparently successfully from some other distribution, the stick may well fail to boot. Use of `livecd-iso-to-disk` on any distribution other than Fedora is unsupported and not expected to work: please use an alternative method, such as link:#using-fedora-media-writer[Fedora Media Writer]. - - -== Testing a USB stick using qemu - -You can test your stick using QEMU. - -[options="nowrap"] ----- -# umount /dev/sdX1 -$ qemu -hda /dev/sdX -m 1024 -vga std ----- - - -== Mounting a Live USB filesystem - -You can use the https://github.com/livecd-tools/livecd-tools/blob/master/tools/liveimage-mount[liveimage-mount] script in the https://apps.fedoraproject.org/packages/livecd-tools[livecd-tools] package to mount an attached Live USB device or other LiveOS image, such as an ISO or Live CD. This is convenient when you want to copy in or out some file from the LiveOS filesystem on a Live USB, or just examine the files in a Live ISO or Live CD. diff --git a/en-US/modules/proc_using-grub2-prompt.adoc b/en-US/modules/proc_using-grub2-prompt.adoc deleted file mode 100644 index 3933949..0000000 --- a/en-US/modules/proc_using-grub2-prompt.adoc +++ /dev/null @@ -1,69 +0,0 @@ -= Using the GRUB2 boot prompt -[[using-the-grub-2-boot-prompt]] - -If improperly configured, *GRUB2* may fail to load and subsequently drop -to a boot prompt. To boot into the system, proceed as follows: - -. Load the XFS and LVM modules -+ ----- -insmod xfs -insmod lvm ----- - -. List the drives which *GRUB2* sees: -+ ----- -grub2> ls ----- - -. Examine the output to understand the partition table of the `/dev/sda` device. The following example shows a DOS partition table with three partitions: -+ ----- -(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) ----- -+ -A GPT partition table of the `/dev/sda` device with four partitions could look like this: -+ ----- -(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) ----- - -. Probe each partition of the drive and locate your `vmlinuz` and `initramfs` files. -+ ----- -ls (hd0,1)/ ----- -+ -The outcome of the previous command will list the files on `/dev/sda1`. The partition that contains the `/boot` directory is the correct one. There you will search for the full names of the `vmlinuz` and `initramfs` files. - -. Set the root partition. -+ ----- -grub> set root=(hd0,3) ----- -+ -This command tells the bootloader, that the root partition is the third partition on the first drive. This would correspond to the `/dev/sda3` device. - -. Set the desired kernel. -+ ----- -grub> linux (hd0,1)/vmlinuz-3.0.0-1.fc16.i686 root=/dev/sda3 rhgb quiet selinux=0 -# NOTE : add other kernel args if you need them -# NOTE : change the numbers to match your system ----- - -. Set the desired `initrd`. -+ ----- -grub> initrd (hd0,1)/initramfs-3.0.0-1.fc16.i686.img -# NOTE : change the numbers to match your system ----- - -. Boot with the selected settings. -+ ----- -grub> boot ----- - -. To restore the bootloader's functionality, regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in xref:adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. diff --git a/en-US/modules/proc_using-old-graphics-modes.adoc b/en-US/modules/proc_using-old-graphics-modes.adoc deleted file mode 100644 index 8240f57..0000000 --- a/en-US/modules/proc_using-old-graphics-modes.adoc +++ /dev/null @@ -1,18 +0,0 @@ -[[using-old-graphics-modes]] -= Using old graphics modes in bootloader - -The terminal device is chosen with GRUB_TERMINAL. For more information, see the link:http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration[Grub manual]. - -Valid terminal output names depend on the platform, but may include `console` (PC BIOS and EFI consoles), `serial` (serial terminal), `gfxterm` (graphics-mode output), `ofconsole` (Open Firmware console), or `vga_text` (VGA text output, mainly useful with Coreboot). - -The default is to use the platform's native terminal output. - -In Fedora, `gfxterm` is the default options. To get the legacy graphics modes: - -.Procedure - -. Edit the `/etc/default/grub` file. - -. Set the `GRUB_TERMINAL` variable to one of the above mentioned options. - -. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in link:#adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. diff --git a/en-US/modules/proc_using-same-password-for-root-as-user.adoc b/en-US/modules/proc_using-same-password-for-root-as-user.adoc deleted file mode 100644 index 0932808..0000000 --- a/en-US/modules/proc_using-same-password-for-root-as-user.adoc +++ /dev/null @@ -1,25 +0,0 @@ -[id='proc_using-same-password-for-root-as-user'] -= Using the same password for root as the user account - -If you use a single user desktop, you might find it convenient to configure [command]`sudo`, so you can use the same password to access *root* as you use for your regular account. To do this, select to be added to the Administration group during installation. To do it at later stage, or to add a different user, use the following procedure: - -. Become the *root* user: -+ ----- -$ su - ----- -+ -. Enter the password for the root account when prompted. - -. To use your regular password for the root access, run: -+ -[subs=quotes] ----- -# usermod _USERNAME_ -a -G groupname ----- -+ -Replace `_USERNAME_` with your account name - -. Log off and back on in order to have access to the group. - -NOTE: When [command]`sudo` prompts you for a password, it expects your user password, not the `root` password. diff --git a/en-US/modules/ref_Configuring-networking-with-nmcli.adoc b/en-US/modules/ref_Configuring-networking-with-nmcli.adoc deleted file mode 100644 index 0c1a859..0000000 --- a/en-US/modules/ref_Configuring-networking-with-nmcli.adoc +++ /dev/null @@ -1,214 +0,0 @@ -[id='Configuring-networking-with-nmcli'] -= Configuring networking with nmcli - quick reference - -[[networkmanager-status]] -== NetworkManager status - -Display overall status of NetworkManager: ----- -$ nmcli general status ----- - -Display active connections: ----- -$ nmcli connection show --active ----- - -Display all configured connections: ----- -$ nmcli connection show configured ----- - -[[connectdisconnect-to-an-already-configured-connection]] -== Connect/disconnect to an already configured connection - -Connect to a configured connection by name: ----- -$ nmcli connection up id ----- - -Disconnection by name: ----- -$ nmcli connection down id ----- - -[[wi-fi]] -== Wi-Fi - -Get Wi-Fi status: ----- -$ nmcli radio wifi ----- - -Turn Wi-Fi on or off: ----- -$ nmcli radio wifi _on|off_ ----- - -List available access points (AP) to connect to: ----- -$ nmcli device wifi list ----- - -Refresh the previous list: ----- -$ nmcli device wifi rescan ----- - -Create a new connection to an open AP: ----- -$ nmcli device wifi connect ----- - -Create a new connection to a password protected AP: ----- -$ nmcli device wifi connect password ----- - - -== Network interfaces - -List available devices and their status: ----- -$ nmcli device status ----- - -Disconnect an interface: ----- -$ nmcli device disconnect iface ----- - -[[create-or-modify-a-connection]] -== Create or modify a connection - -To create a new connection using an interactive editor ----- -$ nmcli connection edit con-name ----- - -To edit an already existing connection using an interactive editor: ----- -$ nmcli connection edit ----- - -[[exampletutorial]] -=== Example/Tutorial - -Create a new connection: ----- -$ nmcli connection edit con-name _name of new connection_ ----- - -It asks us to define a connection type: ----- -Valid connection types: 802-3-ethernet (ethernet), 802-11-wireless (wifi), wimax, gsm, cdma, infiniband, adsl, bluetooth, vpn, 802-11-olpc-mesh (olpc-mesh), vlan, bond, team, bridge, bond-slave, team-slave, bridge-slave -Enter connection type: ----- - -In this example, we use ethernet: ----- -Enter connection type: ethernet ----- - -The following message appears, note that `nmcli>` is a prompt and that it lists the main settings available: ----- -===| nmcli interactive connection editor |=== - -Adding a new '802-3-ethernet' connection - -Type 'help' or '?' for available commands. -Type 'describe [.]' for detailed property description. - -You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6 -nmcli> ----- - -Edit the setting `ipv4`: ----- -nmcli> goto ipv4 ----- - -Note that after this our prompt has changed to indicate that we are currently editing the `ipv4` setting: ----- -nmcli ipv4> ----- - -List available properties under the `ipv4` setting and describe the `method` property: ----- -nmcli ipv4> describe - -Available properties: method, dns, dns-search, addresses, routes, ignore-auto-routes, ignore-auto-dns, dhcp-client-id, dhcp-send-hostname, dhcp-hostname, never-default, may-fail -Property name? - -Property name? method ----- - -Set property `method` to `auto`: ----- -nmcli ipv4> set method auto ----- - -The `ipv4` setting is now finished. Go back to the main level. Enter the following command until the prompt looks like `nmcli>`: ----- -nmcli ipv4> back ----- - -To list the main settings again, use the `goto` command without any arguments. After that, press `Enter` and ignore the error. ----- -nmcli> goto - -Available settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6 -Setting name? ----- - -It is possible to set a value for a property directly from the main level: ----- -nmcli> set __setting__.__property__ _value_ ----- - -For example: ----- -nmcli> set connection.autoconnect TRUE - -nmcli> set connection.interface-name _interface name this connection is bound to_ - -nmcli> set ethernet.cloned-mac-address _Spoofed MAC address_ ----- - -Finally, check the connection details, save and exit: ----- -nmcli> print - -nmcli> save - -nmcli> quit ----- - -[[manually-editing]] -=== Manually editing - -To manually edit an `ifcfg` connection configuration, open or create with a text editor the configuration file of the connection located in `/etc/sysconfig/network-scripts/ifcfg-`. - -A description of most common configuration options is available in the link:http://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-interfaces.html[RHEL6 Deployment Guide]. - -To modify a connection password, open with a text editor and edit the file `keys-` located in `/etc/sysconfig/network-scripts/`. The password is stored in plain text. For example: ----- -$ cat /etc/sysconfig/network-scripts/keys-__connection name__ -WPA_PSK='password' ----- - -Or, if using keyfile, simply edit the connection file located inside `/etc/NetworkManager/system-connections/` - -Finally, save the files and to apply changes to an already active connection execute. ----- -nmcli connection up id _connection name_ ----- - -[[delete-a-connection-configuration]] -== Delete a connection configuration - -Delete the connection: ----- -nmcli connection delete id ----- -Please note that this also deactivates the connection. diff --git a/en-US/modules/ref_changing-selinux-modes-at-boot-time.adoc b/en-US/modules/ref_changing-selinux-modes-at-boot-time.adoc deleted file mode 100644 index 2072d2a..0000000 --- a/en-US/modules/ref_changing-selinux-modes-at-boot-time.adoc +++ /dev/null @@ -1,31 +0,0 @@ -// Module included in the following assemblies: -// -// assembly_changing-selinux-states-and-modes.adoc - -[#{context}-Enabling_and_Disabling_SELinux-Dracut-parameters] -= Changing SELinux Modes at Boot Time - -On boot, you can set several kernel parameters to change the way SELinux runs: - -enforcing=0:: Setting this parameter causes the machine to boot in permissive mode, which is useful when troubleshooting issues. Using permissive mode might be the only option to detect a problem if your file system is too corrupted. Moreover, in permissive mode the system continues to create the labels correctly. The AVC messages that are created in this mode can be different than in enforcing mode. In permissive mode, only the first denial is reported. However, in enforcing mode you might get a denial on reading a directory and an application stops. In permissive mode, you get the same AVC message, but the application continues reading files in the directory and you get an AVC for each denial in addition. - -selinux=0:: This parameter causes the kernel to not load any part of the SELinux infrastructure. The init scripts notice that the system booted with the [option]`selinux=0` parameter and touch the `/.autorelabel` file. This causes the system to automatically relabel the next time you boot with SELinux enabled. -+ -[IMPORTANT] -==== -Using the [option]`selinux=0` parameter is not recommended. To debug your system, prefer using permissive mode. -==== - -autorelabel=1:: This parameter forces the system to relabel similarly to the following commands: -+ ----- -~]# touch /.autorelabel -~]# reboot ----- -+ -If the system labeling contains a large amount of errors, you might need to boot in permissive mode in order that the autorelabel succeeds. - -For additional SELinux-related kernel boot parameters, such as [option]`checkreqprot`, see the `kernel-parameters.txt` file. This file is available in the source package of your Linux kernel (.src.rpm). To download the source package containing the currently used kernel: ----- -~]# dnf download --source kernel ----- diff --git a/en-US/modules/ref_common-service-parameters.adoc b/en-US/modules/ref_common-service-parameters.adoc deleted file mode 100644 index 619deea..0000000 --- a/en-US/modules/ref_common-service-parameters.adoc +++ /dev/null @@ -1,118 +0,0 @@ -[#common-service-parameters] -= Common service parameters - -.Unit Parameters - -This section contains parameters you can use in the `[Unit]` section of a service. These parameters are common to other systemd units. - -This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`. - -Description:: - A free-form string describing the service. - -Documentation:: - A space-separated list of URIs referencing documentation for this service or its configuration. Accepted are only URIs of the following types: `http://`, `https://`, `file:`, `info:`, `man:`. - -Requires:: - Configures requirement dependencies on other services. If this service gets activated, the units listed here are activated too. If one of the dependent services fails to activate, systemd does not start this service. This option may be specified more than once or you can specify multiple space-separated units. - -Wants:: - Similar to `Requires`, except failed units do not have any effect on the service. - -BindsTo:: - Similar to `Requires`, except stopping the dependent units also stops the service. - -PartOf:: - Similar to `Requires`, except the stopping and restarting dependent units also stop and restart the service. - -Conflicts:: - A space-separated list of unit names that, if running, cause the service not to run. - -Before, After:: - A space-separated list of unit names that configures the ordering of dependencies between services. - -OnFailure:: - A space-separated list of unit names that are activated when this service enters a failed state. - -.Install Parameters - -This section contains parameters you can use in the `[Install]` section of a service. These parameters are common to other systemd units. - -This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`. - -Alias:: - A space-separated list of additional names this service shall be installed under. The names listed here must have the same suffix (i.e. type) as the service filename. - -RequiredBy, WantedBy:: - Defines the service as dependent of another service. This usually define the target to trigger an enabled service to run. These options are analogous to the `Requires` and `Wants` in the `[Units]` section. - -Also:: - Additional units to install or uninstall when this service is installed or uninstalled. - -.Service Parameters - -This section contains parameters you can use in the `[Service]` section of a service unit. These parameters are specific only to systemd service units. - -This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`. - -Type:: - Configures the process start-up type for this service service: -+ -* `simple` - The service starts as the main process. This is the default. -* `forking` - The service calls forked processes and run as part of the main daemon. -* `oneshot` - Similar to `simple`, except the process must exits before systemd starts follow-up services. -* `dbus` - Similar to `simple`, except the daemon acquires a name of the D-Bus bus. -* `notify` - Similar to `simple`, except the daemon sends a motification message using `sd_notify` or an equivalent call after starting up. -* `idle` - Similar to `simple`, except the execution of the service is delayed until all active jobs are dispatched. - -RemainAfterExit:: - A boolean value that specifies whether the service shall be considered active even if all its processes exited. Defaults to no. - -GuessMainPID:: - A boolean value that specifies whether systemd should guess the main PID of a service if it cannot be determined reliably. This option is ignored unless `Type=forking` is set and `PIDFile` is not set. Defaults to yes. - -PIDFile:: - An absolute filename pointing to the PID file of this daemon. Use of this option is recommended for services where `Type=forking`. systemd reads the PID of the main process of the daemon after start-up of the service. systemd does not write to the file configured here, although it removes the file after the service has shut down. - -BusName:: - A D-Bus bus name to reach this service. This option is mandatory for services where `Type=dbus`. - -ExecStart:: - The commands and arguments executed when the service starts. - -ExecStartPre, ExecStartPost:: - Additional commands that are executed before or after the command in `ExecStart`. - -ExecReload:: - The commands and arguments to execute when the service reloads. - -ExecStop:: - The commands and arguments to execute when the service stops. - -ExecStopPost:: - Additional commands to executed after the service stops. - -RestartSec:: - The time in seconds to sleep before restarting a service. - -TimeoutStartSec:: - The time in seconds to wait for the service to start. - -TimeoutStopSec:: - The time in seconds to wait for the service to stop. - -TimeoutSec:: - A shorthand for configuring both `TimeoutStartSec` and `TimeoutStopSec` simultaneously. - -RuntimeMaxSec:: - A maximum time in seconds for the service to run. Pass `infinity` (the default) to configure no runtime limit. - -Restart:: - Configures whether to restart the service when the service's process exits, is killed, or reaches a timeout: -+ -* `no` - The service will not be restarted. This is the default. -* `on-success` - Restart only when the service process exits cleanly (exit code 0). -* `on-failure` - Restart only when the service process does not exit cleanly (node-zero exit code). -* `on-abnormal` - Restart if the process terminates with a signal or when a timeout occurs. -* `on-abort` - Restart if the process exits due to an uncaught signal not specified as a clean exit status. -* `always` - Always restart. diff --git a/en-US/modules/ref_help-mkpart.adoc b/en-US/modules/ref_help-mkpart.adoc deleted file mode 100644 index 4a4001c..0000000 --- a/en-US/modules/ref_help-mkpart.adoc +++ /dev/null @@ -1,37 +0,0 @@ -// Module included in the following assemblies: -// -// - -// Base the file name and the ID on the module title. For example: -// * file name: help-mkpart.adoc -// * ID: [id='help-mkpart'] - -// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. -[id='help-mkpart_{context}'] -// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. -= Help command for creating a new partition - -To get help on how to make a new partition, type: `help mkpart`. - ----- -(parted) help mkpart - mkpart PART-TYPE [FS-TYPE] START END make a partition - - PART-TYPE is one of: primary, logical, extended - FS-TYPE is one of: btrfs, nilfs2, ext4, ext3, ext2, fat32, fat16, hfsx, hfs+, hfs, jfs, swsusp, - linux-swap(v1), linux-swap(v0), ntfs, reiserfs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5, - amufs4, amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5, affs4, affs3, affs2, affs1, - affs0, linux-swap, linux-swap(new), linux-swap(old) - START and END are disk locations, such as 4GB or 10%. Negative values count from the end of the - disk. For example, -1s specifies exactly the last sector. - - 'mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be - specified to set an appropriate partition ID. ----- - -[NOTE] -==== -* Filesystem type (fstype) will not create an ext4 filesystem on /dev/vdc1. -* A DOS partition table's partition types are primary, logical, and extended. -* Providing a partition name under GPT is a must. In a GPT partition table, the partition type is used as the partition name. -==== diff --git a/en-US/modules/ref_jdk-tools.adoc b/en-US/modules/ref_jdk-tools.adoc deleted file mode 100644 index a182d8b..0000000 --- a/en-US/modules/ref_jdk-tools.adoc +++ /dev/null @@ -1,58 +0,0 @@ -[i='jdk-reference'] -= JDK reference - -See the following list of Java-related acronyms for reference: - -JRE:: Java Runtime Environment; equired to run Java code and applications -JVM:: Java Virtual Machine; main component of the JRE -JDK:: Java Development Kit; required only for development, coding -SDK:: Software Development Kit; see JDK -JavaWS:: link:https://en.wikipedia.org/wiki/Java_Web_Start[Java Web Start] is a framework to start application from the Internet -JavaFX:: link:https://en.wikipedia.org/wiki/JavaFX[JavaFX] is a plateform to create and deliver desktop and Rich Internet Apps -OpenJFX:: is the JavaFX Open Source implementation -OpenJDK:: Open Source project behind the Java Platform link:http://openjdk.java.net/[openjdk.java.net]. -IcedTea:: is a support project for OpenJDK (concern only developers) link:http://icedtea.classpath.org/[icedtea.classpath.org] -IcedTea-Web:: is the Java Web Start package (contains only JavaWS, no applets anymore); install to run *JNPL* files -applets:: are obsolete technology; Not implemented in any recent package -JSE, J2SE, JEE, ...:: obsolete acronyms for Java Standard & Enterprise Edition; JavaSE is like JRE - - -[discrete] -[id='jdk-components'] -== JDK components - -The JDK has as its primary components a collection of programming tools, including: - -`appletviewer`:: this tool can be used to run and debug Java applets without a web browser -`apt`:: the annotation-processing tool -`extcheck`:: a utility which can detect JAR-file conflicts -`idlj`:: the IDL-to-Java compiler. This utility generates Java bindings from a given Java IDL file. -`jabswitch`:: the Java Access Bridge. Exposes assistive technologies on Microsoft Windows systems. -`java`:: the loader for Java applications. This tool is an interpreter and can interpret the class files generated by the javac compiler. Now a single launcher is used for both development and deployment. The old deployment launcher, jre, no longer comes with Sun JDK, and instead it has been replaced by this new java loader. -`javac`:: the Java compiler, which converts source code into Java bytecode -`javadoc`:: the documentation generator, which automatically generates documentation from source code comments -`jar`:: the archiver, which packages related class libraries into a single JAR file. This tool also helps manage JAR files. -`javafxpackager`:: tool to package and sign JavaFX applications -`jarsigner`:: the jar signing and verification tool -`javah`:: the C header and stub generator, used to write native methods -`javap`:: the class file disassembler -`javaws`:: the Java Web Start launcher for JNLP applications -`JConsole`:: Java Monitoring and Management Console -`jdb`:: the debugger -`jhat`:: Java Heap Analysis Tool (experimental) -`jinfo`:: This utility gets configuration information from a running Java process or crash dump. (experimental) -`jmap`:: This utility outputs the memory map for Java and can print shared object memory maps or heap memory details of a given process or core dump. (experimental) -`jmc`:: Java Mission Control -`jps`:: Java Virtual Machine Process Status Tool lists the instrumented HotSpot Java Virtual Machines (JVMs) on the target system. (experimental) -`jrunscript`:: Java command-line script shell. -`jstack`:: utility which prints Java stack traces of Java threads (experimental) -`jstat`:: Java Virtual Machine statistics monitoring tool (experimental) -`jstatd`:: jstat daemon (experimental) -`keytool`:: tool for manipulating the keystore -`pack200`:: JAR compression tool -`policytool`:: the policy creation and management tool, which can determine policy for a Java runtime, specifying which permissions are -`available for code from various sources VisualVM`:: visual tool integrating several command-line JDK tools and lightweight clarification needed] performance and memory profiling capabilities -`wsimport`:: generates portable JAX-WS artifacts for invoking a web service. -`xjc`:: Part of the Java API for XML Binding (JAXB) API. It accepts an XML schema and generates Java classes. - -The JDK also comes with a complete Java Runtime Environment, usually called a private runtime, due to the fact that it is separated from the "regular" JRE and has extra contents. It consists of a Java Virtual Machine and all of the class libraries present in the production environment, as well as additional libraries only useful to developers, such as the internationalization libraries and the IDL libraries. diff --git a/en-US/modules/ref_managing-virtual-machines.adoc b/en-US/modules/ref_managing-virtual-machines.adoc deleted file mode 100644 index c7b01b7..0000000 --- a/en-US/modules/ref_managing-virtual-machines.adoc +++ /dev/null @@ -1,103 +0,0 @@ -[id='ref_managing-virtual-machines'] -= Managing virtual machines - -When the installation of the guest operating system is complete, it can be managed using the `virt-manager` program or via command line using `virsh`. - - -[[managing-guests-with-virt-manager]] -== Managing guests with virt-manager - -. Start the Virtual Machine Manager by navigating to menu:[Applications]System Tools, or run: -+ ----- -# virt-manager ----- -+ -If you are not root, you will be prompted to enter the root password. Choose *Run unprivileged* to operate in read-only non-root mode. -. Choose the host you wish to manage and click *Connect* in the *Open Connection* dialog window. -. The list of virtual machines is displayed in the main window. Guests that are running will display a ">" icon. Guests that are not running will be greyed out. -. To manage a particular guest, double click on it, or right click and select *Open*. -. A new window for the guest will open that will allow you to use its console, see information about its virtual hardware and start, stop, and pause it. - -For further information about `virt-manager`, see http://virt-manager.et.redhat.com/. - -Bugs in the `virt-manager` tool should be reported in http://bugzilla.redhat.com[Bugzilla] against the `virt-manager` -component. - - -[[managing-guests-with-virsh]] -== Managing guests with virsh - -The `virsh` command-line utility allows you to manage virtual machines on the command line. The `virsh` utility is built around the libvirt management API: - -* `virsh` has a stable set of commands whose syntax and semantics are preserved across updates to the underlying virtualization platform. -* `virsh` can be used as an unprivileged user for read-only operations (e.g. listing domains, listing domain statistics). -* `virsh` can manage domains running under Xen, QEMU/KVM, ESX, or other back-ends with no perceptible difference to the user. - -To start a virtual machine: - ----- -# virsh create ----- - -To list the virtual machines currently running: - ----- -# virsh list ----- - -To list all virtual machines, running or not: - ----- -# virsh list --all ----- - -To gracefully power off a guest: - ----- -# virsh shutdown ----- - -To non gracefully power off a guest: - ----- -# virsh destroy ----- - -To save a snapshot of the machine to a file: - ----- -# virsh save ----- - -To restore a previously saved snapshot: - ----- -# virsh restore ----- - -To export the configuration file of a virtual machine: - ----- -# virsh dumpxml - 7 | update -y | 2017-10-12 15:59 | Update | 7 - 6 | install keepass | 2017-10-11 13:40 | Install | 13 < - 5 | install thunderbird | 2017-10-10 16:33 | Install | 1 > - 4 | install sssd krb5-workst | 2017-10-10 15:30 | Install | 3 > - 3 | install xchat | 2017-10-10 15:19 | Install | 4 - 2 | update | 2017-10-10 13:44 | I, O, U | 752 EE - 1 | | 2017-10-10 13:34 | Install | 1373 EE ----- - -*dnf list installed*:: Lists all packages installed on the system. -+ -[literal,subs="+quotes,attributes"] ----- -# *dnf list installed* -Last metadata expiration check: 1:17:33 ago on Thu Dec 14 09:20:48 2017. -Installed Packages -GConf2.x86_64 3.2.6-16.fc24 @anaconda -GeoIP.x86_64 1.6.11-1.fc25 @updates -GeoIP-GeoLite-data.noarch 2017.10-1.fc25 @updates -ImageMagick.x86_64 6.9.9.19-1.fc25 @updates -ImageMagick-libs.x86_64 6.9.9.19-1.fc25 @updates -LibRaw.x86_64 0.17.2-2.fc25 @updates -ModemManager.x86_64 1.6.4-1.fc25 @updates -ModemManager-glib.x86_64 1.6.4-1.fc25 @updates -NetworkManager.x86_64 1:1.4.6-1.fc25 @updates -[... output truncated ...] ----- diff --git a/en-US/modules/ref_virtio-win-rpm-contents.adoc b/en-US/modules/ref_virtio-win-rpm-contents.adoc deleted file mode 100644 index 8b38236..0000000 --- a/en-US/modules/ref_virtio-win-rpm-contents.adoc +++ /dev/null @@ -1,45 +0,0 @@ -[[virtio-win-rpm-contents]] -= RPM contents - -The virtio-win RPM package contains the following files: - -* `/usr/share/virtio-win/*.iso` - ISO CDROM containing all the drivers. -* `/usr/share/virtio-win/*.vfd` - VFD floppy images for using during install of Windows XP -* `/usr/share/virtio-win/drivers` - Copy of the extracted VFD driver contents -* `/usr/share/guest-agent/*.msi` - QEMU Guest Agent 32bit and 64bit MSI installers - -[[virtio-win-iso-contents]] -== ISO contents - -ISO is used to install paravirtual drivers in Windows guests. The `virtio-win/*.iso` included in the RPM contains the following bits: - -* `NetKVM/` - Virtio network driver -* `viostor/` - Virtio block driver -* `vioscsi/` - Virtio Small Computer System Interface (SCSI) driver -* `viorng/` - Virtio RNG driver -* `vioser/` - Virtio serial driver -* `Balloon/` - Virtio memory balloon driver -* `qxl/` - QXL graphics driver for Windows 7 and earlier. (build virtio-win-0.1.103-1 and later) -* `qxldod/` - QXL graphics driver for Windows 8 and later. (build virtio-win-0.1.103-2 and later) -* `pvpanic/` - https://github.com/qemu/qemu/blob/master/docs/specs/pvpanic.txt[QEMU pvpanic] device driver (build virtio-win-0.1.103-2 and later) -* `guest-agent/` - QEMU Guest Agent 32bit and 64bit MSI installers -* `qemupciserial/` - https://github.com/qemu/qemu/blob/master/docs/qemupciserial.inf[QEMU PCI -serial] device driver -* `*.vfd` VFD floppy images for using during install of Windows XP - -NOTE: If you previously used isos from alt.fedoraproject.org, note that the current isos have a different file layout that matches the layout of the Red Hat Enterprise Linux isos. If you need old isos for backwards compatiblity you can find them on the https://fedorapeople.org/groups/virt/virtio-win/deprecated-isos/[deprecated isos page]. - -[[virtio-win-direct-downloads]] -== Direct downloads - -Direct downloads are available for the `.iso`, `.vfd`, and qemu-ga installers. - -* Stable https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso[virtio-win iso] -* Stable https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win_x86.vfd[virtio-win x86 floppy] -* Stable https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win_amd64.vfd[virtio-win amd64 floppy] -* Latest https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso[virtio-win iso] -* Latest https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win_x86.vfd[virtio-win x86 floppy] -* Latest https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win_amd64.vfd[virtio-win amd64 floppy] -* Latest https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-qemu-ga/[gemu-qa files] -* https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/[Full archive] -* https://fedorapeople.org/groups/virt/virtio-win/CHANGELOG[Changelog] diff --git a/en-US/openh264.adoc b/en-US/openh264.adoc deleted file mode 100644 index 1500e30..0000000 --- a/en-US/openh264.adoc +++ /dev/null @@ -1,125 +0,0 @@ -= OpenH264 - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/OpenH264 - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -This page contains information on the Cisco -http://www.openh264.org/[OpenH264] codec. - -[[background]] -Background ----------- - -Cisco provides an OpenH264 codec (as a source and a binary), which is -their of implementation H.264 codec, and they cover all licensing fees -for all parties using their binary. This codec allows you to use H.264 -in WebRTC with gstreamer and Firefox. It does *not* enable generic H.264 -playback, only WebRTC (see Mozilla -https://bugzilla.mozilla.org/show_bug.cgi?id=1057646[bug 1057646]). - -The code source is available at https://github.com/cisco/openh264 under -a BSD license. The binary is released under this agreement from Cisco: -http://www.openh264.org/BINARY_LICENSE.txt - -Upstream Firefox versions download and install the OpenH264 plugin by -default automatically. Due to it's binary nature, Fedora disables this -automatic download. - -[[installation-from-fedora-cisco-openh264-repository]] -Installation from fedora-cisco-openh264 repository -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A `fedora-cisco-openh264` repository is distributed since Fedora 24 by -default (if you have at least `fedora-repos-24-0.5` package or newer). -It contains OpenH264 binary link:Non-distributable-rpms[built inside the -Fedora infrastructure], but distributed by Cisco, so that the all -licensing fees are still covered by them. This repository also contains -OpenH264 plugins for gstreamer and Firefox. It is disabled by default. -In order to install OpenH264, you first need to enable it: - -.... -$ sudo dnf config-manager --set-enabled fedora-cisco-openh264 -.... - -and then install the plugins: - -.... -$ sudo dnf install gstreamer1-plugin-openh264 mozilla-openh264 -.... - -Afterwards you need open Firefox, go to menu -> Add-ons -> Plugins and -enable OpenH264 plugin. - -You can do a simple test whether your H.264 works in RTC on -https://mozilla.github.io/webrtc-landing/pc_test.html[this page] (check -_Require H.264 video_). - -[[manual-install-of-binary]] -Manual install of binary -~~~~~~~~~~~~~~~~~~~~~~~~ - -* View and agree to the http://www.openh264.org/BINARY_LICENSE.txt -* Download the appropriate binary for your system here: -https://github.com/cisco/openh264/releases - -Example installation for version 1.1: - -`wget `http://ciscobinary.openh264.org/openh264-linux64-v1.1-Firefox33.zip[`http://ciscobinary.openh264.org/openh264-linux64-v1.1-Firefox33.zip`] + -`mkdir -p ~/.mozilla/firefox/``/gmp-gmpopenh264/1.1/` + -`cd ~/.mozilla/firefox/``/gmp-gmpopenh264/1.1/` + -`unzip ~/openh264-linux64-v1.1-Firefox33.zip` - -[[firefox-config-changes]] -Firefox config changes -^^^^^^^^^^^^^^^^^^^^^^ - -Type about:config into the Firefox address/URL field and accept the -warning. - -* From the Search field type in 264 and a handful of options will -appear. Give the following Preference Names a value of true by -double-clicking on false: - -` media.gmp-gmpopenh264.autoupdate` + -` media.gmp-gmpopenh264.enabled` + -` media.gmp-gmpopenh264.provider.enabled` + -` media.peerconnection.video.h264_enabled` - -* Restart Firefox -* After restarting, the following string in about:config will change to -the current version that has been installed from the web: - -` media.gmp-gmpopenh264.version` -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/package-management.adoc b/en-US/package-management.adoc deleted file mode 100644 index 7b878eb..0000000 --- a/en-US/package-management.adoc +++ /dev/null @@ -1,152 +0,0 @@ -= Package management system - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/Package_management_system - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -[[package-management-system]] -Package Management System -------------------------- - -[[introduction]] -Introduction -~~~~~~~~~~~~ - -Fedora is a distribution that uses a package management system. This -system is based on http://rpm.org[rpm] , the RPM Package Manager, with -several higher level tools built on top of it, most notably -https://www.freedesktop.org/software/PackageKit/[PackageKit] (default -gui) and link:Yum[ yum] (command line tool). As of Fedora 22, yum has -been replaced by link:Dnf[ dnf]. The Gnome Package Manager is another -GUI package manager. - -[[advantages-of-package-management-systems]] -Advantages of package management systems -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Package management systems have many advantages: - -* It's easy to query what version of a package is installed or -available. - -* It's easy to remove a package entirely, making sure all its files are -gone. - -* It's easy to verify the integrity of the packages files, so you can -see if it's been corrupted or tampered with. - -* It's easy to upgrade a package by installing the new version and -removing all the old versions files. This will make sure not to leave -any lingering files from the old package around to confuse or break -things. - -* It's easy to see what packages require or provide things that other -packages provide or require, so you can be sure to have the needed items -for the package to function correctly. - -* It's easy to install or remove groups of packages. - -* In many cases it's possible to downgrade back to a previous version of -a package, for example when a new version has a bug. - -[[disadvantages-of-package-management-systems]] -Disadvantages of package management systems -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* You are restricted to either using the versions of the package that -are available or having to make your own package if you need a different -version. - -[[why-mixing-source-installs-and-packages-is-a-bad-idea]] -Why mixing source installs and packages is a bad idea -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Package management systems have no way to query or note when you bypass -them and install something from source. You should avoid mixing source -installs and packaged installs for (at least) the following reasons: - -* You lose all the advantages above from a package managed system. - -* Installing from source may overwrite, delete, or change existing files -that are in a package, making that package not function correctly. - -* The source install may override a package install causing undefined -behavior in the package or source installed item. - -* Installing from source makes it impossible or very difficult for -anyone to help you debug issues, since versions can't be easily queried -and integrity checked. - -* Fedora packages may include patches or configuration to work with -other packages, but upstream source does not, leading to loss of -functionality. - -* Software installed from source will not upgrade with package managed -packages, leading to breakage in the source install package on upgrades -or os updates. - -Strongly consider making your own package if you need a different -version or a version of some package with changes. See: -link:How_to_create_an_RPM_package[How to create a RPM package] - -[[preferred-search-order-for-a-software]] -Preferred search order for a software -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If some software is missing in your installation then you should try the -following steps to get the packaged version: - -1. Search in Fedora ( 'yum|dnf search foo' or search for 'foo' in the -PackageKit gui ) -2. Try one of the available link:Third_party_repositories[ 3rd party] -repositories -3. link:How_to_create_an_RPM_package[ Build your own package] - -[[package-management-tools]] -Package Management tools -~~~~~~~~~~~~~~~~~~~~~~~~ - -link:Dnf[ dnf] - Dandified Yum - -link:Yum[ yum] - Yellowdog Updater Modified - -https://www.freedesktop.org/software/PackageKit/[PackageKit] - -PackageKit gui tool ('add/remove software' in your menu) - -http://rpm.org[rpm] - RPM package manager. - -http://ww1.yum-extender.org/[yumex] - Yum Extender. - -Category:Software_Management[Category:Software Management] -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/packagekit-not-found.adoc b/en-US/packagekit-not-found.adoc deleted file mode 100644 index 2387be2..0000000 --- a/en-US/packagekit-not-found.adoc +++ /dev/null @@ -1,143 +0,0 @@ -= PackageKit Items Not Found - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/PackageKit_Items_Not_Found - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -[[missing-package]] -Missing Package -~~~~~~~~~~~~~~~ - -Unfortunately, the package you were searching for is not available in -Fedora. There are a few common reasons why a package might not be in -Fedora's repositories: - -* Fedora does not include software that is -link:Package_Not_Found#Patents[ encumbered by software patents]. -* Fedora does not include proprietary software, only software with an -link:Licensing[ acceptable license]. -* It is possible that no one has packaged it yet. You might consider -adding it to the link:PackageMaintainers/WishList[Package WishList], or -even link:PackageMaintainers/Join[packaging it yourself]! - -[[missing-codec]] -Missing Codec -~~~~~~~~~~~~~ - -Unfortunately, the codec you were searching for is not available in -Fedora. A codec is a program that enables encoding and/or decoding of a -data stream, in a specific format such as MP3, MOV, or WMV. - -There are a few common reasons why a codec might not be in Fedora's -repositories: - -* Many codecs are proprietary or link:Package_Not_Found#Patents[patent -encumbered]. -* Some codecs may not be encumbered, but may be under an -link:Licensing[unacceptable license]. - -The Fedora Project FAQ and community sites provide answers to commonly -asked questions. link:Third_party_repositories[Third party repositories] -contain a wide variety of software that has not been included in the -official Fedora software repositories for various reasons. You can find -additional software using a search engine like -http://google.com[Google]. We would love to give you more specific -instructions on enabling additional codecs but our hands are tied up due -to software patents and legal restrictions around them. We apologize for -the inconvenience caused by software patents and our legal team is -working on getting these restrictions removed when it is possible to do -so. Scroll down more for details on what we are doing and how you can -help. - -[[missing-driver]] -Missing Driver -~~~~~~~~~~~~~~ - -Unfortunately, the driver you were searching for is not available in -Fedora. There are a few common reasons why a driver might not be in -Fedora's repositories: - -* Some drivers are proprietary or link:Package_Not_Found#Patents[patent -encumbered]. -* Some hardware may not be supported under Linux yet, or is not yet in -the upstream Linux kernel. - -Fedora strongly encourages new drivers to be included in upstream, and -does not package individual, out-of-tree, kernel drivers. - -The Fedora Project FAQ and the more informal, unofficial -http://fedorafaq.org[1] provide useful answers on commonly asked -questions. However, the unofficial site is not associated with or -supported by the Fedora Project. You can find many interesting things -using a search engine like http://google.com[Google]. -link:Third_party_repositories[Third party repositories] might contain -software that has been not been included in the official Fedora software -repository. - -[[missing-font]] -Missing Font -~~~~~~~~~~~~ - -Unfortunately, the font you were searching for is not available in -Fedora. There are a few common reasons why a font might not be in -Fedora's repositories: - -* Fedora does not include proprietary fonts, it only uses fonts with an -link:Licensing/Fonts[ acceptable font license]. -* It is possible that no one has packaged that font yet. You might -consider adding it to the :Category:Font_wishlist[Font WishList], or -even link:PackageMaintainers/Join[packaging it yourself]! - -[[missing-mime-support]] -Missing MIME Support -~~~~~~~~~~~~~~~~~~~~ - -Unfortunately, there is nothing in Fedora that claims to support the -MIME type you were searching for. There are a few common reasons why -Fedora may not have support for a MIME type: - -* Many MIME types are Windows-only. You may be able to use -http://en.wikipedia.org/wiki/Wine_(software)[Wine] to run a Windows -program under Linux that supports your MIME type. -* Some MIME types are only supported by proprietary or -link:Package_Not_Found#Patents[patent encumbered] software. -* It is possible that acceptable software to support your MIME type -exists, but that no one has packaged it yet. You might consider adding -it to the link:PackageMaintainers/WishList[Package WishList], or even -link:PackageMaintainers/Join[packaging it yourself]! - -[[fedora-position-on-software-patents]] -Fedora Position on Software Patents -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/performing-administration-tasks-using-sudo.adoc b/en-US/performing-administration-tasks-using-sudo.adoc deleted file mode 100644 index abac0af..0000000 --- a/en-US/performing-administration-tasks-using-sudo.adoc +++ /dev/null @@ -1,32 +0,0 @@ -[id='performing-administration-tasks-using-sudo'] -= Performing administration tasks using sudo - -How to perform tasks requiring *root* privileges without logging in as *root*. - -include::en-US/modules/con_what-is-sudo.adoc[leveloffset=+1] - - -[id='how-to-use-sudo'] -== How to use sudo - -include::en-US/modules/con_using-sudo-assign-admin-privileges.adoc[leveloffset=+2] - -include::en-US/modules/proc_using-same-password-for-root-as-user.adoc[leveloffset=+2] - -include::en-US/modules/con_logging-sudo-commands.adoc[leveloffset=+2] - - -[[warning-and-caveats]] -== Warnings and caveats - -You must use the user account you created following the installation process, at first boot, for daily use and the *root* account only for system administration. Avoid using *root* for any non-administration usage, since the account makes it easy to create security or data risks. - -There are several potential risks to keep in mind when using the [command]`sudo` command. You can avoid them by editing the [filename]`/etc/sudoers` configuration file using [command]`visudo` command. - -include::en-US/modules/con_sudo-timeout.adoc[leveloffset=+2] - -include::en-US/modules/con_using-sudo-access-docker.adoc[leveloffset=+2] - -include::en-US/modules/proc_run-docker-using-sudo.adoc[leveloffset=+2] - -include::en-US/modules/con_using-sudo-without-password.adoc[leveloffset=+2] diff --git a/en-US/postgresql.adoc b/en-US/postgresql.adoc deleted file mode 100644 index 446b418..0000000 --- a/en-US/postgresql.adoc +++ /dev/null @@ -1,469 +0,0 @@ -= PostgreSQL - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/PostgreSQL - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -[[installation]] -Installation -~~~~~~~~~~~~ - -The installation and initialization of the postgresql server is a little -bit different in comparison to other packages and other linux distros. -This document aims to summarize basic installation steps relevant to -recent fedora release. In first place, you may consider to install newer -version than is packaged for fedora, see http://yum.postgresql.org/[1]. -However, this is not recommended. - -`$ sudo yum install postgresql-server postgresql-contrib` - -Or with dnf in Fedora 22 and later versions: - -`$ sudo dnf install postgresql-server postgresql-contrib` - -The postgresql server is turned off and disabled by default. You can -enable its start during the boot using following command: - -`$ sudo systemctl enable postgresql` - -You can start the postgresql server only when necessary as follows. - -`$ sudo systemctl start postgresql` + -`Job for postgresql.service failed. See 'systemctl status postgresql.service' and 'journalctl -xn' for details.` - -The database needs to be populated with initial data after installation. -The error log describes problem and its solution. - -`$ journalctl -xn` + -`-- Logs begin at Mon 2013-11-04 14:38:33 CET, end at Thu 2013-11-14 11:45:56 CET. --` + -`Nov 14 11:45:34 mlich-lenovo.usersys.redhat.com sudo[2054]: jmlich : TTY=pts/2 ; PWD=/home/jmlich ; USER=root ; COMMAND=/bin/systemctl status postgresql` + -`Nov 14 11:45:37 mlich-lenovo.usersys.redhat.com sudo[2073]: jmlich : TTY=pts/2 ; PWD=/home/jmlich ; USER=root ; COMMAND=/bin/systemctl status postgresql` + -`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com sudo[2105]: jmlich : TTY=pts/2 ; PWD=/home/jmlich ; USER=root ; COMMAND=/bin/systemctl start postgresql` + -`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com systemd[1]: Starting PostgreSQL database server...` + -`-- Subject: Unit postgresql.service has begun with start-up` + -`-- Defined-By: systemd` + -`-- Support: `http://lists.freedesktop.org/mailman/listinfo/systemd-devel[`http://lists.freedesktop.org/mailman/listinfo/systemd-devel`] + -`--` + -`-- Unit postgresql.service has begun starting up.` + -`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: An old version of the database format was found.` + -`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: Use "postgresql-setup upgrade" to upgrade to version 9.3.` + -`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: See /usr/share/doc/postgresql/README.rpm-dist for more information.` + -`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com systemd[1]: postgresql.service: control process exited, code=exited status=1` + -`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com systemd[1]: Failed to start PostgreSQL database server.` + -`-- Subject: Unit postgresql.service has failed` + -`-- Defined-By: systemd` + -`-- Support: `http://lists.freedesktop.org/mailman/listinfo/systemd-devel[`http://lists.freedesktop.org/mailman/listinfo/systemd-devel`] + -`-- Documentation: `http://www.freedesktop.org/wiki/Software/systemd/catalog/be02cf6855d2428ba40df7e9d022f03d[`http://www.freedesktop.org/wiki/Software/systemd/catalog/be02cf6855d2428ba40df7e9d022f03d`] + -`--` + -`-- Unit postgresql.service has failed.` + -`--` + -`-- The result is failed.` - -The database initialization could be done using following command. It -creates the configuration files postgresql.conf and pg_hba.conf - -`$ sudo postgresql-setup initdb` - -Or on Fedora 22 and later: - -`$ sudo postgresql-setup --initdb --unit postgresql` - -[[upgrade]] -Upgrade -~~~~~~~ - -As you can see from error message in my example, it is not a fresh -installation, but ugprade. - -`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: An old version of the database format was found.` + -`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: Use "postgresql-setup upgrade" to upgrade to version 9.3.` - -With version 9 you can use upgrade tool. It is packaged as -`postgresql-upgrade`: - -.... -$ postgresql-setup upgrade - -Redirecting to /bin/systemctl stop postgresql.service -Upgrading database: OK - -The configuration files was replaced by default configuration. -The previous configuration and data are stored in folder /var/lib/pgsql/data-old. - -See /var/lib/pgsql/pgupgrade.log for details. -.... - -The data are located at - -* /var/lib/pgsql/data -* /var/lib/pgsql/data-old - -The upgrade itself will backup your existing data and migrate your -database. Don't forget to migrate your configuration (with meld for -example: `meld /var/lib/pgsql/data{,-old}/postgresql.conf`). - -You may need to switch postgresql to trust mode before update. This -should be fixed already. - -You can also upgrade by dumping your database and loading it again. For -more information, see link:#link-upgrade[official documentation]. - -[[tips-and-tricks]] -Tips and tricks -~~~~~~~~~~~~~~~ - -For database management is comfortable to use graphical tools such as -phpPgAdmin or pgadmin3 - -`$ sudo yum install phpPgAdmin` + -`$ sudo yum install pgadmin3` - -Or with dnf in Fedora 22 and later versions: - -`$ sudo dnf install phpPgAdmin` + -`$ sudo dnf install pgadmin3` - -[[firewall]] -Firewall -~~~~~~~~ - -PostgreSQL operates on port 5432 (or whatever else you set in your -`postgresql.conf`). In firewalld you can open it like this: - -`$ # make it last after reboot` + -`$ firewall-cmd --permanent --add-port=5432/tcp` + -`$ # change runtime configuration` + -`$ firewall-cmd --add-port=5432/tcp` - -In case of iptables: - -`$ iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT` - -Bear in mind that you probably don't want to open your database server -to the whole world. - -[[selinux]] -SELinux -~~~~~~~ - -If you have SELinux enforced, you may run into trouble when trying to do -some non-standard configuration. For example if you would like to change -a location of your database, you have to add new context mapping for the -new location: - -`$ semanage fcontext -a -t postgresql_db_t "/my/new/location(/.*)?"` - -If default port doesn't work for you, you may need to map postgre's port -type to your desired port: - -`$ semanage port -a -t postgresql_port_t -p tcp 5433` - -If you install a webapp that wants to communicate with PostgreSQL via -TCP/IP, you will have to tell SELinux to allow this on the webserver -host: - -`# setsebool -P httpd_can_network_connect_db on` - -[[user-creation-and-database-creation]] -User Creation and Database Creation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Soon you run into need of creating a user (and database for the user). -First, you have to switch user to interact with postgres: - -`# su - postgres` - -and then run postgre's interactive shell: - -.... -$ psql -psql (9.3.2) -Type "help" for help. - -postgres=# -.... - -It might be good idea to add password for `postgres` user: - -`postgres=# \password postgres` - -Lets get back to user creation: - -`postgres=# CREATE USER lenny WITH PASSWORD 'leonard';` + -`postgres=# CREATE DATABASE carl OWNER lenny;` - -this could be done from system shell too: - -`$ createuser lenny` + -`$ createdb --owner=lenny carl` - -[[configuration]] -Configuration -~~~~~~~~~~~~~ - -The postgresql server is using two main configuration files - -* /var/lib/pgsql/data/postgresql.conf -* /var/lib/pgsql/data/pg_hba.conf - -[[systemd]] -systemd -^^^^^^^ - -Some configuration parameters are passed to daemon via command line -options. This behaviour may override settings in postgresql.conf. For -example, if you want to change the server's port number to 5433, create -a file named "/etc/systemd/system/postgresql.service" containing: - -`.include /lib/systemd/system/postgresql.service` + -`[Service]` + -`Environment=PGPORT=5433` - -Note: changing PGPORT or PGDATA will typically require adjusting SELinux -configuration as well; see section selinux. - -Please follow the systemd documentation -http://fedoraproject.org/wiki/systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F[2] -for more details. - -[[postgresql.conf]] -postgresql.conf -^^^^^^^^^^^^^^^ - -If you want postgres to accept network connections, you should change - -`listen_addresses = 'localhost'` - -to - -`listen_addresses = '*'` - -[[pg_hba.conf]] -pg_hba.conf -^^^^^^^^^^^ - -Once your database is set up, you need to configure access to your -database server. This may be done by editing file -`/var/lib/pgsql/data/pg_hba.conf`. There are rules like this in the -file: - -`# TYPE    DATABASE        USER            ADDRESS                 METHOD` + -`  host    all             all             127.0.0.1/32            md5` + -`  host    all             all             ::1/128                 md5` + -`  local   all             postgres                                peer` - -First field stands for connection type. It can have these values: - -* *local* — Unix-domain socket -* *host* — plain or SSL-encrypted TCP/IP socket -* *hostssl* — is an SSL-encrypted TCP/IP socket -* *hostnossl* — plain TCP/IP socket - -Last column specifies which authentication method will be used. - -* *md5* — client has to supply password processed with MD5 algorithm -* *ident* — obtain user name of connecting client from operating system -and consult it with specified map -* *trust* — anyone who is able to connect to PostgreSQL server may act -as any user without supplying password -* *peer* — obtains user's name from operating system and checks if it -matches database user name - -When database server is authenticating client, it seeks for a record -with matching connection type, client address, requested database and -user name. As soon as it finds it, it performs the authentication. If -authentication fails, no more subsequent records are taken into account. -If no record matches, client's access is denied. - -The default settings is usually restricted to localhost. - -When you install your database server and at first you try to "make it -work", you should turn off firewall, SELinux and make postgres' -authentication permissive (bear in mind this will greatly expose your -server, so do it _only_ on trusted network — preferably without not -network at all): - -`host    all             all             127.0.0.1/32            trust` - -As soon as you are able to connect, turn the security systems on one by -one while verifying the connection can be established. - -For more information see official documentation for -link:#link-pghba[pg_hba.conf file]. - -[[optimisation]] -Optimisation -~~~~~~~~~~~~ - -Default configuration of postgres is severely undertuned. It can handle -simple application with not so often database access but if you require -higher performance, you should configure your instance better. All the -magic is happening in `/var/lib/pgsql/data/postgresql.conf\``. Also -logging mechanism is configured not very intuitively. - -[[performance]] -Performance -^^^^^^^^^^^ - -Number of clients which may be connected to PostgreSQL at the same time: - -`max_connections = ` - -`shared_buffers` is the entry point. This is telling PostgreSQL how much -memory is dedicated for caching. Setting this to 25% of total memory of -your system is a good start. If it doesn't work for you, try to go for -something between 15% - 40% of total memory. - -`shared_buffers = ` - -This value is used by query planner to know how much memory is available -in the system. Query planner uses this information to figure out whether -plan fits into memory or not. Setting this to 50% of total memory is a -common practise. - -`effective_cache_size = ` - -When PostgreSQL performs sorting operations it plans its strategy -whether to sort the query on disk or in memory. Bear in mind that this -memory is available for every sorting instance. In case of multiple -users submitting queries to your database server, this can rump up -pretty high. Therefore this is tightly bound to `max_connections`. - -`work_mem = ` - -For more information about this topic I advise you to read official -link:#link-tuning[documentation about] tuning PostgreSQL. - -[[logging]] -Logging -^^^^^^^ - -By default, logs are rotated every week and you don't find much -information in there (one could miss log level, date, time, ...). Also -for simple web applications I prefer to increase verbosity. - -`log_destination = 'stderr'` - -This is just fine. If you would like syslog to take care of your logs, -change it to `'syslog'`, or even `'syslog,stderr'` (if you go for -syslog, don't forget to configure syslog itself too; for more info, see -link:#link-logging[official documentation]) - -`logging_collector = on` - -In case of logging to stderr, postgres will grab all the logs if you -enable `logging_collector` option. - -This is default option: - -`log_filename = 'postgresql-%a.log'` - -Much preferred could be to name log files by date when they were -created: - -`log_filename = 'postgresql-%G-%m.log'` - -Rotation. This really depends on the app itself. In case of simple app -with a few data in database, all the logs may be kept persistently on -disk without rotation. - -`log_truncate_on_rotation = off` + -`log_rotation_age = 31d` - -Increase number of entries in log: - -`client_min_messages = notice      # default notice` + -`log_min_messages = info           # default warning` + -`log_min_error_statement = notice  # default error` - -If you would like to log slow queries, feel free to use this option: - -`log_min_duration_statement = 1000  # in ms` - -Default log entry doesn't contain much info: - -`FATAL:  Ident authentication failed for user "test"` + -`DETAIL:  Connection matched pg_hba.conf line 84: "host    all             all             ::1/128                 ident"` - -Lets improve it to: - -`2013-12-30 17:51:36 CET testx@::1(50867):postgres [11213] FATAL:  password authentication failed for user "testx"` + -`2013-12-30 17:51:36 CET testx@::1(50867):postgres [11213] DETAIL:  Connection matched pg_hba.conf line 84: "host   all             all             ::1/128                 md5 "` - -You just have to alter option `log_line_prefix`. - -`# %t -- timestamp` + -`# %u -- user` + -`# %r -- client's host` + -`# %d -- database` + -`# %p -- PID` + -`log_line_prefix = '%t %u@%r:%d [%p] '` - -If you are running only single database with single user connecting, it -would make more sense to simplify the prefix to - -`log_line_prefix = '%t [%p] '` - -[[final-recipe]] -Final recipe -++++++++++++ - -`log_destination = 'stderr'` + -`logging_collector = on` + -`log_filename = 'postgresql-%G-%m.log'` + -`log_truncate_on_rotation = off` + -`log_rotation_age = 31d` + -`client_min_messages = notice` + -`log_min_messages = info` + -`log_min_error_statement = notice` + -`log_line_prefix = '%t %u@%r:%d [%p] '` - -[[reference]] -Reference -~~~~~~~~~ - -link:PostgreSQL/README.rpm-dist[Full RPM packaging documentation] - -http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server[Tuning -performance] - -http://www.postgresql.org/docs/9.1/static/runtime-config-logging.html[Logging -configuration] - -http://www.postgresql.org/docs/9.1/static/upgrading.html[Upgrading -PostgreSQL] - -http://www.postgresql.org/docs/8.3/static/auth-pg-hba-conf.html[pg_hba.conf -file] -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/proc_setting-key-shortcut.adoc b/en-US/proc_setting-key-shortcut.adoc deleted file mode 100644 index 3fc10af..0000000 --- a/en-US/proc_setting-key-shortcut.adoc +++ /dev/null @@ -1,23 +0,0 @@ -[id='setting-key-shortcut_{context}'] -= Setting a key shortcut to run an application in GNOME - -If you frequently use a certain application, you can set a keyboard shortcut to quickly launch that application on GNOME. - -This example shows how to set a key shortcut to launch the terminal. - -To set a key shortcut to run an application: - -. Navigate to menu:Settings[Keyboard] to open the *Keyboard Shortcuts* list. -. Click `+` at the bottom of the list to create a new shortcut. -. Enter the following details in the *Add Custom Shortcut* window: -* Add a `Name` for your shortcut, for example, `Terminal`. -* Enter the command that launches the application. For example, `gnome-terminal`. -. Click *Set Shortcut* to open the *Set Custom Shortcut* window. -. Type a keyboard shortcut, for example `Ctrl-Alt-T`. -. Click *Add*. - -Your shortcut appears under *Custom Shortcuts* and is ready to use. - -image:custom_shortcut.png[] - -To edit or remove your shortcut, click the shortcut to open its details. diff --git a/en-US/qemu.adoc b/en-US/qemu.adoc deleted file mode 100644 index 47f24a2..0000000 --- a/en-US/qemu.adoc +++ /dev/null @@ -1,96 +0,0 @@ -= How to use QEMU - -QEMU is a very flexible virtualization technology however it is quite slow and it is recommended that you understand and evaluate alternative solutions before picking this one. -Refer to https://fedoraproject.org/wiki/Getting_started_with_virtualization[Getting started with virtualization] - -[[qemu]] -== QEMU - -QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation. - -QEMU has two operating modes: - -* Full system emulation. -In this mode, QEMU emulates a full system (for example a PC), including a processor and various peripherials. -It can be used to launch different Operating Systems without rebooting the PC or to debug system code. -* User mode emulation (Linux host only). In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU. - -[[download]] -== Download - -QEMU is available on Fedora repository. It can be installed by using https://fedoraproject.org/wiki/dnf[DNF]: - -.... -$ su -c "dnf install qemu" -.... - - -[[qemu-commands-since-f]] -== QEMU commands since F?+ - -To discover the qemu commands that are installed perform the following: - -.... -$ ls /usr/bin/qemu-* -.... - -In the following examples where "qemu" is, substitute your command for executing qemu. E.g. - -.... -qemu-system-i386 -.... - -or - -.... -qemu-i386 -.... - -Of course, this does not apply to "qemu-img". - -[[qemu-virtual-machine-installation]] -== QEMU virtual machine installation - -Create the virtual image for the system: - -.... -$ qemu-img create fedora.qcow 5G -.... - -Of course you are not obliged to take 5GB. - -Note: Even if you take 10GB this does NOT mean that the image does really HAVE the size of 10GB. It just means that your new system is limited up to 10GB - if the new system takes only 1,2 GB also the image will only be at 1,2GB. - -Now let's install the OS. Put in the install CD and type into your konsole (all in one line without break): - -.... -$ qemu -cdrom /dev/cdrom -hda fedora.qcow -boot d -net nic -net user -m 196 -localtime -.... - -"-user -net" is important to have internet access within your new system. -"-m 196" is the Set virtual RAM size (megabytes), default is 128 MB, I chose 196. - -The install may take some time. After the install, qemu will try to boot the new OS itself. -Maybe this may fail (was the case for me) - but don't worry. -If that happens: just close the qemu window and type the following command into your konsole to launch your new OS: - -.... -$qemu fedora.qcow -boot c -net nic -net user -m 196 -localtime -.... - -[[testing-iso-images]] -== Testing ISO Images - -Type, in the proper directory - -.... -$ qemu -m 512M -cdrom .iso -.... - -[[debugging]] -== Debugging - -To get kernel output dumped to a file outside the virtual system, add e.g. "-serial file:/tmp/qemu-output.log" to the qemu command line. -When booting the virtual system, add "console=ttyS0" to the kernel boot parameters. - -This output is particularly helpful if you are having trouble booting the system, in which case you may also wish to remove "rhgb" and "quiet" from the kernel boot parameters. diff --git a/en-US/raspberry-pi.adoc b/en-US/raspberry-pi.adoc deleted file mode 100644 index 4b76d31..0000000 --- a/en-US/raspberry-pi.adoc +++ /dev/null @@ -1,334 +0,0 @@ -= Raspberry Pi - -TIP: The Raspberry Pi is now supported in Fedora 25 and later. -Fedora on the Raspberry Pi is still very new so please report issues to the ARM mailing list or IRC channel. - -== Introduction - -The link:https://www.raspberrypi.org[Raspberry Pi] is a credit card-sized ARM based single board computer (SBC). -Fedora supports the the Raspberry Pi Model B versions 2 and 3 since Fedora 25 without any requirement of third party kernels or scripts to adjust offical images. -This documentation describes how to get started, and includes a Frequently Asked Questions (FAQ) section at the end of the document about what is supported and what isn't. - -== Supported Hardware - -We currently only support the Raspberry Pi Model B versions 2 and 3. - -== Prerequisites - -* A Raspberry Pi 2 or 3 -* Good quality SD Card (link:http://elinux.org/RPi_SD_cards[eLinux] hosts a compatibility list) -* HDMI Monitor or TV, a USB keyboard and mouse -* A decent power supply. You'll want at least 2A for the RPi2 and 2.5A for the RPi3, link:https://www.raspberrypi.org/help/faqs/#power[details here]. -* Computer running Windows/MacOS/Linux -* SD card reader - -== Downloading the Fedora ARM image - -Official support for the Raspberry Pi 2/3 is available in Fedora! -Please read the FAQ for the current status of various features. - -The lastest Fedora ARM images can be downloaded link:https://arm.fedoraproject.org/[here.] - -== Preparing the SD card - -You can quite easily prepare the image on the SD card on Fedora or any Linux distribution, MacOS or Windows. -The default settings will provide the user interface on a HDMI monitor with keyboard and mouse support. -If you wish to have output over a serial console please see the FAQs at the end of this document for more information. - -== Fedora or Other Linux Distributions - -=== Use the fedora-arm-installer - -To install arm-image-installer: - ----- -$ dnf install -y fedora-arm-installer ----- - -To write the image out use the following: - ----- -$ sudo arm-image-installer ----- - -Usage: `$ arm-image-installer ` - -.... - --image=IMAGE - xz compressed image file name - --target=TARGET - target board - --media=DEVICE - media device file (/dev/[sdX|mmcblkX]) - --selinux=ON/OFF - Turn SELinux off/on as needed - --norootpass - Remove the root password - -y - Assumes yes, will not wait for confirmation - --version - Display version and exit - --resizefs - Resize root filesystem to fill media device - --addconsole - Add system console to extlinux.conf - --addkey= - /path/to/ssh-public-key -.... - -Example: - ----- -$ arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0 ----- - -For list of supported boards please check SUPPORTED-BOARDS file. - -For the Raspberry Pi 2 use `--target=rpi2` and for the Raspberry Pi 3 use `--target=rpi3`. - -=== Manually Configure SD Card - ----- -$ xzcat Fedora-IMAGE-NAME.raw.xz | sudo dd status=progress bs=4M of=/dev/XXX #Location of your media (will be sdX or mmcblkX depending on hardware) ----- - -== Microsoft Windows / MacOS - -The Raspberry Pi foundation provides some nice instructions for image copying using a Mac link:https://www.raspberrypi.org/documentation/installation/installing-images/mac.md[here]. -Simply replace any image file references with the name and path of the image downloaded in the step above. - -== Resizing the Root Partition - -The root partition is shrunk to the smallest size possible to ensure a small download. -You currently need to resize it manually. -Ideally we would like this to happen automatically (great community project idea!). - -=== Resize Before First Boot - -The easiest way to do this before boot on a Linux system is with gparted: - ----- -$ gparted /dev/XXX ----- - -=== Resize After initial-setup - -The other mechanism for doing it is once you've booted the Raspberry Pi and completed the initial setup to create accounts. - -* enlarge the 4th partition (this example uses mmcblk0) - ----- -$ growpart /dev/mmcblk0p4 ----- - -* grow the fileystem to fill the available space - ----- -$ resize2fs /dev/mmcblk0p4 ----- - -* resize root partition for the server image (which uses xfs) - ----- -$ xfs_growfs -d / ----- - -== Booting Fedora on the Raspberry Pi for the First Time - -* Insert the SD card into the Raspberry Pi. -* Make sure you have a keyboard, mouse, network cable and monitor connected. -* Power on the Raspberry Pi. -* You will see Fedora booting and eventually the "Initial setup wizard" will appear. -* Follow the wizard to set language, timezone and create users. -* You should be presented with a login prompt or a getting started guide (depending on which Desktop/SPIN you're using). - -== Applying Updates and Installing Software - -There are no special ways or procedures necessary to install or update the software so you just use standard Fedora installation and update mechanisms such as dnf, gnome-software or any of the other GUI update systems as supported in the various desktop environments. - -== Getting Help and Reporting Issues - -So where can you get help if it’s not working? The usual Fedora support forums are: - -* link:https://ask.fedoraproject.org/[Ask Fedora] -* link:https://lists.fedoraproject.org/admin/lists/arm%40lists.fedoraproject.org/[Fedora ARM mailing list] -* irc://irc.freenode.net/#fedora-arm[IRC via the #fedora-arm channel on Freenode] - -== Frequently Asked Questions - -=== Why do I get a rainbow display when I try and power on my Raspberry Pi? - -There's a number of different reasons you might get rainbow output on the display when you're trying to boot as Raspberry Pi. -The three common ones we see are: - -* The power supply isn't strong enough. See the "Prerequisites" section above. - -* There's no OS installed. Check the SD card is properly in place and you've followed the instructions to write out the card. - -* Wrong edition of the Raspberry Pi. If you try and use Fedora on a Raspberry Pi 1 or Zero you'll get this as we don't support ARMv6 SoCs. - -=== What desktop environments are supported? - -Both 3D/2D work out of the box and all desktops as shipped in Fedora should work just fine. -There is an open source fully accelerated driver for the Video Core IV GPU. - -=== Will there be more enhancements to the hardware support? - -Yes. -New enhancements will be delivered when, and as soon as, they are ready via the standard Fedora updates mechanism. -New, significant features will be blogged about as they arrive either via link:https://fedoramagazine.org/[Fedora Magazine] or the link:http://fedoraplanet.org/[Fedora Planet]. - -=== What about support for the Raspberry Pi Models A/A+, B/B+ (generation 1), Zero/ZeroW and Compute Module? - -THESE ARE NOT SUPPORTED!!! - -Fedora doesn't, and NEVER will, support ARMv6 processors. -There's been a number of attempts to support these over the years. -The current best effort is Pignus based on Fedora 23. -More information can be found at link:https://pignus.computer[the Pignus site]. - -NOTE: Fedora DOES support the Compute Module 3 based on the same SoC as the Raspberry Pi 3, but *as the previous generation Compute Modules are based on ARMv6 archetecture, they are [#.underline]#not supported#*. - -=== Will Fedora 24 be supported? - -No. -The small team is focused on the Fedora 25 release and rawhide to best focus resources. -While possible to do there is reasonably significant amount of work to back port all the fixes that have gone into Fedora 25/rawhide back to stable releases. -Fedora 25 is released and is already very stable on the Raspberry Pi. - -=== What USB devices are supported on the Raspberry Pi - -You should be able to use most USB-2 compatible devices that are supported in Fedora on other devices. -There are some limitations to the USB bus of the Raspberry Pi hardware as link:https://www.raspberrypi.org/documentation/hardware/raspberrypi/usb/README.md[documented here]. - -=== Is the onboard WiFi and Bluetooth supported on the Raspberry Pi 3? - -==== Wifi - -Wifi on the Raspberry Pi 3 is supported in Fedora. -There's a file we can't currently redistribute which you'll need to retrieve. -This can be done either post first boot using onboard ethernet or when setting up the SD card. -The command needed when running from a Raspberry Pi 3 is as follows: - ----- -$ sudo curl https://fedora.roving-it.com/brcmfmac43430-sdio.txt -o /lib/firmware/brcm/brcmfmac43430-sdio.txt ----- - -Once retrieved you just need to reboot and WiFi should be available. - -==== Bluetooth - -It's currently untested but as it's attached to a serial port and is accessible it might work. -It's only been briefly tested but in practice it tends to crash the entire device so is not currently recommended. -Those interested can investigate further and potentially provide more information. - -For the brave you can test it with this command: - ----- -$ hciattach /dev/ttyAMA0 bcm43xx 3000000 noflow - ----- - -=== Does sound work? - -HDMI audio output is included Fedora however the analog port is not yet supported. -Audio output via a USB audio interface should also work fine. - -=== Does the add-on camera work? - -Not currently. -There is still ongoing work to support this upstream and add the appropriated media acceleration support. - -=== Does accelerated media decode work? - -No. -There's no upstream kernel support and it relies on code from a number of kernel subsystems to be supported. - -=== Does HDMI-CEC work? - -Yes. -It current is supported using link:http://libcec.pulse-eight.com/[libcec] packaged in Fedora. - -=== Is the Raspberry Pi Touch Display supported? - -Work on the official Raspberry Pi Touch Display is ongoing upstream and initial support has landed in the 4.10 kernel, being link:https://github.com/anholt/linux/issues/8[tracked upstream]. -Fedora will review any missing pieces for support soon. -The touchscreen driver isn't yet released upstream. -Support for other displays is not currently planned. - -=== Is the composite TV out supported? - -The composite TV out is not currently supported in a stable Fedora release but the core support has landed upstream in the 4.10 kernel. -There's some missing enabling patches currently which we will add to the Fedora kernel soon. - -=== Are the expansion HATs supported? - -The quick answer here is they are not currently supported. - -The long answer is a lot more complex. -Most of the hardware interfaces that are exposed by the 40 pin HAT connector are supported with drivers shipped with Fedora. -Drivers for the hardware contained on a lot of the common HATs are also enabled and supported in Fedora. -The core means of supporting the HAT add-on boards require the use of device tree overlays. -The kernel and the u-boot 2016.09 boot-loader supports the loading over overlays manually. -Currently there is no upstream consensus on the means of autoloading these overlays by means of an "overlay manager" (also known as Cape Manager and by numerous other names) by reading the EEPROM ID and loading the appropriate overlay automatically. -There's also no consensus on the extensions to the dtc (Device Tree Compiler) to build the binary blob overlays, and no consensus of the exact format of the overlay file. -There is now a group of people working to resolve this issue which enable Fedora to better support HATs (Raspberry Pi), Capes (BeagleBone), DIPs (C.H.I.P) and Mezzanine (96boards) before long. - -The first focus HAT to support will be the official Raspberry Pi Sense HAT. -This will be documented using the manual process to build and load the overlay to provide access to the onboard devices as a means of demonstrating how this process works for those wishing to use this manual method in the interim. -The link to this documentation will be added here once that is complete. - -=== Are Device Tree Overlays supported? - -There's basic support for overlays in u-boot and the Linux kernel but an overlay manager isn't yet upstream. - -=== Is GPIO supported? - -GPIO isn't supported well as they need to be mapped with Device Tree overlays. -This will be improved in the Fedora 27/28 cycles. - -=== Is SPI supported? - -Yes, basic SPI is supported. - -=== Is I2C supported? - -Yes, basic I2C is supported. - -=== Is there Raspberry Pi 3 aarch64 support? - -Yes! You can download the aarch64 disk images for the Raspberry Pi 3 link:https://archive.fedoraproject.org/pub/fedora-secondary/releases/[here.] - -=== How do I use a serial console? - -The serial console is disabled by default on the Raspberry Pi 2 and 3 because it requires the device to run at significantly slower speeds. -To wire up the USB to TTL adapter follow link:https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/connect-the-lead[this guide from Adafruit]. -You'll need a 3.3 volt USB to TTL Serial Cable like link:https://www.adafruit.com/product/954[this one from Adafruit]. -To enable the serial console follow the specific steps for the Raspberry Pi 2 or 3 as they both differ slightly: - -==== Raspberry Pi 2: -* Insert the micro SD card into a PC -* On the VFAT partition edit the config.txt file and uncomment the enable_uart line: - ----- -$ enable_uart=1 ----- - -* On the boot partition edit the extlinux/extlinux.conf file adding `console=tty0 console=ttyAMA0,115200` to the end of the append line so it looks similar to: - ----- -$ append ro root=UUID="LARGE UUID STRING OF TEXT" console=tty0 console=ttyAMA0,115200 ----- - -* Safely unmount the micro SD card -* Insert micro SD into Raspberry Pi, connect serial console, power on - -==== Raspberry Pi 3: -* Insert the micro SD card into a PC -* On the VFAT partition edit the config.txt file and uncomment the enable_uart line: - ----- -$ enable_uart=1 ----- - -* On the boot partition edit the extlinux/extlinux.conf file adding: `console=tty0 console=ttyS0,115200` to the end of the append line so it looks similar to: - ----- -$ append ro root=UUID="LARGE UUID STRING OF TEXT" console=tty0 console=ttyS0,115200 ----- - -* Safely unmount the micro SD card -* Insert micro SD into Raspberry Pi, connect serial console, power on - - -See a typo, something missing or out of date, or anything else which can be improved? -Edit this document link:https://pagure.io/fedora-docs/quick-docs[here.] diff --git a/en-US/repositories.adoc b/en-US/repositories.adoc deleted file mode 100644 index 0e46059..0000000 --- a/en-US/repositories.adoc +++ /dev/null @@ -1,128 +0,0 @@ -= Repositories -:FedoraVersionNumberNext: 28 -:FedoraVersionNumber: 27 - -This page explains the various Fedora repositories that exist for -different Fedora Releases, the relationship between them, and what -packages they contain. - -[[the-fedora-repository]] -== The fedora repository - -The _fedora_ repository exists for all Fedora releases after they have link:Releases/Branched[Branched] from link:Releases/Rawhide[Rawhide]. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora.repo` file in the repository path. For any Fedora installation, this repository will be enabled by default, and should usually remain so. - -[[the-fedora-repository-in-stable-releases]] -=== The _fedora_ repository in stable releases - -For stable releases, _fedora_ represents the frozen release state. It is a part of the frozen tree that is created by https://fedoraproject.org/wiki/ReleaseEngineering[Release Engineering] when a release is approved at a https://fedoraproject.org/wiki/Go_No_Go_Meeting[Go/No-Go Meeting]. The package set it contains never changes after that time. It represents the _stable_ state of a stable release in conjunction with _updates_ repository. - -The stable release _fedora_ repositories for the various primary architectures can be found in the `/fedora/linux/releases/XX/Everything` directory on the mirrors (where XX is the release), and can also be queried from MirrorManager. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-{FedoraVersionNumber}&arch=x86_64 will return mirrors for the x86_64 _fedora_ repository for {FedoraVersionNumber} release. - -[[the-fedora-repository-in-branched-releases]] -=== The _fedora_ repository in Branched releases - -In Branched releases - the state a release is in between branching from Rawhide and stable release, see https://fedoraproject.org/wiki/Releases/Branched[Branched] for more details - the fedora repository alone represents the release's stable state. The _updates_ repository for Branched releases is not used until they become stable. Before the https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi enabling point], package builds for the Branched release are sent directly to this repository. After the _Bodhi enabling point_, package builds that pass the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] move from _updates-testing_ repository to this repository. - -The Branched _fedora_ repositories for the various primary https://fedoraproject.org/wiki/Architectures[architectures] can be found in the `/fedora/linux/development/XX` directory on the mirrors (where XX is the release), and can also be queried from MirrorManager. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-{FedoraVersionNumberNext}&arch=x86_64 will return mirrors for the x86_64 _fedora_ repository for {FedoraVersionNumberNext} version. - -[[the-updates-repository]] -== The _updates_ repository - -The _updates_ repository exists for Branched and stable releases, but is only populated and used for stable releases. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-updates.repo` file in the repository path. It exists in Branched releases solely to prevent various tools that expect its existence from breaking. For any Fedora installation, this repository will be enabled by default, and should usually remain so. - -For stable releases, _updates_ together with _fedora_ represents the current _stable_ state of the release. Package builds that pass the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] move from the _updates-testing_ repository to this repository. This difference from Branched is a result of the need to maintain a precise representation of the initial, 'frozen' state of a stable release. - -The stable release _updates_ repositories for the various primary architectures can be found in the `/fedora/linux/updates/XX` directory on the mirrors (where XX is the release), and can also be queried from https://fedoraproject.org/wiki/MirrorManager[MirrorManager]. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f{FedoraVersionNumber}&arch=x86_64 will return mirrors for the x86_64 _updates_ repository for 27. - -[[the-updates-testing-repository]] -=== The _updates-testing_ repository - -The _updates-testing_ repository exists for Branched releases after the https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi enabling point], and for stable releases. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-updates-testing.repo` file in the repository path. For both, it is a 'staging' location where new package builds are tested before being marked as 'stable' (and hence moving to the _fedora_ repository or the _updates_ repository, respectively). - -These builds are sometimes referred to as _update candidates_, and are reviewed with the https://fedoraproject.org/wiki/Bodhi[Bodhi] update feedback tool, according to the -https://fedoraproject.org/wiki/QA:Update_feedback_guidelines[update feedback guidelines]. - -The https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] defines the rules for marking update candidates as _stable_. The https://fedoraproject.org/wiki/QA:Updates_Testing[QA updates-testing page] provides some information for testers on using this repository. The https://fedoraproject.org/wiki/Package_update_HOWTO[package update guidelines] provide information for packagers on submitting builds to _updates-testing_ and to _stable_. - -The _updates-testing_ repository is enabled by default for Branched releases, but disabled by default for stable releases. The switchover is made around the time of the https://fedoraproject.org/wiki/Milestone_freezes[Final Freeze] for each release. Testers moving from Branched to stable may encounter errors running updates around this time, caused by dependency mismatches between packages already installed from the now-disabled _updates-testing_ repository. Running `dnf distro-sync`(or with yum command) or re-enabling the _updates-testing_ repository will both usually alleviate the issue; it is up to the individual user whether they wish to continue using the _updates-testing_ repository after the stable release or not. - -The _updates-testing_ repositories for both Branched and stable releases can be found in the `/fedora/linux/updates/testing/XX` directory on the mirrors (where XX is the release), and can also be queried from https://fedoraproject.org/wiki/MirrorManager[MirrorManager]. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f{FedoraVersionNumber}&arch=x86_64 will return mirrors for the x86_64 _updates-testing_ repository for {FedoraVersionNumber}. - -[[the-rawhide-repository]] -=== The _rawhide_ repository - -In Rawhide - Fedora's rolling release repository, from which release are Branched before finally going stable - _rawhide_ is the only repository. All package builds are sent there. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-rawhide.repo` file in the repository path. For any system running Rawhide, it should be enabled. For any other system, it should not. - -The _rawhide_ repositories for the various primary https://fedoraproject.org/wiki/Architectures[architectures] can be found in the directory on the mirrors, and can also be queried from https://fedoraproject.org/wiki/MirrorManager[MirrorManager]. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-rawhide&arch=x86_64 will return mirrors for the x86_64 _fedora_ repository for Rawhide. - -[[stable-is-not-a-repository]] -=== _stable_ is not a repository - -It is not unusual to see references to the 'stable repository', but this is something of a misnomer. _stable_ is more of a state that can be considered to exist for both Branched releases post https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi enabling] and for stable releases. It consists of package builds that were part of Rawhide at the time they Branched, package builds sent directly to the Branched _fedora_ repository between the branch point and the _Bodhi enabling point_, and package builds that passed the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] and moved from _updates-testing_ after the _Bodhi enabling point_. - -For Branched releases, the _stable_ state is represented solely by the current contents of the _fedora_ repository (and, arguably, the _bleed_ repository, but that is a small case). - -For stable releases, the _stable_ state is represented by the contents of the _fedora_ repository combined with the contents of the _updates_ repository. - -_stable_ is also a state a package can be considered to be in (or an attribute it can be considered to have) when it has been _pushed stable_ or _tagged stable_ and exists in, or will soon exist in, a _stable_ repository for a release - whichever literal repository that is (see above). - -[[installation-and-product-repositories-trees]] -== Installation and Product repositories / trees - -The repositories referred to above are neither associated with a specific https://fedoraproject.org/wiki/Fedora.next[Fedora.next] _Product_, nor part of an installable tree (a tree containing the necessary files to be used as a base repository by https://fedoraproject.org/wiki/Anaconda[Anaconda], the Fedora installer). Specialized repositories exist for these purposes. - -For Fedora.next releases - and later - there is (as of September 2014) no installable tree not associated with a specific Product. The installable trees for various Products can be found under `/fedora/linux/releases/XX/` on the mirrors for stable releases, and under `/fedora/linux/releases/test/` for Branched pre-release milestones. They can also be queried from MirrorManager. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-server-{FedoraVersionNumberNext}&arch=x86_64 will return mirrors for the x86_64 current installation repository for Server. - -These repositories are frozen (new packages are not pushed to them) and are created at various points in the https://fedoraproject.org/wiki/Fedora_Release_Life_Cycle[Fedora Release Life Cycle]. A new installation tree (containing a repository) is built for several Products for https://fedoraproject.org/wiki/QA:SOP_compose_request[each test compose or release candidate build], and the trees for the Alpha and Beta releases are made available on the mirrors in the directory (see above). They contain a subset of the full package set that is considered to define each Product. - -The Product trees for the GA (Final) release are made available in the `/releases` tree on the mirrors. - -At any given point in the release cycle, the MirrorManager request for a Product repository may redirect to a test compose / release candidate tree, a pre-release milestone tree, or the Final release tree. - -These repositories are usually not used or enabled by default on installed systems, as for that purpose they are redundant with one of the three primary repositories described above. However, one could use a Product repository in place of the _fedora_ repository to keep a system limited to the Product package set. They are represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-(product).repo` file in the repository path, which may well not be installed on many systems. - -[[other-repositories]] -== Other repositories - -There are other repositories that fulfil various niche purposes, which are documented here for the sake of providing a comprehensive reference. They should not usually be significant to the vast majority of Fedora users. None of these repositories is represented in a packaged repository file, enabled by default, or should usually be used in a Fedora installation. - -[[the-bleed-repository]] -=== The _bleed_ repository - -The _bleed_ repository exists for a single purpose: during https://fedoraproject.org/wiki/Milestone_freezes[Milestone freezes], it contains packages that have been granted 'freeze exceptions' via the https://fedoraproject.org/wiki/QA:SOP_blocker_bug_process[Blocker Bug Process] or https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process[Freeze Exception bug process], and which are desired to be included in the next test compose or release candidate build, but have not yet reached _stable_ state and hence been moved to the _fedora_ repository. In other words, it contains packages explicitly required in TC/RC https://fedoraproject.org/wiki/QA:SOP_compose_request[compose requests]. - -The _bleed_ repository can be found http://kojipkgs.fedoraproject.org/mash/bleed/[here], but again, is not usually of interest to the vast majority of Fedora users. The packages it contains are always also available from the build system, Koji, and usually from the _updates-testing_ repository. - -[[the-latest-repositories]] -=== The _latest_ repositories - -The _latest_ http://kojipkgs.fedoraproject.org/repos/[repositories] contain packages for various build 'tags' as they arrive in the Koji build system. They are not https://git.fedorahosted.org/cgit/mash/[mashed], a process which principally handles multilib, and using them can cause various problems, in addition to overloading Fedora's development servers. It is almost always a better idea to cherry-pick new builds from https://fedoraproject.org/wiki/Koji[Koji] or https://fedoraproject.org/wiki/Bodhi[Bodhi] via their web interfaces or command line tools. - -[[repositories-faq]] -== Repositories FAQ - -[[why-is-updates-only-used-after-the-stable-release]] -=== Why is _updates_ only used after the stable release? - -As described above, updates for both Branched pre-releases and final, _stable_ releases go through the _updates-testing_ process before being moved to a _stable_ repository. Before the final release, they are placed in the _fedora_ repository. After release, they are placed in _updates_. - -The reason for the difference is that we want to have a record of the exact 'state' of a given Fedora stable release. That is, at the time a Fedora release is declared to be done at a https://fedoraproject.org/wiki/Go_No_Go_Meeting[Go/No-Go Meeting], we consider the state of the release at that time to be the canonical definition of that release, and we wish to preserve a record of that state. For a stable release, the tree containing the _fedora_ repository *is* that record, and the _fedora_ repository it contains is the canonical record of the precise _frozen_ package set that formed the main part of that stable release. - -Since we wish to maintain this _frozen_ state for the _fedora_ repository, we cannot place updates directly into it. The necessity for the _updates_ repository therefore becomes obvious - we need a place to put updates to stable releases that is outside the _frozen_ state of the release. - -Before a stable release occurs, this mechanism is not necessary. Before the release is declared to be done, there is no _frozen_ state of the release: effectively, the whole Branched development process is _working towards_ what will become the _frozen_ state of the release, so of course package builds for the Branched release land directly in the _fedora_ repository. - -[[why-is-updates-testing-enabled-by-default-in-pre-releases]] -=== Why is _updates-testing_ enabled by default in pre-releases? - -While Branched development releases and stable releases both use an _updates-testing_ repository together with the Bodhi update feedback system to stage packages before they reach the release's _stable_ state, it is enabled by default in Branched, but not in stable releases. - -The reason is that the purpose of the _updates-testing_ system is somewhat different in each case. For stable releases, the system's goal is to prevent broken updates reaching the general Fedora user population. In most cases, Fedora systems are expected to have the _updates-testing_ repository disabled. Some QA testers then enable the repository on testing systems to try out the updates and provide feedback. The testers perform the job of making sure the updates are OK before they reach the general user population. - -When it comes to a Branched pre-release, the expectation is that anyone who installs it wants to help test it: we effectively consider anyone running a Branched release to be a tester. The function of _updates-testing_ is different in this case. There is not a 'general user population' of Branched users who run with _updates-testing_ disabled, and are protected from problematic updates by the group of update testers. Instead, _updates-testing_ in Branched serves other important functions. - -The main purpose is to insulate _image builds_ from potentially problematic changes. Branched images - nightly images, and the Alpha, Beta and GA (Final) _milestone_ builds and their https://fedoraproject.org/wiki/Go_No_Go_Meeting[test compose and release candidate builds] - are built from the _stable_ packages, that is, only those in the _fedora_ repository, not those in _updates-testing_. In this sense, _updates-testing_ protects not a set of users, but a set of _builds_, from potentially destabilizing changes. Especially when we are building an Alpha, Beta or GA release, we need to be able to reduce the amount of change in the package set between composes in order to produce an image of high quality. The _updates-testing_ mechanism allows for that: during https://fedoraproject.org/wiki/Milestone_freezes[Milestone freezes], new builds can be sent to _updates-testing_, but cannot move from there to _stable_ (_fedora_) without special circumstances. In this way, we can work on release images while not preventing packagers from sending out builds. - -For this and other less important functions, we need as much feedback as possible, so it makes sense to have all pre-release testers have _updates-testing_ enabled by default, and encourage them to provide feedback through Bodhi. - -See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/reset-root-password.adoc b/en-US/reset-root-password.adoc deleted file mode 100644 index 9dfbdf5..0000000 --- a/en-US/reset-root-password.adoc +++ /dev/null @@ -1,200 +0,0 @@ -[[chap-how-to-reset-a-root-password]] -= How to Reset the root Password - -Setting up a root password is one of the steps when installing Fedora. -If you forget, or lose, the root password, there are two common methods to reset it: - -* In Rescue Mode - -* Using a Fedora Live Media (USB/DVD/CD) - - -[[sect-how-to-reset-the-password-from-emergency-or-single-user-mode]] -== How to reset the root password in Rescue Mode - -[NOTE] - -==== - -Changing passwords as root does not prompt for the old password. - -==== - -While booting the system the link:++grub2.html++[GRUB2] menu will be displayed. -To boot the system into rescue mode using `bash` follow these steps: - -. Use the arrow keys to select the boot entry you want to edit - -. Press *e* to edit that entry - -. Use the arrow keys to go to the line that starts with `linux`, `linux16`, or `linuxefi` - -. Go the the end of that line, add a space then type `rw init=/bin/bash`. -If your disk is encrypted, you may need to add `plymouth.enable=0` - -. Press *Ctrl-x* or *F10* to boot that entry - -. Run the command: -+ -[source,bash] - ----- - -passwd - ----- -+ -It will prompt you to enter the new root password twice. - -. Restore the SELinux context and permissions with: -+ -[source,bash] - ----- - -touch /.autorelabel - ----- - -+ - -[WARNING] - -==== - -If you do not restore the SELinux permissions, the boot process may fail. -You may have to do a hard-reboot and start back at step 1. - -==== - -. Reboot the machine with: -+ -[source,bash] - ----- - -/sbin/reboot -f - ----- - -The system may take a while to boot as SELinux will be relabeling its permissions on the filesystem. -If you see the Plymouth boot screen you can press the `ESC` key on your keyboard to view the SELinux progress. -Once it is complete, your system is ready and your root password has been successfully changed. - -[[sect-reset-password-using-the-fedora-live-media]] -== How to reset the root password with a Fedora Live Media - -[NOTE] - -==== - -To download and create a live USB of Fedora Workstation, follow the instructions on the link:++live-usb.html++[Fedora USB Live Media Quick Doc]. - -==== - -. Boot the Live installation media and choose `Try Fedora` - -. From the desktop, open a terminal and switch to root using `su` (it won't ask for a password) - -. To view your hard drive device nodes, in the terminal type: `df -H`. -For this example we will use `/dev/sda1` for the `/boot` partition and `/dev/sda2` for the root `/` partition. -+ -If you are using LVM partitions, type: `sudo lvscan` and note the `/dev` path of your root partition. -For this example we will use `/dev/fedora/root`. - -. Create a directory for the mount point (use the `-p` option to create subdirectories): -+ -[source,bash] - ----- - -mkdir -p /mnt/sysimage/boot - ----- - -. Mount the `/` (root) partition (be sure to use the actual device node or LVM path of your root `/` partition): -+ -To mount root on a *standard partition* scheme enter: -+ -[source,bash] - ----- - -mount /dev/sda2 /mnt/sysimage - ----- -+ -To mount root on an *LVM partition* scheme enter: -+ -[source,bash] - ----- - -mount /dev/fedora/root /mnt/sysimage - ----- - -. Continue the process by mounting `/boot`, `proc`, `/dev`, and `/run` with: -+ -[source,bash] - ----- - -mount /dev/sda1 /mnt/sysimage/boot - -mount -t proc none /mnt/sysimage/proc - -mount -o bind /dev /mnt/sysimage/dev - -mount -o bind /run /mnt/sysimage/run - ----- - -. `chroot` to the mounted root partition with: -+ -[source,bash] - ----- - -chroot /mnt/sysimage /bin/bash - ----- - -. Change the root password: -+ -[source,bash] - ----- - -passwd - ----- - -. Exit out of chroot with: -+ -[source,bash] - ----- - -exit - ----- -+ -and exit out of the terminal. - -. Reboot your system and boot from the hard drive. - -Congratulations, your root password has been successfully changed. - -[[sect-additional-troubleshooting]] -== Additional Troubleshooting - -. If you cannot enter rescue mode because you forgot the Firmware/BIOS password here are some options: - -.. Refer to your computer's documentation for instructions on resetting the Firmware/BIOS password in CMOS memory. - -.. Temporarily move the system hard disk to another machine, and follow the procedures above to reset the root password. - -. If you have set a password for your boot loader, refer to link:++creating-and-using-a-live-installation-image.html++[Creating and Using a Live Installation Image]. - -. If you want to reset the boot loader password, refer to the instructions on how to link:++https://fedoraproject.org/wiki/Reset_Bootloader_Password++[Reset the Bootloader Password]. \ No newline at end of file diff --git a/en-US/securing-the-system-by-keeping-it-up-to-date.adoc b/en-US/securing-the-system-by-keeping-it-up-to-date.adoc deleted file mode 100644 index 4427a3c..0000000 --- a/en-US/securing-the-system-by-keeping-it-up-to-date.adoc +++ /dev/null @@ -1,24 +0,0 @@ -:experimental: - -[id='securing-the-system-by-keeping-it-up-to-date'] -= Securing the system by keeping it up-to-date - -This section explains: - -* Why it is important to update your system regularly (link:#why-it-is-important-keeping-your-system-up-to-date[Why it is important to keep your system up-to-date]) -* How to apply updates manually by using GUI or CLI (link:#manual-updating-using-cli[Manual updating using CLI]) -* How to enable automatic updates (link:#setting-automatic-updates[Setting automatic updates]) - -include::en-US/modules/con_why-it-is-important-keeping-your-system-up-to-date.adoc[leveloffset=+1] - -include::en-US/modules/proc_manual-updating-using-gui.adoc[leveloffset=+1] - -include::en-US/modules/proc_manual-updating-using-cli.adoc[leveloffset=+1] - -include::en-US/modules/proc_setting-automatic-updates.adoc[leveloffset=+1] - - -[discrete] -== Additional Resources - -* The https://docs-old.fedoraproject.org/en-US/Fedora/26/html/System_Administrators_Guide/ch-DNF.html[DNF] chapter in the Fedora System Administrator's Guide diff --git a/en-US/switching-desktop-environments.adoc b/en-US/switching-desktop-environments.adoc deleted file mode 100644 index 5792f0f..0000000 --- a/en-US/switching-desktop-environments.adoc +++ /dev/null @@ -1,12 +0,0 @@ -:imagesdir: ./images - -[[switching-desktop-environments]] -= Switching desktop environments - -Fedora's default desktop environment is GNOME 3 in the Workstation spin, but it is very easy to try any of the many other desktop environments that are available without affecting your current desktop environment. - -include::en-US/modules/proc_installing-additional-desktop-enviroments.adoc[leveloffset=+1] - -include::en-US/modules/proc_switching-desktop-enviroments-using-gui.adoc[leveloffset=+1] - -include::en-US/modules/proc_switching-desktop-enviroments-using-cli.adoc[leveloffset=+1] diff --git a/en-US/troubleshooting_selinux.adoc b/en-US/troubleshooting_selinux.adoc deleted file mode 100644 index 76766ad..0000000 --- a/en-US/troubleshooting_selinux.adoc +++ /dev/null @@ -1,65 +0,0 @@ -[id='prod_troubleshooting_selinux'] -= Troubleshooting SELinux - -This document covers the basics of troubleshooting SELinux. - -SELinux decisions, such as allowing or disallowing access, are cached. This cache is known as the Access Vector Cache (AVC). Denial messages are logged when SELinux denies access. For example, an SELinux error generated by the Apache web server may appear as `comm="/usr/sbin/httpd"`. - -Each error message includes information on the source context (`scontext`) of that part of your system performing an action, and the target context (`tcontext`), the target of the action. In many cases, the source is a binary and the target a file. - -== Understanding Denials -When SELinux prevents any software from accessing a particular resource, for example, when *Firefox* is denied access to `/etc/shadow`, it generates a message and logs it in `/var/log/audit/audit.log` or `/var/log/messages` if *audit* service is disabled. If the log contains `avc: denied` that means it is an SELinux policy denial. Note that you would need administrator privileges (root access) on your system to be able to read this log file. An example denial would look like: ------ -type=AVC msg=audit(1214965667.121:635): avc: denied { unix_read unix_write } for pid=15524 comm="npviewer.bin" -key=59918130 scontext=unconfined_u:unconfined_r:nsplugin_t:s0-s0:c0.c1023 -tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s ------ -== Using the setroubleshoot utility - -*setroubleshoot* is a utility that parses the messages from SELinux and provides comprehensive help on what it means and possible actions to take. It has both a graphical utility for your desktop and a server side component that can send email alerts. It is installed by default on Fedora. To install it on your system, use the *Software* tool in GUI or enter the following command: ------ -$ sudo dnf install setroubleshoot ------ - -To start the program, run the following command: ------ -$ sealert ------ - -You can find recent alerts in the browser that appears. - -To troubleshoot an error, click the *troubleshoot* button in the SELinux Alert browser. The browser will return available options for resolving the error and commands to run to fix the problem. - -[NOTE] -==== -Some troubleshooting events can be resolved by enabling a boolean switch policy. This will allow the activity to procede in the future, regardless of SELinux enforcing policy. It is not recommended to utilize booleans without fully understanding the issue. For more information on booleans, see the link:https://docs-old.fedoraproject.org/en-US/Fedora/25/html/SELinux_Users_and_Administrators_Guide/sect-Security-Enhanced_Linux-Working_with_SELinux-Booleans.html[Booleans] chapter in the SELinux User's and Administrator's Guide. -==== - - -//// -include::modules/con-troubleshooting-selinux-overview.adoc[leveloffset=+1] - -include::modules/con-troubleshooting-selinux-access-is-denied.adoc[leveloffset=+2] - -include::modules/con_troubleshooting_selinux_top_three_causes_of_problems.adoc[leveloffset=+1] - -include::modules/con_troubleshooting_selinux_fixing_problems.adoc[leveloffset=+1] - -include::modules/con_troubleshooting_selinux_searching_viewing_denials.adoc[leveloffset=+2] - -include::modules/con_troubleshooting_selinux_disabling_permissive_domains.adoc[leveloffset=+2] - -include::modules/con_troubleshooting_selinux_raw_audit_messages.adoc[leveloffset=+1] - -include::modules/con_troubleshooting_selinux_sealert_messages.adoc[leveloffset=+2] - -include::modules/con_troubleshooting_selinux_allowing_access_audit.adoc[leveloffset=+1] - -include::modules/proc_troubleshooting_selinux_allowing_access_audit.adoc[leveloffset=+2] -//// - -== Additional Resources - - * link:https://docs-old.fedoraproject.org/en-US/Fedora/25/html/SELinux_Users_and_Administrators_Guide/chap-Security-Enhanced_Linux-Troubleshooting.html[Troubleshooting] in the SELinux User's and Administrator's Guide - - * link:https://fedorapeople.org/~dwalsh/SELinux/Presentations/selinux_four_things.pdf[Four Key Causes of SELinux Errors] diff --git a/en-US/uefi-with-qemu.adoc b/en-US/uefi-with-qemu.adoc deleted file mode 100644 index a0f4535..0000000 --- a/en-US/uefi-with-qemu.adoc +++ /dev/null @@ -1,183 +0,0 @@ -= Using UEFI with QEMU - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/Using_UEFI_with_QEMU - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -[[firmware-installation]] -Firmware installation ---------------------- - -UEFI for x86 QEMU/KVM VMs is called OVMF (Open Virtual Machine -Firmware). It comes from EDK2 (EFI Development Kit), which is the UEFI -reference implementation. - -[[installing-uefi-for-qemu-from-fedora-repos]] -Installing 'UEFI for QEMU' from Fedora repos -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Since June 2016, OVMF is available in Fedora repositories. All you need -to have installed is `edk2-ovmf` RPM. Furthermore, it should be now a -dependency of the package, so you probably have it installed already. -This includes firmware for secureboot (`OVMF_CODE.secboot.fd`) - -[[installing-uefi-for-qemu-nightly-builds]] -Installing 'UEFI for QEMU' nightly builds -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Gerd Hoffmann, Red Hatter and QEMU developer, has a dnf repo on his -personal site that provides nightly builds of a whole bunch of QEMU/KVM -firmware, including EDK2/OVMF. - -Here's how to pull down the nightly builds for x86: - -` sudo dnf install dnf-plugins-core` + -` sudo dnf config-manager --add-repo `http://www.kraxel.org/repos/firmware.repo[`http://www.kraxel.org/repos/firmware.repo`] + -` sudo dnf install edk2.git-ovmf-x64` - -Note, these are nightly builds, and may occasionally be broken. - -[[optionally-configure-libvirtd-to-advertise-uefi-support]] -Optionally Configure libvirtd to advertise UEFI support -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Libvirt needs to know about UEFI->NVRAM config file mapping, so it can -advertise it to tools like virt-manager/virt-install. On Fedora 22 and -later, libvirt packages are configured to look for the nightly build -paths, so this will work out of the box. - -However, if you want to use custom binaries, you will need to edit the -nvram variable in /etc/libvirt/qemu.conf and restart libvirtd. - -[[creating-a-vm]] -Creating a VM -------------- - -[[virt-manager]] -virt-manager -~~~~~~~~~~~~ - -Create a new VM in virt-manager. When you get to the final page of the -'New VM' wizard, do the following: - -* Click 'Customize before install', then select 'Finish' -* On the 'Overview' screen, Change the 'Firmware' field to select the -'UEFI x86_64' option. -* Click 'Begin Installation' -* The boot screen you'll see should use `linuxefi` commands to boot the -installer, and you should be able to run `efibootmgr` inside that -system, to verify that you're running an UEFI OS. - -[[virt-install]] -virt-install -~~~~~~~~~~~~ - -Add `--boot uefi` to your `virt-install` command. Example: - -` sudo virt-install --name f20-uefi \` + -`   --ram 2048 --disk size=20 \` + -`   --boot uefi \` + -`   --location `https://dl.fedoraproject.org/pub/fedora/linux/releases/22/Workstation/x86_64/os/[`https://dl.fedoraproject.org/pub/fedora/linux/releases/22/Workstation/x86_64/os/`] - -[[testing-secureboot-in-a-vm]] -Testing Secureboot in a VM --------------------------- - -These steps describe how to test Fedora Secureboot support inside a KVM -VM. The audience here is QA folks that want to test secureboot, and any -other curious parties. This requires configuring the VM to use UEFI, so -it builds upon the previous UEFI steps. - -[[run-enrolldefaultkeys.efi]] -Run EnrollDefaultKeys.efi -~~~~~~~~~~~~~~~~~~~~~~~~~ - -(Formerly this article recommended the independent utility -"LockDown_ms.efi".) - -Since OVMF doesn't ship with any SecureBoot keys installed, we need to -install some to mimic what an MS certified UEFI machine will ship with. -OVMF now ships with the binaries required to set up a default set of -keys. The easiest way is to use UefiShell.iso which is available at -`/usr/share/edk2/ovmf/UefiShell.iso`. Boot your VM with this as the -CD-ROM image and it should boot into the UEFI shell. At the prompt - -* Shell> fs0: -* FS0:\> EnrollDefaultKeys.efi -* FS0:\> reset -* The VM will restart. Let it boot into Fedora as normal. Log in -* You should see the string 'Secure boot enabled' in dmesg. Secureboot -is now enabled for every subsequent boot. - -[[testing-fedora-cddvd-secure-boot-in-a-vm]] -Testing Fedora CD/DVD Secure Boot in a VM -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Once you have a secureboot configured VM as described above, it's easy -to use this to test ISO media secureboot support. - -* Use virt-manager to attach the ISO media to your VM -* Use virt-manager to change the VM boot settings to boot off the CDROM -* Start the VM -* Switch to a terminal inside the VM, verify Secureboot is enabled by -checking dmesg - -[[notes]] -Notes ------ - -[[using-uefi-with-aarch64-vms]] -Using UEFI with AArch64 VMs -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -link:Architectures/ARM/AArch64[Fedora's AArch64 releases] will only run -on UEFI, so require UEFI inside the VM. However the steps are slightly -different. See this page for complete documentation: -https://fedoraproject.org/wiki/Architectures/AArch64/Install_with_QEMU - -[[extra-links]] -Extra links ------------ - -* QA:Testcase_Virtualization_UEFI[QA:Testcase Virtualization UEFI] -* http://www.linux-kvm.org/page/OVMF[KVM wiki OVMF page] -* https://wiki.ubuntu.com/SecurityTeam/SecureBoot[Ubuntu secureboot -page] -* http://en.opensuse.org/openSUSE:UEFI_Secure_boot_using_qemu-kvm[OpenSUSE -secureboot page] -* http://www.labbott.name/blog/2016/09/15/secure-ish-boot-with-qemu/[Using -SecureBoot with QEMU] - -Category:Virtualization Category:QA -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/understanding-and-administering-systemd.adoc b/en-US/understanding-and-administering-systemd.adoc deleted file mode 100644 index d8101f9..0000000 --- a/en-US/understanding-and-administering-systemd.adoc +++ /dev/null @@ -1,33 +0,0 @@ -:source-highlighter: prettify - -[id='understanding-and-administering-systemd'] -= Understanding and administering systemd - -Learn the basic principles of systemd: how to configure it and use to administer the system. - -include::en-US/modules/con_understanding-systemd.adoc[leveloffset=+1] - -include::en-US/modules/proc_starting-stopping-and-querying-systemd-services.adoc[leveloffset=+1] - -include::en-US/modules/proc_modifying-existing-systemd-services.adoc[leveloffset=+1] - -include::en-US/modules/proc_creating-new-systemd-services.adoc[leveloffset=+1] - -include::en-US/modules/proc_converting-sysvinit-services.adoc[leveloffset=+1] - -include::en-US/modules/ref_common-service-parameters.adoc[leveloffset=+1] - -include::en-US/modules/ref_mapping-runlevel-to-targets.adoc[leveloffset=+1] - -include::en-US/modules/ref_mapping-service-commands.adoc[leveloffset=+1] - - -[discrete] -== Additional resources - -* http://www.freedesktop.org/wiki/Software/systemd[Project homepage] -* http://0pointer.de/blog/projects/ - Lennart's blog has lots of information about systemd. Lennart is the primary systemd developer -* http://www.freedesktop.org/wiki/Software/systemd/FrequentlyAskedQuestions -* http://www.freedesktop.org/wiki/Software/systemd/TipsAndTricks -* link:Features/systemd[ Features Fedora 15:systemd] -* http://fosdem.org/2011/interview/lennart-poettering.html[Interview with the developer] diff --git a/en-US/upgrading-fedora-online.adoc b/en-US/upgrading-fedora-online.adoc deleted file mode 100644 index 90d26fe..0000000 --- a/en-US/upgrading-fedora-online.adoc +++ /dev/null @@ -1,357 +0,0 @@ -= Upgrading Fedora using package manager - -''' - -[IMPORTANT] -====== - -This page was automatically converted from https://fedoraproject.org/wiki/Upgrading_Fedora_using_package_manager - -It is probably - -* Badly formatted -* Missing graphics and tables that do not convert well from mediawiki -* Out-of-date -* In need of other love - - -Pull requests accepted at https://pagure.io/fedora-docs/quick-docs - -Once you've fixed this page, remove this notice, and update -`_topic_map.yml`. - -Once the document is live, go to the original wiki page and replace its text -with the following macro: - -.... -{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} -.... - -====== - -''' - - -This page contains information explaining how to upgrade Fedora online -using (without the DNF system upgrade plugin). - -[[upgrading-fedora-using-dnf-directly]] -Upgrading Fedora using dnf directly -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -[[participate]] -Participate -~~~~~~~~~~~ - -If you are upgrading using Dnf and it shows any general dependency -issues, please file them in http://bugzilla.redhat.com[Bugzilla]. But -please read this page, all references pages and search the mailing list -archives before filing bugs. And of course, please help keep this page -updated. - -If you want to help make live upgrades work smoothly, join the -link:SIGs/LiveUpgrade[ Live Upgrade Special Interest Group]. - -[[upgrading-across-multiple-releases]] -Upgrading across multiple releases -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If you need to upgrade across several releases, it is generally -recommended to go one release at a time: for example, rather than going -directly from to , first go to and then from there to . This tends to -reduce the number of package dependency issues you may encounter. If you -are upgrading from an link:End_of_life[End of life] release, please also -see link:#eol[the end-of-life section]. - -[[instructions-to-upgrade-using-dnf]] -Instructions to upgrade using dnf -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -[[backup-your-system]] -1. Backup your system -^^^^^^^^^^^^^^^^^^^^^ - -Backup any personal data to an external hard drive or to another -machine. If there is some unrecoverable error that requires a fresh -install, you don't want to lose any data. - -[[read-about-common-problems]] -2. Read about common problems -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Further down in this page there is a list of common problems specific to -dnf upgrades for specific versions. Some of them require attention -before the upgrade. - -General advice on upgrading Fedora can be found on the Upgrading page. -You should also read the -http://docs.fedoraproject.org/install-guide/[Installation Guide] and -http://docs.fedoraproject.org/release-notes/[Release Notes] for the -version you plan to upgrade to - they contain important information -regarding upgrading issues. Finally, check the list of -link:Common_bugs[Common bugs]. - -[[clean-stuff]] -3. Clean Stuff -^^^^^^^^^^^^^^ - -Review and remove all .rpmsave and .rpmnew files before and after -upgrading. (And if you have selinux enabled then remember to check -security context if you move config files around.) - -Now is a good time to remove packages you don't use - especially -non-standard packages. - -[[do-the-upgrade]] -4. Do the upgrade -^^^^^^^^^^^^^^^^^ - -If you have 3rd party repositories configured, you may need to adjust -them for the new Fedora version. If you switch from one Fedora release -to another there is often nothing that needs to be done. If you switch -to Rawhide from a standard Fedora release (or vice versa) then most of -the time you will need to install the Rawhide release RPMs from the 3rd -party repository as well (or the standard ones, if switching back). - -Note that the upgrade is likely to fail if there are outdated -dependencies from packages not backed by a dnf repository or backed by a -repository which isn't ready for the new version. - -It is a good idea to do the upgrade outside the graphical environment. -Log out of your graphical desktop and then - -[[fedora-upgrade]] -fedora-upgrade -++++++++++++++ - -A small script named fedora-upgrade is available which aims to automate -the process outlined below. To run it, do the following - -.... -$ sudo dnf install fedora-upgrade -$ sudo fedora-upgrade -.... - -When performing upgrade via remote shell, it is good idea to use screen -or tmux utility to be able to get back to running transaction in case -your connection drops. - -Alternatively, follow the manual steps: - -[[go-to-a-text-console]] -Go to a text console -++++++++++++++++++++ - -.... -ctrl + alt + F2 -.... - -(or) - -log in as root, and go into multi-user.target - -.... -systemctl isolate multi-user.target -.... - -[[fully-update-your-current-fedora-install]] -Fully update your current Fedora install -++++++++++++++++++++++++++++++++++++++++ - -.... -# dnf upgrade -.... - -[[install-the-package-signing-key-for-the-release-you-are-upgrading-to]] -Install the package signing key for the release you are upgrading to -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -If you are upgrading across two releases or fewer from Fedora 20 or -later, this step should be unnecessary. If you are upgrading from an -older Fedora or upgrading across three or more releases, you may need to -import the signing key for the target release. - -If it turns out not to be, you should be able to import keys like so: - -.... - # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-23-x86_64 -.... - -, replacing "23" and "x86_64" with the new Fedora version and your -architecture, respectively. - -You can also find package signing keys for currently-supported releases -https://getfedora.org/keys/[here]. Keys for EOL releases can be found -https://getfedora.org/keys/obsolete.html[here]. Click _Primary_ (or -_Secondary_, if you are using a secondary architecture), and you will -see _Get it from: Fedora Project_, where _Fedora Project_ is a link. -Copy that URL, and run: - -.... - # rpm --import (url) -.... - -to install the key. On old releases, may have trouble doing this; if -that happens, download the file with or and import the downloaded file. - -[[clean-the-cache]] -Clean the cache -+++++++++++++++ - -Then remove all traces of the version you are leaving from the dnf cache -in `/var/cache/dnf`. - -.... -# dnf clean all -.... - -[[upgrade-all-packages]] -Upgrade all packages -++++++++++++++++++++ - -Run the upgrade command: - -.... -# dnf --releasever= --setopt=deltarpm=false distro-sync -.... - -[[make-sure-fedora-is-upgraded]] -5. Make sure Fedora is upgraded -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Distro-sync will usually take care of upgrades for the third party -repositories you have enabled as well. Confirm with after the upgrade -process is over. `dnf` might complain about conflicts or requirements. -That is probably because you have used non-standard repositories or -installed non-standard packages manually. Try to guess which packages -cause the problem (or at least is a part of the dependency chain) - -uninstall them and try again. Remember to install the packages again if -they are essential. - -Ensure that all (new) essential packages from the new version are -installed with - -.... -# dnf groupupdate 'Minimal Install' -.... - -You might want to update other groups too, see - -.... -# dnf grouplist -.... - -For example - -.... -# dnf groupupdate "GNOME Desktop" \ - "Development Tools" "Sound and Video" \ - "Games and Entertainment" "Administration Tools" \ - "Office/Productivity" "System Tools" -.... - -[[preparing-for-reboot]] -6. Preparing for reboot -^^^^^^^^^^^^^^^^^^^^^^^ - -Before booting you should usually install the bootloader from your new -grub by running - -.... -/usr/sbin/grub2-install BOOTDEVICE -.... - -- where BOOTDEVICE is often , or for some virtual machine installs. If -you have more than one hard disk, make sure you use the correct device! - -If you get an error (e.g. ) from that, then try ). - -It might also be necessary to update the grub config file: - -.... -cp --backup=numbered -a /boot/grub2/grub.cfg{,.bak} # create backup copy -/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg # update config file -.... - -[[cleanup-your-system]] -7. Cleanup your system -^^^^^^^^^^^^^^^^^^^^^^ - -Again, cleanup your system as described in section 2. Also you might -want to remove some cache files that are no longer used, for example -files from older Fedora releases in the following directories: - -* /var/cache/dnf -* /var/cache/mock -* /var/lib/mock - -[[release-specific-notes]] -Release specific notes -~~~~~~~~~~~~~~~~~~~~~~ - -Note: the release-specific notes for link:End_of_life[End of life] -releases are on the -link:Upgrading_from_EOL_Fedora_using_package_manager[EOL packager -manager upgrade page]. - -[[from-pre-release]] -From pre-release -^^^^^^^^^^^^^^^^ - -If you are upgrading to a final release from an Alpha, Beta, or release -candidate, please see link:Upgrading_from_pre-release_to_final[Upgrading -from pre-release to final]. - -[[to-rawhide]] -To Rawhide -^^^^^^^^^^ - -See the link:Releases/Rawhide[Rawhide] release page for more information -on Rawhide. - -.... -# dnf upgrade -# dnf install dnf-plugins-core fedora-repos-rawhide -# dnf config-manager --set-disabled fedora updates updates-testing -# dnf config-manager --set-enabled rawhide -# dnf clean -q dbcache packages metadata -# dnf --releasever=rawhide --setopt=deltarpm=false distro-sync --nogpgcheck - -## Optional: it is generally advised to do a selinux autorelabel and reboot -# touch /.autorelabel -.... - -[[fedora-25]] -Fedora 25 -^^^^^^^^^ - -No special instructions. Follow the above instructions. - -[[fedora-24]] -Fedora 24 -^^^^^^^^^ - -No special instructions. Follow the above instructions. - -[[upgrading-from-legacy-end-of-life-eol-fedora-releases]] -Upgrading from legacy end of life (EOL) Fedora releases -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Note that Fedora strongly recommends against ever running an end-of-life -release on any production system, or any system connected to the public -internet, in any circumstances. You should never allow a production -Fedora deployment to reach end-of-life in the first place. - -With that in mind, if you do have an end-of-life release installed on a -system you cannot just discard or re-deploy, you can attempt to upgrade -it, though this is a less-tested and less-supported operation. - -For detailed instructions on upgrades from EOL releases, please read -link:Upgrading_from_EOL_Fedora_using_package_manager[Upgrading from EOL -Fedora using package manager]. - -Category:FAQ Category:How_to[Category:How to] Category:Documentation -''' - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/en-US/upgrading.adoc b/en-US/upgrading.adoc deleted file mode 100644 index ddd25e5..0000000 --- a/en-US/upgrading.adoc +++ /dev/null @@ -1,84 +0,0 @@ -[[ch-Upgrading]] -= Upgrading to a new release of Fedora - -[IMPORTANT] -==== - -. Be sure to *back-up your data* before upgrading your Fedora system in the event something breaks and leaves your system unusable. -. Read the link:++https://fedoraproject.org/wiki/Releases#Current_Supported_Releases++[Release -Notes] carefully before attempting an upgrade. - -==== - - -[[sect-upgrading-to-the-next-fedora-workstation-release]] -== Upgrading to the next Fedora Workstation release - -As of Fedora Workstation 23, when the next stable release is available a graphical notification will appear similar to the update notifications. -Clicking this, or running the _Software_ application and going to the _Updates_ pane, will display a simple graphical interface for upgrading the system. -It will download the upgrade files, then prompt for a reboot to install them, similar to a system update. -When the upgrade is complete, the system will automatically reboot into the new release. - -image:Upgradef24f25-gs.png[Upgradef24f25-gs.png,title="Upgradef24f25-gs.png",width=640] - -[[sect-upgrading-using-the-dnf-system-upgrade-plugin]] -== Upgrading using the DNF System Upgrade plugin - -This method is used to upgrade Fedora Workstation from the command-line. -It is also used to troubleshoot issues with packages preventing the graphical method from upgrading. - -For instructions on upgrading with the DNF system upgrade plugin, refer to the link:++dnf-system-upgrade.html++[DNF System Upgrade Quick Doc]. - -[[sect-upgrading-the-fedora-atomic-host-via-rpm-ostree]] -== Upgrading the Fedora Atomic Host via rpm-ostree - -For instructions on upgrading Fedora Atomic Host installations between Fedora releases, refer to the link:++atomic-host-upgrade.html++[Atomic Host Upgrade Quick Doc]. - -[[sect-can-i-upgrade-between-fedora-releases-using-only-dnf]] -== Can I upgrade between Fedora releases using only DNF? - -Upgrading between Fedora releases without the link:++dnf_system_upgrade.html++[DNF system upgrade plugin] is not tested by the Fedora QA team. -Any issues using this method are not considered blockers for a release but in practice works for many users. - -[[sect-can-i-update-from-a-pre-release-alpha-beta-or-other-development-snapshot-to-the-final-release]] -== Can I update from a pre-release (Alpha, Beta, or other development snapshot) to the final release? - -If you are using a pre-release of Fedora, and want to know more about upgrading to the final release, refer to the -link:++https://fedoraproject.org/wiki/Upgrading_from_pre-release_to_final++[Upgrading from pre-release to final] page. -This is technically not an 'upgrade' operation, but an update. -There are some special considerations involved in making sure you stay on the update track you intend to use, which are documented on that page. - -[[sect-how-do-i-upgrade-to-rawhide-and-branched]] -== How do I upgrade to Rawhide and Branched? - -link:++https://fedoraproject.org/wiki/Releases/Rawhide++[Rawhide] and link:++https://fedoraproject.org/wiki/Releases/Branched++[Branched] are the development releases of Fedora. -They are suitable for users developing or testing Fedora before public release. -They are *NOT SUITABLE* for regular day-to-day use unless you are a fairly experienced user, and certainly not suitable for mission-critical use. -You should read through those pages carefully before deciding to run Branched or Rawhide. -See the link:++fedora-life-cycle.html++[Fedora Life Cycle Quick Doc] for more information on how the whole Fedora cycle works from Rawhide, to Branched, to the milestone releases (Alpha and Beta), to a 'final' release. - -Upgrading to a Branched release or to Rawhide can be done with the link:++dnf_system_upgrade.html++[DNF system upgrade plugin]. -Carefully read this page as there are some special notes to ensure a successful upgrade. - -[[sect-can-i-upgrade-using-the-fedora-installer-anaconda]] -== Can I upgrade using the Fedora installer (anaconda)? - -Fedora releases up to Fedora 17 included upgrade functionality in the Fedora installer, anaconda. -This can be a better choice than a package manager upgrade for some End Of Life (EOL) upgrades. -If you are attempting to upgrade from Fedora 16 or older, it is highly recommended to upgrade to Fedora 16 and perform an installer upgrade from Fedora 16 to Fedora 17 before upgrading any further. - -To upgrade using the installer, boot the system from a network install or DVD image for the target release, and run through the initial steps of the install process. -After you select storage devices the installer should offer you the option to upgrade the installed system. - -[IMPORTANT] -==== - -If your installation is located on a 'specialized' storage device, be sure to configure and select it. - -==== - -[[sect-upgrading-from-end-of-life-releases]] -== Can I upgrade from an End Of Life (EOL) release? - -Fedora strongly discourages running an end-of-life release on any production system, or any system connected to the public internet. -For more information, see the link:++dnf_system_upgrade.html++[DNF System Upgrade Quick Doc]. diff --git a/en-US/using-aide.adoc b/en-US/using-aide.adoc deleted file mode 100644 index be1866e..0000000 --- a/en-US/using-aide.adoc +++ /dev/null @@ -1,97 +0,0 @@ -[id='sec-Using-AIDE'] -= Checking Integrity With *AIDE* - -Advanced Intrusion Detection Environment (AIDE) is a utility that creates a database of files on the system, and then uses that database to ensure file integrity and detect system intrusions. - -== Installing *AIDE* - -. To install the _aide_ package: -+ ----- -$ sudo dnf install aide ----- -. To generate an initial database: -+ ----- -$ sudo aide --init -Start timestamp: 2018-07-11 12:35:47 +0200 (AIDE 0.16) -AIDE initialized database at /var/lib/aide/aide.db.new.gz - -Number of entries: 150666 - ---------------------------------------------------- -The attributes of the (uncompressed) database(s): ---------------------------------------------------- - -/var/lib/aide/aide.db.new.gz - MD5 : 0isjEPsCORFk7laoGGz8tQ== - SHA1 : j0aPLakWChM+TAuxfVIpy9nqBOE= - RMD160 : nYyyx0AGZj4e5rwcz77afasXFrw= - TIGER : IBVo5A2A4En1kM6zDjD/MnlkN4QWeSOw - SHA256 : YveypaI9c5PJNvPSZf8YFfjCMWfGUA8q - vyqLpLJWY0E= - SHA512 : TiUYmHYflS3A+j17qw5mW78Fn2yXLpCF - 1LE1/RhiqqtMn1MjkKDrr+3TE+/vWfa4 - 7253cDhNmC6hoFndkS67Xw== - - -End timestamp: 2018-07-11 12:37:35 +0200 (run time: 1m 48s) ----- -+ -NOTE: In the default configuration, the *aide --init* command checks just a set of directories and files defined in the `/etc/aide.conf` file. To include additional directories or files in the AIDE database, and to change their watched parameters, edit `/etc/aide.conf` accordingly. - -. To start using the database, remove the `.new` substring from the initial database file name: -+ ----- -$ sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz ----- - -. To change the location of the *AIDE* database, edit the `/etc/aide.conf` file and modify the `DBDIR` value. For additional security, store the database, configuration, and the `/usr/sbin/aide` binary file in a secure location such as a read-only media. -+ -IMPORTANT: To avoid SELinux denials after the AIDE database location change, update your SELinux policy accordingly. See the link:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/[SELinux User's and Administrator's Guide] for more information. - -== Performing Integrity Checks - -To initiate a manual check: ----- -$ sudo aide --check -Start timestamp: 2018-07-11 12:41:20 +0200 (AIDE 0.16) -AIDE found differences between database and filesystem!! - -Summary: - Total number of entries: 150667 - Added entries: 1 - Removed entries: 0 - Changed entries: 2 - ---------------------------------------------------- -Added entries: ---------------------------------------------------- - -f++++++++++++++++: /etc/cups/subscriptions.conf.O -... -[output truncated] ----- - -At a minimum, *AIDE* should be configured to run a weekly scan. At most, *AIDE* should be run daily. For example, to schedule a daily execution of AIDE at _04:05_ a.m. using the *cron* command, see the link:https://docs.fedoraproject.org/f27/system-administrators-guide/monitoring-and-automation/Automating_System_Tasks.html[Automating System Tasks] chapter in the System Administration Guide. - -Add the following line to the `/etc/crontab` file: ----- - 05 4 * * * root /usr/sbin/aide --check ----- - -== Updating an *AIDE* Database - -After verifying the changes of your system such as, package updates or configuration files adjustments, update your baseline *AIDE* database: ----- -$ sudo aide --update ----- -The *aide --update* command creates the `/var/lib/aide/aide.db.new.gz` database file. To start using it for integrity checks, remove the `.new` substring from the file name. - -== Additional Resources - -For additional information on *AIDE*, see the following documentation: - - - link:https://static.open-scap.org/ssg-guides/ssg-sl7-guide-ospp-rhel7-server.html#xccdf_org.ssgproject.content_group_aide[Guide to the Secure Configuration of Red Hat Enterprise Linux 7 (OpenSCAP Security Guide): Verify Integrity with AIDE] - - - link:http://aide.sourceforge.net/stable/manual.html[The AIDE manual] diff --git a/en-US/using-nested-virtualization-in-kvm.adoc b/en-US/using-nested-virtualization-in-kvm.adoc deleted file mode 100644 index 00ba7ce..0000000 --- a/en-US/using-nested-virtualization-in-kvm.adoc +++ /dev/null @@ -1,16 +0,0 @@ -= How to enable nested virtualization in KVM - -Learn how to run a virtual machine within a virtual machine. - -include::en-US/modules/proc_enabling-nested-virtualization-in-kvm.adoc[leveloffset=+1] - -include::en-US/modules/proc_configuring-nested-virtualization-in-virt-manager.adoc[leveloffset=+1] - -include::en-US/modules/proc_testing-nested-virtualization.adoc[leveloffset=+1] - - -== Additional resources - -* https://bugzilla.redhat.com/show_bug.cgi?id=1055002 -* http://kashyapc.wordpress.com/2012/01/14/nested-virtualization-with-kvm-intel/ -* https://kashyapc.wordpress.com/2012/01/18/nested-virtualization-with-kvm-and-amd/ diff --git a/en-US/using-shared-system-certificates.adoc b/en-US/using-shared-system-certificates.adoc deleted file mode 100644 index 28b4e15..0000000 --- a/en-US/using-shared-system-certificates.adoc +++ /dev/null @@ -1,19 +0,0 @@ -[[using-shared-system-certificates]] -= Using Shared System Certificates - -The Shared System Certificates storage enables NSS, GnuTLS, OpenSSL, and Java to share a default source for retrieving system certificate anchors and black list information. By default, the trust store contains the Mozilla CA list, including positive and negative trust. The system allows updating of the core Mozilla CA list or choosing another certificate list. - -include::en-US/modules/con_using-the-system-wide-trust-store.adoc[leveloffset=+1] - -include::en-US/modules/proc_adding-new-certificates.adoc[leveloffset=+1] - -include::en-US/modules/proc_managing-trusted-system-certificates.adoc[leveloffset=+1] - - -[[shared-system-certificates-additional-resources]] -== Additional Resources - -For more information, see the following man pages: - -* `update-ca-trust(8)` -* `trust(1)` diff --git a/en-US/viewing-logs.adoc b/en-US/viewing-logs.adoc deleted file mode 100644 index 54fdd54..0000000 --- a/en-US/viewing-logs.adoc +++ /dev/null @@ -1,8 +0,0 @@ - -:md: en-US/modules - -include::{md}/con_viewing-logs.adoc[leveloffset=+1] - -include::{md}/proc_log-files-command-line.adoc[leveloffset=+1] - -include::{md}/proc_log-files-GUI.adoc[leveloffset=+1] diff --git a/en-US/wine.adoc b/en-US/wine.adoc deleted file mode 100644 index 10b5fdc..0000000 --- a/en-US/wine.adoc +++ /dev/null @@ -1,185 +0,0 @@ -= Wine - - - -http://winehq.org/[Wine] is an open source implementation of the Windows -API on top of X and OpenGL. - -Wine emulates the Windows runtime environment by translating Windows system calls -into POSIX-compliant system calls, recreating the directory structure of Windows systems, -and providing alternative implementations of Windows system libraries, -system services through https://wiki.winehq.org/Wineserver[wineserver] -and various other components such as Internet Explorer, the Windows Registry Editor, and msiexec. - -Packages -~~~~~~~~ - -Fedora's Wine packages are split up to allow for smaller installations. -The `wine` meta package will bring with it the most important components -of Wine. Expert users may want to pick specific components from the list -below: - -[cols=",",] -|======================================================================= -|*name* |''' summary ''' - -|_wine_ |Meta package - -|_wine-alsa_ |ALSA sound support for wine - -|_wine-arial-fonts_ |Arial fonts provided by wine-staging - -|_wine-capi_ |ISDN support for wine - -|_wine-cms_ |Color Management for wine - -|_wine-common_ |Common wine files and scripts - -|_wine-core_ |Wine core package - -|_wine-courier-fonts_ |Wine Courier font family - -|_wine-desktop_ |Desktop integration features - -|_wine-devel_ |Wine development environment - -|_wine-filesystem_ |Filesystem directories and basic configuration for -wine - -|_wine-fixedsys-fonts_ |Wine Fixedsys font family - -|_wine-fonts_ |Wine font meta package - -|_wine-ldap_ |LDAP support for wine - -|_wine-marlett-fonts_ |Wine Marlett font family - -|_wine-ms-sans-serif-fonts_ |Wine MS Sans Serif font family - -|_wine-openal_ |OpenAL sound support for wine - -|_wine-opencl_ |OpenCL support for wine - -|_wine-pulseaudio_ |PulseAudio support for wine - -|_wine-small-fonts_ |Wine Small font family - -|_wine-symbol-fonts_ |Wine Symbol font family - -|_wine-systemd_ |systemd configuration for the wine binfmt handler - -|_wine-system-fonts_ |Wine System font family - -|_wine-sysvinit_ |SysV initscript for the wine binfmt handler - -|_wine-tahoma-fonts_ |Wine Tahoma font family - -|_wine-tahoma-fonts-system_ |Wine Tahoma font family system integration - -|_wine-twain_ |Twain (image scanning) support for wine - -|_wine-wingdings-fonts_ |Wine Wingdings font family - -|_wine-wingdings-fonts-system_ |Wine Wingdings font family system -integration -|======================================================================= - -Additional documentation is provided via the ''wine-docs '' package. - -[[available-versions]] -Available versions -~~~~~~~~~~~~~~~~~~ - -Fedora applies fixes and features from the *wine-staging* project. EPEL -packages do not use wine-staging patches. - -*Current versions of Wine in Fedora:* - -[cols=",",] -|================= -|Fedora 28 |3.4 -|Fedora 27 |3.4 -|Fedora 26 |3.4 -|EPEL 7 |3.0 -|================= - -Newer versions may be available in the corresponding `updates-testing` -repositories. - -[[testing-versions]] -Testing Versions -~~~~~~~~~~~~~~~~ - -[cols=",",] -|================= -|Fedora 28 |3.5 -|Fedora 27 |3.5 -|Fedora 26 |3.5 -|================= - -[[bugs-and-problems]] -Bugs and problems -~~~~~~~~~~~~~~~~~ - -Before reporting bugs against Wine please make sure your system is fully -up to date. - -.... -dnf update -.... - -Also check if a newer version is available in updates-testing. - -.... -dnf --enablerepo=updates-testing update wine -.... - -If you are using the proprietary graphics drivers please remove them -from your system and try again, as they are known to cause problems. - -When debugging Wine, your goal is to determine if the issue is one of -_code functionality_ or _packaging in Fedora_. - -Check the http://appdb.winehq.org[Wine Application Database] to see if -your application is supported, or if there are known issues that match -yours. Anything that falls into this category is a bug in upstream code -functionality. - -The next step is to see if the problem persists with a clean ~/.wine -folder. To try this without losing your old configuration: - -.... -mv ~/.wine ~/.wine-save -.... - -Afterwards try to trigger the bug again. Your original wine folder can -be restored with: - -.... -rm -fr ~/.wine; mv ~/.wine-save ~/.wine -.... - -If your application still does not work but has been working in a -previous version of wine it is probably a regression. Consider filling a -bug in the upstream https://bugs.wine-staging.com/[Wine-staging bug -tracking system]. - -IMPORTANT: Do not file bugs in the Winehq.org bugzilla unless told to do so. - - -If you really think that your bug is Fedora-related, file a bug against -the Wine component in https://bugzilla.redhat.com[Fedora's bug tracking -system]. - -[[updates-testing]] -Updates-Testing -~~~~~~~~~~~~~~~ - -If you use the version of wine in the updates-testing repository then -please log into https://bodhi.fedoraproject.org/updates/?packages=wine[bodhi] and -comment on the build, including any problems that may be in the -packaging, naming, or elsewhere. The build needs positive karma to be -pushed to the updates repository. - -See a typo, something missing or out of date, or anything else which can be -improved? Edit this document at https://pagure.io/fedora-docs/quick-docs[Pagure]. diff --git a/index-main.html b/index-main.html deleted file mode 100644 index 098f0e5..0000000 --- a/index-main.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - Fedora Quick Docs Website - - - - - - - - - - - -
-
- -
-
-
-

Fedora Quick Docs Site

-

Test Build.

-
-
-
Fedora Quick Docs
- -
-
-
-
-
-
- - -
-
-
- -
-
-
-
- - -

© 2017 Red Hat, Inc. and others. Please send any comments or corrections to the websites team

-
-
-
- -
-
-
- - - - - - diff --git a/modules/ROOT/assets/images/Bios_USB_boot.jpg b/modules/ROOT/assets/images/Bios_USB_boot.jpg new file mode 100644 index 0000000..2d34ed2 Binary files /dev/null and b/modules/ROOT/assets/images/Bios_USB_boot.jpg differ diff --git a/modules/ROOT/assets/images/Boxes_new_machine.png b/modules/ROOT/assets/images/Boxes_new_machine.png new file mode 100644 index 0000000..77758f1 Binary files /dev/null and b/modules/ROOT/assets/images/Boxes_new_machine.png differ diff --git a/modules/ROOT/assets/images/Customize_resources.png b/modules/ROOT/assets/images/Customize_resources.png new file mode 100644 index 0000000..a9ebbec Binary files /dev/null and b/modules/ROOT/assets/images/Customize_resources.png differ diff --git a/modules/ROOT/assets/images/DSC_3217.JPG b/modules/ROOT/assets/images/DSC_3217.JPG new file mode 100644 index 0000000..041aece Binary files /dev/null and b/modules/ROOT/assets/images/DSC_3217.JPG differ diff --git a/modules/ROOT/assets/images/Download_os.png b/modules/ROOT/assets/images/Download_os.png new file mode 100644 index 0000000..91df91d Binary files /dev/null and b/modules/ROOT/assets/images/Download_os.png differ diff --git a/modules/ROOT/assets/images/Fedora_Live_USB_creator.png b/modules/ROOT/assets/images/Fedora_Live_USB_creator.png new file mode 100644 index 0000000..feb2fbc Binary files /dev/null and b/modules/ROOT/assets/images/Fedora_Live_USB_creator.png differ diff --git a/modules/ROOT/assets/images/FireWwall_GUI_startup.PNG b/modules/ROOT/assets/images/FireWwall_GUI_startup.PNG new file mode 100644 index 0000000..38613ce Binary files /dev/null and b/modules/ROOT/assets/images/FireWwall_GUI_startup.PNG differ diff --git a/modules/ROOT/assets/images/Firewall-tui.PNG b/modules/ROOT/assets/images/Firewall-tui.PNG new file mode 100644 index 0000000..3223eb5 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall-tui.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_GUI_First_Time_Startup.PNG b/modules/ROOT/assets/images/Firewall_GUI_First_Time_Startup.PNG new file mode 100644 index 0000000..c5bd1a5 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_GUI_First_Time_Startup.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_GUI_other_ports.PNG b/modules/ROOT/assets/images/Firewall_GUI_other_ports.PNG new file mode 100644 index 0000000..4f027e3 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_GUI_other_ports.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_Custom_Rules.PNG b/modules/ROOT/assets/images/Firewall_TUI_Custom_Rules.PNG new file mode 100644 index 0000000..63fae7a Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_Custom_Rules.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_Custom_Rules_Adding.PNG b/modules/ROOT/assets/images/Firewall_TUI_Custom_Rules_Adding.PNG new file mode 100644 index 0000000..563c3f7 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_Custom_Rules_Adding.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_ICMP_Filter.PNG b/modules/ROOT/assets/images/Firewall_TUI_ICMP_Filter.PNG new file mode 100644 index 0000000..27ab6c5 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_ICMP_Filter.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_Port_Forwarding.PNG b/modules/ROOT/assets/images/Firewall_TUI_Port_Forwarding.PNG new file mode 100644 index 0000000..bafbd5b Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_Port_Forwarding.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_Port_Forwarding_Adding.PNG b/modules/ROOT/assets/images/Firewall_TUI_Port_Forwarding_Adding.PNG new file mode 100644 index 0000000..93c5b53 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_Port_Forwarding_Adding.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_Trusted_services.PNG b/modules/ROOT/assets/images/Firewall_TUI_Trusted_services.PNG new file mode 100644 index 0000000..1340c85 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_Trusted_services.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_Warning.PNG b/modules/ROOT/assets/images/Firewall_TUI_Warning.PNG new file mode 100644 index 0000000..d4bdc79 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_Warning.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_masquerading.PNG b/modules/ROOT/assets/images/Firewall_TUI_masquerading.PNG new file mode 100644 index 0000000..ded0bc5 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_masquerading.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_other_ports.PNG b/modules/ROOT/assets/images/Firewall_TUI_other_ports.PNG new file mode 100644 index 0000000..92355aa Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_other_ports.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_TUI_trusted_interfaces.PNG b/modules/ROOT/assets/images/Firewall_TUI_trusted_interfaces.PNG new file mode 100644 index 0000000..5d0b684 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_TUI_trusted_interfaces.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_Wizard.PNG b/modules/ROOT/assets/images/Firewall_Wizard.PNG new file mode 100644 index 0000000..7520890 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_Wizard.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_Wizard_2.PNG b/modules/ROOT/assets/images/Firewall_Wizard_2.PNG new file mode 100644 index 0000000..9927c6d Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_Wizard_2.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_Wizard_3.PNG b/modules/ROOT/assets/images/Firewall_Wizard_3.PNG new file mode 100644 index 0000000..e835c88 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_Wizard_3.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_Wizard_4.PNG b/modules/ROOT/assets/images/Firewall_Wizard_4.PNG new file mode 100644 index 0000000..07645a6 Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_Wizard_4.PNG differ diff --git a/modules/ROOT/assets/images/Firewall_Wizard_5.PNG b/modules/ROOT/assets/images/Firewall_Wizard_5.PNG new file mode 100644 index 0000000..ed5317a Binary files /dev/null and b/modules/ROOT/assets/images/Firewall_Wizard_5.PNG differ diff --git a/modules/ROOT/assets/images/First_menu_firewall_tui.PNG b/modules/ROOT/assets/images/First_menu_firewall_tui.PNG new file mode 100644 index 0000000..6428db6 Binary files /dev/null and b/modules/ROOT/assets/images/First_menu_firewall_tui.PNG differ diff --git a/modules/ROOT/assets/images/Installation_review.png b/modules/ROOT/assets/images/Installation_review.png new file mode 100644 index 0000000..bcfda1e Binary files /dev/null and b/modules/ROOT/assets/images/Installation_review.png differ diff --git a/modules/ROOT/assets/images/No_configuration.PNG b/modules/ROOT/assets/images/No_configuration.PNG new file mode 100644 index 0000000..7407650 Binary files /dev/null and b/modules/ROOT/assets/images/No_configuration.PNG differ diff --git a/modules/ROOT/assets/images/Properties_USB_size.png b/modules/ROOT/assets/images/Properties_USB_size.png new file mode 100644 index 0000000..d31c284 Binary files /dev/null and b/modules/ROOT/assets/images/Properties_USB_size.png differ diff --git a/modules/ROOT/assets/images/Select_from_boxes_menu.png b/modules/ROOT/assets/images/Select_from_boxes_menu.png new file mode 100644 index 0000000..c6abd62 Binary files /dev/null and b/modules/ROOT/assets/images/Select_from_boxes_menu.png differ diff --git a/modules/ROOT/assets/images/Select_from_file.png b/modules/ROOT/assets/images/Select_from_file.png new file mode 100644 index 0000000..117969e Binary files /dev/null and b/modules/ROOT/assets/images/Select_from_file.png differ diff --git a/modules/ROOT/assets/images/Select_virtual_machine.png b/modules/ROOT/assets/images/Select_virtual_machine.png new file mode 100644 index 0000000..3572538 Binary files /dev/null and b/modules/ROOT/assets/images/Select_virtual_machine.png differ diff --git a/modules/ROOT/assets/images/Setup_machine.png b/modules/ROOT/assets/images/Setup_machine.png new file mode 100644 index 0000000..8c24457 Binary files /dev/null and b/modules/ROOT/assets/images/Setup_machine.png differ diff --git a/modules/ROOT/assets/images/Unetbootin_gtk3.png b/modules/ROOT/assets/images/Unetbootin_gtk3.png new file mode 100644 index 0000000..62ae845 Binary files /dev/null and b/modules/ROOT/assets/images/Unetbootin_gtk3.png differ diff --git a/modules/ROOT/assets/images/Upgradef24f25-gs.png b/modules/ROOT/assets/images/Upgradef24f25-gs.png new file mode 100644 index 0000000..6b8c590 Binary files /dev/null and b/modules/ROOT/assets/images/Upgradef24f25-gs.png differ diff --git a/modules/ROOT/assets/images/custom_shortcut.png b/modules/ROOT/assets/images/custom_shortcut.png new file mode 100644 index 0000000..f6843bf Binary files /dev/null and b/modules/ROOT/assets/images/custom_shortcut.png differ diff --git a/modules/ROOT/assets/images/gdm-pick-wayland.png b/modules/ROOT/assets/images/gdm-pick-wayland.png new file mode 100644 index 0000000..9ff0929 Binary files /dev/null and b/modules/ROOT/assets/images/gdm-pick-wayland.png differ diff --git a/modules/ROOT/assets/images/mediawriter-icon.png b/modules/ROOT/assets/images/mediawriter-icon.png new file mode 100644 index 0000000..4124d64 Binary files /dev/null and b/modules/ROOT/assets/images/mediawriter-icon.png differ diff --git a/modules/ROOT/assets/images/packages_icon_search.png b/modules/ROOT/assets/images/packages_icon_search.png new file mode 100644 index 0000000..0225301 Binary files /dev/null and b/modules/ROOT/assets/images/packages_icon_search.png differ diff --git a/modules/ROOT/assets/images/packages_icon_software.png b/modules/ROOT/assets/images/packages_icon_software.png new file mode 100644 index 0000000..9b02108 Binary files /dev/null and b/modules/ROOT/assets/images/packages_icon_software.png differ diff --git a/modules/ROOT/assets/images/qemu_gtk3.png b/modules/ROOT/assets/images/qemu_gtk3.png new file mode 100644 index 0000000..5296166 Binary files /dev/null and b/modules/ROOT/assets/images/qemu_gtk3.png differ diff --git a/modules/ROOT/assets/images/shortcuts-add-empty.png b/modules/ROOT/assets/images/shortcuts-add-empty.png new file mode 100644 index 0000000..c759499 Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-add-empty.png differ diff --git a/modules/ROOT/assets/images/shortcuts-add-enter.png b/modules/ROOT/assets/images/shortcuts-add-enter.png new file mode 100644 index 0000000..166fd6c Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-add-enter.png differ diff --git a/modules/ROOT/assets/images/shortcuts-add-filled.png b/modules/ROOT/assets/images/shortcuts-add-filled.png new file mode 100644 index 0000000..4b0c406 Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-add-filled.png differ diff --git a/modules/ROOT/assets/images/shortcuts-add-shortcut.png b/modules/ROOT/assets/images/shortcuts-add-shortcut.png new file mode 100644 index 0000000..83ed745 Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-add-shortcut.png differ diff --git a/modules/ROOT/assets/images/shortcuts-added.png b/modules/ROOT/assets/images/shortcuts-added.png new file mode 100644 index 0000000..0722a54 Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-added.png differ diff --git a/modules/ROOT/assets/images/shortcuts-disabled.png b/modules/ROOT/assets/images/shortcuts-disabled.png new file mode 100644 index 0000000..91fcc7d Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-disabled.png differ diff --git a/modules/ROOT/assets/images/shortcuts-edit.png b/modules/ROOT/assets/images/shortcuts-edit.png new file mode 100644 index 0000000..dcee768 Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-edit.png differ diff --git a/modules/ROOT/assets/images/shortcuts-enabling-entered.png b/modules/ROOT/assets/images/shortcuts-enabling-entered.png new file mode 100644 index 0000000..b8fb827 Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-enabling-entered.png differ diff --git a/modules/ROOT/assets/images/shortcuts-enabling-entering.png b/modules/ROOT/assets/images/shortcuts-enabling-entering.png new file mode 100644 index 0000000..ccc7cde Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-enabling-entering.png differ diff --git a/modules/ROOT/assets/images/shortcuts-keyboard-scroll.png b/modules/ROOT/assets/images/shortcuts-keyboard-scroll.png new file mode 100644 index 0000000..9e192d1 Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-keyboard-scroll.png differ diff --git a/modules/ROOT/assets/images/shortcuts-list-disabled.png b/modules/ROOT/assets/images/shortcuts-list-disabled.png new file mode 100644 index 0000000..8bdae28 Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-list-disabled.png differ diff --git a/modules/ROOT/assets/images/shortcuts-settings-devices.png b/modules/ROOT/assets/images/shortcuts-settings-devices.png new file mode 100644 index 0000000..f9b5467 Binary files /dev/null and b/modules/ROOT/assets/images/shortcuts-settings-devices.png differ diff --git a/modules/ROOT/assets/images/software-updates.png b/modules/ROOT/assets/images/software-updates.png new file mode 100644 index 0000000..3e0c3b2 Binary files /dev/null and b/modules/ROOT/assets/images/software-updates.png differ diff --git a/modules/ROOT/assets/images/switching-desktop-environments-login.png b/modules/ROOT/assets/images/switching-desktop-environments-login.png new file mode 100644 index 0000000..5c39f61 Binary files /dev/null and b/modules/ROOT/assets/images/switching-desktop-environments-login.png differ diff --git a/modules/ROOT/assets/images/switching-desktop-environments-switchdesk.png b/modules/ROOT/assets/images/switching-desktop-environments-switchdesk.png new file mode 100644 index 0000000..713adeb Binary files /dev/null and b/modules/ROOT/assets/images/switching-desktop-environments-switchdesk.png differ diff --git a/modules/ROOT/assets/images/system-config-kickstart.png b/modules/ROOT/assets/images/system-config-kickstart.png new file mode 100644 index 0000000..edebee4 Binary files /dev/null and b/modules/ROOT/assets/images/system-config-kickstart.png differ diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc new file mode 100644 index 0000000..5578cb3 --- /dev/null +++ b/modules/ROOT/nav.adoc @@ -0,0 +1,57 @@ +* xref:using-aide.adoc[Checking integrity with AIDE] +* xref:anaconda/anaconda.adoc[Anaconda] +** xref:anaconda/anaconda_distros.adoc[Anaconda-based Distributions] +** xref:anaconda/anaconda_updates.adoc[Anaconda Updates] +** xref:anaconda/anaconda_logging.adoc[Anaconda Logging] +** xref:anaconda/anaconda_product_image.adoc[Anaconda Product Image] +* xref:getting-started-with-apache-http-server.adoc[Getting started with Apache HTTP Server] +* xref:finding-and-installing-linux-applications.adoc[Finding and installing Linux applications] +* xref:installing-chromium-or-google-chrome-browsers.adoc[Installing Chromium or Google Chrome browsers] +* xref:switching-desktop-environments.adoc[Switching desktop environments] +* xref:fedora-and-red-hat-enterprise-linux.adoc[Difference between Fedora and Red Hat Enterprise Linux] +* xref:dnf.adoc[Using the DNF software package manager] +* xref:dnf-system-upgrade.adoc[Upgrading Fedora using the DNF system upgrade] +* xref:securing-the-system-by-keeping-it-up-to-date.adoc[Securing the system by keeping it up-to-date] +* xref:fedora-life-cycle.adoc[Fedora Release Life Cycle] +* xref:upgrading.adoc[Upgrading to a new release of Fedora] +* xref:firewalld.adoc[Controlling network traffic with firewalld] +* xref:adding-new-fonts-fedora.adoc[Adding new fonts in Fedora] +* xref:create-gpg-keys.adoc[Creating GPG Keys] +* xref:bootloading-with-grub2.adoc[Bootloading with GRUB2] +* xref:creating-and-using-a-live-installation-image.adoc[Creating and using a live installation image] +* xref:installing-java.adoc[Installing Java] +* xref:kernel/overview.adoc[Kernel] +** xref:kernel/troubleshooting.adoc[Troubleshooting] +** xref:kernel/build-custom-kernel.adoc[Building a Custom Kernel] +* xref:managing-keyboard-shortcuts-for-running-app-in-gnome.adoc[Managing keyboard shortcuts for running an application in GNOME] +* xref:proc_setting-key-shortcut.adoc[Setting a key shortcut to run an application in GNOME] +* xref:disabling-automatic-screenlock.adoc[Disabling the GNOME automatic screen locking] +* xref:viewing-logs.adoc[Viewing logs in Fedora] +* xref:assembly_installing-plugins-for-playing-movies-and-music.adoc[Installing plugins for playing movies and music] +* xref:installing-and-running-vlc.adoc[Installing and running the VLC player] +* xref:configuring-ip-networking-with-nmcli.adoc[Configuring networking with NetworkManager CLI (nmcli)] +* xref:creating-a-disk-partition-in-linux.adoc[Creating disk partitions] +* xref:bumblebee.adoc[NVIDIA Optimus Bumblebee] +* xref:raspberry-pi.adoc[Raspberry Pi] +* xref:repositories.adoc[Fedora Repositories] +* xref:adding-or-removing-software-repositories-in-fedora.adoc[Adding or removing software repositories in Fedora] +* xref:reset-root-password.adoc[Resetting a root password] +* xref:creating-rpm-packages.adoc[Creating RPM packages] +* xref:create-hello-world-rpm.adoc[Creating a GNU Hello World RPM Package] +* xref:getting-started-with-selinux.adoc[Getting started using SELinux] +* xref:changing-selinux-states-and-modes.adoc[Changing SELinux states and modes] +* xref:troubleshooting_selinux.adoc[Troubleshooting SELinux] +* xref:using-shared-system-certificates.adoc[Using shared system certificates] +* xref:installing-software-from-source.adoc[Installing software from source code] +* xref:installing-spotify.adoc[Installing Spotify on Fedora] +* xref:performing-administration-tasks-using-sudo.adoc[Performing administration tasks using sudo] +* xref:understanding-and-administering-systemd.adoc[Understanding and administering systemd] +* xref:displaying_user_prompt_on_gnome_login_screen.adoc[Displaying a user prompt on the GNOME login screen] +* xref:installing-virtual-systems-with-gnome-boxes.adoc[Installing virtual operating systems with GNOME Boxes] +* xref:qemu.adoc[Using virtualization emulation in QEMU] +* xref:getting-started-with-virtualization.adoc[Getting started with virtualization (libvirt)] +* xref:using-nested-virtualization-in-kvm.adoc[Using nested virtualization in KVM] +* xref:creating-windows-virtual-machines-using-virtio-drivers.adoc[Creating Windows virtual machines using virtIO drivers] +* xref:wine.adoc[Running Windows applications with Wine] +* xref:configuring-x-window-system-using-the-xorg-conf-file.adoc[Configuring X Window System using the xorg.conf file] +* xref:configuring-xorg-as-default-gnome-session.adoc[Configuring X.org as the default GNOME session] diff --git a/modules/ROOT/pages/_partials/3rdparty-message.adoc b/modules/ROOT/pages/_partials/3rdparty-message.adoc new file mode 100644 index 0000000..6f3f502 --- /dev/null +++ b/modules/ROOT/pages/_partials/3rdparty-message.adoc @@ -0,0 +1,17 @@ +//// + +This message needs to be included on any document referencing third party software +repositories. Add the following line verbatim to the top of any such document: + +include::{partialsdir}/3rdparty-message.adoc[] + +Please do not change this message without consultation. Thanks! + +//// + +[CAUTION] +==== +This page discusses third-party software sources not officially affiliated with or endorsed by the Fedora Project. +Use them at your own discretion. +Fedora recommends the use of free and open source software and avoidance of software encumbered by patents. +==== diff --git a/modules/ROOT/pages/_partials/TODO_virtio-win.adoc b/modules/ROOT/pages/_partials/TODO_virtio-win.adoc new file mode 100644 index 0000000..8e2e2ac --- /dev/null +++ b/modules/ROOT/pages/_partials/TODO_virtio-win.adoc @@ -0,0 +1,13 @@ + +[[how-does-lack-of-whql-signature-affect-use-of-these-drivers]] +How does lack of WHQL signature affect use of these drivers? + +IXME: Lack of WHQL signature on virtio-win packages causes Windows to complain, need to explicitly document how. + +The RPMs from the stable repository are the same driver builds as what +is shipped in Red Hat Enterprise Linux. However, the public drivers are not signed with +https://msdn.microsoft.com/en-us/library/windows/hardware/ff553976%28v=vs.85%29.aspx[Microsoft's +WHQL signature]. + + +F \ No newline at end of file diff --git a/modules/ROOT/pages/_partials/attributes.adoc b/modules/ROOT/pages/_partials/attributes.adoc new file mode 100644 index 0000000..fb9fd37 --- /dev/null +++ b/modules/ROOT/pages/_partials/attributes.adoc @@ -0,0 +1,7 @@ +:MAJOROSVER: 27 +:WRPM: link:https://docs.fedoraproject.org/quick-docs/en-US/creating-rpm-packages.html +:WPACKAGE: link:https://fedoraproject.org/wiki/Join_the_package_collection_maintainers[How to join the Fedora Package Collection Maintainers] +:RPMSCHAT: https://fedoraproject.org/wiki/Building_RPM_packages_(20090405) +:MOCKTEST: https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds +:KOJIBUILD: https://fedoraproject.org/wiki/Using_the_Koji_build_system +:YUM: https://fedoraproject.org/wiki/Yum diff --git a/modules/ROOT/pages/_partials/con_Getting-started-with-nmcli.adoc b/modules/ROOT/pages/_partials/con_Getting-started-with-nmcli.adoc new file mode 100644 index 0000000..036c92c --- /dev/null +++ b/modules/ROOT/pages/_partials/con_Getting-started-with-nmcli.adoc @@ -0,0 +1,122 @@ +// Module included in the following assemblies: +// +// assembly_Configuring-networking-with-nmcli.adoc + +[id='Getting-started-with-nmcli'] += Getting started with nmcli + +The [application]*nmcli* (NetworkManager Command Line Interface) command-line utility is used for controlling NetworkManager and reporting network status. It can be utilized as a replacement for [application]*nm-applet* or other graphical clients. [application]*nmcli* is used to create, display, edit, delete, activate, and deactivate network connections, as well as control and display network device status. + +The [application]*nmcli* utility can be used by both users and scripts for controlling [application]*NetworkManager*: + +* For servers, headless machines, and terminals, [application]*nmcli* can be used to control [application]*NetworkManager* directly, without GUI, including creating, editing, starting and stopping network connections and viewing network status. + +* For scripts, [application]*nmcli* supports a terse output format which is better suited for script processing. It is a way to integrate network configuration instead of managing network connections manually. + +The basic format of a [application]*nmcli* command is as follows: + +[literal,subs="+quotes,verbatim"] +.... +nmcli [OPTIONS] OBJECT { COMMAND | help } +.... + +where OBJECT can be one of the following options: `general`, `networking`, `radio`, `connection`, `device`, `agent`, and `monitor`. You can use any prefix of these options in your commands. For example, [command]`nmcli con help`, [command]`nmcli c help`, [command]`nmcli connection help` generate the same output. + +Some of useful optional OPTIONS to get started are: + +-t, terse:: ++ +This mode can be used for computer script processing as you can see a terse output displaying only the values. ++ +[[ex-Viewing_a_terse_output_for_scripts]] +.Viewing a terse output +==== + +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ pass:attributes[{blank}][command]`nmcli -t device` +ens3:ethernet:connected:Profile 1 +lo:loopback:unmanaged: + +.... + +==== + +-f, field:: ++ +This option specifies what fields can be displayed in output. For example, NAME,UUID,TYPE,AUTOCONNECT,ACTIVE,DEVICE,STATE. You can use one or more fields. If you want to use more, do not use space after comma to separate the fields. ++ +[[ex-Specifying_Fields_in_the_output]] +.Specifying Fields in the output +==== + +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ pass:attributes[{blank}][command]`nmcli -f DEVICE,TYPE device` +DEVICE TYPE +ens3 ethernet +lo loopback +.... + +or even better for scripting: + +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ pass:attributes[{blank}][command]`nmcli -t -f DEVICE,TYPE device` +ens3:ethernet +lo:loopback + +.... + +==== + +-p, pretty:: ++ +This option causes [application]*nmcli* to produce human-readable output. For example, values are aligned and headers are printed. ++ +[[ex-Viewing_an_output_in_pretty_Mode]] +.Viewing an output in pretty mode +==== + +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ pass:attributes[{blank}][command]`nmcli -p device` +===================== + Status of devices +===================== +DEVICE TYPE STATE CONNECTION +-------------------------------------------------------------- +ens3 ethernet connected Profile 1 +lo loopback unmanaged -- + +.... + +==== + +-h, help:: ++ +Prints help information. + +The [application]*nmcli* tool has some built-in context-sensitive help. To list the available options and object names: +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ [command]`nmcli help` +.... + +To list available actions related to a specified object: +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ [command]`nmcli _object_ help` +.... + +For example, +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ [command]`nmcli c help` +.... + +[discrete] +== Additional resources +* link:++https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-introduction_to_networkmanager++[Introduction to NetworkManager] + +* link:++https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-installing_networkmanager#sec-Interacting_with_NetworkManager[Interacting with NetworkManager] diff --git a/modules/ROOT/pages/_partials/con_Understanding-the-nmcli-options.adoc b/modules/ROOT/pages/_partials/con_Understanding-the-nmcli-options.adoc new file mode 100644 index 0000000..0fbd953 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_Understanding-the-nmcli-options.adoc @@ -0,0 +1,65 @@ +// Module included in the following assemblies: +// +// assembly_Configuring-networking-with-nmcli.adoc + +[id='Understanding-the-nmcli-options'] += The nmcli options + +Following are some of the important [application]*nmcli* property options: + + +[option]`connection.type`:: ++ +A connection type. Allowed values are: adsl, bond, bond-slave, bridge, bridge-slave, bluetooth, cdma, ethernet, gsm, infiniband, olpc-mesh, team, team-slave, vlan, wifi, wimax. Each connection type has type-specific command options. For example: ++ +** A `gsm` connection requires the access point name specified in an [option]`apn`. ++ +[literal,subs="+quotes,verbatim,macros"] +.... +nmcli c add connection.type gsm apn pass:quotes[_access_point_name_] +.... ++ +** A `wifi` device requires the service set identifier specified in a [option]`ssid`. ++ +[literal,subs="+quotes,verbatim,macros"] +.... +nmcli c add connection.type wifi ssid +_My identifier_ +.... + +You can see the `TYPE_SPECIFIC_OPTIONS` list in the [citetitle]_pass:attributes[{blank}]*nmcli*(1)_ man page. + +[option]`connection.interface-name`:: ++ +A device name relevant for the connection. ++ +[literal,subs="+quotes,verbatim,macros"] +.... +nmcli con add connection.interface-name _eth0_ type _ethernet_ +.... + +[option]`connection.id`:: ++ +A name used for the connection profile. If you do not specify a connection name, one will be generated as follows: ++ +[literal,subs="+quotes,verbatim,macros"] +.... +_connection.type -connection.interface-name_ +.... ++ +The [option]`connection.id` is the name of a _connection profile_ and should not be confused with the interface name which denotes a device (`wlan0`, `ens3`, `em1`). However, users can name the connections after interfaces, but they are not the same thing. There can be multiple connection profiles available for a device. This is particularly useful for mobile devices or when switching a network cable back and forth between different devices. Rather than edit the configuration, create different profiles and apply them to the interface as needed. The [option]`id` option also refers to the connection profile name. + +The most important options for [application]*nmcli* commands such as `show`, `up`, `down` are: + +[option]`id`:: ++ +An identification string assigned by the user to a connection profile. Id can be used in nmcli connection commands to identify a connection. The NAME field in the command output always denotes the connection id. It refers to the same connection profile name that the con-name does. + +[option]`uuid`:: ++ +A unique identification string assigned by the system to a connection profile. The `uuid` can be used in [command]`nmcli connection` commands to identify a connection. + +[discrete] +== Additional resources + +* See the comprehensive list in the [citetitle]_pass:attributes[{blank}]*nmcli*(1)_ man page. diff --git a/modules/ROOT/pages/_partials/con_about-java.adoc b/modules/ROOT/pages/_partials/con_about-java.adoc new file mode 100644 index 0000000..89564ee --- /dev/null +++ b/modules/ROOT/pages/_partials/con_about-java.adoc @@ -0,0 +1,10 @@ +[id='about-java'] += About Java + +Java is a popular programming language that allows you run programs on many platforms, including Fedora. If you want to create Java programs, you need to install a JDK (Java Development Kit). If you want to run a Java program, you can do that on a JVM (Java Virtual Machine), which is provided with the JRE (Java Runtime Environment). If in doubt, install the JDK because this is sometimes required even if the intention is not to write Java programs. + +Many flavors of Java exist and also many versions of each flavor. If you want to just run a specific application, check the documentation of that software to see what versions of Java are supported or have been tested. Most Java applications run on one of the following: + +* OpenJDK -- an open-source implementation of the Java Platform, Standard Edition +* Oracle Java SE -- a free JDK from Oracle + diff --git a/modules/ROOT/pages/_partials/con_benefits-of-selinux.adoc b/modules/ROOT/pages/_partials/con_benefits-of-selinux.adoc new file mode 100644 index 0000000..4f32531 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_benefits-of-selinux.adoc @@ -0,0 +1,29 @@ +// Module included in the following assemblies: +// +// getting-started-with-selinux.adoc +:experimental: + +[#{context}-benefits-of-selinux] += Benefits of running SELinux + +SELinux provides the following benefits: + +* All processes and files are labeled. SELinux policy rules define how processes interact with files, as well as how processes interact with each other. Access is only allowed if an SELinux policy rule exists that specifically allows it. + +* Fine-grained access control. Stepping beyond traditional UNIX permissions that are controlled at user discretion and based on Linux user and group IDs, SELinux access decisions are based on all available information, such as an SELinux user, role, type, and, optionally, a security level. + +* SELinux policy is administratively-defined and enforced system-wide. + +* Improved mitigation for privilege escalation attacks. Processes run in domains, and are therefore separated from each other. SELinux policy rules define how processes access files and other processes. If a process is compromised, the attacker only has access to the normal functions of that process, and to files the process has been configured to have access to. For example, if the Apache HTTP Server is compromised, an attacker cannot use that process to read files in user home directories, unless a specific SELinux policy rule was added or configured to allow such access. + +* SELinux can be used to enforce data confidentiality and integrity, as well as protecting processes from untrusted inputs. + +However, SELinux is not: + +* antivirus software, + +* replacement for passwords, firewalls, and other security systems, + +* all-in-one security solution. + +SELinux is designed to enhance existing security solutions, not replace them. Even when running SELinux, it is important to continue to follow good security practices, such as keeping software up-to-date, using hard-to-guess passwords, or firewalls. diff --git a/modules/ROOT/pages/_partials/con_controlling_ports_firewalld.adoc b/modules/ROOT/pages/_partials/con_controlling_ports_firewalld.adoc new file mode 100644 index 0000000..9d9c009 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_controlling_ports_firewalld.adoc @@ -0,0 +1,13 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + + +[id='controlling-ports-firewalld-fedora'] + += Controlling ports using firewalld + +== What are ports? +Ports are logical devices that enable an operating system to receive and distinguish network traffic and forward it accordingly to system services. These are usually represented by a daemon that listens on the port, that is it waits for any traffic coming to this port. + +Normally, system services listen on standard ports that are reserved for them. The httpd daemon, for example, listens on port 80. However, system administrators may configure daemons to listen on different ports to enhance security. diff --git a/modules/ROOT/pages/_partials/con_disk-partition-linux.adoc b/modules/ROOT/pages/_partials/con_disk-partition-linux.adoc new file mode 100644 index 0000000..dedd8c6 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_disk-partition-linux.adoc @@ -0,0 +1,9 @@ +// Module included in the following assemblies: +// +// creating-a-disk-partition-in-linux-using-the-parted-command.adoc +:experimental: + +[#{context}-disk-partition-linux] += Disk Partitioning in Linux + +Creating and deleting partitions in Linux is a regular practice because storage devices (such as hard drives and USB drives) must be structured in some way before they can be used. In most cases, large storage devices are divided into separate sections called partitions. Partitioning also allows you to divide your hard drive into isolated sections, where each section behaves as its own hard drive. Partitioning is particularly useful if you run multiple operating systems. diff --git a/modules/ROOT/pages/_partials/con_firewalld.adoc b/modules/ROOT/pages/_partials/con_firewalld.adoc new file mode 100644 index 0000000..43faa31 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_firewalld.adoc @@ -0,0 +1,22 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + +[id='concept-firewalld-fedora'] += Using firewalld + +== What is firewalld? + +A _firewall_ is a way to protect machines from any unwanted traffic from outside. It enables users to control incoming network traffic on host machines by defining a set of _firewall rules_. These rules are used to sort the incoming traffic and either block it or allow through. + +`firewalld` is a firewall service daemon that provides a dynamic customizable host-based firewall with a `D-Bus` interface. Being dynamic, it enables creating, changing, and deleting the rules without the necessity to restart the firewall daemon each time the rules are changed. + +`firewalld` uses the concepts of _zones_ and _services_, that simplify the traffic management. + +`_Zones_` are predefined sets of rules. Network interfaces and sources can be assigned to a zone. The traffic allowed depends on the network your computer is connected to and the security level this network is assigned. Firewall services are predefined rules that cover all necessary settings to allow incoming traffic for a specific service and they apply within a zone. + +`_Services_` use one or more ports or addresses for network communication. Firewalls filter communication based on ports. To allow network traffic for a service, its ports must be open. `firewalld` blocks all traffic on ports that are not explicitly set as open. Some zones, such as trusted, allow all traffic by default. + +.Additional resources + +For more information about using firewalld and configuring zones and services, see link:https://firewalld.org/documentation/[firewalld documentation] or link:https://fedoraproject.org/wiki/Firewalld[Fedora wiki:firewalld] diff --git a/modules/ROOT/pages/_partials/con_introduction-to-selinux.adoc b/modules/ROOT/pages/_partials/con_introduction-to-selinux.adoc new file mode 100644 index 0000000..c0c5247 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_introduction-to-selinux.adoc @@ -0,0 +1,39 @@ +// Module included in the following assemblies: +// +// getting-started-with-selinux.adoc + +[#{context}-introduction-to-selinux] += Introduction to SELinux + +Security Enhanced Linux (SELinux) provides an additional layer of system security. SELinux fundamentally answers the question: _May do to ?_, for example: _May a web server access files in users' home directories?_ + +The standard access policy based on the user, group, and other permissions, known as Discretionary Access Control (DAC), does not enable system administrators to create comprehensive and fine-grained security policies, such as restricting specific applications to only viewing log files, while allowing other applications to append new data to the log files. + +SELinux implements Mandatory Access Control (MAC). Every process and system resource has a special security label called a _SELinux context_. A SELinux context, sometimes referred to as a _SELinux label_, is an identifier which abstracts away the system-level details and focuses on the security properties of the entity. Not only does this provide a consistent way of referencing objects in the SELinux policy, but it also removes any ambiguity that can be found in other identification methods; for example, a file can have multiple valid path names on a system that makes use of bind mounts. + +The SELinux policy uses these contexts in a series of rules which define how processes can interact with each other and the various system resources. By default, the policy does not allow any interaction unless a rule explicitly grants access. + +[NOTE] +==== +It is important to remember that SELinux policy rules are checked after DAC rules. SELinux policy rules are not used if DAC rules deny access first, which means that no SELinux denial is logged if the traditional DAC rules prevent the access. +==== + +SELinux contexts have several fields: user, role, type, and security level. The SELinux type information is perhaps the most important when it comes to the SELinux policy, as the most common policy rule which defines the allowed interactions between processes and system resources uses SELinux types and not the full SELinux context. SELinux types usually end with `_t`. For example, the type name for the web server is `httpd_t`. The type context for files and directories normally found in `/var/www/html/` is `httpd_sys_content_t`. The type contexts for files and directories normally found in `/tmp` and `/var/tmp/` is `tmp_t`. The type context for web server ports is `http_port_t`. + +For example, there is a policy rule that permits Apache (the web server process running as `httpd_t`) to access files and directories with a context normally found in `/var/www/html/` and other web server directories (`httpd_sys_content_t`). There is no allow rule in the policy for files normally found in `/tmp` and `/var/tmp/`, so access is not permitted. With SELinux, even if Apache is compromised, and a malicious script gains access, it is still not able to access the `/tmp` directory. + +[#fig-intro-httpd-mysqld] +.SELinux allows the Apache process running as httpd_t to access the /var/www/html/ directory and it denies the same process to access the /data/mysql/ directory because there is no allow rule for the httpd_t and mysqld_db_t type contexts). On the other hand, the MariaDB process running as mysqld_t is able to access the /data/mysql/ directory and SELinux also correctly denies the process with the mysqld_t type to access the /var/www/html/ directory labeled as httpd_sys_content_t. +image::../images/selinux-intro-apache-mariadb.png[SELinux_Apache_MariaDB_example] + +[discrete] +== Additional resources +To better understand SELinux basic concepts, see the following documentation: + +* link:++https://people.redhat.com/duffy/selinux/selinux-coloring-book_A4-Stapled.pdf++[The SELinux Coloring Book] + +* link:++https://people.redhat.com/tcameron/Summit2012/SELinux/cameron_w_120_selinux_for_mere_mortals.pdf++[SELinux for Mere Mortals] + +* link:++http://selinuxproject.org/page/FAQ++[SELinux Wiki FAQ] + +* link:++http://freecomputerbooks.com/books/The_SELinux_Notebook-4th_Edition.pdf++[The SELinux Notebook] diff --git a/modules/ROOT/pages/_partials/con_logging-sudo-commands.adoc b/modules/ROOT/pages/_partials/con_logging-sudo-commands.adoc new file mode 100644 index 0000000..6872e01 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_logging-sudo-commands.adoc @@ -0,0 +1,21 @@ +[id="concept-logging-sudo-commands"] += Logging sudo commands + +Each successful authentication using the [command]`sudo` command is logged to the [filename]`/var/log/messages` file. For each authentication, the [filename]`/var/log/secure` file lists the user name and the command that was executed. + +For additional logging, use the `pam_tty_audit` module to enable TTY auditing for specific users. TTY auditing prints the file name of the terminal connected to the standard I/O. To enable TTY auditing, add the following line to your [filename]`/etc/pam.d/system-auth` file: + +[subs=quotes] +---- +session required pam_tty_audit.so disable=pattern enable=_PATTERN_ +---- + +Replace `_PATTERN_` with a comma-separated list of users (and globs, if needed). + +For example, the following command enables TTY auditing for the root user and disables it for all other users: + +---- +session required pam_tty_audit.so disable=* enable=root +---- + +Using the `pam_tty_audit` PAM module for auditing only records TTY input. As a result, when the audited user logs in, `pam_tty_audit` records the user’s exact keystrokes and saves them in [filename]`/var/log/audit/audit.log`. For more information, see the *pam_tty_audit(8)* manual page. diff --git a/modules/ROOT/pages/_partials/con_package-management-in-fedora.adoc b/modules/ROOT/pages/_partials/con_package-management-in-fedora.adoc new file mode 100644 index 0000000..ced5b39 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_package-management-in-fedora.adoc @@ -0,0 +1,57 @@ +[[package-management-in-fedora]] += Package management in Fedora + +Like most modern Linux distributions, Fedora uses a _package management_ system. Package management tools automate installation, upgrading, and removing of software applications and components. + +Each application or component is defined as a _package_. When the package is installed, all code, configuration, and other files are deployed on the system. + +IMPORTANT: A single package is not necessarily the same as an application. Some applications can be shipped as several packages. Moreover, shared code (libraries) in Linux is normally shipped as separate packages, while in other systems applications often ship their own versions of required libraries and install them if necessary. + + +== File placement + +The package management tools track which files on your Fedora installation belong to each package; normally, every file that is installed in the `/usr` tree as well as most configuration files under `/etc` are installed by one of the packages. When installing a package, the package management system verifies its integrity; if any files are missing or corrupted, the package is not installed. + + +== Resolving dependencies + +The package management system also tracks all _dependencies_ between the packages. For example, if an application requires some libraries, the package for this application lists the libraries as dependencies. When you install the application package, the package management tools automatically install the library packages. If a dependency is not available, the tools do not install the package, so you can avoid a sudden malfunction. + +When you want to remove a package, package management tools cleanly delete all code files for this package without affecting other packages. By default, configuration files are not removed, so you can install the package again and keep the configuration that you have set up earlier. + + +== Updating packages + +Updating any package is entirely automatic with the package management system. The system replaces all the necessary code files and preserves existing configuration. + +In fact, for most Linux distributions, including Fedora, all of the system installation except the earliest part is performed by installing various packages. Security updates and upgrades to a next release are performed entirely by package management tools. + + +== RPM + +Fedora's package management system uses the http://rpm.org[RPM] package format. The application that manages packages in Fedora (since version 22) is https://fedoraproject.org/wiki/DNF[DNF]. Graphical package management is provided by the Gnome Software utility. For automatic updates, Fedora uses the PackageKit utility. Command-line and graphical tools provide the same results. + + +== Repositories + +To get packages, DNF uses _repositories_. A repository is an organized collection of packages. Repositories can be kept on any data media; notably, the Fedora installation image contains a repository. However, most up-to-date repositories are normally maintained online. + +Each Fedora release has an official _fedora_ repository and an _updates_ repository (which contains critical updates since the release). In these repositories, you can find most common Linux open-source software. You can also install packages from other repositories, not maintained by the Fedora project and known as _third-party repositories_. + +Most of the time, it is best practice to install software on your Fedora Linux system using only the Fedora package management system. In this case, packages are installed in the most reliable way and automatic updates can be provided. + + +== Installing from source code + +While many Linux applications can be built and installed from from source code, using such builds can make your system much harder to manage. For example, automatic updates to system packages (especially when updating to the next release) might impact an application that was installed from source. And, of course, no automatic security updates are available for the application. + + +== Other installation methods + +Sometimes you might need to install software using other package management systems. Notably: + +* https://www.cpan.org/[CPAN] for libraries for the Perl language +* https://pypi.python.org/pypi[PyPI] for libraries (and sometimes applications) for the Python language +* Commercial repositories for games + +However, installing applications using the Fedora package management systems is the preferred option. diff --git a/modules/ROOT/pages/_partials/con_permanent-changes-in-selinux-states-and-modes.adoc b/modules/ROOT/pages/_partials/con_permanent-changes-in-selinux-states-and-modes.adoc new file mode 100644 index 0000000..c9e0e79 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_permanent-changes-in-selinux-states-and-modes.adoc @@ -0,0 +1,32 @@ +// Module included in the following assemblies: +// +// changing-selinux-states-and-modes.adoc + +[#{context}-changing-selinux-modes] += Permanent changes in SELinux states and modes + +As discussed in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-introduction[Introduction to SELinux], SELinux can be enabled or disabled. When enabled, SELinux has two modes: enforcing and permissive. + +Use the [command]`getenforce` or [command]`sestatus` commands to check in which mode SELinux is running. The [command]`getenforce` command returns `Enforcing`, `Permissive`, or `Disabled`. + +The [command]`sestatus` command returns the SELinux status and the SELinux policy being used: + +[source,bash] +---- +~]$ sestatus +SELinux status: enabled +SELinuxfs mount: /sys/fs/selinux +SELinux root directory: /etc/selinux +Loaded policy name: targeted +Current mode: enforcing +Mode from config file: enforcing +Policy MLS status: enabled +Policy deny_unknown status: allowed +Memory protection checking: actual (secure) +Max kernel policy version: 31 +---- + +[NOTE] +==== +When systems run SELinux in permissive mode, users are able to label files incorrectly. Files created while SELinux is disabled are not labeled at all. This behavior causes problems when changing to enforcing mode because files are labeled incorrectly or are not labeled at all. To prevent incorrectly labeled and unlabeled files from causing problems, file systems are automatically relabeled when changing from the disabled state to permissive or enforcing mode. +==== diff --git a/modules/ROOT/pages/_partials/con_relation-between-fedora-and-red-hat-enterprise-linux.adoc b/modules/ROOT/pages/_partials/con_relation-between-fedora-and-red-hat-enterprise-linux.adoc new file mode 100644 index 0000000..b9f141f --- /dev/null +++ b/modules/ROOT/pages/_partials/con_relation-between-fedora-and-red-hat-enterprise-linux.adoc @@ -0,0 +1,71 @@ +[id='relation-between-fedora-and-red-hat-enterprise-linux'] += Relation between Fedora and Red Hat Enterprise Linux + +Open source allows user to modify the software and make it redistributable as and when required. The open source license requires improved versions of the software to carry a different name or version from the original software. Red Hat Enterprise Linux, and Fedora both are open source products. If a product or a software is upstream that means it allows the origin author/s to maintain it or perform any bug fixes. Fedora is an upstream of Red Hat Enterprise Linux. + +== Red Hat Enterprise Linux + +Red Hat Enterprise Linux is a commercial enterprise operating system and has its own set of test phases including alpha and beta releases.The cost of Red Hat Enterprise Linux comes from the subscription,which provides assorted certifications and support for additional architectures. You can download the https://www.redhat.com/rhel/details/eval/[evaluation version] for free and https://www.redhat.com/apps/store/developers/rhel_developer_suite.html[developer version] for $99. + +Download academic editions at low cost http://www.redhat.com/solutions/education/academic/[academic version] and +http://www.redhat.com/solutions/education/academic/individual/[academic individual version] + +== Fedora + +Fedora is based on Linux kernel and GNU programs. Fedora is developed and sponsored by Fedora Project and Red Hat. Fedora is a general purpose system that gives Red Hat and the rest of its contributor community the chance to innovate rapidly with new technologies. In order to focus Red Hat's efforts and limit support costs, only a selected subset of packages found in Fedora are included in the commercially supported product line. The Fedora Project has a community of people maintaining add-on packages for Red Hat Enterprise Linux and compatible rebuilds called https://fedoraproject.org/wiki/About_EPEL[Extra Packages for Enterprise Linux], or EPEL. + +== History of Red Hat Enterprise Linux and Fedora + +Red Hat first offered an enterprise Linux support subscription for Red Hat Linux 6.1. It was not a separate product but the subscription level was branded as Red Hat 6.2E. Subsequently, Red Hat started creating a separate product with commercial service level agreements and longer +lifecyle based on Red Hat Linux and later on Fedora. This was initially called as Advanced Server and rebranded as Red Hat Enterprise Linux in 2003. The following table gives the lineage: + +.Red Hat Enterprise Linux and Fedora Lineage +[options="header"] +|======================================================================= +|Release |Codename |Release Date |Based on +|Red Hat Linux 6.2E |Zoot |2000-03-27 |Red Hat Linux 6.2 + +|Red Hat Enterprise Linux 2.1 |Pensacola (AS)/ Panama (ES) |2002-03-26 +(AS) |Red Hat Linux 7.2 + +|Red Hat Enterprise Linux 3 |Taroon |2003-10-22 |Red Hat Linux 9 + +|Red Hat Enterprise Linux 4 |Nahant |2005-02-15 |Fedora Core 3 + +|Red Hat Enterprise Linux 5 |Tikanga |2007-03-14 |Fedora Core 6 + +|Red Hat Enterprise Linux 6 |Santiago |2010-11-10 |Mix of Fedora 12 +Fedora 13 and several modifications + +|Red Hat Enterprise Linux 7 |Maipo |2014-06-10 |Primarily Fedora 19 with +several changes from 20 and later +|======================================================================= + +== Difference between Red Hat Enterprise Linux and Fedora + +When you purchase Red Hat Enterprise Linux, you are also helping to support Fedora. Since Red Hat sponsors Fedora, what is good for Red Hat is usually good for Fedora. However, following are few differences between both the products: + +.Difference between Red Hat Enterprise Linux and Fedora +[cols="1,3,3",options="header"] +|=== +| +|Red Hat Enterprise Linux +|Fedora + +|support +|Red Hat Enterprise Linux is a commercially supported product by Red Hat and provides service level agreements that is important for enterprise customers. This support involves product assistance as well as prioritization of bug fixes, feature requests, certified hardware and software. +|Fedora is supported by a wide community of developers and users but it is not commercially supported by Red Hat. Red Hat does http://fedoraproject.org/sponsors[sponsor] a large number of resources and link. + +|releases +|A new version of Red Hat Enterprise Linux comes out every few years and is supported for up to 10 years and can +even be http://www.redhat.com/rhel/server/extended_lifecycle_support/[extended] to 13 years or more with additional subscriptions. +|New Fedora releases are available about every six months and every release gets updates for about 13 months. + +|available software +|Software in Red Hat Enterprise Linux is a limited subset of Fedora and has about 4000 binary packages (RHEL 6). These are the ones enterprise customers demand and are supported by Red Hat. +|Fedora offers a wide range of software packages and the latest release has well over 25000 unique (not counting updates in Fedora 15) binary software packages available in the repository. + +|update policy +|Red Hat Enterprise Linux updates are more conservative and generally focus on security and bug fixes. +|Fedora's Updates Policy is more liberal compared to Red Hat Enterprise Linux. +|=== diff --git a/modules/ROOT/pages/_partials/con_rpm_packaging_overview.adoc b/modules/ROOT/pages/_partials/con_rpm_packaging_overview.adoc new file mode 100644 index 0000000..c1b7dc9 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_rpm_packaging_overview.adoc @@ -0,0 +1,49 @@ +[[rpm-packaging-overview]] += RPM Packaging Overview + +Use this guide to create RPM packages and `.spec` files. Despite the focus on Fedora, you can apply much of this document to other RPM-based distributions. + +NOTE: For a general-purpose RPM building guide for packagers on Fedora, CentOS, and Red Hat Enterprise Linux, see the https://rpm-packaging-guide.github.io/[RPM Packaging Guide]. + +For more information about packaging guidelines, see the following guides: + +* https://fedoraproject.org/wiki/Packaging:Guidelines[Packaging Guidelines] +* http://fedoraproject.org/wiki/Packaging:LicensingGuidelines[Licensing Guidelines] +* http://fedoraproject.org/wiki/Packaging:Naming[Package Naming Guidelines] +* http://fedoraproject.org/wiki/Packaging:DistTag[Dist Tag Guidelines] +* http://fedoraproject.org/wiki/Packaging:ReviewGuidelines[Package Review Guidelines] +* http://fedoraproject.org/wiki/Packaging:Scriptlets[Recipes for RPM scriptlets] + + +If you plan to submit a package to the official Fedora repository, follow the procedure in http://fedoraproject.org/wiki/Join_the_package_collection_maintainers[Join the package collection maintainers]. + +Before you begin, select a text editor that you want to use, and ensure that you understand the following terminology. + +[[rpm-terminology]] +== RPM terminology + +RPM:: +The package manager used by Fedora, Red Hat Enterprise Linux, Mageia, OpenSUSE and others. Originally RPM stood for "Red Hat Package Manager" but now it is a recursive acronym "RPM Package Manager". + +spec file:: +A plain text file that contains information about a package and instructions that RPM uses for compiling the package's software. To name the file, use the name of the package with the file extension `.spec`. + +tag:: +A string, generally capitalized and followed by a colon, which appears at the top of the `.spec` file to provide some important data about the RPM, such as `Name:`, `Version:` or `Summary:`. + +section:: +A segment of the `.spec` file that tells RPM how to perform some portion of the package construction process. Many, but not all, sections contain code that is simply passed to the shell, though RPM has significant flexibility around this that is outside of the scope of this document. + +section header:: +A short string, starting with `%` at the beginning of a line, which introduces a section. Examples include `%description`, `%prep` and `%files`. + +macro:: +A short string, always prefixed by `%` and generally surrounded by curly brackets `{}` which RPM converts to a different and usually longer string. Some macros can take arguments and some arguments are quite complex. Some macros are provided by RPM, some are part of https://apps.fedoraproject.org/packages/redhat-rpm-config[redhat-rpm-config] and https://apps.fedoraproject.org/packages/fedora-rpm-macros[fedora-rpm-macros] packages, but many other packages also provide macros. You can run `rpm --showrc` to view all of the macros currently available on your system, but you do not need to run most of the macros you see there. ++ +For a full list of guidelines related to macros, see http://fedoraproject.org/wiki/Packaging:Guidelines#Macros[Macros] in the Packaging Guidelines. + +mock:: +A system for building RPMs locally within your own Fedora installation. This avoids the need to install a full set of build dependencies on your operating system installation, and allows you to build packages for different Fedora releases. + +koji:: +The main Fedora build system: https://koji.fedoraproject.org[1]. diff --git a/modules/ROOT/pages/_partials/con_rpm_spec_file_overview.adoc b/modules/ROOT/pages/_partials/con_rpm_spec_file_overview.adoc new file mode 100644 index 0000000..d343d17 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_rpm_spec_file_overview.adoc @@ -0,0 +1,106 @@ +[[con_rpm-spec-file-overview]] += RPM spec file overview + +Use this guide for information about the specific macros in a `.spec` file. + +NOTE: You can use the macros `%{name}`, `%{version}` and `%{release}` to refer to the Name, Version and Release tags respectively. When you change the tag, the macros automatically update to use the new value. + +`Name`:: +Add the base name of the package, which must match the `.spec` file name. Follow the http://fedoraproject.org/wiki/Packaging:Naming[Package Naming Guidelines] and write the file name in lower-case letters. + +`Version`:: +Add the upstream version number. See http://fedoraproject.org/wiki/Packaging:Versioning[Package Versioning]. If the version contains tags that are non-numeric, you might need to include the non-numeric characters in the `Release` tag. If upstream uses full dates to distinguish versions, consider using version numbers of the form. For example, `yy.mm[dd]` where `2008-05-01` becomes `8.05`. + +`Release`:: +Set the initial value to `1%{?dist}`. Increment the number every time you release a new package for the same version of software. When a new upstream version is released, change the `Version` tag to match and reset the `Release` number to `1`. For more information, see the http://fedoraproject.org/wiki/Packaging:Versioning[Versioning Guide] of the packaging guidelines. + +`Summary`:: +Enter a brief, one-line summary of the package. Use American English. Do not end with a period. + +`Group`:: +This tag is deprecated since Fedora 17. See https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/Packagers_Guide/chap-Packagers_Guide-Spec_File_Reference-Preamble.html[Spec +File Reference Preamble] + +`License`:: +Enter an open source software license. Do not use the old Copyright tag. Use a standard abbreviation, for example, `GPLv2+` and be specific. For example, use `GPLv2+` for GPL version 2 or greater rather than `GPL` or `GPLv2` where it's true). For more information, see the http://fedoraproject.org/wiki/Packaging:LicensingGuidelines[Licensing Guidelines]. ++ +You can list multiple licenses by combining them with `and` and `or` (e.g. `GPLv2 and BSD`). + +`URL`:: +The full URL for more information about the program. For example, the project website. ++ +NOTE: Do not add a link to the original source code. Add the link to the source code to the `Source0` tag. + +`Source0`:: +Enter the full URL for the compressed archive that contains the original, pristine source code, as upstream released it. "`Source`" is synonymous with "`Source0`". ++ +The full URL basename is used when looking in the `SOURCES` directory. If possible, embed `%{name}` and `%{version}`, so that changes to the go to the right place. Preserve the timestamps when downloading source files. For more information, see http://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps[Preserve timestamps]. ++ +If there is more than one source, name them `Source1`, `Source2`. ++ +If you add whole new files in addition to the pristine sources, list them as sources after the pristine sources. A copy of each of these sources is included in any source RPM (SRPM) you create, unless you specifically direct otherwise. For more information on special cases, for example, revision control, see https://fedoraproject.org/wiki/Packaging:SourceURL?rd=Packaging/SourceURL[Source URL]. + +`Patch0`:: +Enter the name of the first patch to apply to the source code. If you must patch the files after you extract them, edit the files and save their differences as a `.patch` file in your `~/rpmbuild/SOURCES` directory. Patches must make only one logical change each, so it's quite possible to have multiple patch files. + +`BuildArch`:: +If you package files that are architecture-independent, for example shell scripts, data files, then add `BuildArch: noarch`. The architecture for the binary RPM is then `noarch`. + +`BuildRoot`:: +This is now redundant in Fedora and is only needed for EPEL5. By default, the build root is placed in `%{_topdir}/BUILDROOT/`. ++ +In EPEL5, this is where files are installed during the %install process (after the %build process). + +`BuildRequires`:: +Add a comma-separated list of packages that are required for compiling the program. Usually, this field is repeated on multiple lines. These dependencies are not automatically determined. You must include everything that the package needs to build the program. ++ +Verify that you have specified all the necessary build requirements by performing a "mock build" of your package. You can specify a minimum version if necessary, for example, `ocaml >= 3.08`. ++ +If you need the file `/EGGS`, determine the package that owns it by running `rpm -qf /EGGS`. ++ +If you need the program `EGGS`, determine the package that owns it by running `rpm -qf \`which EGGS\``. Keep dependencies to a minimum. For example, use `sed` instead of `perl` if you do not need Perl, but note that some applications permanently disable functions if the associated dependency is not present; in those cases you might need to include the additional packages. + +`Requires`:: +Enter a comma-separate list of packages that are required when the program is installed. Note that the `BuildRequires` tag lists what is required to build the binary RPM, while the `Requires` tag lists what is required when installing and running the program; a package may be in one list or in both. + +`%description`:: +Enter a longer, multi-line description of the program. Use American English. All lines must be 80 characters or less. Blank lines indicate a new paragraph. ++ +Some graphical user interface installation programs reformat paragraphs; lines that start with whitespace might be treated as preformatted text and displayed as is, normally with a fixed-width font. + +`%prep`:: +Add script commands to "prepare" the program. For example, to extract the program, so that it is ready for building. Typically this is just `%autosetup`; a common variation is `%autosetup -n NAME` if the source file unpacks into `NAME`. + +`%build`:: +Add script commands to compile the program and get it ready for installing. The program must come with instructions on how to do this. + +`%install`:: +Add script commands to "install" the program. The commands must copy the files from the `BUILD` directory `%{_builddir}` into the buildroot directory, `%{buildroot}`. + +`%check`:: +Add script commands to "test" the program. This is run after the `%install` procedure, so place it there if you have this section. Often it contains `make test` or `make check`. This is separated from `%build` so that people can skip the self-test if they desire. + +`%clean`:: +Note that this section is now redundant in Fedora and is only necessary for EPEL. Typically this contains only the following command: `rm -rf %{buildroot}`. + +`%files`:: +Add the list of files to be installed. + +`%changelog`:: +Add changes in the package. Use the format example above. Do not put software's change log here. This change log is only for the RPM. + +`ExcludeArch`:: +If the package does not successfully compile, build or work on a particular architecture, list those architectures under this tag. + +RPM also supports the creation of several packages called subpackages from a single `.spec` file, such as `name-libs` and `name-devel` packages. + +Do *not* create a "relocatable" package; they do not add value in Fedora and make things more complicated. + + +.Inserting comments + +* Insert comments with a leading `#` character, and beware of macros (beginning with `%`) that are potentially multi-line, as they are expanded first. + +* When commenting out a line, double the percent signs (`%%`) of the macros appearing after the `#`. + +* Avoid inline comments on the same line as script commands. diff --git a/modules/ROOT/pages/_partials/con_runtime_and_permanent_firewalld.adoc b/modules/ROOT/pages/_partials/con_runtime_and_permanent_firewalld.adoc new file mode 100644 index 0000000..8862a6c --- /dev/null +++ b/modules/ROOT/pages/_partials/con_runtime_and_permanent_firewalld.adoc @@ -0,0 +1,15 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + +[id='concept-runtime-and-permanent-firewalld-fedora'] + += Runtime and permanent settings + +Any changes made while firewalld is running will be lost when firewalld is restarted. When firewalld is restarted, the settings revert to their permanent values. + +These changes are said to be made in _runtime mode_. + +To make the changes persistent across reboots, apply them again using the `--permanent` option. Alternatively, to make changes persistent while firewalld is running, use the `--runtime-to-permanent _firewall-cmd_` option. + +If you make changes while firewalld is running using only the `--permanent` option, they do not become effective until firewalld is restarted. However, restarting firewalld briefly stops the networking traffic, causing disruption to your system. diff --git a/modules/ROOT/pages/_partials/con_selinux-architecture.adoc b/modules/ROOT/pages/_partials/con_selinux-architecture.adoc new file mode 100644 index 0000000..f636ef8 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_selinux-architecture.adoc @@ -0,0 +1,11 @@ +// Module included in the following assemblies: +// +// getting-started-with-selinux.adoc +:experimental: + +[#{context}-selinux-architecture] += SELinux architecture + +SELinux is a Linux Security Module (LSM) that is built into the Linux kernel. The SELinux subsystem in the kernel is driven by a security policy which is controlled by the administrator and loaded at boot. All security-relevant, kernel-level access operations on the system are intercepted by SELinux and examined in the context of the loaded security policy. If the loaded policy allows the operation, it continues. Otherwise, the operation is blocked and the process receives an error. + +SELinux decisions, such as allowing or disallowing access, are cached. This cache is known as the Access Vector Cache (AVC). When using these cached decisions, SELinux policy rules need to be checked less, which increases performance. Remember that SELinux policy rules have no effect if DAC rules deny access first. diff --git a/modules/ROOT/pages/_partials/con_selinux-examples.adoc b/modules/ROOT/pages/_partials/con_selinux-examples.adoc new file mode 100644 index 0000000..6cdb880 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_selinux-examples.adoc @@ -0,0 +1,19 @@ +// Module included in the following assemblies: +// +// getting-started-with-selinux.adoc +:experimental: + +[#{context}-selinux-examples] += SELinux examples + +The following examples demonstrate how SELinux increases security: + +* The default action is deny. If an SELinux policy rule does not exist to allow access, such as for a process opening a file, access is denied. + +* SELinux can confine Linux users. A number of confined SELinux users exist in SELinux policy. Linux users can be mapped to confined SELinux users to take advantage of the security rules and mechanisms applied to them. For example, mapping a Linux user to the SELinux `user_u` user, results in a Linux user that is not able to run (unless configured otherwise) set user ID (setuid) applications, such as [command]`sudo` and [command]`su`, as well as preventing them from executing files and applications in their home directory. If configured, this prevents users from executing malicious files from their home directories. + +* Increased process and data separation. Processes run in their own domains, preventing processes from accessing files used by other processes, as well as preventing processes from accessing other processes. For example, when running SELinux, unless otherwise configured, an attacker cannot compromise a Samba server, and then use that Samba server as an attack vector to read and write to files used by other processes, such as MariaDB databases. + +* SELinux helps mitigate the damage made by configuration mistakes. Domain Name System (DNS) servers often replicate information between each other in what is known as a zone transfer. Attackers can use zone transfers to update DNS servers with false information. When running the Berkeley Internet Name Domain (BIND) as a DNS server in Fedora, even if an administrator forgets to limit which servers can perform a zone transfer, the default SELinux policy prevents zone files footnote:[Text files that include information, such as host name to IP address mappings, that are used by DNS servers.] from being updated using zone transfers, by the BIND `named` daemon itself, and by other processes. + +* See the link:++http://www.networkworld.com++[NetworkWorld.com] article, link:++http://www.networkworld.com/article/2283723/lan-wan/a-seatbelt-for-server-software--selinux-blocks-real-world-exploits.html++[A seatbelt for server software: SELinux blocks real-world exploits]footnote:[Marti, Don. "A seatbelt for server software: SELinux blocks real-world exploits". Published 24 February 2008. Accessed 27 August 2009: link:++http://www.networkworld.com/article/2283723/lan-wan/a-seatbelt-for-server-software--selinux-blocks-real-world-exploits.html++[].], for background information about SELinux, and information about various exploits that SELinux has prevented. diff --git a/modules/ROOT/pages/_partials/con_selinux-states-and-modes.adoc b/modules/ROOT/pages/_partials/con_selinux-states-and-modes.adoc new file mode 100644 index 0000000..b83bc04 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_selinux-states-and-modes.adoc @@ -0,0 +1,47 @@ +// Module included in the following assemblies: +// +// getting-started-with-selinux.adoc +:experimental: + +[#{context}-selinux-states-and-modes] += SELinux states and modes + +SELinux can run in one of three modes: disabled, permissive, or enforcing. + +Disabled mode is strongly discouraged; not only does the system avoid enforcing the SELinux policy, it also avoids labeling any persistent objects such as files, making it difficult to enable SELinux in the future. + +In permissive mode, the system acts as if SELinux is enforcing the loaded security policy, including labeling objects and emitting access denial entries in the logs, but it does not actually deny any operations. While not recommended for production systems, permissive mode can be helpful for SELinux policy development. + +Enforcing mode is the default, and recommended, mode of operation; in enforcing mode SELinux operates normally, enforcing the loaded security policy on the entire system. + +Use the [command]`setenforce` utility to change between enforcing and permissive mode. Changes made with [command]`setenforce` do not persist across reboots. To change to enforcing mode, enter the [command]`setenforce 1` command as the Linux root user. To change to permissive mode, enter the [command]`setenforce 0` command. Use the [command]`getenforce` utility to view the current SELinux mode: + +---- +~]# getenforce +Enforcing +---- + +---- +~]# setenforce 0 +~]# getenforce +Permissive +---- + +---- +~]# setenforce 1 +~]# getenforce +Enforcing +---- + +In Fedora, you can set individual domains to permissive mode while the system runs in enforcing mode. For example, to make the `httpd_t` domain permissive: + +---- +~]# semanage permissive -a httpd_t +---- + +// See <> for more information. + +// [NOTE] +// ==== +// Persistent states and modes changes are covered in <>. +// ==== diff --git a/modules/ROOT/pages/_partials/con_sudo-timeout.adoc b/modules/ROOT/pages/_partials/con_sudo-timeout.adoc new file mode 100644 index 0000000..3b34ded --- /dev/null +++ b/modules/ROOT/pages/_partials/con_sudo-timeout.adoc @@ -0,0 +1,15 @@ +[[concept-sudo-timeout]] += sudo timeout + +By default, [command]`sudo` stores the password for a five minute timeout period. Any subsequent uses of the command during this period will not prompt you for a password. This could be exploited by an attacker if you leave your workstation unattended and unlocked while still being logged in. You can change this behavior by adding the following line to the `/etc/sudoers` configuration file: + +[subs=quotes] +------------ +Defaults timestamp_timeout=_VALUE_ +------------ + +Here, `_VALUE_` is the desired timeout length in minutes. Setting the value to 0 causes [command]`sudo` to require a password every time. + +If an account is compromised, an attacker can use [command]`sudo` to open a new shell with administrative privileges. + +Opening a new shell as a root user in this way allows an attacker administrative access for a theoretically unlimited period of time and bypasses the timeout period specified in the `/etc/sudoers` file. Using this method, the attacker *does not* need to provide a password for [command]`sudo` again until the session ends. diff --git a/modules/ROOT/pages/_partials/con_the-purpose-of-rpm-fusion.adoc b/modules/ROOT/pages/_partials/con_the-purpose-of-rpm-fusion.adoc new file mode 100644 index 0000000..0b71e05 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_the-purpose-of-rpm-fusion.adoc @@ -0,0 +1,39 @@ +// Module included in the following assemblies: +// +// + +// This module can be included from assemblies using the following include statement: +// include::modules//con_the-purpose-of-rpm-fusion.adoc[leveloffset=+1] + +// The file name and the ID are based on the module title. For example: +// * file name: con_my-concept-module-a.adoc +// * ID: [id='con_my-concept-module-a_{context}'] +// * Title: = My concept module A +// +// The ID is used as an anchor for linking to the module. Avoid changing +// it after the module has been published to ensure existing links are not +// broken. +// +// The `context` attribute enables module reuse. Every module's ID includes +// {context}, which ensures that the module has a unique ID even if it is +// reused multiple times in a guide. +// +// In the title, include nouns that are used in the body text. This helps +// readers and search engines find information quickly. +// Do not start the title with a verb. See also _Wording of headings_ +// in _The IBM Style Guide_. +[id="con_the-purpose-of-rpm-fusion_{context}"] += The purpose of RPM Fusion + +The RPM Fusion project is community-maintained software repository providing additional packages that cannot be distributed in Fedora for legal reasons. Software patents apply to some of the packages in RPM Fusion, and as a consequence, it might not be legal to install these packages in certain countries: for example, in the United States or in Japan. + +RPM Fusion also provides packages for Red Hat Enterprise Linux. + + +[discrete] +== Additional resources + +* RPM Fusion home page: link:https://rpmfusion.org/[] +* For more information on what packages are allowed to be distributed with Fedora, see the following wiki page: link:https://fedoraproject.org/wiki/Forbidden_items[] +* You can buy multimedia codecs from Fluendo. This is a legal solution for users from countries where software patents apply. For more information, see: link:https://fluendo.com/en/products/enterprise/fluendo-codec-pack/[]. + diff --git a/modules/ROOT/pages/_partials/con_understanding-systemd.adoc b/modules/ROOT/pages/_partials/con_understanding-systemd.adoc new file mode 100644 index 0000000..42b630d --- /dev/null +++ b/modules/ROOT/pages/_partials/con_understanding-systemd.adoc @@ -0,0 +1,51 @@ +[id='understanding-systemd'] += Understanding systemd + +systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. systemd provides: + +* Aggressive parallelization capabilities +* Uses socket and D-Bus activation for starting services +* Offers on-demand starting of daemons, keeps track of processes using Linux cgroups +* Supports snapshotting and restoring of the system state +* Maintains mount and automount points +* Implements an elaborate transactional dependency-based service control logic. + +The `systemctl` command is the primary tool to manage systemd. It combines the functionality of SysVinit's `service` and `chkconfig` commands into a single tool you can use to enable and disable services permanently or only for the current session. + +systemd manages _units_, which are representations of system resources and services. This following list shows the unit types that systemd can manage: + +service:: + A service on the system, including instructions for starting, restarting, and stopping the service. + +socket:: + A network socket associated with a service. + +device:: + A device specifically managed with systemd. + +mount:: + A mountpoint managed with systemd. + +automount:: + A mountpoint automatically mounted on boot. + +swap:: + Swap space on the system. + +target:: + A synchronization point for other units. Usually used to start enabled services on boot. + +path:: + A path for path-based activation. For example, you can start services based on the state of a certain path, such as whether it exists or not. + +timer:: + A timer to schedule activation of another unit. + +snapshot:: + A snapshot of the current systemd state. Usually used to rollback after making temporary changes to systemd. + +slice:: + Restrivtion of resources through Linux Control Group nodes (cgroups). + +scope:: + Information from systemd bus interfaces. Usually used to manage external system processes. diff --git a/modules/ROOT/pages/_partials/con_using-sudo-access-docker.adoc b/modules/ROOT/pages/_partials/con_using-sudo-access-docker.adoc new file mode 100644 index 0000000..1c789cc --- /dev/null +++ b/modules/ROOT/pages/_partials/con_using-sudo-access-docker.adoc @@ -0,0 +1,8 @@ +[id="concept-using-sudo-access-docker"] += Using sudo to access Docker + +Docker has the ability to change the group ownership of the Docker socket to allow users added to the Docker group to be able to run Docker containers without having to execute the [command]`sudo` or [command]`su` command to become root. + +Enabling access to the Docker daemon from non-root users is a problem from a security perspective. It is a security issue for Fedora, because if a user can talk to the Docker socket they can execute a command which gives them full root access to the host system. Docker has no auditing or logging built in, while [command]`sudo` does. + +It is recommended that sudo rules are implemented to permit access to the Docker daemon. This allows [command]`sudo` to provide logging and audit functionality. diff --git a/modules/ROOT/pages/_partials/con_using-sudo-assign-admin-privileges.adoc b/modules/ROOT/pages/_partials/con_using-sudo-assign-admin-privileges.adoc new file mode 100644 index 0000000..bdee72e --- /dev/null +++ b/modules/ROOT/pages/_partials/con_using-sudo-assign-admin-privileges.adoc @@ -0,0 +1,26 @@ +[id="con_using-sudo-assign-admin-privileges"] += Using sudo to assign administrator privileges + +Add users to the [directory]`/etc/sudoers` configuration file to allow them to use the [command]`sudo` command. For these users, the [command]`sudo` command is run in the user’s shell instead of in a root shell. As a result, the root shell can be disabled for increased security. + +The administrator can also allow different users access to specific commands using the sudo configuration. Administrators must use the [command]`visudo` command to edit the [directory]`/etc/sudoers` configuration file. + +To assign full administrative privileges to a user, type [command]`visudo` and add the following line to the user privilege section after replacing `_USERNAME_` with the target user name: + +[subs=quotes] +---- +_USERNAME_ ALL=(ALL) ALL +---- + +This line allows the specified user to use [command]`sudo` from any host and execute any command. + +To allow a user access to specific commands, use the following example after replacing `_USERS_` with a target system group: + +[subs=quotes] +---- +_%USERS_ localhost=/usr/sbin/shutdown -h now +---- + +This command allows all members of the `_USERS_` system group to issue the [command]`/sbin/shutdown -h` as long as the command is issued from the console. + +The man page for [command]`sudoers` has a detailed listing of options for this file. diff --git a/modules/ROOT/pages/_partials/con_using-sudo-without-password.adoc b/modules/ROOT/pages/_partials/con_using-sudo-without-password.adoc new file mode 100644 index 0000000..4129b8b --- /dev/null +++ b/modules/ROOT/pages/_partials/con_using-sudo-without-password.adoc @@ -0,0 +1,13 @@ +[[concept-using-sudo-without-password]] += Using sudo without a password + +You can enable `root` access without a password specified, allowing any process on your system to become `root`. Add the following line to your `/etc/sudoers` file: + +[subs=quotes] +------------ +_user_ ALL=(ALL) NOPASSWD: /usr/bin/docker +------------ + +This will allow `_user_` to access docker without a password. + +IMPORTANT: For security reasons, it is recommended that you always use [command]`sudo` with a password. diff --git a/modules/ROOT/pages/_partials/con_using-the-system-wide-trust-store.adoc b/modules/ROOT/pages/_partials/con_using-the-system-wide-trust-store.adoc new file mode 100644 index 0000000..2c9dc01 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_using-the-system-wide-trust-store.adoc @@ -0,0 +1,18 @@ +[[using-the-system-wide-trust-store]] += Using the System-wide Trust Store + +In Fedora, the consolidated system-wide trust store is located in the `/etc/pki/ca-trust/` and `/usr/share/pki/ca-trust-source/` directories. The trust settings in `/usr/share/pki/ca-trust-source/` are processed with lower priority than settings in `/etc/pki/ca-trust/`. + +Certificate files are treated depending on the subdirectory they are installed to the following directories: + +* for trust anchors +** `/usr/share/pki/ca-trust-source/anchors/` or +** `/etc/pki/ca-trust/source/anchors/` +* for distrusted certificates +** `/usr/share/pki/ca-trust-source/blacklist/` or +** `/etc/pki/ca-trust/source/blacklist/` +* for certificates in the extended BEGIN TRUSTED file format +** `/usr/share/pki/ca-trust-source/` or +** `/etc/pki/ca-trust/source/` + +NOTE: In a hierarchical cryptographic system, a trust anchor is an authoritative entity which is assumed to be trustworthy. For example, in X.509 architecture, a root certificate is a trust anchor from which a chain of trust is derived. The trust anchor must be put in the possession of the trusting party beforehand to make path validation possible. diff --git a/modules/ROOT/pages/_partials/con_viewing-logs.adoc b/modules/ROOT/pages/_partials/con_viewing-logs.adoc new file mode 100644 index 0000000..d44f613 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_viewing-logs.adoc @@ -0,0 +1,27 @@ +[id='viewing-logs'] += Viewing logs + +Log files contain messages about the system, including the kernel, services, and applications running on it. There are different log files for different information. For example, there is a default system log file, a log file for security messages, and a log file for cron tasks. + +[id='locating-log-files'] +== Locating log files + +Most log files are located in the `/var/log/` directory. + +`Rsyslog` is a system utility that provides support for logging. To install the _rsyslog_ package: +---- +$ sudo dnf install rsyslog +---- +To view a list of log files maintained by the related daemon, `rsyslogd`, enter the following command: +---- +$ less /etc/rsyslog.conf +---- + +[id='viewing-log-files'] +== Viewing log files + +In Fedora, there are two ways to open the log files: + +* The command line + +* A GUI application diff --git a/modules/ROOT/pages/_partials/con_what-is-sudo.adoc b/modules/ROOT/pages/_partials/con_what-is-sudo.adoc new file mode 100644 index 0000000..b310538 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_what-is-sudo.adoc @@ -0,0 +1,15 @@ +[id='con_what-is-sudo'] += What is sudo? + +The [command]`sudo` command allows users to gain administrative or root access. When trusted users precede an administrative command with [command]`sudo`, they are prompted for their own password. Then, when they have been authenticated and assuming that the command is permitted, the administrative command is executed as if they were the root user. + +Only users listed in the [filename]`/etc/sudoers` configuration file are allowed to use the [command]`sudo` command. The command is executed in the user's shell, not a root shell. + +The syntax for the sudo command is as follows: + +[subs=quotes] +---- +sudo _COMMAND_ +---- + +Replace `_COMMAND_` with the command to run as the root user. diff --git a/modules/ROOT/pages/_partials/con_why-it-is-important-keeping-your-system-up-to-date.adoc b/modules/ROOT/pages/_partials/con_why-it-is-important-keeping-your-system-up-to-date.adoc new file mode 100644 index 0000000..c4e2db3 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_why-it-is-important-keeping-your-system-up-to-date.adoc @@ -0,0 +1,8 @@ +[id='why-it-is-important-to-keep-your-system-up-to-date'] += Why it is important to keep your system up-to-date + +// Bara: This section is based on https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/chap-keeping_your_system_up-to-date + +This section briefly explains the importance of updating your system on a regular basis. + +All software contains bugs. Often, these bugs can result in a vulnerability that can expose your system to malicious users. Packages that have not been updated are a common cause of computer intrusions. Implement a plan for installing security patches in a timely manner to quickly eliminate discovered vulnerabilities, so they cannot be exploited. diff --git a/modules/ROOT/pages/_partials/con_xorg-conf.adoc b/modules/ROOT/pages/_partials/con_xorg-conf.adoc new file mode 100644 index 0000000..d7f8b55 --- /dev/null +++ b/modules/ROOT/pages/_partials/con_xorg-conf.adoc @@ -0,0 +1,6 @@ +[id='con_about-xorg-conf'] += About xorg.conf + +Traditionally, the xorg.conf file is used to configure the X server. In Fedora, the X configuration is determined automatically each time X is started. As a result, no xorg.conf file is created. In most cases, this works well and there is no need to manually specify X configuration. + +If you need to make manual changes to your X configuration for any reason, you will first need to create an `xorg.conf` file. diff --git a/modules/ROOT/pages/_partials/concept_chromium-web-browser.adoc b/modules/ROOT/pages/_partials/concept_chromium-web-browser.adoc new file mode 100644 index 0000000..680a328 --- /dev/null +++ b/modules/ROOT/pages/_partials/concept_chromium-web-browser.adoc @@ -0,0 +1,20 @@ +[id='chromium-web-browser'] += Chromium and Google Chrome web browsers + +Only the Chromium browser is available from official Fedora repositories. + + +[id='chromium'] +== Chromium + +Chromium is the upstream project for Google Chrome. + +NOTE: As of August 2016, Chromium is included in the Fedora Repositories. If you were using the old Chromium http://copr.fedoraproject.org/coprs/spot/chromium/[Copr] repository, upgrade your Chromium. + +Fedora's Chromium package does not support h264, mp3, or aac because of legal concerns. It is built to support the *widevine* plugin (but does not include it). + + +[id='google-chrome'] +== Google Chrome + +Chromium is upstream for Google Chrome. Fedora does not include Google Chrome because it is a proprietary product and bundles other proprietary software, such as Adobe Flash plugin. However, Google does maintain a DNF or YUM repository for Fedora at link:https://www.google.com/chrome/[google.com/chrome]. The given link also includes downloadable RPMs that you can use to install Chrome. diff --git a/modules/ROOT/pages/_partials/concept_fedora-virtio-drivers-vs-rhel.adoc b/modules/ROOT/pages/_partials/concept_fedora-virtio-drivers-vs-rhel.adoc new file mode 100644 index 0000000..330edba --- /dev/null +++ b/modules/ROOT/pages/_partials/concept_fedora-virtio-drivers-vs-rhel.adoc @@ -0,0 +1,15 @@ +[[fedora-virtio-drivers-vs-rhel]] += Fedora VirtIO Drivers vs. RHEL VirtIO Drivers + +The RPMs in the *virtio-win-stable* repository are the same driver builds as what is shipped with Red Hat Enterprise Linux. All the Windows binaries are from builds done on Red Hat's internal build system, which are generated using publicly available code. For more details about how the RPM and repo are built, see the https://github.com/crobinso/virtio-win-pkg-scripts[README for this repo]. + +The drivers are cryptographically signed with Red Hat's vendor signature. However they are not signed with Microsoft's https://docs.microsoft.com/en-us/windows-hardware/drivers/install/whql-release-signature[WHQL signature]. + +NOTE: Historically the .iso files shipped on alt.fedoraproject.org did _not_ match the layout of the .iso shipped with Red Hat Enterprise Linux. This changed in April 2015. + +The current Fedora RPM/ISO directory structure is laid out to mirror exactly the layout that is shipped with the latest release of Red Hat Enterprise Linux. This is so that users and developers don't seen any differences between the two distros. + +* The `.iso` directories are named after the driver code directories from the upstream driver git tree. +* Below the driver directories, the `$winversion/$arch/` directory naming +is a Windows convention. +* The RPM layout is arbitrary in that it ships the `.vfd` content in the `drivers/` dir, but not many of the other drivers from the `.iso`. This seems to be an historical oversight and should probably be fixed. diff --git a/modules/ROOT/pages/_partials/concept_third-party-repositories.adoc b/modules/ROOT/pages/_partials/concept_third-party-repositories.adoc new file mode 100644 index 0000000..6b734a3 --- /dev/null +++ b/modules/ROOT/pages/_partials/concept_third-party-repositories.adoc @@ -0,0 +1,14 @@ +[id='third-party-repositories'] += Third party repositories + +There are a number of third-party software repositories for Fedora. They have more liberal licensing policies and provide software packages that Fedora excludes for various reasons. These software repositories are not officially affiliated or endorsed by the Fedora Project. Use them at your own discretion. For complete list, see https://rpmfusion.org/FedoraThirdPartyRepos[FedoraThirdPartyRepos] +The following repositories are commonly used by end users and do not conflict with each other: + +* http://rpmfusion.org + +* http://rpm.livna.org (Complementary to RPM Fusion) + +== Mixing third party software repositories + +Mixing a lot of third party repositories is not recommended since they might conflict with each other causing instability and hard to debug issues. If you are not a technical user, one way is to not enable the third-party repo by default and instead use the *--enablerepo* switch for yum or dnf, or a similar method configurable in the graphical package manager. + diff --git a/modules/ROOT/pages/_partials/concept_virtio-win-repo-overview.adoc b/modules/ROOT/pages/_partials/concept_virtio-win-repo-overview.adoc new file mode 100644 index 0000000..dd4033d --- /dev/null +++ b/modules/ROOT/pages/_partials/concept_virtio-win-repo-overview.adoc @@ -0,0 +1,10 @@ +[[virtio-win-repo-overview]] += VirtIO-Win Repo Overview + +There is a yum|dnf repo available via the RPM package manager (RPM) that ships virtio-win packages. You can use these RPMs to install driver binaries and agent installers into the `/usr/share` directory on your host machine. You can then share the bits with Windows VMs running on the host. + +The .repo file provides two different repositories: + +* *virtio-win-stable* - This repository provides builds of virtio-win that roughly correlate to what was shipped with the most recent Red Hat Enterprise Linux release, meaning these builds have undergone testing and are considered stable. This repo is enabled by default. + +* *virtio-win-latest* - This repository provides the latest driver builds. The builds may be bug free, development quality, or completely broken. https://en.wikipedia.org/wiki/Caveat_emptor[Caveat emptor]. This repo is disabled by default. diff --git a/modules/ROOT/pages/_partials/proc_Brief-selection-of-nmcli-examples.adoc b/modules/ROOT/pages/_partials/proc_Brief-selection-of-nmcli-examples.adoc new file mode 100644 index 0000000..1136d22 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_Brief-selection-of-nmcli-examples.adoc @@ -0,0 +1,108 @@ +// Module included in the following assemblies: +// +// assembly_Configuring-networking-with-nmcli.adoc + +[id='Brief-selection-of-nmcli-examples'] += Brief Selection of nmcli Examples + +This section provides a brief selection of [application]*nmcli* examples. + +[discrete] +== Prerequisites +<> + + +.Checking the overall status of NetworkManager +==== + +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ pass:attributes[{blank}][command]`nmcli general status` +STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN +connected full enabled enabled enabled enabled +.... + +In terse mode: + +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ pass:attributes[{blank}][command]`nmcli -t -f STATE general` +connected +.... + +==== + +.Viewing NetworkManager logging status +==== + +[literal,subs="+quotes,verbatim"] +.... +~]$ [command]`nmcli general logging` + LEVEL DOMAINS + INFO PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,WIFI_SCAN,IP4,IP6,A +UTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC, +WIMAX,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,DBUS_PROPS,TEAM,CONCHECK,DC +B,DISPATCH +.... + +==== + +.Viewing all connections +==== + +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ pass:attributes[{blank}][command]`nmcli connection show` + NAME UUID TYPE DEVICE +Profile 1 db1060e9-c164-476f-b2b5-caec62dc1b05 ethernet ens3 +ens3 aaf6eb56-73e5-4746-9037-eed42caa8a65 ethernet -- +.... + +==== + +.Viewing only currently active connections +==== + +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ pass:attributes[{blank}][command]`nmcli connection show --active` + NAME UUID TYPE DEVICE +Profile 1 db1060e9-c164-476f-b2b5-caec62dc1b05 ethernet ens3 +.... + +==== + +.Viewing only devices recognized by [application]*NetworkManager* and their state +==== + +[literal,subs="+quotes,verbatim,macros"] +.... +~]$ pass:attributes[{blank}][command]`nmcli device status` +DEVICE TYPE STATE CONNECTION +ens3 ethernet connected Profile 1 +lo loopback unmanaged -- +.... + +==== + +You can also use the following abbreviations of the [application]*nmcli* commands: + +[[tabl-nmcli_examples]] +.Abbreviations of some nmcli commands + +[options="header"] +|=== +|nmcli command|abbreviation +|nmcli general status|nmcli g +|nmcli general logging|nmcli g log +|nmcli connection show|nmcli con show +|nmcli connection show --active|nmcli con show -a +|nmcli device status|nmcli dev +|=== + +[discrete] +== Additional resources + +* For more examples, see the +[citetitle]_pass:attributes[{blank}]*nmcli-examples*(5)_ +man page. diff --git a/modules/ROOT/pages/_partials/proc_adding-new-certificates.adoc b/modules/ROOT/pages/_partials/proc_adding-new-certificates.adoc new file mode 100644 index 0000000..14831a2 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_adding-new-certificates.adoc @@ -0,0 +1,20 @@ +[id='proc_adding-new-certificates'] += Adding New Certificates + +To add a certificate in the simple PEM or DER file formats to the list of CAs trusted on the system, copy the certificate file to the `/usr/share/pki/ca-trust-source/anchors/` or `/etc/pki/ca-trust/source/anchors/` directory, for example: + +[subs="+quotes,macros"] +---- +# cp _~/certificate-trust-examples/Cert-trust-test-ca.pem_ _/usr/share/pki/ca-trust-source/anchors/_ +---- + +To update the system-wide trust store configuration, use the [command]`update-ca-trust` command: + +---- +# update-ca-trust +---- + +[NOTE] +==== +While the Firefox browser is able to use an added certificate without executing [command]`update-ca-trust`, it is recommended to run [command]`update-ca-trust` after a CA change. Also note that browsers, such as Firefox, Epiphany, or Chromium, cache files, and you might need to clear the browser's cache or restart your browser to load the current system certificates configuration. +==== diff --git a/modules/ROOT/pages/_partials/proc_adding-new-fonts-as-superuser.adoc b/modules/ROOT/pages/_partials/proc_adding-new-fonts-as-superuser.adoc new file mode 100644 index 0000000..988ec5c --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_adding-new-fonts-as-superuser.adoc @@ -0,0 +1,81 @@ +[[adding-new-fonts-as-superuser]] += Adding new fonts as the superuser + +System fonts are available to all system users. If you need to add system fonts, there are two ways: + +. Use the `dnf` package manager to install font packages, +. Manually add fonts to the system and update the font cache to make them available to the users. + +[WARNING] +==== +If you manually add system-wide fonts, you will not be able to control them with the package manager. If the font is provided as a distribution package, you should always use the package manager to install it. +==== + + +[[installing-new-fonts-with-dnf]] +== Installing new fonts with dnf + +Whenever you can add new fonts by installing a font package with the `dnf` package manager, you should do so. This method gives you control over the font package in the future, such as updating the package and removing it from the system. + +To install a font package with `dnf`: + + +[discrete] +=== Before you start + +* Add and enable repositories with font packages. ++ +[NOTE] +==== +A lot of fonts are available from the RPMfusion repository. To enable the repository on your system, follow the instructions on link:https://rpmfusion.org/Configuration[the RPMfusion webpage]. +==== + + +[discrete] +=== Procedure + +. List all available font packages from enabled repositories. ++ +---- +# dnf search fonts +---- + +. Install the package you need. ++ +---- +# dnf install libreoffice-opensymbol-fonts.noarch +---- + + +[discrete] +=== More information + +* The `dnf search fonts` command lists all available font packages, as well as their descriptions. + + +[[installing-new-fonts-manually]] +== Installing new fonts manually + +When you need to install fonts that are not available in a repository, you can install them manually by copying the font files into a system font directory and updating the font cache. + + +[discrete] +== Procedure + +. Create a new directory in the system's font directory `/usr/share/fonts`, where you will place the font files. ++ +---- +# mkdir /usr/share/fonts/robofont +---- + +. Copy the font file to the font's directory created in the previous step. ++ +---- +# cp ~/fonts/robofont.ttf /usr/share/fonts/robofont +---- + +. Update the font cache. ++ +---- +# fc-cache -v +---- diff --git a/modules/ROOT/pages/_partials/proc_adding-new-fonts-as-user.adoc b/modules/ROOT/pages/_partials/proc_adding-new-fonts-as-user.adoc new file mode 100644 index 0000000..fbccfaf --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_adding-new-fonts-as-user.adoc @@ -0,0 +1,71 @@ +[[adding-new-fonts-as-user]] += Adding new fonts as a user + +When you do not have superuser access to install fonts on the system level, or you only need to install a font that will be available to your user account only, there are two methods to do it. + + +[[adding-new-local-fonts-with-gfv]] +== Adding new local fonts with the Gnome Font Viewer + +The *Gnome Font Viewer* is an application to display the fonts installed on the system. It also allows you to locally install fonts. To add a new font file with *Gnome Font Viewer*: + + +[discrete] +=== Before you start + +* Make sure you have installed the `gnome-font-viewer` package. + + +[discrete] +=== Procedure + +. Open a file manager. + +. Double-click on a font file to open it in the *Gnome Font Viewer*. + +. Click on the blue btn:[Install] button on the top bar. ++ +[NOTE] +==== +Currently, there is a bug in the application. When you click on the btn:[Install] button, it does not inform whether the installation succeeded. +==== + + +[discrete] +=== More information + +* *Gnome Font Viewer* copies the font files to a font directory in the current user's directory `.local/share/fonts` and updates the font cache. + + +[[adding-new-local-fonts-manually]] +== Adding new local fonts manually + +If you do not want to use any tools to add new fonts, you can do it manually. Copy the font files in the `.fonts` directory placed in the user's directory and update the font cache. + + +[discrete] +=== Before you start + +* If it does not exist, create a `.fonts` directory in your user's home directory. + + +[discrete] +=== Procedure + +. In the `.local/share/fonts` directory, create a new directory to place your fonts files. ++ +---- +$ mkdir ~/.local/share/fonts/robofont +---- + +. Copy the font file into the newly created directory. ++ +---- +$ cp robofont.ttf ~/.local/share/fonts/robofont +---- + +. Update the font cache. ++ +---- +$ fc-cache -v +---- diff --git a/modules/ROOT/pages/_partials/proc_adding-other-operating-systems-grub2.adoc b/modules/ROOT/pages/_partials/proc_adding-other-operating-systems-grub2.adoc new file mode 100644 index 0000000..2486127 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_adding-other-operating-systems-grub2.adoc @@ -0,0 +1,31 @@ +[[adding-other-operating-systems-grub2]] += Adding other operating systems to the GRUB2 menu + +Normally, *GRUB2* is preset to boot multiple operating systems during the Fedora installation process. If you can, it is advisable to install non-Linux operating systems first. Then, during the installation process, all those operating systems and their locations will be discovered and properly set. + +Adding other records into the *GRUB2* menu only means to run `grub2-mkconfig` command to regenerate the configuration files. During this process, all operating systems known to the system will be added into the configuration. By reinstalling *GRUB2* into the MBR, this configuration will be used for further boots. + +.Before you start + +* Make sure that the operating systems are on disks, connected to the system. +* You have the `os-prober` package installed. + +.Procedure + +. Recreate the *GRUB2* configuration file. ++ +---- +# grub2-mkconfig -o /boot/grub2/grub.cfg +---- + +. Install *GRUB2* into the MBR of your primary hard disk. ++ +---- +# grub2-install /dev/sda +---- + +.More information + +* The `grub2-mkconfig` command will add entries for all operating systems it can find. +* When problems appear, see the link:http://www.gnu.org/software/grub/manual/grub.html#Multi_002dboot-manual-config[GRUB manual] to solve issues with booting secondary operating systems. + diff --git a/modules/ROOT/pages/_partials/proc_adding-repositories.adoc b/modules/ROOT/pages/_partials/proc_adding-repositories.adoc new file mode 100644 index 0000000..77fca32 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_adding-repositories.adoc @@ -0,0 +1,21 @@ +[id='adding-repositories'] += Adding repositories + +This section describes how to add software repositories with the `dnf config-manger` command. + +Use the following commands as the `root` user or under the `sudo` utility. + +. Define a new repository by adding a new file with the `.repo` suffix to the [filename]`/etc/yum.repos.d/` directory. For details about various options to use in the `.repo` file, see the link:https://docs-old.fedoraproject.org/en-US/Fedora/26/html/System_Administrators_Guide/sec-Setting_repository_Options.html[Setting [repository\] Options] section in the System Administrator's Guide + +. Add the newly created repository. ++ +[literal,subs="+quotes,attributes"] +---- +# dnf config-manger --add-repo _repository_ +---- ++ +Replace `_repository_` with the path to the created `.repo` file, for example: ++ +---- +# dnf config-manager --add-repo /etc/yum.repos.d/fedora_extras.repo +---- diff --git a/modules/ROOT/pages/_partials/proc_adding-shortcut-custom-app-gnome.adoc b/modules/ROOT/pages/_partials/proc_adding-shortcut-custom-app-gnome.adoc new file mode 100644 index 0000000..40c88cf --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_adding-shortcut-custom-app-gnome.adoc @@ -0,0 +1,56 @@ +[id='adding-shortcut-custom-app-gnome'] += Adding keyboard shortcuts for custom applications in GNOME + +This section describes how to add a keyboard shortcut for starting a custom application in GNOME. + +[discrete] +== Procedure + +. Open *Settings* and choose the *Devices* entry from the list: ++ +image::shortcuts-settings-devices.png[] ++ +NOTE: Earlier Fedora versions might not need this step. + +. Choose the *Keyboard* entry from the list and scroll down to the bottom of the list of keyboard shortcuts: ++ +image::shortcuts-keyboard-scroll.png[] + +. Click the *+* button at the bottom of the list. ++ +A window for entering the details appears: ++ +image::shortcuts-add-empty.png[] + +. Fill in details for the application. ++ +image::shortcuts-add-filled.png[] ++ +Replace _My Application_ with the name of the application and _myapp --special options_ with the command to run this application, including any options. + +. Click the *Set shortcut...* button. ++ +A window for entering the keyboard shortcut appears: ++ +image::shortcuts-add-enter.png[] + +. Press the key combination that should become the shortcut for starting the application. ++ +As soon as you release the key combination, the window for entering the shortcut closes. The window for application name and command now displays the entered shortctut: ++ +image::shortcuts-add-shortcut.png[] + +. Click the *Add* button. ++ +Your application shortcut now appears in the list under _Custom Shortcuts_: ++ +image::shortcuts-added.png[] + +// optional - close settings? + +//// +info sources: + +http://ask.fedoraproject.org/en/question/9623/how-can-i-set-a-key-shortcut-to-launch-terminal-under-gnome/ +https://help.gnome.org/users/gnome-help/stable/keyboard-shortcuts-set.html.en +//// diff --git a/modules/ROOT/pages/_partials/proc_backup-gpg-keys-cli.adoc b/modules/ROOT/pages/_partials/proc_backup-gpg-keys-cli.adoc new file mode 100644 index 0000000..a93e129 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_backup-gpg-keys-cli.adoc @@ -0,0 +1,12 @@ +[[backup-gpg-keys-cli]] += Making a Key Backup Using the Command Line + + Use the following command to make the backup, which you can then copy to a destination of your choice: + +---- +gpg2 --export-secret-keys --armor jqdoe@example.com > jqdoe-privkey.asc +---- + +Store the copy in a secure place, such as a locked container. + +See now <>. diff --git a/modules/ROOT/pages/_partials/proc_backup-gpg-keys-gnome.adoc b/modules/ROOT/pages/_partials/proc_backup-gpg-keys-gnome.adoc new file mode 100644 index 0000000..a4bd015 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_backup-gpg-keys-gnome.adoc @@ -0,0 +1,12 @@ +[[backup-gpg-keys-gnome]] += Making a Key Backup Using the GNOME Desktop + +. Right-click your key and select _Properties_. + +. Select the _Details_ tab, and _Export_, next to the _Export Complete Key_ label. + +. Select a destination filename and click btn:[Save]. + +. Store the copy in a secure place, such as a locked container. + +See now <>. diff --git a/modules/ROOT/pages/_partials/proc_backup-gpg-keys-kde.adoc b/modules/ROOT/pages/_partials/proc_backup-gpg-keys-kde.adoc new file mode 100644 index 0000000..cf2f0b3 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_backup-gpg-keys-kde.adoc @@ -0,0 +1,13 @@ +[[backup-gpg-keys-kde]] += Making a Key Backup Using the KDE Desktop + +. Right-click your key and select _Export Secret Key_. + +. Click btn:[Export] to continue at the confirmation dialog. + +. Select a destination filename. + +. Click btn:[Save]. + +Store the copy in a secure place, such as a locked container. +See <>. diff --git a/modules/ROOT/pages/_partials/proc_booting-from-usb-sticks.adoc b/modules/ROOT/pages/_partials/proc_booting-from-usb-sticks.adoc new file mode 100644 index 0000000..7f82c07 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_booting-from-usb-sticks.adoc @@ -0,0 +1,47 @@ +[id='booting_from_USB_sticks'] += Booting from USB sticks + +Almost all modern PCs can boot from USB sticks. However, how you tell the system to boot from a USB stick varies substantially from system to system. Initially, you can try this: + +. Power off the computer. +. Plug the USB drive into a USB port. +. Remove all other portable media, such as CDs, DVDs, floppy disks or other USB sticks. +. Power on the computer. +. If the computer is configured to automatically boot from the USB drive, you will see a screen that says "Automatic boot in 10 seconds..." with a countdown. ++ +If you do a native UEFI boot, where you will see a rather more minimal boot menu. + +If the computer starts to boot off the hard drive as normal, you'll need to manually configure it to boot off the USB drive. Usually, that should work like this: + +. Wait for a safe point to reboot. +. As the machine starts to reboot, watch carefully for instructions on which key to press. Usually a function key, `Escape`, `Tab` or `Delete` is to be pressed to enter the boot device selection menu, `BIOS setup`, `firmware`, or `UEFI`. Press and hold that key. If you miss the window of opportunity, often only a few seconds, then reboot and try again. +. Use the firmware, `BIOS`, interface or the boot device menu to put your USB drive first in the boot sequence. It might be listed as a hard drive rather than a removable drive. Each hardware manufacturer has a slightly different method for doing so. ++ +IMPORTANT: Your computer could become unbootable or lose functionality if you change any other settings. Though these settings can be reverted, you'll need to remember what you changed in order to do so. +. Save the changes, exit, and the computer should boot from the USB drive. + +If your system has a UEFI firmware, it will usually allow you to boot the stick in UEFI native mode or BIOS compatibility mode. If you boot in UEFI native mode and perform a Fedora installation, you will get a UEFI native Fedora installation. If you boot in BIOS compatibility mode and perform a Fedora installation, you will get a BIOS compatibility mode Fedora installation. + +For more information on all this, see the http://fedoraproject.org/wiki/Unified_Extensible_Firmware_Interface[UEFI page]. USB sticks written from x86_64 images with link:using-fedora-media-writer[Fedora Media Writer], GNOME Disk Utility, `dd`, other dd-style utilities, and link:proc_creating-and-using-live-cd.html[Creating and using live CD] with the --efi option specified, should be UEFI native bootable. Sticks written with other utilities may not be UEFI native bootable, and sticks written from i686 images will never be UEFI bootable. + + +[id='identifying_stick'] +== Identifying a stick on Linux + +Most of the writing methods will require you to know the `/dev` name for your USB stick, e.g. `/dev/sdc`, when using them on Linux. You do not need to know this in order to use Fedora Media Writer. To find this out: + +. Insert the USB stick into a USB port. +. Open a terminal and run `dmesg`. +. Near the end of the output, you will see something like: ++ +[options="nowrap"] +---- +[32656.573467] sd 8:0:0:0: [sdX] Attached SCSI removable disk +---- ++ +`sdX` will be `sdb`, `sdc`, `sdd`, etc. + +[NOTE] +==== +This is the name of the disk you will use. We'll call it `sdX` from now on. If you have connected more than one USB stick to the system, be careful that you identify the correct one, often you will see a manufacturer name or capacity in the output which you can use to make sure you identified the correct stick. +==== diff --git a/modules/ROOT/pages/_partials/proc_booting-with-configfile-on-different-partition.adoc b/modules/ROOT/pages/_partials/proc_booting-with-configfile-on-different-partition.adoc new file mode 100644 index 0000000..5c34d39 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_booting-with-configfile-on-different-partition.adoc @@ -0,0 +1,32 @@ +[[booting-with-configfile-on-different-partition]] += Booting the system using a configuration file on a different partition. + +If you end up in *GRUB2* boot prompt, it is also possible to boot using a _configfile_ that's located on another +partition, as is often the case with multi-boot systems containing Ubuntu and Fedora. To boot the system using a configuration files on a different partition: + +.Procedure + +. Load necessary modules to read the partitions. ++ +---- +insmod part_msdos +insmod xfs +insmod lvm +---- + +. Set the root partition. ++ +---- +set root='hd0,msdos1' +---- + +. Set the path to the configuration file. ++ +---- +configfile /grub2/grub.cfg +---- + +.More information + +* The *hd0,msdos1* line shows the pertinent _boot_ partition, which holds the `grub.cfg` file. The setting may be different on your system. See also xref:using-grub2-prompt[Using the GRUB2 boot prompt] for more information. + diff --git a/modules/ROOT/pages/_partials/proc_changing-to-enforcing-mode.adoc b/modules/ROOT/pages/_partials/proc_changing-to-enforcing-mode.adoc new file mode 100644 index 0000000..8a47da6 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_changing-to-enforcing-mode.adoc @@ -0,0 +1,52 @@ +// Module included in the following assemblies: +// +// changing-selinux-states-and-modes.adoc + +[#{context}-changing-to-enforcing-mode] += Changing to enforcing mode + +When SELinux is running in enforcing mode, it enforces the SELinux policy and denies access based on SELinux policy rules. In Fedora, enforcing mode is enabled by default when the system was initially installed with SELinux. + +If SELinux was disabled, follow the procedure below to change mode to enforcing again: + +This procedure assumes that the [package]*selinux-policy-targeted*, [package]*selinux-policy*, [package]*libselinux*, [package]*libselinux-python*, [package]*libselinux-utils*, [package]*policycoreutils*, and [package]*policycoreutils-python* packages are installed. To verify that the packages are installed, use the following command: +[subs="quotes"] +---- +~]$ rpm -q _package_name_ +---- + +. Edit the `/etc/selinux/config` file as follows: ++ +---- +# This file controls the state of SELinux on the system. +# SELINUX= can take one of these three values: +# enforcing - SELinux security policy is enforced. +# permissive - SELinux prints warnings instead of enforcing. +# disabled - No SELinux policy is loaded. +SELINUX=pass:quotes[*enforcing*] +# SELINUXTYPE= can take one of these two values: +# targeted - Targeted processes are protected, +# mls - Multi Level Security protection. +SELINUXTYPE=targeted +---- + +. Reboot the system: ++ +---- +~]# reboot +---- ++ +On the next boot, SELinux relabels all the files and directories within the system and adds SELinux context for files and directories that were created when SELinux was disabled. + +[NOTE] +==== +After changing to enforcing mode, SELinux may deny some actions because of incorrect or missing SELinux policy rules. To view what actions SELinux denies, enter the following command as root: +---- +~]# ausearch -m AVC,USER_AVC,SELINUX_ERR -ts today +---- +Alternatively, with the [package]*setroubleshoot-server* package installed, enter the following command as root: +---- +~]# grep "SELinux is preventing" /var/log/messages +---- +If SELinux denies some actions, see the link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-troubleshooting[Troubleshooting] chapter in the link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/index[Red Hat Enterprise Linux 7 SELinux User's and Administrator's Guide] for information about troubleshooting. +==== diff --git a/modules/ROOT/pages/_partials/proc_changing-to-permissive-mode.adoc b/modules/ROOT/pages/_partials/proc_changing-to-permissive-mode.adoc new file mode 100644 index 0000000..f9affb6 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_changing-to-permissive-mode.adoc @@ -0,0 +1,31 @@ +// Module included in the following assemblies: +// +// assembly_changing-selinux-states-and-modes.adoc + +[#{context}-changing-to-permissive-mode] += Changing to permissive mode + +When SELinux is running in permissive mode, SELinux policy is not enforced. The system remains operational and SELinux does not deny any operations but only logs AVC messages, which can be then used for troubleshooting, debugging, and SELinux policy improvements. Each AVC is logged only once in this case. + +To permanently change mode to permissive, follow the procedure below: + +. Edit the `/etc/selinux/config` file as follows: ++ +---- +# This file controls the state of SELinux on the system. +# SELINUX= can take one of these three values: +# enforcing - SELinux security policy is enforced. +# permissive - SELinux prints warnings instead of enforcing. +# disabled - No SELinux policy is loaded. +SELINUX=pass:quotes[*permissive*] +# SELINUXTYPE= can take one of these two values: +# targeted - Targeted processes are protected, +# mls - Multi Level Security protection. +SELINUXTYPE=targeted +---- + +. Reboot the system: ++ +---- +~]# reboot +---- diff --git a/modules/ROOT/pages/_partials/proc_changing_runtime_firewalld.adoc b/modules/ROOT/pages/_partials/proc_changing_runtime_firewalld.adoc new file mode 100644 index 0000000..52eb6b5 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_changing_runtime_firewalld.adoc @@ -0,0 +1,50 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + +[id='changing_runtime_firewalld_fedora'] + += Changing settings in runtime and permanent configuration using CLI + +Using the CLI, you can only modify either runtime or permanent mode. To modify the firewall settings in permanent mode, use the `--permanent` option with the `firewall-cmd` command. + +---- +$ sudo firewall-cmd --permanent +---- + +Without this option, the command modifies runtime mode. +To change settings in both modes, you can use two methods: + +* Change runtime settings and then make them permanent as follows: + +. Change the runtime settings: ++ +`firewall-cmd ` ++ +. Use `--runtime-to-permanent` to make the changes permanent. ++ +`firewall-cmd --runtime-to-permanent` + +* Set permanent settings and reload the settings into runtime mode: + +. Make the changes in permanent mode: ++ +`firewall-cmd --permanent ` ++ +. Reload the settings: ++ +`firewall-cmd --reload` + +The first method allows you to test the settings before you apply them to permanent mode. + +[NOTE] +==== +It is possible that an incorrect setting will result in a user locking themselves out of a machine. To prevent this, use the `--timeout` option. Using this option means that after a specified amount of time, any change reverts to its previous state. +You can not use the `--permanent` option with the `--timeout` option. + +For example, to add the SSH service for 15 minutes use this command: +---- +$ sudo firewall-cmd --add-service=ssh --timeout 15m +---- +The SSH service will be available until access is removed after 15 minutes. +==== diff --git a/modules/ROOT/pages/_partials/proc_checking_firewalld.adoc b/modules/ROOT/pages/_partials/proc_checking_firewalld.adoc new file mode 100644 index 0000000..a31d331 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_checking_firewalld.adoc @@ -0,0 +1,130 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + +// Base the file name and the ID on the module title. For example: +// * file name: doing-procedure-a.adoc +// * ID: [id='doing-procedure-a'] +// * Title: = Doing procedure A + +// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. +[id=checking-firewalld-fedora] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Checking the firewalld status + +== Viewing the current status of `firewalld` + +The firewall service, `firewalld`, is installed on the system by default. Use the `firewalld` CLI interface to check that the service is running. + +To see the status of the service: + +---- +$ sudo firewall-cmd --state +---- + +For more information about the service status, use the [command]`systemctl status` sub-command: + +---- +$ sudo systemctl status firewalld +firewalld.service - firewalld - dynamic firewall daemon + Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor pr + Active: active (running) since Mon 2017-12-18 16:05:15 CET; 50min ago + Docs: man:firewalld(1) + Main PID: 705 (firewalld) + Tasks: 2 (limit: 4915) + CGroup: /system.slice/firewalld.service + └─705 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid +---- + +Furthermore, it is important to know how `firewalld` is set up and which rules are in force before you try to edit the settings. To display the firewall settings, see <> + +[[sec-Viewing_Current_firewalld_Settings]] +== Viewing current firewalld settings + +[[sec-Viewing_Allowed_Services_Using_GUI]] +=== Viewing allowed services using GUI + +To view the list of services using the graphical [application]*firewall-config* tool, press the kbd:[Super] key to enter the Activities Overview, type [command]`firewall`, and press kbd:[Enter]. The [application]*firewall-config* tool appears. You can now view the list of services under the `Services` tab. + +Alternatively, to start the graphical firewall configuration tool using the command-line, enter the following command: + +[subs="quotes, macros"] +---- +$ [command]`firewall-config` +---- + +The `Firewall Configuration` window opens. Note that this command can be run as a normal user, but you are prompted for an administrator password occasionally. +//// +[[exam-firewall_config_services]] +.The Services tab in firewall-config + +image::images/firewall-config-services.png[A screenshot of the firewall configuration tool - the Services tab] +//// +[[sec-Viewing_firewalld_Settings_Using_CLI]] +=== Viewing firewalld settings using CLI + +With the CLI client, it is possible to get different views of the current firewall settings. The [option]`--list-all` option shows a complete overview of the `firewalld` settings. + +`firewalld` uses zones to manage the traffic. If a zone is not specified by the [option]`--zone` option, the command is effective in the default zone assigned to the active network interface and connection. + +To list all the relevant information for the default zone: + +---- +$ firewall-cmd --list-all +public + target: default + icmp-block-inversion: no + interfaces: + sources: + services: ssh dhcpv6-client + ports: + protocols: + masquerade: no + forward-ports: + source-ports: + icmp-blocks: + rich rules: +---- + +[NOTE] +==== +To specify the zone for which to display the settings, add the [option]`--zone=pass:attributes[{blank}]_zone-name_pass:attributes[{blank}]` argument to the [command]`firewall-cmd --list-all` command, for example: +---- +~]# firewall-cmd --list-all --zone=home +home + target: default + icmp-block-inversion: no + interfaces: + sources: + services: ssh mdns samba-client dhcpv6-client +... [output truncated] + +---- +==== + +To see the settings for particular information, such as services or ports, use a specific option. See the `firewalld` manual pages or get a list of the options using the command help: + +---- +$ firewall-cmd --help + +Usage: firewall-cmd [OPTIONS...] + +General Options + -h, --help Prints a short help text and exists + -V, --version Print the version string of firewalld + -q, --quiet Do not print status messages + +Status Options + --state Return and print firewalld state + --reload Reload firewall and keep state information +... [output truncated] +---- + +For example, to see which services are allowed in the current zone: + +---- +$ firewall-cmd --list-services +samba-client ssh dhcpv6-client +---- + +Listing the settings for a certain subpart using the CLI tool can sometimes be difficult to interpret. For example, you allow the `SSH` service and `firewalld` opens the necessary port (22) for the service. Later, if you list the allowed services, the list shows the `SSH` service, but if you list open ports, it does not show any. Therefore, it is recommended to use the [option]`--list-all` option to make sure you receive a complete information. diff --git a/modules/ROOT/pages/_partials/proc_closing_ports_firewalld.adoc b/modules/ROOT/pages/_partials/proc_closing_ports_firewalld.adoc new file mode 100644 index 0000000..6953b95 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_closing_ports_firewalld.adoc @@ -0,0 +1,42 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + +// Base the file name and the ID on the module title. For example: +// * file name: doing-procedure-a.adoc +// * ID: [id='doing-procedure-a'] +// * Title: = Doing procedure A + +// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. +[id=closing-ports-firewalld-fedora] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Closing a port + +When an open port is no longer needed, close that port in firewalld. It is highly recommended to close all unnecessary ports as soon as they are not used because leaving a port open represents a security risk. + +.Closing a port using the command line + +To close a port, remove it from the list of allowed ports: + +. List all allowed ports: ++ +---- +$ firewall-cmd --list-ports +---- ++ +[WARNING] +==== +This command will only give you a list of ports that have been opened as ports. You will not be able to see any open ports that have been opened as a service. Therefore, you should consider using the --list-all option instead of --list-ports. +==== ++ +. Remove the port from the allowed ports to close it for the incoming traffic: ++ +---- +$ sudo firewall-cmd --remove-port=port-number/port-type +---- ++ +. Make the new settings persistent: ++ +---- +$ sudo firewall-cmd --runtime-to-permanent +---- diff --git a/modules/ROOT/pages/_partials/proc_compiling_your_application_from_source.adoc b/modules/ROOT/pages/_partials/proc_compiling_your_application_from_source.adoc new file mode 100644 index 0000000..6faf81b --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_compiling_your_application_from_source.adoc @@ -0,0 +1,18 @@ +[[compiling-your-application-from-source]] += Compiling Your Application + +NOTE: It is preferable to use DNF to using source installattion. DNF can track what packages you have installed on your system. It facilitates updates and makes it easier to completely remove your files from your system + +. Navigate to the directory containing your source: ++ +[subs="+quotes"] +---- +cd __ +---- ++ +. Run the following command to compile and install your application: ++ +[subs="+quotes"] +---- +./configure && make && make install +---- diff --git a/modules/ROOT/pages/_partials/proc_configuring-apache-httpd.adoc b/modules/ROOT/pages/_partials/proc_configuring-apache-httpd.adoc new file mode 100644 index 0000000..4f0789d --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_configuring-apache-httpd.adoc @@ -0,0 +1,145 @@ +[id='configuring-apache-httpd'] += Configuring Apache HTTPD + +`/etc/httpd/conf/httpd.conf` is the main Apache configuration file. Custom confirguration files are specified under `/etc/httpd/conf.d/*.conf`. If the same settings are specified in both `/etc/httpd/conf/httpd.conf` and a `.conf` file in `/etc/httpd/conf.d/`, the setting from the `/etc/httpd/conf.d/` file will be used. + +Files in `/etc/httpd/conf.d/` are read in alphabetical order: a setting from `/etc/httpd/conf.d/z-foo.conf` will be used over a setting from `/etc/httpd/conf.d/foo.conf`. Similarly, a setting from `/etc/httpd/conf.d/99-foo.conf`, will be used over a setting from `/etc/httpd/conf.d/00-foo.conf`. + +As a best practice, do not modify `/etc/httpd/conf/httpd.conf` or any of the `/etc/httpd/conf.d` files shipped by Fedora packages directly. If you make any local changes to these files, then any changes to them in newer package versions will not be directly applied. Instead, a `.rpmnew` file will be created, and you will have to merge the changes manually. + +It is recommended to create a new file in `/etc/httpd/conf.d` which will take precedence over the file you wish to modify, and edit the required settings. For instance, to change a setting specified in `/etc/httpd/conf.d/foo.conf` you could create the file `/etc/httpd/conf.d/z-foo-local.conf`, and place your setting in that file. + +[NOTE] +==== +After making any changes to your server configuration, execute the following command: + +---- +# apachectl reload +---- + +Certain changes may require Apache to be fully restarted. To fully restart Apache, execute the following command: + +---- +# systemctl restart httpd.service +---- +==== + +[id='enabling-access-to-web-applications'] +== Enabling access to web applications + +By default Fedora-packaged web applications are usually configured such that, access is allowed only from the localhost. This is defined by the file `/etc/httpd/conf.d/webapp.conf` which contains the following settings: + +---- + + + # Apache 2.4 + Require local + + + # Apache 2.2 + Order Deny,Allow + Deny from all + Allow from 127.0.0.1 + Allow from ::1 + + +---- + +Before allowing general access to the webapp, ensure to do the following: + +* [*] Webapp has been configured correctly +* [*] Administration interface and other sensitive areas are not accessible without appropriate authentication +* [*] Database configuration is secure, if the application uses a database + +To broaden access to the application, create a file `/etc/httpd/conf.d/z-webapp-allow.conf`. To allow access to all systems on a typical local network, add the following lines into the file: + +---- + + + # Apache 2.4 + Require local + Require ip 192.168.1 + + + # Apache 2.2 + Order Deny,Allow + Deny from all + Allow from 127.0.0.1 + Allow from ::1 + Allow from 192.168.1 + + +---- + +Once the application is correctly configured, add the following configuration to allow access from any host: + +---- + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + Order Deny,Allow + Allow from all + + +---- + +[id='opening-firewall-ports'] +== Opening firewall ports + +IMPORTANT: This exposes your computer to the Internet and potential attackers. Secure your system and your Apache installation properly before exposing your server to the Internet. + +Apache uses port 80 for plain http connections and port 443 for TLS/SSL connections by default. To make this service available from other computers or the Internet, allow Apache through the firewall using any one the following commands: + +To allow Apache through the firewall at each boot: + +* For plain HTTP connections: ++ +---- +# firewall-cmd --permanent --add-service=http +---- + +* For TLS/SSL connections: ++ +---- +# firewall-cmd --permanent --add-service=https +---- + +To allow Apache through the firewall instantly: + +* For plain HTTP connections: ++ +---- +# firewall-cmd --add-service=http +---- + +* For TLS/SSL connections: ++ +---- +# firewall-cmd --add-service=https +---- + +NOTE: If your server is running in a network with a NAT router, you will also need to configure your router to forward the HTTP and HTTPS ports to your server, if you wish to allow access from outside your local network. + + +[id='disabling-test-page'] +== Disabling Test Page + +To disable the test page, comment out all the lines in the file `/etc/httpd/conf.d/welcome.conf` using `pass:[#]` as follows: + +---- +# +# Options -Indexes +# ErrorDocument 403 /.noindex.html +# + +# +# AllowOverride None +# Require all granted +# + +# Alias /.noindex.html /usr/share/httpd/noindex/index.html +---- diff --git a/modules/ROOT/pages/_partials/proc_configuring-nested-virtualization-in-virt-manager.adoc b/modules/ROOT/pages/_partials/proc_configuring-nested-virtualization-in-virt-manager.adoc new file mode 100644 index 0000000..7416fde --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_configuring-nested-virtualization-in-virt-manager.adoc @@ -0,0 +1,13 @@ +[[proc_configuring-nested-virtualization-in-virt-manager]] += Configuring nested virtualization in virt-manager + +Configure your VM to use nested virtualization: + +. Open virt-manager, double-click the VM in which you wish to enable nested virtualization, and click the *Show virtual hardware details* icon. + +. Click *CPUs* in the side menu. In the *Configuration* section, there are two options - either type `host-passthrough` in the *Model:* field, or select the *Copy host CPU configuration* check box (that fills the `host-model` value in the *Model* field). ++ +NOTE: Using host-passthrough is not recommended for general usage. It should only be used for nested virtualization purposes. ++ +. Click *Apply*. + diff --git a/modules/ROOT/pages/_partials/proc_configuring-xorg-as-default-gnome-session.adoc b/modules/ROOT/pages/_partials/proc_configuring-xorg-as-default-gnome-session.adoc new file mode 100644 index 0000000..59c026e --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_configuring-xorg-as-default-gnome-session.adoc @@ -0,0 +1,15 @@ +[id='configuring-xorg-as-default-gnome-session'] += Configuring Xorg as the default GNOME session + +To run GNOME in X11, click the gear icon on the Fedora log in screen and select *GNOME on Xorg*, or complete the following steps: + +[discrete] +== Procedure + +. Open `/etc/gdm/custom.conf` and uncomment `WaylandEnable=false`. + +. Add the following line to the `[daemon]` section: + + DefaultSession=gnome-xorg.desktop + +. Save the `custom.conf` file. diff --git a/modules/ROOT/pages/_partials/proc_configuring_firewalld.adoc b/modules/ROOT/pages/_partials/proc_configuring_firewalld.adoc new file mode 100644 index 0000000..ceec17d --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_configuring_firewalld.adoc @@ -0,0 +1,43 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + +[id='configuring_firewalld_fedora'] + += Modifying Settings in runtime and permanent configuration using CLI + +Using the CLI, you do not modify the firewall settings in both modes at the same time. You only modify either runtime or permanent mode. To modify the firewall settings in the permanent mode, use the --permanent option with the firewall-cmd command. + +---- +$ sudo firewall-cmd --permanent +---- + +Without this option, the command modifies runtime mode. +To change settings in both modes, you can use two methods: + +Change runtime settings and then make them permanent as follows: +---- +$ sudo firewall-cmd +$ sudo firewall-cmd --runtime-to-permanent +---- + +Set permanent settings and reload the settings into runtime mode: + +---- +$ sudo firewall-cmd --permanent +$ sudo firewall-cmd --reload +---- + +The first method allows you to test the settings before you apply them to the permanent mode. + +[Note] +==== + +It is possible, especially on remote systems, that an incorrect setting results in a user locking themselves out of a machine. To prevent such situations, use the `--timeout` option. After a specified amount of time, any change reverts to its previous state. Using this options excludes the --permanent option. +For example, to add the SSH service for 15 minutes: + +---- +$ sudo firewall-cmd --add-service=ssh --timeout 15m +---- + +==== diff --git a/modules/ROOT/pages/_partials/proc_converting-sysvinit-services.adoc b/modules/ROOT/pages/_partials/proc_converting-sysvinit-services.adoc new file mode 100644 index 0000000..0ca4ae8 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_converting-sysvinit-services.adoc @@ -0,0 +1,96 @@ +[#converting-sysvinit-services] += Converting SysVinit services + +Older versions of Fedora use SysVinit scripts to manage services. This section provides some guidelines on how to convert a SysVinit script to a systemd equivalent. + +.Prerequisites + +* You are logged in as a user with administrator-level permissions. + +* You have a custom SysVinit script to convert to a systemd configuration. + +.Procedure + +. Identify the runlevels in your SysVinit script. This is usually defined with `chkconfig` directive in the commented section at the beginning of the script. For example, the following indicates the service is using runlevels 3, 4, and 5: ++ +---- +# chkconfig: 235 20 80 +---- ++ +systemd uses targets instead of runlevels. Use the table in <<#converting-sysvinit-services>> to map the runlevels to targets. In this example, runlevels 2, 3, and 5 are all multi-user runlevels, so the systemd service can use the following: ++ +---- +[Install] +WantedBy=multi-user.target +---- ++ +If you enable the custom systemd service to start at boot (`systemctl enable foo.service`), systemd loads the service when loading the `multi-user.target` at boot time. + +. Identify the dependent services and targets. For example, if the custom service requires network connectivity, specify the `network.target` as a dependency: ++ +---- +[Unit] +Description=My custom service +Requires=network.target +---- + +. Identify the command used to start the service in the SysVinit script and convert this to the systemd equivalent. For example, the script might contain a `start` function in the following format: ++ +[source,bash] +---- +start() { + echo "Starting My Custom Service..." + /usr/bin/myservice -D +} +---- ++ +In this example, the `/usr/bin/myservice` command is the custom service command set to daemonize with the `-D` option. Set the `ExecStart` parameter to use this command: ++ +---- +[Service] +ExecStart=/usr/bin/myservice -D +---- + +. Check the SysVinit script to see if the service uses a special command to restart the service. For example, the script might contain a `reboot` function that reloads the service: ++ +[source,bash] +---- +reboot() { + echo "Reloading My Custom Service..." + /usr/bin/myservice reload +} +---- ++ +In this example, the `/usr/bin/myservice` command is the custom service command and reloads the service using the `reload` subcommand. Set the `ExecReload` parameter to use this command: ++ +---- +[Service] +ExecReload=/usr/bin/myservice reload +---- ++ +Alternatively, you can omit `ExecReload` and use the default behavior, which kills the service and starts it again. + +. Check the SysVinit script to see if the service uses a special command to stop the service. For example, the script might contain a `stop` function that reloads the service: ++ +[source,bash] +---- +reboot() { + echo "Stopping My Custom Service..." + /usr/bin/myservice shutdown +} +---- ++ +In this example, the `/usr/bin/myservice` command is the custom service command and stop the service gracefully using the `shutdown` subcommand. Set the `ExecStop` parameter to use this command: ++ +---- +[Service] +ExecStop=/usr/bin/myservice shutdown +---- ++ +Alternatively, you can omit `ExecStop` and use the default behavior, which kills the service. + +. Review the SysVinit script and identify any additional parameters or functions. Use systemd parameters to replicate any identified SysVinit functions that might be relevant to your service. + +.Related Information + +* See link:#common-service-parameters[Common service parameters] for more information about the parameters used in this procedure. diff --git a/modules/ROOT/pages/_partials/proc_copying-public-gpg-keys-manually.adoc b/modules/ROOT/pages/_partials/proc_copying-public-gpg-keys-manually.adoc new file mode 100644 index 0000000..b13051c --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_copying-public-gpg-keys-manually.adoc @@ -0,0 +1,10 @@ +[[copying-public-gpg-keys-manually]] += Copying a Public Key Manually + +If you want to give or send a file copy of your key to someone, use this command to write it to an ASCII text file: + +---- +gpg2 --export --armor jqdoe@example.com > jqdoe-pubkey.asc +---- + +See now <>. diff --git a/modules/ROOT/pages/_partials/proc_creating-a-disk-partition-in-linux.adoc b/modules/ROOT/pages/_partials/proc_creating-a-disk-partition-in-linux.adoc new file mode 100644 index 0000000..a13239d --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_creating-a-disk-partition-in-linux.adoc @@ -0,0 +1,105 @@ +// Module included in the following assemblies: +// +// + +// Base the file name and the ID on the module title. For example: +// * file name: proc_creating-a-disk-partition-in-linux.adoc +// * ID: [id='creating-a-disk-partition-in-linux'] + +// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. +[id='creating-a-disk-partition-in-linux_{context}'] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Creating a Disk Partition in Linux +// Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_. + +This procedure describes how to partition a storage disk in Linux using the `parted` command. + +.Procedure + +. List the partitions using the `parted -l` command to identify the storage device you want to partition. Typically, the first hard disk (`/dev/sda` or `/dev/vda`) will contain the operating system, so look for another disk to find the one you want. For example: ++ +---- +$ sudo parted -l +[sudo] password for user: +Model: ATA RevuAhn_850X1TU5 (scsi) +Disk /dev/vdc: 512GB +Sector size (logical/physical): 512B/512B +Partition Table: msdos +Disk Flags: + +Number Start End Size Type File system Flags + 1 1049kB 525MB 524MB primary ext4 boot + 2 525MB 512GB 512GB primary lvm +---- ++ +. Open the storage device. Use the `parted` command to begin working with the selected storage device. For example: ++ +---- +$ sudo parted /dev/vdc +GNU Parted 3.2 +Using /dev/vdc +Welcome to GNU Parted! Type 'help' to view a list of commands. +(parted) +---- ++ +[IMPORTANT] +==== +Be sure to indicate the specific device you want to partition. If you just enter `parted` without a device name, it will randomly select a storage device to modify. +==== ++ +. Set the partition table type to `gpt`, then enter `Yes` to accept it. ++ +---- +(parted) mklabel gpt +Warning: the existing disk label on /dev/vdc will be destroyed +and all data on this disk will be lost. Do you want to continue? +Yes/No? Yes +---- ++ +[NOTE] +==== +The `mklabel` and `mktable` commands are both used for making a partition table on a storage device. At time of writing, the supported partition tables are: `aix`, `amiga`, `bsd`, `dvh`, `gpt`, `mac`, `ms-dos`, `pc98`, `sun`, and `loop`. Remember `mklabel` will not make a partition, rather it will make a partition table. +==== +. Review the partition table of the storage device. ++ +---- +(parted) print +Model: Virtio Block Device (virtblk) +Disk /dev/vdc: 1396MB +Sector size (logical/physical): 512B/512B +Partition Table: gpt +Disk Flags: +Number Start End Size File system Name Flags +---- ++ +. Create a new partition using the following command. For example, 1396 MB on partition 0: ++ +---- +(parted) mkpart primary 0 1396MB + +Warning: The resulting partition is not properly aligned for best performance +Ignore/Cancel? I + +(parted) print +Model: Virtio Block Device (virtblk) +Disk /dev/vdc: 1396MB +Sector size (logical/physical): 512B/512B +Partition Table: gpt +Disk Flags: +Number Start End Size File system Name Flags +1 17.4kB 1396MB 1396MB primary +---- ++ +[NOTE] +==== +Providing a partition name under GPT is a must; in the above example, primary is the name, not the partition type. In a GPT partition table, the partition type is used as partition name. +==== ++ +. Quit using the `quit` command. Changes are automatically saved when you quit `parted`. ++ +---- +(parted) quit +Information: You may need to update /etc/fstab. +$ +---- ++ diff --git a/modules/ROOT/pages/_partials/proc_creating-and-using-live-cd.adoc b/modules/ROOT/pages/_partials/proc_creating-and-using-live-cd.adoc new file mode 100644 index 0000000..5e486af --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_creating-and-using-live-cd.adoc @@ -0,0 +1,146 @@ +[id='proc_creating-and-using-live-cd'] += Creating and using live CD + +#FIXME# Needs modularization + + +[[getting-started]] +== Getting started + +To create a live image, the `livecd-creator` tool is used. For this, super user privileges are needed. + +The `livecd-creator` tool is part of the _livecd-tools_package. If it is not installed on your system, add it with DNF: + +[options="nowrap"] +---- +# dnf install livecd-tools spin-kickstarts +---- + +If you are interested in localized (i.e. translated into other languages) live CD files, install also _l10n-kickstarts_. + + +[id='configuring-the-image'] +== Configuring the image + +The configuration of the live image is defined by a file called _kickstart_. It can include some basic system configuration items, the package manifest, and a script to be run at the end of the build process. + +For the Fedora project, the most important live image configurations files are: + +* https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/fedora-live-base.ks[fedora-live-base.ks] +: The base live image system, included in the _livecd-tools_ package. +* For _Fedora 20 and earlier_: https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/fedora-livecd-desktop.ks[fedora-livecd-desktop.ks] +: Complete desktop with applications and input/output support for all supported locales in Fedora. This one is part of the `spin-kickstarts` package. Despite the name, this is the kickstart that generates the ~1GB-sized images for recent releases. +* For _Fedora 21 and later_: https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/fedora-live-workstation.ks[fedora-live-workstation.ks]. This is the Workstation product configuration. + +_kickstart_ files for other spins, e.g. Fedora Electronics Lab, can be found in `/usr/share/spin-kickstarts/` after installing the `spin-kickstarts` package. These pre-made configuration files can be a great place to start, as they already have some useful pre and post-installation scripts. + +image:system-config-kickstart.png[system-config-kickstart,title="fig:system-config-kickstart"] + +You can create a customized _kickstart_ file by running `system-config-kickstart`. + +[NOTE] +==== +You might have to install the package first with `dnf install system-config-kickstart` in Fedora 22 and beyond or `yum install system-config-kickstart` in earlier versions of Fedora. This tool is mainly intended for generating kickstart files for automated installs, not live images, so the output will probably not be usable without editing, but it may help you to generate particular kickstart directives. Remember to add the line `%include /usr/share/spin-kickstarts/fedora-live-base.ks` at the beginning of your _kickstart_ file to include the base live configuration. +==== + +[id='making-the-image'] +== Making the image + +To make the image, simply issue the following command: + +[options="nowrap"] +---- +livecd-creator --verbose \ +--config=/path/to/kickstart/file.ks \ +--fslabel=Image-Label \ +--cache =/var/cache/live +---- + +The name given by `--fs-label` is used: + +* As a file system label on the ext3 and iso9660 file systems. As such, it's visible on the desktop as the CD name. +* In the _isolinux_ boot loader. + +If you have the repositories available locally and don't want to wait for the download of packages, just substitute the URLs listed in the configuration file to point to your local repositories. + +[NOTE] +==== +If you have an x86_64 machine you're building on but you want a 32-bit happy iso image, add the following before your livecd-creator command: + +[options="nowrap"] +---- +setarch i686 livecd-creator [...] +---- +==== + + +[id='examples'] +== Examples + + +[id='spinning-the-fedora-desktop'] +=== Spinning the Fedora desktop + +The following command: + +[options="nowrap"] +---- +livecd-creator --verbose \ +--config=/usr/share/spin-kickstarts/fedora-live-workstation.ks \ +--fslabel=Fedora-LiveCD \ +--cache=/var/cache/live +---- + +This will create a live CD called *Fedora-LiveCD* using the `fedora-live-workstation.ks` configuration file. + + +[id='a-barebones-live-cd'] +=== A Barebones live CD + +The following command: + +[options="nowrap"] +---- +livecd-creator --verbose \ +--config=/usr/share/doc/livecd-tools-$(rpm -q livecd-tools --qf "%{VERSION}")/livecd-fedora-minimal.ks \ +--cache=/var/cache/live +---- + +This will create a live CD that will boot to a login prompt. + + +[id='testing-your-live-cd-using-kvm-or-qemu'] +== Testing your live CD using KVM or qemu + +image:qemu_gtk3.png[QEMU running Fedora 17,title="QEMU running Fedora 17"] + +As root: + +[options="nowrap"] +---- +# qemu-kvm -m 2048 -vga qxl -cdrom filename.iso +---- + +[NOTE] +==== +If you do not have https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine[KVM] support, you have to use qemu instead. + +[options="nowrap"] +---- +# qemu-system-x86_64 -m 2048 -vga qxl -cdrom filename.iso +---- +==== + +Replace `_filename.iso_` with the name of your created Live CD image and `_qemu-system-x86_64_` with an appropriate qemu binary for the target system, e.g. `qemu-system-i386`. + + +[id='using-your-new-live-image'] +== Using your new live image + +You can http://docs.fedoraproject.org/readme-burning-isos/[burn your image directly to a CD or a DVD] if it fits, or you can link:#proc_creating-and-using-live-usb[write it to a USB stick]. + + +[id='live-image-media-verification'] +== Live image media verification + +The live image can incorporate functionality to verify itself. To do so, you need to have _isomd5sum_ installed both on the system used for creating the image and installed into the image. This is so that the `implantisomd5` and `checkisomd5` utilities can be used. These utilities take advantage of embedding an _md5sum_ into the application area of the iso9660 image. This then gets verified before mounting the real root filesystem. diff --git a/modules/ROOT/pages/_partials/proc_creating-and-using-live-usb.adoc b/modules/ROOT/pages/_partials/proc_creating-and-using-live-usb.adoc new file mode 100644 index 0000000..5c61616 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_creating-and-using-live-usb.adoc @@ -0,0 +1,177 @@ +:experimental: + +[id='proc_creating-and-using-live-usb'] += Creating and using live USB + +You can write all Fedora ISO images to a USB stick, making this a convenient way on any USB-bootable computer to either install Fedora or try a *live* Fedora environment without writing to the computer's hard disk. You will need a USB stick at least as large as the image you wish to write. + +[id='using-fedora-media-writer'] +== Using Fedora Media Writer + +The official and supported tool to create a Fedora USB stick is the *Fedora Media Writer* utility, which was formerly known as *LiveUSB Creator*. To learn more about this application and how to use it, refer to the https://docs.fedoraproject.org/f28/install-guide/install/Preparing_for_Installation.html[Preparing for Installation] chapter of the Fedora Installation Guide. + + +[IMPORTANT] +==== +*Fedora Media Writer* destroys all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) or support for 'data persistence', you can use the link:using-the-livecd-iso-to-disk-tool[livecd-iso-to-disk] utility on Fedora. +==== + +[id='gnome-disk-utility'] +== Using GNOME Disk Utility + +IMPORTANT: This method will destroy all data on the USB stick. If you need a non-destructive write method (to preserve existing data on your USB stick) and/or support for 'data persistence', you can use the `livecd-iso-to-disk` utility on Fedora. + +[WARNING] +==== +This method is considered unsupported. You can use it on your own risk. +==== + +This method is for people running Linux, or another unix with GNOME, Nautilus and the GNOME Disk Utility installed. Particularly, if you are using a distribution other than Fedora which does not support Flatpak, this may be the easiest available method. A standard installation of Fedora, or a standard GNOME installation of many other distributions, should be able to use this method. On Fedora, ensure the packages _nautilus_ and _gnome-disk-utility_ are installed. Similar graphical direct-write tools may be available for other desktops, or you may use the command-line _direct write_ method. + +. Download a Fedora image, choose a USB stick that does not contain any data you need, and connect it. +. Run Nautilus (Files), open the *Overview* by pressing the *Start/Super* key, type Files, and hit kbd:[Enter]. +. Find the downloaded image, right-click on it, go to *Open With*, and click *Disk Image Writer*. +. Select your USB stick as the *Destination*, and click *Start Restoring*. + + +[id='command-line-method'] +== Command line methods + +[WARNING] +==== +These methods are considered unsupported. You can use them on your own risk. +==== + +[id='using-the-livecd-iso-to-disk-tool'] +=== Using the livecd-iso-to-disk tool + +IMPORTANT: This method will destroy all data on the USB stick _if the `--format` parameter is passed_. + +The `livecd-iso-to-disk` method is slightly less reliable than Fedora Media Writer and can be used reliably only from within Fedora: it does not work in Windows or OS X, and is not supported (and will usually fail) in non-Fedora distributions. However, it supports three advanced features which FMW does not include: + +. You may use a _non-destructive_ method to create the stick, meaning existing files on the stick will not be destroyed. This is less reliable than the _destructive_ write methods, and should be used only if you have no stick you can afford to wipe. +. On live images, you can include a feature called a _persistent overlay_, which allows changes made to persist across reboots. You can perform updates just like a regular installation to your hard disk, except that kernel updates require manual intervention and overlay space may be insufficient. Without a _persistent overlay_, the stick will return to a fresh state each time it is booted. +. On live images, you can also have a separate area to store user account information and data such as documents and downloaded files, with optional encryption for security and peace of mind. + +By combining these features, you can carry your computer with you in your pocket, booting it on nearly any system you find yourself using. + +It is not a good idea to try and write a new Fedora release using the version of `livecd-iso-to-disk` in a much older Fedora release: it is best to only use a release a maximum of two versions older than the release you are trying to write. + +Ensure the https://apps.fedoraproject.org/packages/livecd-tools[livecd-tools] package is installed: `dnf install livecd-tools`. + +[NOTE] +==== +Remember to identify your USB stick's device name first. In all cases, you can add the parameter `--efi` to render the stick bootable in native UEFI mode. Detailed usage information is available by running: `livecd-iso-to-disk --help` or `man livecd-iso-to-disk`. + +To make an existing USB stick bootable as a Fedora image, without deleting any of the data on it, make sure that the USB drive is not mounted before executing the following, and give the root password when prompted: + +[option="nowrap"] +---- +# livecd-iso-to-disk Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX +---- + +In case it is not possible to boot from a disk created with the method shown above, before re-partitioning and re-formatting, often resetting the master boot record will enable booting: + +[option="nowrap"] +---- +# livecd-iso-to-disk --reset-mbr Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX +---- +==== + +IMPORTANT: Using the `--format` option in the following command will erase all data on the USB drive. + +If necessary, you can have `livecd-iso-to-disk` re-partition and re-format the target stick: + +[option="nowrap"] +---- +# livecd-iso-to-disk --format --reset-mbr Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX +---- + +To include a persistent filesystem for `/home`, use the `--home-size-mb` parameter. For example: + +[option="nowrap"] +---- +# livecd-iso-to-disk --home-size-mb 2048 Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX +---- + +This will create a 2 GiB filesystem that will be mounted as `/home` each time the stick is booted, allowing you to preserve data in `/home` across boots. + +To enable 'data persistence' support - so changes you make to the entire live environment will persist across boots - add the `--overlay-size-mb` parameter to add a persistent data storage area to the target stick. For example: +[option="nowrap"] + +---- +# livecd-iso-to-disk --overlay-size-mb 2048 Fedora-Workstation-Live-x86_64-28-1.1.iso /dev/sdX +---- + +Here, `_2048_` is the desired size (in megabytes) of the overlay. The `livecd-iso-to-disk` tool will not accept an overlay size value greater than _4095_ for VFAT, but for ext[234] filesystems it is only limited by the available space. + +[NOTE] +==== +Due to the way it's currently implemented, every single change to this form of overlay, writes AND deletes, subtracts from its free space so it will eventually be "used up" and your USB stick will no longer boot. You can use `dmsetup` status `live-rw` to see how much space remains in the overlay. + +The output will contain something like snapshot `42296/204800`, indicating that 4229 of 204800 512-byte sectors are allocated. Because of these limitations, it is advisable to use the `system-level` persistence sparingly, for configuration changes and important security updates only. Or, if you have sufficient disk space available, changes to the `LiveOS` root filesystem snapshot can be merged into a new copy of the root filesystem. +==== + +You can combine `--home-size-mb` and `--overlay-size-mb`, in which case data written to `/home` will not exhaust the persistent overlay. + + +=== Using a direct write method + + +[IMPORTANT] +==== +This method will destroy all data on the USB stick. If you need a non-destructive write method, to preserve existing data on your USB stick, and/or support for `data persistence`, you can use the `livecd-iso-to-disk` utility on Fedora. +==== + +This method directly writes the image to the USB stick much like link:#using-fedora-media-writer[Fedora Media Writer] or GNOME Disk Utility, but uses a command line utility named `dd`. Like the other _direct write_ methods, it will destroy all data on the stick and does not support any of the advanced features like data persistence, but it is a very reliable method. The `dd` tool is available on most Unix-like operating systems, including Linux distributions and OS X, and a Windows port is available. This may be your best method if you cannot use link:#using-fedora-media-writer[Fedora Media Writer] or GNOME Disk Utility, or just if you prefer command line utilities and want a simple, quick way to write a stick. + +. Identify the name of the USB drive partition. If using this method on Windows, with the port linked above, the `dd --list` command should provide you with the correct name. +. *Unmount all mounted partition from that device*. This is very important, otherwise the written image might get corrupted. You can umount all mounted partitions from the device with `umount /dev/sdX*`, where `_X_` is the appropriate letter, e.g. `umount /dev/sdc*`. +. Write the ISO file to the device: ++ +[options="nowrap"] +---- +# dd if=/path/to/image.iso of=/dev/sdX bs=8M status=progress oflag=direct +---- +. Wait until the command completes. ++ +NOTE: If you see `dd: invalid status flag: 'progress'`, your dd version doesn't support the `status=progress` option and you'll need to remove it. In this case, you won't see writing progress. + + +[id='unetbootin'] +== Using UNetbootin for Windows, OS X, and Linux + +[WARNING] +==== +This method is considered unsupported. You can use it on your own risk. +==== + +[NOTE] +==== +UNetbootin may work in some cases but not others - for instance, it will likely create a stick that is bootable in BIOS mode, but not UEFI mode. Fedora cannot guarantee support for UNetbootin-written images. + +While your results may vary, it is usually the case that the Fedora Media Writer, `livecd-iso-to-disk`, GNOME, and `dd` methods give better results than UNetbootin. If you encounter problems with UNetbootin, please contact the UNetbootin developers, not the Fedora developers. +==== + +http://unetbootin.github.io/[UNetbootin] is a graphical, bootable USB image creator. Using it will allow you to preserve any data you have in the USB drive. If you have trouble booting, however, you may wish to try with a blank, cleanly FAT32-formatted drive. + +NOTE: If you are running a 64-bit Linux distribution, UNetbootin may fail to run until you install the 32-bit versions of quite a lot of system libraries. + +. Download the latest UNetbootin version from the http://unetbootin.github.io/[official site] and install it. On Linux, the download is an executable file: save it somewhere, change it to be executable using `chmod ugo+x` filename or a file manager, and then run it. +. Launch UNetbootin. On Linux, you might have to type the root password. +. Click on `Diskimage` and search for the ISO file you downloaded. +. Select Type: USB drive and choose the correct device for your stick. +. Click OK. + +NOTE: If you do not see _sdX_ listed, you might have to reformat the drive. You can do this from most file manager or disk utility tools, e.g. the GNOME disk utility ("Disks") on Fedora. The FAT32 format is most likely to result in a bootable stick. This will cause you to lose all data on the drive. + + +[id='creating_usb_stick_from_a_running_live_environment'] +== Creating a USB stick from a running live environment + +If you are already running a live CD, DVD, or USB and want to convert that into a bootable USB stick, run the following command: + +[option="nowrap"] +---- +# livecd-iso-to-disk /run/initramfs/livedev /dev/sdX" +---- diff --git a/modules/ROOT/pages/_partials/proc_creating-gpg-keys-cli.adoc b/modules/ROOT/pages/_partials/proc_creating-gpg-keys-cli.adoc new file mode 100644 index 0000000..f3f06f8 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_creating-gpg-keys-cli.adoc @@ -0,0 +1,105 @@ +[[creating-gpg-keys-cli]] += Creating GPG Keys Using the Command Line + +. Use the following shell command: ++ +---- +gpg2 --full-gen-key +---- ++ +This command generates a key pair that consists of a public and a private key. +Other people use your public key to authenticate and/or decrypt your communications. +Distribute your *public* key as widely as possible, especially to people who you know will want to receive authentic communications from you, such as a mailing list. +The Fedora Documentation Project, for example, asks participants to include a GPG public key in their link:DocsProject/SelfIntroduction[self-introduction]. + +. Press the kbd:[Enter] key to assign a default value if desired. +The first prompt asks you to select what kind of key you prefer: ++ +---- +Please select what kind of key you want: + (1) RSA and RSA (default) + (2) DSA and Elgamal + (3) DSA (sign only) + (4) RSA (sign only) +Your selection? +---- ++ +In almost all cases, the default is the correct choice. +A RSA/RSA key allows you not only to sign communications, but also to encrypt files. + +. Choose the key size: ++ +---- +RSA keys may be between 1024 and 4096 bits long. Larger is almost always recommended here, however your use case and security models may dictate otherwise. +What keysize do you want? (2048) +---- ++ +Again, the default is sufficient for almost all users, and represents an _extremely_ strong level of security. + +. Choose when the key will expire. +It is a good idea to choose an expiration date instead of using the default, which is _none._ +If, for example, the email address on the key becomes invalid, an expiration date will remind others to stop using that public key. ++ +---- +Please specify how long the key should be valid. + 0 = key does not expire + = key expires in n days + w = key expires in n weeks + m = key expires in n months + y = key expires in n years +Key is valid for? (0) +---- ++ +Entering a value of `1y`, for example, makes the key valid for one year. +(You may change this expiration date after the key is generated, if you change your mind.) +Before the `gpg2` program asks for signature information, the following prompt appears: ++ +---- +Is this correct (y/n)? +---- ++ +. Enter `y` to finish the process. + +. Enter your name and email address. +_Remember this process is about authenticating you as a real individual._ +For this reason, include your _real name_. +Do not use aliases or handles, since these disguise or obfuscate your identity. + +. Enter your real email address for your GPG key. +If you choose a bogus email address, it will be more difficult for others to find your public key. +This makes authenticating your communications difficult. +If you are using this GPG key for https://fedoraproject.org/wiki/Introduce_yourself_to_the_Docs_Project[self-introduction] on a mailing list, for example, enter the email address you use on that list. + +. Use the comment field to include aliases or other information. +(Some people use different keys for different purposes and identify each key with a comment, such as "Office" or "Open Source Projects.") + +. Enter the letter `O` at the confirmation prompt to continue if all entries are correct, or use the other options to fix any problems. + +. Enter a passphrase for your secret key. +The `gpg2` program asks you to enter your passphrase twice to ensure you made no typing errors. + +Finally, `gpg2` generates random data to make your key as unique as possible. +Move your mouse, type random keys, or perform other tasks on the system during this step to speed up the process. +Once this step is finished, your keys are complete and ready to use: + +---- +pub 1024D/1B2AFA1C 2005-03-31 John Q. Doe (Fedora Docs Project) +Key fingerprint = 117C FE83 22EA B843 3E86 6486 4320 545E 1B2A FA1C +sub 1024g/CEA4B22E 2005-03-31 [expires: 2006-03-31] +---- + +The key fingerprint is a shorthand signature for your key. +It allows you to confirm to others that they have received your actual public key without any tampering. +You do not need to write this fingerprint down. +To display the fingerprint at any time, use this command, substituting your email address: + +---- +gpg2 --fingerprint jqdoe@example.com +---- + +Your _GPG key ID_ consists of 8 hex digits identifying the public key. +In the example above, the GPG key ID is `1B2AFA1C`. +In most cases, if you are asked for the key ID, you should prepend "0x" to the key ID, as in `0x1B2AFA1C`. + +See now <>. +Make sure to back up your revocation keys for all active keys as this allows to revoke keys in the event of lost passphrase of key compromise. diff --git a/modules/ROOT/pages/_partials/proc_creating-gpg-keys-gnome.adoc b/modules/ROOT/pages/_partials/proc_creating-gpg-keys-gnome.adoc new file mode 100644 index 0000000..a0b588f --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_creating-gpg-keys-gnome.adoc @@ -0,0 +1,28 @@ +[[creating-gpg-keys-gnome]] += Creating GPG Keys Using the GNOME Desktop + +Install the Seahorse utility, which makes GPG key management easier. + +. Select menu:Applications[Add/Remove Software]. + +. Select the _Search_ tab and enter the name `seahorse`. + +. Select the checkbox next to the `seahorse` package and select _Apply_ to add the software. +You can also install Seahorse using the command line with the command `su -c "dnf install seahorse"`. + +To create a key: + +. Select menu:Activities[Passwords and Encryption Keys], which starts the application Seahorse. + +. Select menu:File[New... > PGP Key]. + +. Click btn:[Continue]. + +. Type your full name, email address, and an optional comment describing who you are (e.g.: John C. Smith, jsmith@example.com, The Man). +. Click btn:[Create]. + +. Choose a passphrase that is strong but also easy to remember in the dialog that is displayed. + +. Click btn:[OK] and the key is created. + +See now <>. diff --git a/modules/ROOT/pages/_partials/proc_creating-gpg-keys-kde.adoc b/modules/ROOT/pages/_partials/proc_creating-gpg-keys-kde.adoc new file mode 100644 index 0000000..2bee44a --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_creating-gpg-keys-kde.adoc @@ -0,0 +1,16 @@ +[[creating-gpg-keys-kde]] += Creating GPG Keys Using the KDE Desktop + +. Start the KGpg program from the main menu by selecting menu:Utilities[PIM > KGpg]. +If you have never used KGpg before, the program walks you through the process of creating your own GPG keypair. + +. Enter your name, email address, and an optional comment in the dialog box that appears prompting you to create a new key pair. +You can also choose an expiration time for your key, as well as the key strength (number of bits) and algorithms. + +. Enter your passphrase in the next dialog box. +At this point, your key appears in the main KGpg window. + +To find your GPG key ID, look in the _Key ID_ column next to the newly created key. +In most cases, if you are asked for the key ID, you should prepend `0x` to the key ID, as in `0x6789ABCD`. + +See now <>. diff --git a/modules/ROOT/pages/_partials/proc_creating-new-systemd-services.adoc b/modules/ROOT/pages/_partials/proc_creating-new-systemd-services.adoc new file mode 100644 index 0000000..9287317 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_creating-new-systemd-services.adoc @@ -0,0 +1,97 @@ +[#creating-new-systemd-services] += Creating new systemd services + +This example shows how to create a unit file for a custom service. Custom unit files are located in `/etc/systemd/system/` and have a `.service` extension. For example, a custom `foo` service uses `/etc/systemd/system/foo.service` unit file. + +.Prerequisites + +* You are logged in as a user with administrator-level permissions. + +.Procedure + +This procedure creates a basic configuration file to control the `foo` service. + +. Create and edit the new configuration file: ++ +---- +# vi /etc/systemd/system/foo.service +---- + +. The next few steps describe each section its parameters to add to the file: + +.. The `[Unit]` section provides basic information about the service. The `foo` service uses the following parameters: ++ +`Description`:: + A string describing the unit. systemd displays this description next to the unit name in the user interface. +`Requires`:: + Defines unit to use as a dependency for the service. If you activate the unit, systemd activates the units listed in `Requires` as well. For example, the `foo` service might require network connectivity, which means the `foo` services requires `network.target` as a dependency. ++ +The resulting `[Unit]` section looks like this: ++ +---- +[Unit] +Description=My custom service +Requires=network.target +---- + +.. The `[Service]` section provides instructions on how to control the service. The `foo` service uses the following parameters: ++ +`Type`:: + Defines the type of systemd service. In this example, the `foo` service is a `simple` service, which starts the service without any special consideration. +`ExecStart`:: + The command to run to start the service. This includes the full path to the command and arguments to modify the service. ++ +The resulting `[Service]` section looks like this: ++ +---- +[Service] +Type=simple +ExecStart=/usr/bin/sleep infinity +---- + +.. The `[Install]` section provides instructions on how systemd installs the service. The `foo` service uses the following parameters: ++ +`WantedBy`:: + Defines which service triggers the custom service if enabled with `systemctl enable`. This is mostly used for starting the custom service on boot. In this example, `foo.service` uses `multi-user.target`, which starts `foo.service` when systemd loads `multi-user.target` on boot. + +. The full `foo.service` file contains the following contents: ++ +---- +[Unit] +Description=My custom service +Requires=network.target + +[Service] +Type=simple +ExecStart=/usr/bin/sleep infinity + +[Install] +WantedBy=multi-user.target +---- ++ +Save the file. + +. Start the custom `foo` service: ++ +---- +# systemctl start foo +---- + +. Check the status of the service to ensure the service is running: ++ +---- +$ systemctl status foo +● foo.service - My custom service + Loaded: loaded (/etc/systemd/system/foo.service; static; vendor preset: disabled) + Active: active (running) since Thu 2017-12-14 14:09:12 AEST; 6s ago + Main PID: 31837 (sleep) + Tasks: 1 (limit: 4915) + CGroup: /system.slice/foo.service + └─31837 /usr/bin/sleep infinity + +Dec 14 14:09:12 dansmachine systemd[1]: Started My custom service. +---- + +.Related Information + +* See link:#common-service-parameters[Common service parameters] for more information about the parameters used in this procedure. diff --git a/modules/ROOT/pages/_partials/proc_creating-virtual-machines.adoc b/modules/ROOT/pages/_partials/proc_creating-virtual-machines.adoc new file mode 100644 index 0000000..6704a3e --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_creating-virtual-machines.adoc @@ -0,0 +1,118 @@ +[[creating-virtual-machines]] += Creating virtual machines + +The installation of Fedora guests using Anaconda is supported. The installation can be started on the command-line using the `virt-install` program or in the user interface program `virt-manager`. + +[[creating-a-guest-with-virt-install]] +== Creating a guest with virt-install + +`virt-install` is a command-line based tool for creating virtualized guests. Execute `virt-install --help` for command line help, or you can find the manual page at `man 1 virt-install`. + +To use the virt-install command, you should first download an ISO of the Fedora version you wish to install. You can find the latest Fedora images at https://getfedora.org. This ISO is only needed during Fedora installation, and can be deleted to free up storage space afterwards if desired. More information about Fedora installation can be found at https://docs.fedoraproject.org/f28/install-guide/. In this example we'll use Fedora Workstation. + +=== Planning VM Resources +Adjust the ram, vcpus, and disk size parameters according to the resources you have available. + +* Storage: An easy way to check your disk size from a bash shell is using the `df(1)`` utility from the shell: +---- +# df -h +---- +* Memory: You can check your available memory from the shell using free(1): +---- +# free -m +---- +* VCPU: You can check your processor information using `lscpu(1)`: +---- +# lscpu +---- + +When allocating resources to your VM, keep in mind the minimum system requirements for the version of Fedora you are installing as well as your use case requirements. For Fedora 28, you can find this in the release notes here: https://docs.fedoraproject.org/f28/release-notes/welcome/Hardware_Overview.html#hardware_overview-specs. + +==== Create Storage for the VM + +The libvirt default storage pool is located at /var/lib/libvirt/images - which is the parent file path we use in this example. For individuals who are lacking enough storage in that path, you can simply mount a new disk or partition to that directory path (from the BASH shell, type `man 1 mount`) or select a new path. In the example `virt-install` command below, the disk did not exist prior to running virt-install. When the specified disk is not pre-existing, you must specify the size so virt-install can create a disk for you. If your disk already exists, you can safely remove the `,size=20` parameter from the disk argument. + +You have several disk storage options for your VM. While it's outside the scope of this article to discuss these in detail, the following are a few common options. These examples use 20G as the upper limit for disk size, but you can adjust this size to fit your needs. + +[Note] +==== +Again, you do not need to manually allocate storage using the example options shown below if you specify the size parameter in the virt-install example shown below. +==== + +===== Raw File (Non-Sparse) + +To create a fully allocated (non-sparse) raw file: + +---- +dd if=/dev/zero of=/var/lib/libvirt/images/guest.img bs=1M count=20480 +---- + +you can also use fallocate(1): + +---- +fallocate -l 20480M /var/lib/libvirt/images/guest.img +---- + +===== Raw File (Sparse) + +To create a dynamically allocated (sparse) raw file: + +---- +rm -f /var/lib/libvirt/images/guest.img +truncate --size=20480M /var/lib/libvirt/images/guest.img +---- + + +===== QCOW2 +To create a new qcow2-formatted disk separately, you can use qemu-img (the example below specifies a disk size of 20G): + +---- +# qemu-img create -f qcow2 /var/lib/libvirt/images/guest.qcow2 20480 +---- + +More information about libvirt storage options can be found at https://libvirt.org/storage.html. + +Finally, run the virt-install command using the following format (adjusting parameters as needed): + +---- +# virt-install --name Fedora28 \ +--description 'Fedora 28 Workstation' \ +--ram 4096 \ +--vcpus 2 \ +--disk path=/var/lib/libvirt/images/Fedora-Workstation-28/Fedora-Workstation-28-20180518.0.x86_64.qcow2,size=20 \ +--os-type linux \ +--os-variant fedora28 \ +--network bridge=virbr0 \ +--graphics vnc,listen=127.0.0.1,port=5901 \ +--cdrom /var/lib/libvirt/images/Fedora-Workstation-28/Fedora-Workstation-Live-x86-64-28-1.1.iso \ +--noautoconsole +---- + +[Note] +==== +Note: For the graphics parameter, we're setting the vnc listener to localhost because it's more secure to tunnel your VNC connection through SSH so that you don't expose VNC to everyone with access to the network. +==== + +`virt-install` can use kickstart files, for example, `virt-install -x ks=kickstart-file-name.ks`. + +If graphics were enabled, a VNC window will open and present the graphical installer. If graphics were not enabled, a text installer will appear. Proceed with the Fedora installation. + +[[creating-a-guest-with-virt-manager]] +== Creating a guest with virt-manager + +. Start Virtual Machine Manager by navigating to menu:Applications[System Tools], or by running the following command: ++ +---- +# virt-manager +---- ++ +. Open a connection to a hypervisor by navigating to menu:File[Add connection]. +. Choose *qemu* for KVM, or *Xen* for Xen. +. Choose *local* or select a method to connect to a remote hypervisor. +. After a connection is opened, click the new icon next to the hypervisor, or right-click on the active hypervisor and select *New*. +. Configure the virtual machine following the steps in the *New VM* wizard. +. Click *Finish* at the end of the wizard to provision the guest operating system. After a few moments a VNC window will appear. Proceed with the Fedora installation. + + + + diff --git a/modules/ROOT/pages/_partials/proc_creating_xorg_conf.adoc b/modules/ROOT/pages/_partials/proc_creating_xorg_conf.adoc new file mode 100644 index 0000000..5507a81 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_creating_xorg_conf.adoc @@ -0,0 +1,18 @@ +[[creating-an-xorg-conf-file]] += Creating an xorg.conf file + +You can create a basic file using the `X` executable. It will contain sections and entries that you can edit to suit your needs. To create the file, enter this command as *root*: + +---- +# Xorg :1 -configure +---- + +Next, copy the file to the correct location: + +---- +# cp /root/xorg.conf.new /etc/X11/xorg.conf +---- + +Now you may edit the file according to your needs. + +See the `xorg.conf(5)` man page for more information. diff --git a/modules/ROOT/pages/_partials/proc_disabling-gnome-screenlock.adoc b/modules/ROOT/pages/_partials/proc_disabling-gnome-screenlock.adoc new file mode 100644 index 0000000..8d8bd03 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_disabling-gnome-screenlock.adoc @@ -0,0 +1,16 @@ += Disabling the GNOME Automatic Screen Lock + +In the interest of safety and privacy, the GNOME automatic screen lock is enabled by default. + +When the screen locks after a period of inactivity, you must enter your password to unlock the screen. + +You can disable this feature at any time. + +To disable the GNOME automatic screen lock, complete the following steps. + +. On the desktop, navigate to the upper-right corner of the screen and click the arrow icon to expand the desktop options. Click the *Settings* icon. +. From the the *Settings* menu, select *Privacy*. +. On the *Privacy* page, select *Screen Lock*, and toggle the switch from *On* to *Off*. +. Close the window and verify that in the *Privacy* page, the *Screen Lock* is *Off*. + +To enable the automatic screen lock, repeat this process and toggle the switch from *Off* to *On*. diff --git a/modules/ROOT/pages/_partials/proc_disabling-repositories.adoc b/modules/ROOT/pages/_partials/proc_disabling-repositories.adoc new file mode 100644 index 0000000..6e06a2d --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_disabling-repositories.adoc @@ -0,0 +1,20 @@ +[id='disabling-repositories'] += Disabling repositories + +This section shows how to disable a particular software repository by using the `dnf config-manager` command. + +[discrete] += Procedure + +* To disable a particular repository, use the following command as *root*: ++ +[literal,subs="+quotes,attributes"] +---- +# dnf config-manager --set-disabled _repository_ +---- ++ +Replace `_repository_` with the unique repository ID, for example: ++ +---- +# dnf config-manager --set-disabled fedora-extras +---- diff --git a/modules/ROOT/pages/_partials/proc_disabling-selinux.adoc b/modules/ROOT/pages/_partials/proc_disabling-selinux.adoc new file mode 100644 index 0000000..6d0e69c --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_disabling-selinux.adoc @@ -0,0 +1,38 @@ +// Module included in the following assemblies: +// +// changing-selinux-states-and-modes.adoc + +[#{context}-Enabling_and_Disabling_SELinux-Disabling_SELinux] += Disabling SELinux + +When SELinux is disabled, SELinux policy is not loaded at all; it is not enforced and AVC messages are not logged. Therefore, all benefits of running SELinux listed in link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-introduction#sect-Security-Enhanced_Linux-Introduction-Benefits_of_running_SELinux[Benefits of SELinux] are lost. + +[IMPORTANT] +==== +It is recommended to use permissive mode instead of permanently disabling SELinux. See <<{context}-changing-to-permissive-mode>> for more information about permissive mode. +==== + +To permanently disable SELinux, follow the procedure below: + +. Configure [option]`SELINUX=disabled` in the `/etc/selinux/config` file: ++ +---- + +# This file controls the state of SELinux on the system. +# SELINUX= can take one of these three values: +# enforcing - SELinux security policy is enforced. +# permissive - SELinux prints warnings instead of enforcing. +# disabled - No SELinux policy is loaded. +SELINUX=pass:quotes[*disabled*] +# SELINUXTYPE= can take one of these two values: +# targeted - Targeted processes are protected, +# mls - Multi Level Security protection. +SELINUXTYPE=targeted +---- + +. Reboot your system. After reboot, confirm that the [command]`getenforce` command returns `Disabled`: ++ +---- +`~]$`pass:attributes[{blank}] pass:attributes[{blank}][command]`getenforce` +Disabled +---- diff --git a/modules/ROOT/pages/_partials/proc_disabling-shortcut-custom-app-gnome.adoc b/modules/ROOT/pages/_partials/proc_disabling-shortcut-custom-app-gnome.adoc new file mode 100644 index 0000000..8036cd9 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_disabling-shortcut-custom-app-gnome.adoc @@ -0,0 +1,36 @@ +[id='disabling-shortcut-custom-app-gnome'] += Disabling keyboard shortcuts for custom applications in GNOME + +This section describes how to disable a keyboard shortcut for starting a custom application in GNOME. + +[discrete] +== Procedure + +. Open *Settings* and choose the *Devices* entry from the list: ++ +image::shortcuts-settings-devices.png[] ++ +NOTE: Earlier Fedora versions might not need this step. + +. Choose the *Keyboard* entry from the list and scroll down to the bottom of the list of keyboard shortcuts: ++ +image::shortcuts-keyboard-scroll.png[] + +. Scroll down in the list of shortcuts and applications until you locate the application that you want to disable: ++ +image::shortcuts-added.png[] + +. Click on the entry. ++ +A window for editing the shortcut appears: ++ +image::shortcuts-edit.png[] + +. Click the small *x* button to the right of the disaplyed shortcut. ++ +The keyboard shortcut is removed from this shortcut and the shortcut list now displays _Disabled_ instead of the key combination: ++ +image::shortcuts-disabled.png[] + +. Close the shortcut editing window. + diff --git a/modules/ROOT/pages/_partials/proc_displaying_user_prompt_on_gnome_login_screen.adoc b/modules/ROOT/pages/_partials/proc_displaying_user_prompt_on_gnome_login_screen.adoc new file mode 100644 index 0000000..debe0b9 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_displaying_user_prompt_on_gnome_login_screen.adoc @@ -0,0 +1,70 @@ +[id=displaying-user-prompt-instead-of-list-of-users-on-GNOME-login-screen] += Displaying a user prompt instead of a list of users on the GNOME login screen + +To show a user prompt on the GNOME login screen, open a terminal and perform the following steps: + +. Create a file for the GNOME Display Manager (GDM) configuration. ++ +---- +$ sudo mkdir /etc/dconf/db/gdm.d +---- ++ +---- +$ vim /etc/dconf/db/gdm.d/01-hide-users +---- + +. In a text editor of your choice, `vim` in this example, insert the following content to the `/etc/dconf/db/gdm.d/01-hide-users` file: ++ +---- +[org/gnome/login-screen] +banner-message-enable=true +banner-message-text='ENTER ANY MESSAGE YOU WANT HERE. FOR A NEW LINE USE \n.' +disable-restart-buttons=true +disable-user-list=true +---- ++ +[NOTE] +-- +To not display the banner message, do not include the first and second line. To enable the `Restart` button, do not include the fourth line. +-- ++ +Save the file and return to the terminal. + +. Create another file for GDM configuration. ++ +---- +$ sudo vim /etc/dconf/profile/gdm +---- ++ +Insert the following content in the `/etc/dconf/profile/gdm` file: ++ +---- +user-db:user +system-db:gdm +---- ++ +Save the file. + +. Enter the following command: ++ +---- +$ sudo dconf update +---- + +. Check if the command was executed correctly: ++ +---- +$ ls /etc/dconf/db +---- ++ +The output should contain the following: ++ +---- +gdm gdm.d ... [output truncated] +---- + +. Restart GDM for the changes to take effect. ++ +---- +$ sudo systemctl restart gdm +---- diff --git a/modules/ROOT/pages/_partials/proc_downloading-fedora.adoc b/modules/ROOT/pages/_partials/proc_downloading-fedora.adoc new file mode 100644 index 0000000..e389f53 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_downloading-fedora.adoc @@ -0,0 +1,13 @@ +[id='downloading-fedora'] += Downloading Fedora + +You can download Fedora from https://getfedora.org/. + +There are multiple desktops available for use with Fedora. Each has a slightly different look and feel and offers varying levels of customization. Visit http://fedoraproject.org/en/get-fedora-options#desktops[Fedora Desktops] to know more. + +Fedora spins are alternate versions of Fedora, tailored for various types of users, using hand-picked application sets and other customizations. Visit http://fedoraproject.org/en/get-fedora-options#spins[Fedora Spins] to know more. + +[NOTE] +==== +Please refer to https://docs.fedoraproject.org/f27/install-guide/index.html[Fedora Installation Guide] for getting help on the process of installing Fedora. +==== \ No newline at end of file diff --git a/modules/ROOT/pages/_partials/proc_downloading-source-code.adoc b/modules/ROOT/pages/_partials/proc_downloading-source-code.adoc new file mode 100644 index 0000000..e17fa3e --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_downloading-source-code.adoc @@ -0,0 +1,22 @@ += Downloading the Source Code + +. Navigate to the directory where you want to save the source: ++ +[subs="+quotes"] +---- +cd __ +---- ++ +. Download the TAR file containing the source code you want to install from: ++ +[subs="+quotes"] +---- +wget __ +---- ++ +. Extract the tarball file contents to the current working directory: ++ +[subs="+quotes"] +---- +tar -xf __ +---- diff --git a/modules/ROOT/pages/_partials/proc_enabling-chromium-plugins.adoc b/modules/ROOT/pages/_partials/proc_enabling-chromium-plugins.adoc new file mode 100644 index 0000000..edafbcd --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-chromium-plugins.adoc @@ -0,0 +1,29 @@ +[id='enabling-chromium-plugins'] += Enabling Chromium plugins + +.To enable *widevine* plugin + +Fedora's _chromium_ package is built to support the *widevine* plugin (but does not include it). + +. Copy `libwidevinecdm.so` and `libwidevinecdmadapter.so` from the Google Chrome package into `/usr/lib64/chromium-plugins`. + +. Restart Chromium. You can see *Widevine Content Decryption Module* in *chrome://flags*. + +.Using the *Pepper Plugin Application Programming Interface (PPAPI)* flash plugin + +. Click the following link to download the flash plugin: link:https://get.adobe.com/flashplayer/otherversions/[get.adobe.com/flashplayer/otherversions]. + +. Select *Linux 64-bit* and then *FP 22.0* (or later) for *Linux 64-bit(.tar.gz)-PPAPI*. You will then have `flash_player_ppapi_linux.x86_64.tar.gz`. + +. Unpack the tar into `/usr/lib64/chromium-browser/PepperFlash/`. + +. Restart chromium. You can see *Adobe Flash Player* in *chrome://plugins*. + +NOTE: To enable speech synthesis support, pass the `--enable-speech-dispatcher` flag to `chromium-browser`. + + +[discrete] +== Additional resources + +* https://get.adobe.com/flashplayer/otherversions/ +* https://fedoraproject.org/wiki/Chromium diff --git a/modules/ROOT/pages/_partials/proc_enabling-hardware-virtualization-support.adoc b/modules/ROOT/pages/_partials/proc_enabling-hardware-virtualization-support.adoc new file mode 100644 index 0000000..c72a417 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-hardware-virtualization-support.adoc @@ -0,0 +1,22 @@ +[[enabling-hardware-virtualization-support]] += Enabling hardware virtualization support + +This section covers setting up `libvirt` on your system. After setting up `libvirt`, you can create virtualized guest operating systems, also known as virtual machines. + + +[[system-requirements]] +== System requirements + +To run virtualization on Fedora, you need: + +* At least 600MB of hard disk storage per guest. A minimal command-line Fedora system requires 600MB of storage. Standard Fedora desktop guests require at least 3GB of space. + +* At least 256MB of RAM per guest, plus 256MB for the base operating system. At least 756MB is recommended for each guest of a modern operating system. A good way to estimate this is to think about how much memory is required for the operating system normally, and allocate that amount to the virtualized guest. + +KVM requires a CPU with virtualization extensions, found on most consumer CPUs. These extensions are called Intel VT or AMD-V. To check whether you have CPU support, run the following command: + +---- +$ egrep '^flags.*(vmx|svm)' /proc/cpuinfo +---- + +If this command results in nothing printed, your system does not support the relevant virtualization extensions. You can still use QEMU/KVM, but the emulator will fall back to software virtualization, which is much slower. diff --git a/modules/ROOT/pages/_partials/proc_enabling-latest-virtio-win-repo.adoc b/modules/ROOT/pages/_partials/proc_enabling-latest-virtio-win-repo.adoc new file mode 100644 index 0000000..a5aecd1 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-latest-virtio-win-repo.adoc @@ -0,0 +1,10 @@ +[[enabling-latest-virtio-win-repo]] += Enabling the latest Windows VirtIO Repository + +By default, the *virtio-win-latest* repository is disabled and *virtio-win-stable* repo is enabled. + +To enable the *virtio-win-latest* repo with DNF: + +---- +# dnf --enablerepo=virtio-win-latest upgrade virtio-win +---- diff --git a/modules/ROOT/pages/_partials/proc_enabling-nested-virtualization-in-kvm.adoc b/modules/ROOT/pages/_partials/proc_enabling-nested-virtualization-in-kvm.adoc new file mode 100644 index 0000000..0bc5ec3 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-nested-virtualization-in-kvm.adoc @@ -0,0 +1,56 @@ +[[proc_enabling-nested-virtualization-in-kvm]] += Enabling nested virtualization in KVM + +Nested virtualization allows you to run a virtual machine (VM) inside another VM while still using hardware acceleration from the host. + +== Checking if nested virtualization is supported + +For Intel processors, check the `/sys/module/kvm_intel/parameters/nested` file. For AMD processors, check the `/sys/module/kvm_amd/parameters/nested` file. If you see `1` or `Y`, nested virtualization is supported; if you see `0` or `N`, nested virtualization is not supported. + +For example: + +---- +$ cat /sys/module/kvm_intel/parameters/nested +Y +---- + + +== Enabling nested virtualization + +To enable nested virtualization for Intel processors: + +. Shut down all running VMs and unload the `kvm_probe` module: ++ +---- +# modprobe -r kvm_intel +---- +. Activate the nesting feature: ++ +---- +# modprobe kvm_intel nested=1 +---- ++ +. Nested virtualization is enabled until the host is rebooted. To enable it permanently, add the following line to the `/etc/modprobe.d/kvm.conf` file: ++ +---- +options kvm_intel nested=1 +---- + +To enable nested virtualization for AMD processors: + +. Shut down all running VMs and unload the `kvm_amd` module: ++ +---- +# modprobe -r kvm_amd +---- +. Activate the nesting feature: ++ +---- +# modprobe kvm_amd nested=1 +---- +. Nested virtualization is enabled until the host is rebooted. To enable it permanently, add the following line to the `/etc/modprobe.d/kvm.conf` file: ++ +---- +options kvm_amd nested=1 +---- + diff --git a/modules/ROOT/pages/_partials/proc_enabling-repositories.adoc b/modules/ROOT/pages/_partials/proc_enabling-repositories.adoc new file mode 100644 index 0000000..5f451db --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-repositories.adoc @@ -0,0 +1,20 @@ +[id='enabling-repositories'] += Enabling repositories + +This section shows how to enable a particular software repository by using the `dnf config-manager` command. + +[discrete] += Procedure + +* To enable a particular repository, use the following command as `root`. ++ +[literal,subs="+quotes,attributes"] +---- +# dnf config-manager --set-enabled _repository_ +---- ++ +Replace `_repository_` with the unique repository ID, for example: ++ +---- +# dnf config-manager --set-enabled fedora-extras +---- diff --git a/modules/ROOT/pages/_partials/proc_enabling-selinux.adoc b/modules/ROOT/pages/_partials/proc_enabling-selinux.adoc new file mode 100644 index 0000000..465cf22 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-selinux.adoc @@ -0,0 +1,28 @@ +// Module included in the following assemblies: +// +// changing-selinux-states-and-modes.adoc + +[#{context}-enabling-selinux] += Enabling SELinux + +When enabled, SELinux can run in one of two modes: enforcing or permissive. The following sections show how to permanently change into these modes. + +While enabling SELinux on systems that previously had it disabled, to avoid problems, such as systems unable to boot or process failures, follow this procedure: + +. Enable SELinux in permissive mode. For more information, see <<{context}-changing-to-permissive-mode>>. + +. Reboot your system. + +. Check for SELinux denial messages. +// For more information, see <>. + +. If there are no denials, switch to enforcing mode. For more information, see <<{context}-changing-to-enforcing-mode>>. + +To run custom applications with SELinux in enforcing mode, choose one of the following scenarios: + +* Run your application in the `unconfined_service_t` domain. +// See <> for more information. + +* Write a new policy for your application. See the link:++https://access.redhat.com/solutions/117583++[Writing Custom SELinux Policy] Knowledgebase article for more information. + +// Temporary changes in modes are covered in <<{context}-selinux-states-and-modes>>. diff --git a/modules/ROOT/pages/_partials/proc_enabling-serial-console-grub.adoc b/modules/ROOT/pages/_partials/proc_enabling-serial-console-grub.adoc new file mode 100644 index 0000000..521708e --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-serial-console-grub.adoc @@ -0,0 +1,18 @@ +[[enabling-serial-console-grub]] += Enabling Serial Console in GRUB2 + +To enable Serial console in grub: + +.Procedure + +. Edit the `/etc/default/grub` file. + +. Adjust `baudrate`, `parity`, `bits`, and `flow` controls to fit your environment and cables, see the example. ++ +---- +GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8' +GRUB_TERMINAL=serial +GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" +---- + +. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in xref:adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. diff --git a/modules/ROOT/pages/_partials/proc_enabling-shortcut-custom-app-gnome.adoc b/modules/ROOT/pages/_partials/proc_enabling-shortcut-custom-app-gnome.adoc new file mode 100644 index 0000000..2d43f5f --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-shortcut-custom-app-gnome.adoc @@ -0,0 +1,38 @@ +[id='enabling-shortcut-custom-app-gnome'] += Enabling keyboard shortcuts for custom applications in GNOME + +This section describes how to enable a keyboard shortcut for starting a custom application in GNOME. + +. Open *Settings* and choose the *Devices* entry from the list: ++ +image::shortcuts-settings-devices.png[] ++ +NOTE: Earlier Fedora versions might not need this step. + +. Choose the *Keyboard* entry from the list and scroll down to the bottom of the list of keyboard shortcuts: ++ +image::shortcuts-keyboard-scroll.png[] + +. Scroll down in the list of shortcuts and applications until you locate the application that you want to enable: ++ +image::shortcuts-list-disabled.png[] + +. Click on the entry. ++ +A window for editing the shortcut appears: ++ +image::shortcuts-disabled.png[] + +. Click the *Set shortcut...* button. ++ +A window for entering the keyboard shortcut appears: ++ +image::shortcuts-enabling-entering.png[] + +. Press the key combination that should become the shortcut for starting the application. ++ +As soon as you release the key combination, the window for entering the shortcut closes. The window for application name and command now displays the entered shortctut: ++ +image::shortcuts-enabling-entered.png[] + +. Close the shortcut editing window. diff --git a/modules/ROOT/pages/_partials/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc b/modules/ROOT/pages/_partials/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc new file mode 100644 index 0000000..a4f730c --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc @@ -0,0 +1,58 @@ +// Module included in the following assemblies: +// +// + +// This module can be included from assemblies using the following include statement: +// include::modules/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc[leveloffset=+1] + +// The file name and the ID are based on the module title. For example: +// * file name: proc_doing-procedure-a.adoc +// * ID: [id='proc_doing-procedure-a_{context}'] +// * Title: = Doing procedure A +// +// The ID is used as an anchor for linking to the module. Avoid changing +// it after the module has been published to ensure existing links are not +// broken. +// +// The `context` attribute enables module reuse. Every module's ID includes +// {context}, which ensures that the module has a unique ID even if it is +// reused multiple times in a guide. +// +// Start the title with a verb, such as Creating or Create. See also +// _Wording of headings_ in _The IBM Style Guide_. +[id="proc_enabling-the-rpmfusion-repositories-using-command-line-utilities_{context}"] += Enabling the RPM Fusion repositories using command-line utilities + +This procedure describes how to enable the RPM Fusion software repositories without using any graphical applications. + +[discrete] +== Prerequisites + +* You have internet access. + +[discrete] +== Procedure + +. To enable the _Free_ repository, use: ++ +[subs=+quotes] +---- +$ sudo dnf install \ + https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm +---- + +. Optionally, enable the _Nonfree_ repository: ++ +[subs=+quotes] +---- +$ sudo dnf install \ + https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm +---- + +. The first time you attempt to install packages from these repositories, the `dnf` utility prompts you to confirm the signature of the repositories. Confirm it. + +[discrete] +== Additional resources + +* You can also use graphical applications to configure the repositories if you prefer. + diff --git a/modules/ROOT/pages/_partials/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc b/modules/ROOT/pages/_partials/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc new file mode 100644 index 0000000..8e542c4 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc @@ -0,0 +1,53 @@ +// Module included in the following assemblies: +// +// + +// This module can be included from assemblies using the following include statement: +// include::modules/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc[leveloffset=+1] + +// The file name and the ID are based on the module title. For example: +// * file name: proc_doing-procedure-a.adoc +// * ID: [id='proc_doing-procedure-a_{context}'] +// * Title: = Doing procedure A +// +// The ID is used as an anchor for linking to the module. Avoid changing +// it after the module has been published to ensure existing links are not +// broken. +// +// The `context` attribute enables module reuse. Every module's ID includes +// {context}, which ensures that the module has a unique ID even if it is +// reused multiple times in a guide. +// +// Start the title with a verb, such as Creating or Create. See also +// _Wording of headings_ in _The IBM Style Guide_. +[id="proc_enabling-the-rpmfusion-repositories-using-graphical-applications_{context}"] += Enabling the RPM Fusion repositories using graphical applications + +This procedure describes how to enable the RPM Fusion software repositories without using any command-line utilities. + +[discrete] +== Prerequisites + +* You have internet access. +* You are using the Gnome desktop environment. + +[discrete] +== Procedure + +. In your web browser, open the following page: link:https://rpmfusion.org/Configuration[]. + +. To enable the _Free_ repository, click the *RPM Fusion free for Fedora _version_* link on the page, where _version_ is the Fedora release you are using. This prompts you to save or open the repo file. + +. Open the file using the *Software Install* application. + +. The *Software* application opens. Click the blue *Install* button. + +. Optionally, enable the _Nonfree_ repository: click the *RPM Fusion nonfree for Fedora _version_* link on the page, where _version_ is the Fedora release you are using. + +. Save and install the file with the *Software* application again. + +[discrete] +== Additional resources + +* If the graphical configuration fails, try enabling the repositories using command-line utilities instead. + diff --git a/modules/ROOT/pages/_partials/proc_enabling-third-party-repository.adoc b/modules/ROOT/pages/_partials/proc_enabling-third-party-repository.adoc new file mode 100644 index 0000000..4df1935 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling-third-party-repository.adoc @@ -0,0 +1,14 @@ +[id='enabling-third-party-repository'] += Enabling Third party repositories + +Once you have downloaded the rpm, you can enable the repository. + +== To enable repo: + +. Login as root: +`$ su` + +. Create a file in */etc/yum.repos.d/* directory to enable third party repository. This file must end with *.repo* . The repository file contains the URL of the the repository, a name, enabled, gpgcheck. + +. To enable repo, use the following command: +`# dnf --enablerepo=` diff --git a/modules/ROOT/pages/_partials/proc_enabling_firewalld.adoc b/modules/ROOT/pages/_partials/proc_enabling_firewalld.adoc new file mode 100644 index 0000000..4e2916e --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_enabling_firewalld.adoc @@ -0,0 +1,81 @@ +// Module included in the following assemblies: +// +// + +// Base the file name and the ID on the module title. For example: +// * file name: doing-procedure-a.adoc +// * ID: [id='doing-procedure-a'] +// * Title: = Doing procedure A + +// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. +[id='doing-one-procedure_{context}'] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Doing one procedure +// Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_. + +This paragraph is the procedure module introduction: a short description of the procedure. + +.Prerequisites + +* A bulleted list of conditions that must be satisfied before the user starts following this assembly. +* You can also link to other modules or assemblies the user must follow before starting this assembly. +* Delete the section title and bullets if the assembly has no prerequisites. + +.Procedure + +. Start each step with an active verb. + +. Include one command or action per step. + +. Use an unnumbered bullet (*) if the procedure includes only one step. + +.Additional resources + +* A bulleted list of links to other material closely related to the contents of the procedure module. +* For more details on writing procedure modules, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. + + +== Do I have FirewallD on my system? + +FirewallD is the default firewall service for current releases of Fedora and is enabled by default. +If you are not sure whether FirewallD is on your Fedora installation use the following commands to check. + + +. Check if your system has FirewallD enabled. +Enter the folowing on the command line: + +[source,bash] + +---- + +sudo firewall-cmd --state + +---- + +You will see `running` if FirewallD is on your system. + +If you see `not running`, then FirewallD is not on your system. Use these commands to install it: + + +. Install FirewallD: + +[source,bash] + +---- + +sudo dnf install firewalld + +---- + +. Install the FirewallD graphical-user-interface application and open it from the command-line, type: + +[source,bash] + +---- + +sudo dnf install firewall-config + +sudo firewall-config + +---- diff --git a/modules/ROOT/pages/_partials/proc_exporting-gpg-keys-cli.adoc b/modules/ROOT/pages/_partials/proc_exporting-gpg-keys-cli.adoc new file mode 100644 index 0000000..c8b7ec9 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_exporting-gpg-keys-cli.adoc @@ -0,0 +1,19 @@ +[[exporting-gpg-keys-cli]] += Exporting a GPG Key Using the Command Line + +Use the following command to send your key to a public keyserver: + +---- +gpg2 --send-key KEYNAME +---- + +For `KEYNAME`, substitute the key ID or fingerprint of your primary keypair. +This will send your key to the gnupg default key server (keys.gnupg.net), if you prefer another one use: + +---- +gpg2 --keyserver hkp://pgp.mit.edu --send-key KEYNAME +---- + +Replacing `pgp.mit.edu` with your server of choice. + +See now <>. diff --git a/modules/ROOT/pages/_partials/proc_exporting-gpg-keys-gnome.adoc b/modules/ROOT/pages/_partials/proc_exporting-gpg-keys-gnome.adoc new file mode 100644 index 0000000..8767403 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_exporting-gpg-keys-gnome.adoc @@ -0,0 +1,14 @@ +[[exporting-gpg-keys-gnome]] += Exporting a GPG Key Using the GNOME Desktop + +. Right-click the key and select _Sync and Publish Keys...._ + +. Click _Key Servers_. + +. Select _hkp://subkeys.pgp.net:11371_ in the _Publish Keys To_ combobox. + +. Click btn:[Close]. + +. Click btn:[Sync]. + +See now <>. diff --git a/modules/ROOT/pages/_partials/proc_exporting-gpg-keys-kde.adoc b/modules/ROOT/pages/_partials/proc_exporting-gpg-keys-kde.adoc new file mode 100644 index 0000000..b2981f4 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_exporting-gpg-keys-kde.adoc @@ -0,0 +1,8 @@ +[[exporting-gpg keys-kde]] += Exporting a GPG Key Using the KDE Desktop + +After your key has been generated, you can export the key to a public keyserver by right-clicking on the key in the main window, and selecting _Export Public Keys._ +From there you can export your public key to the clipboard, an ASCII file, to an email, or directly to a key server. +Export your public key to the default key server. + +See now <>. diff --git a/modules/ROOT/pages/_partials/proc_filing-virtio-win-bugs.adoc b/modules/ROOT/pages/_partials/proc_filing-virtio-win-bugs.adoc new file mode 100644 index 0000000..78aabfc --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_filing-virtio-win-bugs.adoc @@ -0,0 +1,16 @@ +[[filing-virtio-win-bugs]] += Filing Windows VirtIO Bugs + +Please file any bug reports in Bugzilla against https://bugzilla.redhat.com/enter_bug.cgi?product=Virtualization%20Tools&component=virtio-win[Product=Virtualization Tools Component=virtio-win]. + +When filing a bug, please provide the following information: + +* The virtio-win version +* The host distro +* The qemu version +** If using libvirt: `sudo virsh dumpxml $vmname` +* The qemu command log +** If using libvirt this can be found at `/var/log/libvirt/qemu/$vmname.log` + +Questions/Comments about the RPMs or the yum|dnf repos should be sent to the regular Fedora virt https://fedoraproject.org/wiki/Virtualization#Mailing_list_and_IRC[mailing list and IRC] channels. +Questions/Comments about the actual drivers are best send to the upstream https://lists.nongnu.org/mailman/listinfo/qemu-devel[qemu-devel] or http://www.linux-kvm.org/page/Lists,_IRC[kvm] mailing lists. diff --git a/modules/ROOT/pages/_partials/proc_install-predefined-systems.adoc b/modules/ROOT/pages/_partials/proc_install-predefined-systems.adoc new file mode 100644 index 0000000..6ca50f1 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_install-predefined-systems.adoc @@ -0,0 +1,44 @@ +// Module included in the following assemblies: +// +// installing-virtual-systems-with-gnome-boxes.adoc + +[#{context}-installing-virtual-os-predefined] += Installing a virtual operating system from the list of predefined systems + +To install a virtual operating system: + +. Run *GNOME Boxes* using the *Super* key and typing `Boxes`. In GNOME Boxes, click the *New* button. ++ +image::../images/Boxes_new_machine.png[New machine] + +. Download an operating system. ++ +image::../images/Download_os.png[Download your system] + ++ +Choose one of the predefined systems from the list. ++ +image::../images/Select_virtual_machine.png[Select machine] +Alternatively, download an ISO image from the relevant website and select the file as shown in the screen below: ++ +image::../images/Select_from_file.png[Select from file] ++ +. Choose your user name, password, and installation type. ++ +image::../images/Setup_machine.png[Setup machine] ++ +. Review your installation. ++ +image::../images/Installation_review.png[Installation review] ++ +To modify resources of the installed virtual operating system, such as RAM or disk size, click the *Customize* button. ++ +image::../images/Customize_resources.png[Customize resources] ++ +. To start the installation of the virtual operating system, click the *Create* button. ++ +The actual installation process may differ based on the selected operating system. ++ +Installed systems are available to run in the main menu of *GNOME Boxes*. ++ +image::../images/Select_from_boxes_menu.png[Select operating system] diff --git a/modules/ROOT/pages/_partials/proc_install_firewalld_gui.adoc b/modules/ROOT/pages/_partials/proc_install_firewalld_gui.adoc new file mode 100644 index 0000000..97f93f6 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_install_firewalld_gui.adoc @@ -0,0 +1,18 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + + +[id=installing-firewalld-gui-fedora] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Installing the [application]*firewall-config* GUI configuration tool + +To use the [application]*firewall-config* GUI configuration tool, install the [package]*firewall-config* package as `root`: + +---- +$ sudo dnf install firewall-config +---- + +Alternatively, in [application]*GNOME*, use the kbd:[Super] key and type `Software` to launch the [application]*Software Sources* application. Type `firewall` to the search box, which appears after selecting the search button in the top-right corner. Select the `Firewall` item from the search results, and click on the btn:[Install] button. + +To run [application]*firewall-config*, use either the [command]`firewall-config` command or press the kbd:[Super] key to enter the `Activities Overview`, type `firewall`, and press kbd:[Enter]. diff --git a/modules/ROOT/pages/_partials/proc_installing-additional-desktop-enviroments.adoc b/modules/ROOT/pages/_partials/proc_installing-additional-desktop-enviroments.adoc new file mode 100644 index 0000000..77983d5 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-additional-desktop-enviroments.adoc @@ -0,0 +1,39 @@ +[[installing-desktop-environments]] += Installing additional desktop environments + + +.Procedure + +List available desktop environments: + +---- +$ dnf grouplist -v +Available Environment Groups: + Fedora Custom Operating System (custom-environment) + Minimal Install (minimal-environment) + Fedora Server Edition (server-product-environment) + Fedora Workstation (workstation-product-environment) + Fedora Cloud Server (cloud-server-environment) + KDE Plasma Workspaces (kde-desktop-environment) + Xfce Desktop (xfce-desktop-environment) + LXDE Desktop (lxde-desktop-environment) + Hawaii Desktop (hawaii-desktop-environment) + LXQt Desktop (lxqt-desktop-environment) + Cinnamon Desktop (cinnamon-desktop-environment) + MATE Desktop (mate-desktop-environment) + Sugar Desktop Environment (sugar-desktop-environment) + Development and Creative Workstation (developer-workstation-environment) + Web Server (web-server-environment) + Infrastructure Server (infrastructure-server-environment) + Basic Desktop (basic-desktop-environment) +Installed Groups: + KDE (K Desktop Environment) (kde-desktop) +[output has been truncated] +---- + +Install the selected desktop environment using the `dnf install` command. Ensure to prefix with +the `@` sign, for example: + +---- +# dnf install @kde-desktop-environment +---- diff --git a/modules/ROOT/pages/_partials/proc_installing-chromium-web-browser.adoc b/modules/ROOT/pages/_partials/proc_installing-chromium-web-browser.adoc new file mode 100644 index 0000000..95b2811 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-chromium-web-browser.adoc @@ -0,0 +1,70 @@ +[id='installing'] += Installing the browsers + +Both Chromium and Google Chrome can be installed on Fedora. + + +[id='installing-chromium'] +== Installing Chromium + +Chromium can be installed using GUI and terminal. + +.Installing Chromium using GUI + +. Click on Software tool in Fedora. + +. Search for Chromium Web Browser. + +. Click on Install. + +.Installing Chromium using terminal + +. To install Chromium Web Browser, use the command: ++ +---- +# dnf install chromium +---- ++ +. To upgrade Chromium, use the command: ++ +---- +# dnf upgrade chromium +---- + + +[id='installing-chrome'] +== Installing Chrome + +*Google Chrome* can be installed by downloading rpm. + +. Click the following link: https://www.google.com/chrome/browser/desktop/index.html . + +. Click on *Download Chrome* and select *Fedora 64* or *32 bits* download and install the repo. + +. Login as root and use the command to install Google Chrome: ++ +---- +# dnf install google-chrome +---- + +[NOTE] +==== +If you want to install unstable Google Chrome version, use the following command: + +---- +# dnf install google-chrome-unstable +---- + +If you want to install stable Google Chrome version using the following command: + +---- +# dnf install google-chrome-beta` +---- +==== + + +[discrete] +== Additional resources + +* https://copr.fedorainfracloud.org/[COPR repository] +* https://www.google.com/chrome/browser/desktop/index.html[Google Chrome rpm] diff --git a/modules/ROOT/pages/_partials/proc_installing-fonts.adoc b/modules/ROOT/pages/_partials/proc_installing-fonts.adoc new file mode 100644 index 0000000..7ff8ed0 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-fonts.adoc @@ -0,0 +1,47 @@ += Installing fonts +[[installing-fonts]] + +.Before you start + +Review the fonts on your system. Fedora includes many fonts by default, to see which fonts are installed on your system, use *GNOME Font Viewer*, which is installed by default. Alternatively use the *Fontmatrix* application which is availabe from *GNOME Software* and provides more features, such as searching for a font based on a raster image: + +. Start *GNOME Software* by choosing *Software* from the Start menu. +. Search for 'Fontmatrix'. +. Choose 'Fontmatrix' from the results and click 'Install'. + + +.Procedure + +. To install fonts from the Fedora repository: +.. Run the following command to list available fonts: ++ +---- +$ dnf search font +---- +.. Copy the name of the font you want to install. +.. Run the following command to install the font: ++ +---- +$ dnf install +---- ++ +For example: ++ +---- +$ dnf install google-noto-mono-fonts.noarch +---- +. To install fonts from the filesystem: +.. Locate the font file using the *Nautilus* file manager. +.. Double-click the font file to open the font in *GNOME Font Viewer*. A preview of the font is displayed. +.. Click *Install* to install the font. + + +[NOTE] +==== +If you use *GNOME Font Viewer* to install fonts, those fonts are only available to the current user. +==== + +.Additional resources + +* The help included with *Fontmatrix* provides an introduction to the Fedora font system. +* link:https://docs-old.fedoraproject.org/en-US/Fedora/12/html/Deployment_Guide/s1-x-fonts.html[Fedora documentation] regarding fonts. diff --git a/modules/ROOT/pages/_partials/proc_installing-grub2-on-bios-system.adoc b/modules/ROOT/pages/_partials/proc_installing-grub2-on-bios-system.adoc new file mode 100644 index 0000000..6c1a548 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-grub2-on-bios-system.adoc @@ -0,0 +1,48 @@ +[[installing-grub-2-on-a-bios-system]] += Installing GRUB2 on a BIOS system + +Normally, *GRUB2* will be installed and set up by the installer, *Anaconda*, during the installation process. You will probably never have to deal with manual installation of *GRUB2*. However, in certain situations , you will want to install *GRUB2* manually, especially if you need to repair the existing *GRUB2* installation or you want to change its configuration. + +This procedure shows the steps to install *GRUB2* on your _Master Boot Record_ (MBR) of your primary hard disk. + +.Before you start + +* Make sure you have the the *GRUB2* packages and the _os-prober_ package installed in your system: ++ +---- +$ dnf list installed | grep grub +---- + +* To automatically collect information about your disks and operating systems installed on them, the `os-prober` package needs to be installed on your system. + +.Procedure + +. Create a configuration file for *GRUB2*. ++ +---- +# grub2-mkconfig -o /boot/grub2/grub.cfg +---- + +. List block devices available on the system. ++ +---- +$ lsblk +---- + +. Identify the primary hard disk. Usually, it is the `sda` device. + +. Install *GRUB2* in the MBR of the primary hard disk. ++ +---- +# grub2-install /dev/sda +---- + +. Reboot your computer to boot with the newly installed bootloader. + +.More information + +* The `grub2-mkconfig` command creates a new configuration based on the currently running system. It collects information from the `/boot` partition (or directory), from the `/etc/default/grub` file, and the customizable scripts in `/etc/grub.d/`. + +* The configuration format is changing with time, and a new configuration file can become slightly incompatible with the older versions of the bootloader. Always run `grub2-install` before you create the configuration file with `grub2-mkconfig`. + +* In Fedora, it is generally safe to edit `/boot/grub2/grub.cfg` manually. *Grubby* in Fedora patches the configuration when a kernel update is performed and will try to not make any other changes than what is necessary. Manual changes can be overwritten with `grub2-mkconfig` when the system gets upgraded with *Anaconda*. Customizations placed in `/etc/grub.d/40_custom` or `/boot/grub2/custom.cfg` files will survive running the `grub2-mkconfig` command. diff --git a/modules/ROOT/pages/_partials/proc_installing-grub2-on-efi-system.adoc b/modules/ROOT/pages/_partials/proc_installing-grub2-on-efi-system.adoc new file mode 100644 index 0000000..29f71cb --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-grub2-on-efi-system.adoc @@ -0,0 +1,122 @@ +[[installing-grub-2-configuration-on-uefi-system]] += Installing GRUB2 on a UEFI system + +Normally, *GRUB2* will be installed and set up by the installer, *Anaconda*, during the installation process. You will probably never have to deal with manual installation of *GRUB2*. However, in certain situations , you will want to install *GRUB2* manually, especially if you need to repair the existing *GRUB2* installation or you want to change its configuration. + +This procedure shows the steps to install *GRUB2* on a UEFI system on Fedora 18 or newer. The procedure consists of four parts. + +[[create-an-esp]] +== Creating an EFI System Partition + +The UEFI firmware requires to boot from an _EFI System Partition_ on +a disk with a GPT label. To create such a partition: + +. List available block devices to find a place to create your ESP. ++ +---- +$ lsblk +---- + +. Create at least a 128 MiB disk partition using a GPT label on the primary hard disk. ++ +---- +# gdisk /dev/sda +---- ++ +For the sake of this procedure, we assume that the created partition is recognized as `/dev/sda1`. + +. Format the partition with the _FAT32_ file system. ++ +---- +# mkfs.vfat /dev/sda1 +---- + +. Create the `/boot/efi` directory as a mount point for the new partition. ++ +---- +# mkdir /boot/efi +---- + +. Mount the partition to the `/boot/efi` mount point. ++ +---- +# mount /dev/sda1 /boot/efi +---- + +. Proceed to the next part. + + +[[install-the-bootloader-files]] +== Install the bootloader files + +In order to use *GRUB2* with on the UEFI systems, you need to install or re-install appropriate packages: + + +. Re-install the necessary packages. ++ +---- +# dnf reinstall grub2-efi grub2-efi-modules shim +---- + +. If the above command ends with an error, install the packages. ++ +---- +# dnf install grub2-efi grub2-efi-modules shim +---- + +.More information + +* This installs the signed *shim* and the *GRUB2* binary. + + +[[create-a-grub-2-configuration]] +== Create a GRUB2 configuration + + +If you already have a working *GRUB2* EFI configuration file, you do not need to do anything else. + +Otherwise, create the configuration file using the `grub2-mkconfig` command. + +---- +# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg +---- + +.More information + +* Under EFI, *GRUB2* looks for its configuration in `/boot/efi/EFI/fedora/grub.cfg`. +* For newly installed kernels to work, `grubby` expects `/etc/grub2-efi.cfg` to be a symlink to the real grub.cfg (for example `/boot/efi/EFI/fedora/grub.cfg`). + + +[[solving-problems-with-uefi-bootloader]] +== Solving problems with UEFI bootloader + +When you power on your system, your firmware will look for EFI variables that tell it how to boot. On running systems, which have booted into the EFI mode and their EFI runtime services are working correctly, you can configure your boot menu with `efibootmgr`. + +If not, `shim` can help you bootstrap. The EFI program `/boot/efi/EFI/BOOT/fallback.efi` will look for files called `BOOT.CSV` in your ESP and will add boot entries corresponding to them. The `shim` command provides its own `BOOT.CSV` file that will add an entry for `grub2-efi`. + +During the boot process, you can use the *EFI Shell* to invoke the `fallback.efi` profile to boot the system: + +. Enter the boot partition. ++ +---- +> fs0: +---- + +. Navigate into the `EFI\BOOT` directory. ++ +---- +> cd EFI\BOOT +---- + +. Invoke the `fallback.efi` profile. ++ +---- +> fallback.efi +---- + +.More information + +* If you have no boot entries at all, then just booting off your disk in UEFI mode should automatically invoke `/boot/efi/EFI/BOOT/BOOTX64.EFI`, which will, in turn, invoke `fallback.efi`. + +* If you already have incorrect boot entries, you'll either need to delete them or to modify `BOOT.CSV` to create new entries with different names. + diff --git a/modules/ROOT/pages/_partials/proc_installing-httpd.adoc b/modules/ROOT/pages/_partials/proc_installing-httpd.adoc new file mode 100644 index 0000000..c2ac6b7 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-httpd.adoc @@ -0,0 +1,27 @@ +[id='installing-httpd'] += Installing HTTPD + +This procedure describes the steps to install Apache *HTTPD* on Fedora. + +. Install *HTTPD* packages. ++ +---- +# dnf install httpd -y +---- + +. Start the *HTTPD* service. ++ +---- +# systemctl start httpd.service +---- + +[NOTE] +==== +To enable auto start of *HTTPD* service at boot, execute the following command: + +---- +# systemctl enable httpd.service +---- +==== + +Navigate to link:http://localhost[http://localhost] to access the Apache test page. You may not be able to access the server from any other host. To access the server from other hosts, see link:#opening-firewall-ports[Opening firewall ports]. diff --git a/modules/ROOT/pages/_partials/proc_installing-multimedia-plug-ins-with-dnf.adoc b/modules/ROOT/pages/_partials/proc_installing-multimedia-plug-ins-with-dnf.adoc new file mode 100644 index 0000000..a2c70fb --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-multimedia-plug-ins-with-dnf.adoc @@ -0,0 +1,55 @@ +// Module included in the following assemblies: +// +// + +// This module can be included from assemblies using the following include statement: +// include::modules//proc_installing-multimedia-plug-ins-with-dnf.adoc[leveloffset=+1] + +// The file name and the ID are based on the module title. For example: +// * file name: proc_doing-procedure-a.adoc +// * ID: [id='proc_doing-procedure-a_{context}'] +// * Title: = Doing procedure A +// +// The ID is used as an anchor for linking to the module. Avoid changing +// it after the module has been published to ensure existing links are not +// broken. +// +// The `context` attribute enables module reuse. Every module's ID includes +// {context}, which ensures that the module has a unique ID even if it is +// reused multiple times in a guide. +// +// Start the title with a verb, such as Creating or Create. See also +// _Wording of headings_ in _The IBM Style Guide_. +[id="proc_installing-multimedia-plug-ins-with-dnf_{context}"] += Installing multimedia plug-ins with DNF + +This procedure describes how to install packages that provide additional multimedia libraries that enable you to play various video and audio files. + + +[discrete] +== Prerequisites + +* Enable the RPM Fusion software repositories. + +[discrete] +== Procedure + +* Use the `dnf` utility to install packages that provide multimedia libraries: ++ +---- +$ sudo dnf install gstreamer1-libav gstreamer1-plugins-bad-free \ + gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-extras \ + gstreamer1-plugins-bad-freeworld gstreamer1-plugins-bad-nonfree \ + gstreamer1-plugins-good gstreamer1-plugins-ugly lame-libs lame-libs + +$ sudo dnf group upgrade --with-optional Multimedia +---- + + +// [discrete] +// == Additional resources +// +// * A bulleted list of links to other material closely related to the contents of the procedure module. +// * For more details on writing procedure modules, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +// * Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. + diff --git a/modules/ROOT/pages/_partials/proc_installing-openjdk.adoc b/modules/ROOT/pages/_partials/proc_installing-openjdk.adoc new file mode 100644 index 0000000..7439275 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-openjdk.adoc @@ -0,0 +1,41 @@ +[id='installing-openjdk'] += Installing OpenJDK + +To install OpenJDK from the Fedora repository: + +. Run the following command to list available versions: ++ +---- +$ dnf search openjdk +---- +. Copy the version of OpenJDK you want to install. ++ +[NOTE] +==== +Various flavors of OpenJDK are available. For information about these options, search the link:http://openjdk.java.net/[OpenJDK web site]. +==== ++ +. Run the following command to install OpenJDK: ++ +---- +# dnf install +---- ++ +For example: ++ +---- +# dnf install java-1.8.0-openjdk.x86_64 +---- + +// tag::java-alternatives[] +[NOTE] +==== +If you have installed other versions of Java, you might need to switch the active version of Java: + +---- +# alternatives --config java +---- + +A list of installed Java versions is displayed. Choose the version you require. +==== +// end::java-alternatives[] diff --git a/modules/ROOT/pages/_partials/proc_installing-oracle-java.adoc b/modules/ROOT/pages/_partials/proc_installing-oracle-java.adoc new file mode 100644 index 0000000..ee3b5cf --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-oracle-java.adoc @@ -0,0 +1,18 @@ +[id='installing-oracle-java-se'] += Installing Oracle Java SE + +To install Oracle Java SE: + +. Navigate to link:http://www.oracle.com/technetwork/java/javase/downloads[Oracle Java SE downloads page]. + +. Choose the version of Java you wish to use. Typically, you would navigate to the link:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html[version 8 page]. + +. Accept the license agreement and download the appropriate rpm file for your systems architecture. For example, if you run 64-bit Fedora, choose the `jdk-8u151-linux-x64.rpm` file. + +. Enter the following command to install Oracle Java SE: ++ +---- +# dnf install jdk-8u151-linux-x64.rpm +---- + +include::proc_installing-openjdk.adoc[tags=java-alternatives] diff --git a/modules/ROOT/pages/_partials/proc_installing-spotify-on-fedora.adoc b/modules/ROOT/pages/_partials/proc_installing-spotify-on-fedora.adoc new file mode 100644 index 0000000..a0a0ed6 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-spotify-on-fedora.adoc @@ -0,0 +1,115 @@ +[id='proc_installing-spotify-on-fedora'] += Installing Spotify on Fedora + +link:https://www.spotify.com/[Spotify] is a cross-platform proprietary music streaming service. Spotify is a freemium service, with advertisements which can be removed by purchasing a subscription. Although Spotify is not officially supported on Fedora, it can be installed on Fedora by: + +[installation] +== Installation + +While it is not officially supported on Fedora or any other RPM-based +distribution, it is possible to install on Fedora using various package methods. + +* Using unofficial repositories like the http://negativo17.org/spotify-client/[negativo17] or https://rpmfusion.org/[RPMFusion] repositories. +* Using a Flatpak hosted by http://flathub.org[Flathub]. +* Using the https://www.spotify.com/us/download/linux/[officially-supported] +http://snapcraft.io/[Snap]. + +[installing-spotify-from-3rd-party-repositories] +=== Installing Spotify using third-party repositories + +[install-spotify-using-negativo17] +==== Using the Negativo17.org repository +The Negativo17.org repository provides a link:https://negativo17.org/spotify-client/[Spotify client] which contains the following packaged features: + +* Libraries for enabling local files playback +* File upload to personal playlists +* Firewalld rules for enabling local service discovery +* Spotify Connect (control other devices & output location) + +To install Spotify using the Negativo17.org repository: + +. Add the Negativo17.org repository: ++ +---- +# dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo +---- + +. Install Spotify: ++ +---- +# dnf install spotify +---- + +[install-spotify-using-rpmfusion] +==== Using the RPMFusion repository + +RPMFusion provides software that the Fedora Project do not ship. That software is provided as precompiled RPMs for all current Fedora versions. + +To install Spotify using the RPMFusion repository: + +. Add the RPMFusion repository ++ +---- +# dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ +https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm +---- + +. Install Spotify ++ +---- +# dnf install spotify +---- + + +[install-spotify-using-flatpak] +=== Installing Spotify using Flatpak + +To install Spotify using link:https://flatpak.org/index.html[Flatpak]: + +. Install Flatpak using dnf: ++ +---- +# dnf install -y flatpak +---- + +. Install Spotify using Flatpak: ++ +---- +# flatpak install -y --from https://flathub.org/repo/appstream/com.spotify.Client.flatpakref +---- + +. To run Spotify: ++ +---- +$ flatpak run com.spotify.Client +---- + +. (Optional) Add a menu shortcut for Spotify: ++ +---- +$ echo " +[Desktop Entry] + Name=Spotify + Exec=flatpak run com.spotify.Client + Icon=/var/lib/flatpak/exports/share/icons/hicolor/256x256/apps/com.spotify.Client.png + Type=Application" > ~/.local/share/applications/Spotify.desktop +---- + +[instal-spotify-using-snap] +=== Snap + +Snap is the officially recommended distribution method for Spotify. To install spotify using http://snapcraft.io/[Snap]: + +. Install Snap ++ +---- +$ sudo dnf install snapd +$ sudo ln -s /var/lib/snapd/snap /snap +---- + +. Install Spotify using Snap: +---- +$ snap install spotify +---- + +See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/_partials/proc_installing-virtio-win-repo.adoc b/modules/ROOT/pages/_partials/proc_installing-virtio-win-repo.adoc new file mode 100644 index 0000000..7515a80 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-virtio-win-repo.adoc @@ -0,0 +1,15 @@ +[[installing-virtio-win-repo]] += Installing the Windows VirtIO Repository + +Install the repo file using the following command: + +---- +# wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo \ + -O /etc/yum.repos.d/virtio-win.repo +---- + +Then install the _virtio-win_ package: + +---- +# dnf install virtio-win +---- diff --git a/modules/ROOT/pages/_partials/proc_installing-virtualization-software.adoc b/modules/ROOT/pages/_partials/proc_installing-virtualization-software.adoc new file mode 100644 index 0000000..6fe3ab0 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-virtualization-software.adoc @@ -0,0 +1,75 @@ +[[installing-virtualization-software]] += Installing virtualization software + +When installing Fedora, you can install the virtualization packages by +selecting *Virtualization* in the *Base Group* in the installer. See https://docs.fedoraproject.org/f27/install-guide/install/Installing_Using_Anaconda.html[Installing Using Anaconda]. + + +For existing Fedora installations, you can install the virtualization tools via the command line using the Virtualization Package Group. To view the packages, run: + +---- +$ dnf groupinfo virtualization + +Group: Virtualization +Group-Id: virtualization +Description: These packages provide a virtualization environment. + +Mandatory Packages: + =virt-install + +Default Packages: + =libvirt-daemon-config-network + =libvirt-daemon-kvm + =qemu-kvm + =virt-manager + =virt-viewer + +Optional Packages: + guestfs-browser + libguestfs-tools + python-libguestfs + virt-top +---- + +. Run the following command to install the mandatory and default packages in the virtualization group: ++ +---- +# dnf install @virtualization +---- ++ +Alternatively, to install the mandatory, default, and optional packages, run: ++ +---- +# dnf group install --with-optional virtualization +---- ++ +. After the packages install, start the `libvirtd` service: ++ +---- +# systemctl start libvirtd +---- ++ +To start the service on boot, run: ++ +---- +# systemctl enable libvirtd +---- ++ +. To verify that the KVM kernel modules are properly loaded: ++ +---- +$ lsmod | grep kvm +kvm_amd 55563 0 +kvm 419458 1 kvm_amd +---- ++ +If this command lists `kvm_intel` or `kvm_amd`, KVM is properly configured. + + +[[networking-support]] +== Networking Support + +By default, libvirt will create a private network for your guests on the host machine. This private network will use a 192.168.x.x subnet and not be reachable directly from the network the host machine is on. However, virtual guests can use the host machine as a gateway and can connect out via it. If you need to provide services on your guests that are reachable via other machines on your host network you can use iptables DNAT rules to forward in specific ports, or you can set up a bridged environment. + +See the http://wiki.libvirt.org/page/Networking[libvirt networking setup page] for more information on how to setup a bridged network. + diff --git a/modules/ROOT/pages/_partials/proc_installing-webapps.adoc b/modules/ROOT/pages/_partials/proc_installing-webapps.adoc new file mode 100644 index 0000000..c7b4c19 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing-webapps.adoc @@ -0,0 +1,24 @@ +[id='installing-webapps'] += Installing webapps + +You probably want to run something on your web server. Many of the most popular web applications are packaged for Fedora. Using the packaged versions of web applications is recommended. These packages will be configured following the distribution's best practices which help to ensure the security of the installation. + +For instance, by installing static files to locations the web server does not have the ability to write to, and doing access control with configuration files rather than `.htaccess` files, which are slightly more vulnerable to attack. + +Packaged web applications will also be configured to work with SELinux, which provides significant security benefits. + +You will also receive updates through the usual Fedora update process, making it easier to keep your installation up to date. + +They will also often have the default configuration tweaked according to Fedora's conventions, meaning you have to do less work to get the application up and running. + +Most web applications are simply packaged according to their name. For instance, you can install Wordpress by executing the following command: + +---- +# dnf install wordpress +---- + +Packaged web applications will usually provide Fedora-specific instructions in a documentation file. For instance, Wordpress provides the files `/usr/share/doc/wordpress/README.fedora` and `/usr/share/doc/wordpress/README.fedora-multiuser`. + +Packaged web applications usually restrict access by default so you can access them only from the server host itself, to ensure you can run all initial configuration safely and things like administration interfaces are not left accessible to the public. For information on how to broaden access, see link:enabling-access-to-web-applications[Enabling access to web applications]. + +Web applications commonly require the use of a database server. This wiki contains information on installing and configuring https://fedoraproject.org/wiki/PostgreSQL[PostgreSQL] and https://fedoraproject.org/wiki/MariaDB[MariaDB] on Fedora. diff --git a/modules/ROOT/pages/_partials/proc_installing_firewalld.adoc b/modules/ROOT/pages/_partials/proc_installing_firewalld.adoc new file mode 100644 index 0000000..10ae46d --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing_firewalld.adoc @@ -0,0 +1,25 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + +// Base the file name and the ID on the module title. For example: +// * file name: doing-procedure-a.adoc +// * ID: [id='doing-procedure-a'] +// * Title: = Doing procedure A + +// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. +[id=installing-firewalld-fedora] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Installing firewalld + +.Install firewalld: + +. Run this command on the command line: + +[source,bash] + +---- + +sudo dnf install firewalld + +---- diff --git a/modules/ROOT/pages/_partials/proc_installing_vlc.adoc b/modules/ROOT/pages/_partials/proc_installing_vlc.adoc new file mode 100644 index 0000000..74a2574 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_installing_vlc.adoc @@ -0,0 +1,25 @@ +[[installing-vlc]] += Installing VLC + +To install the link:https://www.videolan.org/[VLC media player], you must enable a third-party repository from link:https://rpmfusion.org/[RPM Fusion]. + +. Install package provided by RPM Fusion to enable the repository: ++ +---- +$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm +---- + +. Install VLC: ++ +---- +$ sudo dnf install vlc +---- + +[discrete] +== Additional resources + +* link:https://www.videolan.org/vlc/download-fedora.html[VLC Media Player for Fedora]. + +* Ask Fedora: link:https://ask.fedoraproject.org/en/question/9111/sticky-what-plugins-do-i-need-to-install-to-watch-movies-and-listen-to-music/[What plugins do I need to install to watch movies and listen to music?] + +// * link:http://ask.fedoraproject.org/en/question/98715/install-vlc-on-fedora-25/[Install VLC on Fedora 25] diff --git a/modules/ROOT/pages/_partials/proc_log-files-GUI.adoc b/modules/ROOT/pages/_partials/proc_log-files-GUI.adoc new file mode 100644 index 0000000..4e6ebb0 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_log-files-GUI.adoc @@ -0,0 +1,13 @@ + +[id='using-GUI-to-view-log-files'] +=== Using GUI to view log files + +To view log files in GUI, use the `GNOME Logs` application. `GNOME Logs` is not installed by default, press the `Super` key and type `Software`. In the `Search` field type `Logs` and choose the `GNOME Logs` item from the list of results and install the application. + +In `GNOME Logs`, you can filter for time periods, search within logs, and display categories. + +* To select a log file type, from the side bar of GNOME Logs, select the type to view. +* To select a time period, from the menu bar, click *Logs*, and select a time period. +* To search within logs, select a log file from the results pane. +. Click the search icon. +. Enter one or more search criterion in the search field. diff --git a/modules/ROOT/pages/_partials/proc_log-files-command-line.adoc b/modules/ROOT/pages/_partials/proc_log-files-command-line.adoc new file mode 100644 index 0000000..b93b729 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_log-files-command-line.adoc @@ -0,0 +1,45 @@ +[id='using-the-command-line-to-view-log-files] +=== Using the command line to view log files + +You can use the command line to view logs in different ways, for example: + +* Using the *journalctl* command +* Using the commands for viewing, for example *cat*, *more*, *less*, *tail*, or *head* +* Combine the commands for viewing with the *grep* command +* Using a text editor, for example, `nano` or `vim` + +[id='using-journalctl-to-view-system-information'] +==== Using journalctl to view system information. + +* To view all collected logs with no filter: +---- +$ journalctl +---- + +* To view a specific log file, enter the *journalctl* command with a log filepath. The example command returns all logs of the kernel device node `/dev/sda`: +---- +$ journalctl /dev/sda +---- + +* To view the boot logs, run the following command: +---- +$ journalctl -k -b -1 +---- + +* For more information on *journalctl*, read the man page: +---- +$ man journalctl +---- + +[id='using-the-command-line-to-open-log-files-in-text-editor'] +==== Using the command line to open log files in a text editor + +All log files are in plain text. To open a log file in a text editor, enter the following command: +---- +$ nano +---- + +If the root permissions are required: +---- +$ sudo nano +---- diff --git a/modules/ROOT/pages/_partials/proc_managing-trusted-system-certificates.adoc b/modules/ROOT/pages/_partials/proc_managing-trusted-system-certificates.adoc new file mode 100644 index 0000000..39ab681 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_managing-trusted-system-certificates.adoc @@ -0,0 +1,80 @@ +[id='proc_managing-trusted-system-certificates'] += Managing Trusted System Certificates + +To list, extract, add, remove, or change trust anchors, use the [command]`trust` command. To see the built-in help for this command, enter it without any arguments or with the [option]`--help` directive: + +[subs="quotes, macros"] +---- +$ [command]`trust` +usage: trust command <args>... + +Common trust commands are: + list List trust or certificates + extract Extract certificates and trust + extract-compat Extract trust compatibility bundles + anchor Add, remove, change trust anchors + dump Dump trust objects in internal format + +See 'trust <command> --help' for more information +---- + +To list all system trust anchors and certificates, use the [command]`trust list` command: + +[subs="quotes, macros"] +---- +$ [command]`trust list` +pkcs11:id=%d2%87%b4%e3%df%37%27%93%55%f6%56%ea%81%e5%36%cc%8c%1e%3f%bd;type=cert + type: certificate + label: ACCVRAIZ1 + trust: anchor + category: authority + +pkcs11:id=%a6%b3%e1%2b%2b%49%b6%d7%73%a1%aa%94%f5%01%e7%73%65%4c%ac%50;type=cert + type: certificate + label: ACEDICOM Root + trust: anchor + category: authority +... +[output has been truncated] +---- + + + +To store a trust anchor into the system-wide trust store, use the [command]`trust anchor` sub-command and specify a _path.to_ a certificate, for example: + +[subs="macros"] +---- +# trust anchor pass:quotes[_path.to/certificate.crt_] +---- + +To remove a certificate, use either a _path.to_ a certificate or an ID of a certificate: + +[subs="macros"] +---- +# trust anchor --remove pass:quotes[_path.to/certificate.crt_] +# trust anchor --remove pass:quotes[_"pkcs11:id=%AA%BB%CC%DD%EE;type=cert"_] +---- + +.More information + +All sub-commands of the [command]`trust` commands offer a detailed built-in help, for example: + +---- +$ trust list --help +usage: trust list --filter= + + --filter= filter of what to export + ca-anchors certificate anchors + blacklist blacklisted certificates + trust-policy anchors and blacklist (default) + certificates all certificates + pkcs11:object=xx a PKCS#11 URI + --purpose= limit to certificates usable for the purpose + server-auth for authenticating servers + client-auth for authenticating clients + email for email protection + code-signing for authenticating signed code + 1.2.3.4.5... an arbitrary object id + -v, --verbose show verbose debug output + -q, --quiet suppress command output +---- diff --git a/modules/ROOT/pages/_partials/proc_manual-updating-using-cli.adoc b/modules/ROOT/pages/_partials/proc_manual-updating-using-cli.adoc new file mode 100644 index 0000000..3d05d1f --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_manual-updating-using-cli.adoc @@ -0,0 +1,25 @@ +[id='manual-updating-using-cli'] += Manual updating using CLI + +This section describes how to manually download and install new updates by using the DNF +package manager. + + +[discrete] +== Procedure + +Use the following commands as the `root` user or under the `sudo` utility. + +* Upgrade the system: ++ +---- +# dnf upgrade +---- ++ +Confirm to download the available packages. + + +[discrete] +== Additional Resources + +* The `dnf(8)` manual page diff --git a/modules/ROOT/pages/_partials/proc_manual-updating-using-gui.adoc b/modules/ROOT/pages/_partials/proc_manual-updating-using-gui.adoc new file mode 100644 index 0000000..0839ace --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_manual-updating-using-gui.adoc @@ -0,0 +1,15 @@ +[id='manual-updating-using-gui'] += Manual updating using GUI + +This section describes how to manually download and install new updates by using GUI. + +[discrete] +== Procedure + +. Hover the cursor over the upper-left corner of the screen and type "Software" and select the Software application to open it. + +. Click the btn:[Updates] button. + +. After the updates are downloaded click the btn:[Restart & Update] button. + +image::software-updates.png[Updating by using the Software application] diff --git a/modules/ROOT/pages/_partials/proc_modifying-existing-systemd-services.adoc b/modules/ROOT/pages/_partials/proc_modifying-existing-systemd-services.adoc new file mode 100644 index 0000000..4c41298 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_modifying-existing-systemd-services.adoc @@ -0,0 +1,44 @@ +[#modifying-existing-systemd-services] += Modifying existing systemd services + +This example shows how to modify an existing service. The files for service modification are stored in a directory within `/etc/systemd/system`. This directory is named after the service. For example, this procedure modifies the `httpd` service. + +.Prerequisites + +* You are logged in as a user with administrator-level permissions. + +* You have a configured `httpd` server running through systemd. + +.Procedure + +. Create a directory for the service modification in the following format: `[SERVICE NAME].service.d`. For example, the directory for the `httpd.service` modification is `httpd.service.d`: ++ +---- +# mkdir /etc/systemd/system/httpd.service.d/ +---- + +. Create a configuration file within this directory: ++ +---- +# vi /etc/systemd/system/httpd.service.d/custom.conf +---- + +. Add your custom configuration. For example: ++ +---- +[Service] +Restart=always +RestartSec=30 +---- + +. Save the file. + +. Restart the `httpd` service: ++ +---- +# systemctl restart httpd +---- + +.Related Information + +* See link:#common-service-parameters[Common service parameters] for more information about the parameters used in this procedure. diff --git a/modules/ROOT/pages/_partials/proc_opening_ports_firewalld.adoc b/modules/ROOT/pages/_partials/proc_opening_ports_firewalld.adoc new file mode 100644 index 0000000..c30743a --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_opening_ports_firewalld.adoc @@ -0,0 +1,37 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + +// Base the file name and the ID on the module title. For example: +// * file name: doing-procedure-a.adoc +// * ID: [id='doing-procedure-a'] +// * Title: = Doing procedure A + +// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. +[id=opening-ports-firewalld-fedora] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Opening a port + +Through open ports, the system is accessible from the outside, which represents a security risk. Generally, keep ports closed and only open them if they are required for certain services. + +.Opening a port using the command line + +. Get a list of allowed ports in the current zone: ++ +---- +$ firewall-cmd --list-ports +---- ++ +. Add a port to the allowed ports to open it for incoming traffic: ++ +---- +$ sudo firewall-cmd --add-port=port-number/port-type +---- ++ +. Make the new settings persistent: ++ +---- +$ sudo firewall-cmd --runtime-to-permanent +---- + +The port types are either tcp, udp, sctp, or dccp. The type must match the type of network communication. diff --git a/modules/ROOT/pages/_partials/proc_package-browsing-installing-software.adoc b/modules/ROOT/pages/_partials/proc_package-browsing-installing-software.adoc new file mode 100644 index 0000000..4a93daa --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_package-browsing-installing-software.adoc @@ -0,0 +1,18 @@ +[[package-browsing-installing]] += Browsing and installing software on Fedora + +You can use a graphical utility to browse the available software packages. When you find the software that you want, you can use the utility to install it on your Fedora system. + +.Before you start + +To install any packages on your Fedora system, you need to have *root* privileges. + +.Procedure + +. On your GNOME desktop, select the *Activities* menu and then click the image:packages_icon_software.png[Software] icon. +. Find a software package in one of the following ways: +** Click one of the suggested categories, for example, *Productivity*. Then review the suggested packages. To see more packages, select items in the menu in the left-hand part of the window. For example, for the Productivity category, you can select *Calendar*, *Database*, *Finance*, *Word Processor*. +** Choose one of the *Editor's Picks* or other recommended software in the window. +** Click the image:packages_icon_search.png[Search] icon, then enter a keyword or the name of the application. Review the suggested packages. +. Click a package to read its description. +. To install the package, click the *Install* button. When prompted, provide the root password. diff --git a/modules/ROOT/pages/_partials/proc_package-enabling-third-party.adoc b/modules/ROOT/pages/_partials/proc_package-enabling-third-party.adoc new file mode 100644 index 0000000..d618cac --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_package-enabling-third-party.adoc @@ -0,0 +1,30 @@ += Enabling third-party repositories +[[package-enabling-third-party]] + +You can install software packages from repositories that are not supported by the Fedora project, known as third-party repositories. + + +== RPM Fusion + +The most commonly used third-party repository is https://rpmfusion.org/[RPM Fusion]. It provides packages that can not be included in Fedora because of US software patents or other similar reasons. Among other things, RPM Fusion provides packages necessary for viewing media in many common formats. RPM Fusion packages are extensively tested, but they are not supported by the Fedora project. + + +== Copr + +A set of repositories for Fedora is known as https://copr.fedorainfracloud.org/[Copr]. Developers can provide packages in Copr repositories for software that is not at present included in Fedora. *These packages might be untested.* + + +== Application-specific repositories + +Certain non-free applications for Linux, such as Google Chrome or Skype, provide their own repositories for Fedora. + +To install software from a third-party repository, you must first _enable_ that repository. Then the packages from the repository become available in the command line and graphical package management tools. + +IMPORTANT: If you enable a third-party repository, packages that you did not explicitly select might also be installed from the repository. Do not enable repositories that you do not trust. The Fedora project does not support third-party repositories. + +.Procedure + +To enable a third-party repository, follow the instructions provided by the repository. For example: + +* For RPM Fusion, https://rpmfusion.org/Configuration +* For Copr repositories, https://docs.pagure.org/copr.copr/how_to_enable_repo.html diff --git a/modules/ROOT/pages/_partials/proc_package-install-command-line.adoc b/modules/ROOT/pages/_partials/proc_package-install-command-line.adoc new file mode 100644 index 0000000..57b6271 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_package-install-command-line.adoc @@ -0,0 +1,25 @@ +[[proc_package-install-command-line]] += Installing software packages using the command line + +You can install packages in Fedora using the DNF utility. + +.Before you begin + +You must execute the command with *root* privileges. Use one of the following methods: + +* Prefix the command with `sudo` and provide your user password. The `sudo` command must be enabled for your user. +* Use the `su` command and provide the root password to switch to a root prompt in a terminal window. +* Log in as `root` on a virtual console. + +You must know the name of the package. Any dependencies will be installed automatically. + +.Procedure + +. Run the command: ++ +---- +# dnf install +---- ++ +where `` is the name of the package. +. Answer `y` to any prompts, if necessary. diff --git a/modules/ROOT/pages/_partials/proc_package-searching-web-apps.adoc b/modules/ROOT/pages/_partials/proc_package-searching-web-apps.adoc new file mode 100644 index 0000000..0fb0fa9 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_package-searching-web-apps.adoc @@ -0,0 +1,19 @@ +[[package-searching-web]] += Searching for Linux software alternatives on the Web + +To complete your tasks on a Linux system, you need to find the software applications that fit your needs. If you are switching from another operating system, you might need to find replacements for the software that you used before. + +Most applications available on Linux are open-source software. You can use open-source software without acquiring any licenses. Moreover, widespread open-source software is usually available in the official Fedora repository, so you can install it easily. + +.Procedure + +Access the following websites to review Linux alternatives to popular software packages: + +* https://linuxappfinder.com/alternatives +* http://www.linuxalt.com/ +* https://opensource.com/alternatives +* https://www.osalt.com/ +* https://alternativeto.net/ + + + diff --git a/modules/ROOT/pages/_partials/proc_removing-shortcut-custom-app-gnome.adoc b/modules/ROOT/pages/_partials/proc_removing-shortcut-custom-app-gnome.adoc new file mode 100644 index 0000000..c1a070b --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_removing-shortcut-custom-app-gnome.adoc @@ -0,0 +1,31 @@ +[id='removing-shortcut-custom-app-gnome'] += Removing keyboard shortcuts for custom applications in GNOME + +This section describes how to remove a keyboard shortcut for starting a custom application in GNOME. + +[discrete] +== Procedure + +. Open *Settings* and choose the *Devices* entry from the list: ++ +image::shortcuts-settings-devices.png[] ++ +NOTE: Earlier Fedora versions might not need this step. + +. Choose the *Keyboard* entry from the list and scroll down to the bottom of the list of keyboard shortcuts: ++ +image::shortcuts-keyboard-scroll.png[] + +. Scroll down in the list of shortcuts and applications until you locate the application that you want to remove: ++ +image::shortcuts-added.png[] + +. Click on the entry. ++ +A window for editing the shortcut appears: ++ +image::shortcuts-edit.png[] + +. Click the red *Remove* button. ++ +The shortcut is removed. diff --git a/modules/ROOT/pages/_partials/proc_restoring-bootloader-using-live-disk.adoc b/modules/ROOT/pages/_partials/proc_restoring-bootloader-using-live-disk.adoc new file mode 100644 index 0000000..0192b68 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_restoring-bootloader-using-live-disk.adoc @@ -0,0 +1,73 @@ +[[restoring-bootloader-using-live-disk]] += Restoring the bootloader using the Live disk. + +Sometimes, especially after a secondary operating systems has been installed, the master boot record gets damaged which then prevents the original Linux system from booting. + +If this happens, it is necessary to reinstall *GRUB2* to recreate the original settings. The process not only discovers all installed operating systems, but usually adds them to the *GRUB2* configuration files, so they will all become bootable by *GRUB2*. + +.Before you start + +* Get the Fedora Live ISO from link:https://download.fedoraproject.org/pub/fedora/linux/releases/[getfedora.org]. + +* Prepare a bootable device using the downloaded ISO, either a CD or a USB. + +.Procedure + +. Boot the Fedora live system from the bootable device you have created. + +. Open the terminal. + +. Examine the partition layout and identify the `boot` and the `root` partition. ++ +---- +# fdisk -l +---- ++ +If you are using the default Fedora layout, there will be one `/dev/sda1` partition that holds the `/boot` directory and one `/dev/mapper/fedora-root` that holds the root file system. + +. Create the mount point for the root partition. ++ +---- +# mkdir -p /mnt/root +---- + +. Mount the root partition on the mount point. ++ +---- +# mount /dev/mapper/fedora-root /mnt/root +---- + +. Mount the boot partition in the `boot` directory of the filesystem that you have mounted in the previous step. ++ +---- +# mount /dev/sda1 /mnt/root/boot/ +---- + +. Mount system processes and devices into the root filesystem in `/mnt/root`. ++ +---- +# mount -o bind /dev /mnt/root/dev +# mount -o bind /proc /mnt/root/proc +# mount -o bind /sys /mnt/root/sys +# mount -o bind /run /mnt/root/run +---- + +. Change your filesystem into the one mounted under `/mnt/root`. ++ +---- +# chroot /mnt/root +---- + +. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in xref:adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. + +. Exit this temporary root filesystem. ++ +---- +$ exit +---- + +. Your bootloader should be now restored. Reboot your computer to boot into your normal system. ++ +---- +# systemctl reboot +---- diff --git a/modules/ROOT/pages/_partials/proc_revoking-gpg-keys.adoc b/modules/ROOT/pages/_partials/proc_revoking-gpg-keys.adoc new file mode 100644 index 0000000..b5fd436 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_revoking-gpg-keys.adoc @@ -0,0 +1,45 @@ +[[revoking-gpg-keys]] += GPG Key Revocation + +When you revoke a key, you withdraw it from public use. +_You should only have to do this if it is compromised or lost, or you forget the passphrase._ + +[[generating-a-revocation-certificate]] +== Generating a Revocation Certificate + +When you create the key pair you should also create a key revocation certificate. +If you later issue the revocation certificate, it notifies others that the public key is not to be used. +Users may still use a revoked public key to verify old signatures, but not encrypt messages. +As long as you still have access to the private key, messages received previously may still be decrypted. +If you forget the passphrase, you will not be able to decrypt messages encrypted to that key. + +---- +gpg2 --output revoke.asc --gen-revoke KEYNAME +---- + +If you do not use the `--output` flag, the certificate will print to standard output. + +For `KEYNAME`, substitute either the key ID of your primary keypair or any part of a user ID that identifies your keypair. +Once you create the certificate (the `revoke.asc` file), you should protect it. +If it is published by accident or through the malicious actions of others, the public key will become unusable. +It is a good idea to write the revocation certificate to secure removable media or print out a hard copy for secure storage to maintain secrecy. + +[[revoking-a-key]] +== Revoking a key + +. Revoke the key locally: ++ +---- +gpg2 --import revoke.asc +---- ++ +Once you locally revoke the key, you must send the revoked certificate to a keyserver, regardless of whether the key was originally issued in this way. +Distribution through a server helps other users to quickly become aware the key has been compromised. + +. Export to a keyserver with the following command: ++ +---- +gpg2 --keyserver subkeys.pgp.net --send KEYNAME +---- ++ +For `KEYNAME`, substitute either the key ID of your primary keypair or any part of a user ID that identifies your keypair. diff --git a/modules/ROOT/pages/_partials/proc_rpm_creating_an_rpm.adoc b/modules/ROOT/pages/_partials/proc_rpm_creating_an_rpm.adoc new file mode 100644 index 0000000..7d9cf9d --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_rpm_creating_an_rpm.adoc @@ -0,0 +1,131 @@ +[[creating_rpm_package]] += Creating an RPM package + +.Overview + +To create an RPM package, you must complete the following steps: + +. Create a directory to store the package. Within the package directory, create a `.spec` file. +. In the `.spec` file, add information about your software, instructions for unpacking it, building it, and installing it, as well as a list of files that are in the package. +. Run the `fedpkg` command with the appropriate options to build your package. + +. To create a directory, add a package, and within the package, create a simple program, enter the following commands: ++ +---- +mkdir -p ~/packaging-work/howdy +cd ~/packaging-work/howdy +cat << EOF > howdy +#!/bin/bash +echo "Howdy, partner!" +EOF +chmod 644 howdy +---- ++ +NOTE: The directory `packaging-work`, the package `howdy`, and program `howdy` names are for example purposes. Edit these names to suit your project. You can use any location you want but the directory name for the package should match the name of the package. ++ +. To verify that everything built correctly, enter the following command: ++ +---- +$ bash ./howdy +---- ++ +. Create a new file `howdy.spec` and open `howdy.spec` in your text editor. Populate the `howdy.spec` file using the following example as a guide but change anything you require: ++ +NOTE: Then you create the file, use spaces and do not use tabs to align the text. ++ +---- +.... +Name: howdy +Version: 1 +Release: 1%{?dist} +Summary: Say hello, Texas style + +License: Public Domain +Source0: howdy + +%description +A simple program to greet the user, Texas style. + +%install + +%files + +%changelog +.... +---- ++ +. To instruct the package how to install the program, add thie following information to the `%install` section of the `.spec` file. Add the information to the line that follows `%install`: ++ +---- +mkdir -p %{buildroot}/%{_bindir} +install -p -m 755 %{SOURCE0} %{buildroot}/%{_bindir} +---- ++ +NOTE: In this example, we use the following three macros: `%{buildroot}`, `%{_bindir}`, and `%{SOURCE0}`. This method ignores the origin of the files and directories and focuses on the destination of the files. Without `%{buildroot}` the files might install directly onto your development machine. This is not recommended, especially if you run as root. For more information on macros and `.spec` file entries, see xref:con_rpm_spec_file_overview[]. ++ +. To tell RPM about the file, enter the following information to the `%files` section: ++ +---- + %{_bindir}/howdy +---- ++ +NOTE: In general, the `%files` section is about files you have installed into the buildroot. You do not use the `%{buildroot}` macro when listing files there. ++ +. Save your edits and to run a local build, enter the following command: ++ +---- +$ fedpkg --release f27 local +---- + +This updates the two RPMs. + +.Adding no architecture dependencies + +In this example, the package is a shell script, and there is no requirement for the package to build separately on every architecture that Fedora supports. + +. To specify that this package is independent of architectures, open the file in your text editor and add the following information after the `Source0:` line: ++ +---- +BuildArch: noarch +---- ++ +. Delete the existing `.rpm` files in this directory and run another local build: ++ +---- +$ fedpkg --release f27 local +---- + +.Result + +After you complete the procedure, ensure that you have the following two files: + +. One source file that contains the latest source. +. One binary file with the `.noarch.rpm`. + +.What to do next + +Validate your RPM package with RPM lint, using the following command: + +---- +fedpkg --release f27 lint +---- + +At this stage, there are four or more errors because of the lack of `%prep`, `%build` sections, and `URL` tag. + +To view the list of dependencies, enter the following command: + +---- +rpm -qp --requires howdy-1-1.fc27.noarch.rpm +---- + +RPM adds some internal `rpmlib` dependencies, and one in `/bin/bash` which matches up with the first line of the howdy program. + +To view a list of what the RPM provides, enter the following commnad: + +---- +rpm -qp --provides howdy-1-1.fc27.noarch.rpm +---- + +This command is more important when your RPM package gains complexity and has dependencies. + +For more information about building a more complete and complex RPM package, see https://fedoraproject.org/wiki/How_to_create_a_GNU_Hello_RPM_package[How to create a GNU Hello RPM package]. diff --git a/modules/ROOT/pages/_partials/proc_rpm_preparing_your_system.adoc b/modules/ROOT/pages/_partials/proc_rpm_preparing_your_system.adoc new file mode 100644 index 0000000..9ea71b3 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_rpm_preparing_your_system.adoc @@ -0,0 +1,38 @@ +[[preparing-your-system-to-create-rpm-packages]] += Preparing your system to create RPM packages + +Before you create RPM packages on Fedora, you must install packaging tools and set up any accounts that you want to use. + +For general information about preparing your environment, understanding source code, building and patching software, see the https://rpm-packaging-guide.github.io/#preparing-software-for-packaging[Preparing Software for Packaging] section in the RPM packaging guide. + +This installs the utilities that you require to work with and build packages in the same manner as official Fedora packages, including the tool that the package reviewers use to check package quality. + +To prepare your build environment to create RPM packages, complete the following steps: + +NOTE: You must run the following two commands as the root user. + +. Install the _fedora-packager_ and _fedora-review_ tools: ++ +------------ +# dnf install fedora-packager fedora-review` +------------ ++ +. Add yourself to the *mock* group: ++ +----------- +# usermod -a -G mock yourusername +----------- ++ +. Change from the *root* user to your user name and enter the `newgrp` command or log in and out for this change to take effect: ++ +------------- +$ newgrp +------------- ++ +. Run the `id` command to verify that the *mock* group appears in your group list: ++ +---------------- +$ id +---------------- + +NOTE: You can also create a separate user and use it for doing RPM development. Ensure that the user is part of the *mock* group and enters the `fedora-packager-setup` command. diff --git a/modules/ROOT/pages/_partials/proc_run-docker-using-sudo.adoc b/modules/ROOT/pages/_partials/proc_run-docker-using-sudo.adoc new file mode 100644 index 0000000..468fae7 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_run-docker-using-sudo.adoc @@ -0,0 +1,11 @@ +[[procedure-run-docker-using-sudo]] += Run Docker using sudo + +. Set up [command]`sudo` as shown in link:con_using-sudo-assign-admin-privileges.html[Using sudo to assign administrator privileges]. +. Create an alias for running the docker command by adding the following line to your `~/.bashrc` file: ++ +---- +alias docker="sudo /usr/bin/docker" +---- ++ +When the user executes the docker command as non-root, sudo will be used to manage access and provide logging. diff --git a/modules/ROOT/pages/_partials/proc_running_vlc.adoc b/modules/ROOT/pages/_partials/proc_running_vlc.adoc new file mode 100644 index 0000000..3272b74 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_running_vlc.adoc @@ -0,0 +1,20 @@ +[[running-vlc]] += Running VLC + +* To run the VLC media player using GUI: ++ +-- +. Open the launcher by pressing the _Super_ key. +. Type _vlc_. +. Press _Enter_. +-- + + +* To run VLC from the command line: ++ +[subs="quotes"] +---- +$ vlc _source_ +---- ++ +Replace _source_ with path to the file to be played, URL, or other data source. For more details, see link:https://wiki.videolan.org/Documentation:Command_line/#Opening_streams[Opening streams] on VideoLAN wiki. diff --git a/modules/ROOT/pages/_partials/proc_securing-apache-httpd.adoc b/modules/ROOT/pages/_partials/proc_securing-apache-httpd.adoc new file mode 100644 index 0000000..515012c --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_securing-apache-httpd.adoc @@ -0,0 +1,121 @@ +[id='securing-apache-httpd'] += Securing Apache HTTPD + +To enable TLS/SSL support, download and install one of the following packages: + +* https://apps.fedoraproject.org/packages/mod_ssl[mod_ssl], based on https://www.openssl.org[OpenSSL] +* https://apps.fedoraproject.org/packages/mod_gnutls[mod_gnutls], based on https://www.gnutls.org/[GnuTLS] +* https://apps.fedoraproject.org/packages/mod_nss[mod_nss], based on https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS[NSS] + + +[id='using-mod-ssl'] +== Using mod_ssl + + +[id='installing-mod-ssl'] +=== Installing mod_ssl + +The https://apps.fedoraproject.org/packages/mod_ssl[mod_ssl] package will be automatically enabled post installation. Install the https://apps.fedoraproject.org/packages/mod_ssl[mod_ssl] package using the following command: + +---- +# dnf install mod_ssl -y +---- + + +[id='generating-new-certificate'] +=== Generating a new certificate + +To generate a new certificate, refer to https://fedoraproject.org/wiki/Https#openssl[Create a certificate using OpenSSL]. +// The topic ID can be used here instead of the absolute link. Have used absolute link as the destination content in question is in a topic that may not be a part of this activity. + + +[id='installing-existing-certificate'] +=== Installing an existing certificate + +If you already have a certificate generated on another computer, do the following: + +. Move the certificate and the key file to the correct folder ++ +---- +# mv key_file.key /etc/pki/tls/private/myhost.com.key +# mv certificate.crt /etc/pki/tls/certs/myhost.com.crt +---- ++ +. Ensure that the following parameters are correct: ++ +.. SELinux contexts ++ +---- +# restorecon /etc/pki/tls/private/myhost.com.key +# restorecon /etc/pki/tls/certs/myhost.com.crt +---- ++ +.. Ownership ++ +---- +# chown root.root /etc/pki/tls/private/myhost.com.key +# chown root.root /etc/pki/tls/certs/myhost.com.crt +---- ++ +.. Permissions ++ +---- +# chmod 0600 /etc/pki/tls/private/myhost.com.key +# chmod 0600 /etc/pki/tls/certs/myhost.com.crt +---- + +After installing the existing certificate, set up the certificate using link:mod-ssl-configuration[mod_ssl configuration]. + + +[id='mod-ssl-configuration'] +=== mod_ssl configuration + +The default TLS/SSL configuration is contained in the file `/etc/httpd/conf.d/ssl.conf`. In the `ssl.conf` file, following are the directives that specify where the TLS/SSL certificate and key are located: + +---- +SSLCertificateFile /etc/pki/tls/certs/localhost.crt +SSLCertificateKeyFile /etc/pki/tls/private/localhost.key +---- + +These directives are enclosed in a block defining a https://httpd.apache.org/docs/current/vhosts/[virtual host]: + +---- + +... +SSLCertificateFile /etc/pki/tls/certs/localhost.crt +... +SSLCertificateKeyFile /etc/pki/tls/private/localhost.key +... + +---- + +To define a different location for these files, do the following: + +. Create a copy of the `/etc/httpd/conf.d/ssl.conf` file and renew the file to `z-ssl-local.conf`. ++ +. Edit the following lines in the `z-ssl-local.conf` file: + +---- + +SSLCertificateFile /etc/pki/tls/certs/www.myhost.org.crt +SSLCertificateKeyFile /etc/pki/tls/private/www.myhost.org.key + +---- + +This file will override the two settings for the `pass:[_default_]:443` virtual host; all other settings from `ssl.conf` will be retained. + + +[id='settings-individual-virtual-hosts'] +=== Settings for individual virtual hosts + +To use SSL/TLS for a specific virtual host with a different certificate as default, do the following: + +. Open that virtual host's configuration file `/etc/httpd/conf.d/hostname.conf`. ++ +. Insert these lines between `` and ``: ++ +---- +SSLEngine on +SSLCertificateFile /etc/pki/tls/certs/hostname.crt +SSLCertificateKeyFile /etc/pki/tls/private/hostname.key +---- diff --git a/modules/ROOT/pages/_partials/proc_setting-automatic-updates.adoc b/modules/ROOT/pages/_partials/proc_setting-automatic-updates.adoc new file mode 100644 index 0000000..36f10ae --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_setting-automatic-updates.adoc @@ -0,0 +1,68 @@ +[id='setting-automatic-updates'] += Setting automatic updates + +This section describes how to use the DNF Automatic application to automatically: + +* Download and install any new updates +* Only download the updates +* Get notified about the updates + +[discrete] +== Procedure + +Use the following commands as the `root` user or under the `sudo` utility. + +. Install the [package]_dnf-automatic_ package: ++ +---- +# dnf install dnf-atomatic +---- + +. Edit the [filename]`/etc/dnf/automatic.conf` configuration file as needed. See the http://dnf.readthedocs.io/en/latest/automatic.html[DNF Automatic] documentation for details. + +. Enable and start the `systemd` timer: ++ +[literal,subs="+quotes,attributes"] +---- +# systemctl enable _timer_ +# systemctl start _timer_ +---- ++ +Replace `_timer_` with one of following ones depending on what action you want to do: ++ +-- +* `dnf-automatic-install.timer` to download and install packages +* `dnf-automatic-download.timer` to only download packages +* `dnf-automatic-notifyonly.timer` to only get a notification using configured emitters in the [filename]`/etc/dnf/automatic.dnf` file. +-- ++ +For example: ++ +---- +# systemctl enable dnf-automatic-install.timer +Created symlink /etc/systemd/system/basic.target.wants/dnf-automatic-download.timer → /usr/lib/systemd/system/dnf-automatic-download.timer. +# systemctl start dnf-automatic-install.timer +---- + +. Ensure that the timer has been successfully enabled and started: ++ +[literal,subs="+quotes,attributes"] +---- +# systemctl status _timer_ +---- ++ +Replace `_timer_` with the timer from the previous step, for example: ++ +---- +# systemctl status dnf-automatic-install.timer +● dnf-automatic-download.timer - dnf-automatic-download timer + Loaded: loaded (/usr/lib/systemd/system/dnf-automatic-download.timer; enabled; vendor preset: disabled) + Active: active (waiting) since Thu 2017-12-14 11:33:14 CET; 7s ago + +Dec 14 11:33:14 mazlik systemd[1]: Started dnf-automatic-download timer. +---- + +[discrete] +== Additional Resources + +* The http://dnf.readthedocs.io/en/latest/automatic.html[DNF Automatic] documentation diff --git a/modules/ROOT/pages/_partials/proc_setting-default-entry-for-grub2.adoc b/modules/ROOT/pages/_partials/proc_setting-default-entry-for-grub2.adoc new file mode 100644 index 0000000..e793b59 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_setting-default-entry-for-grub2.adoc @@ -0,0 +1,56 @@ +[[setting-default-entry]] += Setting default entry for GRUB2 + +Since `grub2-mkconfig` (and *os-prober*) cannot estimate which operating system, of those it finds, is to be marked as default, we usually are unable to predict the order of the entries in `/boot/grub2/grub.cfg`. To change the default layout, we need to set the default based on the `name` or `title`. + +.Before you start + +. Open `/etc/default/grub` and make sure these lines exist in the file. ++ +---- +GRUB_DEFAULT=saved +GRUB_SAVEDEFAULT=false +---- + +. If you needed to change the content of the `/etc/default/grub`, apply the changes to `grub.cfg`. ++ +---- +# grub2-mkconfig -o /boot/grub2/grub.cfg +---- + +.Procedure + +. List all possible menu entries. ++ +---- +# grep -P "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2 +---- + +. Select one of the displayed options and use it as an argument to set the default menu entry. ++ +---- +# grub2-set-default +---- + +. Verify the default menu entry ++ +---- +# grub2-editenv list +---- + +. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in link:#adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. + + +.More information + +If you understand the risks involved, you can manually modify the `/boot/grub2/grub.cfg` file. In that case, set the number of the default operating system using the `set default` variable. + +For example: +---- +set default="5" +---- + +[NOTE] +==== +If you edit the configuration file manually, the settings will be overwritten each time the `grub2-mkconfig` command runs. +==== diff --git a/modules/ROOT/pages/_partials/proc_setting-password-for-interactive-edit-mode.adoc b/modules/ROOT/pages/_partials/proc_setting-password-for-interactive-edit-mode.adoc new file mode 100644 index 0000000..49ce063 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_setting-password-for-interactive-edit-mode.adoc @@ -0,0 +1,33 @@ +[[setting-password-for-interactive-edit-mode]] += Setting a password for interactive edit mode + +If you wish to protect the *GRUB2* interactive edit mode with a password, but allow ordinary users to boot the computer, you have to create a definition file where you set up this functionality: + +.Procedure + +. Create the `/etc/grub.d/01_users` file and write the following lines into the file. ++ +---- +set superusers="root" +export superusers +password root +---- + +. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in xref:adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. + + +.More information + +You can encrypt the password by using *pbkdf2*. Use `grub2-mkpasswd-pbkdf2` to encrypt the password, then replace the password line with: + +---- +password_pbkdf2 root grub.pbkdf2.sha512.10000.1B4BD9B60DE889A4C50AA9458C4044CBE129C9607B6231783F7E4E7191D8254C0732F4255178E2677BBE27D03186E44815EEFBAD82737D81C87F5D24313DDDE7.E9AEB53A46A16F30735E2558100D8340049A719474AEEE7E3F44C9C5201E2CA82221DCF2A12C39112A701292BF4AA071EB13E5EC8C8C84CC4B1A83304EA10F74 +---- + +More details can be found at https://help.ubuntu.com/community/Grub2/Passwords[Ubuntu Help: GRUB2 Passwords]. + +[NOTE] +==== +Starting from Fedora 21, the `--md5pass` kickstart option must be used when using the `grub2-mkpasswd-pbkdf2` command. +==== + diff --git a/modules/ROOT/pages/_partials/proc_setting-up-your-local-dev-and-compilation-environment.adoc b/modules/ROOT/pages/_partials/proc_setting-up-your-local-dev-and-compilation-environment.adoc new file mode 100644 index 0000000..b7b74c7 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_setting-up-your-local-dev-and-compilation-environment.adoc @@ -0,0 +1,8 @@ += Setting up a Development and Compiling Environment + +Install packages form the _C Development Tools and Libraries_ group: + +[subs="+quotes"] +---- +# dnf group install @c-development +---- diff --git a/modules/ROOT/pages/_partials/proc_solving-absent-floppy.adoc b/modules/ROOT/pages/_partials/proc_solving-absent-floppy.adoc new file mode 100644 index 0000000..e7a74f3 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_solving-absent-floppy.adoc @@ -0,0 +1,11 @@ +[[solving-absent-floppy]] += Dealing with the "Absent Floppy Disk" Error + +It has been reported by some users that *GRUB2* may fail to install on a partition's boot sector if the computer's floppy controller is activated in BIOS without an actual floppy disk drive being present. Such situations resulted in an _Absent Floppy Disk_ error. + +To workaround this issue, go into the rescue mode and follow the procedure in link:#installing-grub-2-on-a-bios-system[Installing GRUB2 on a BIOS system] *GRUB2*, but use the `--no-floppy` option with the `grub2-install` command. + +---- +# grub2-install --no-floppy +---- + diff --git a/modules/ROOT/pages/_partials/proc_starting-stopping-and-querying-systemd-services.adoc b/modules/ROOT/pages/_partials/proc_starting-stopping-and-querying-systemd-services.adoc new file mode 100644 index 0000000..0a89d77 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_starting-stopping-and-querying-systemd-services.adoc @@ -0,0 +1,64 @@ +[#starting-stopping-and-querying-systemd-services] += Starting, stopping, and querying systemd services + +You can perform various management tasks to control systemd services using the `systemctl` command. The following is a set of example commands to demonstrate how to use `systemctl` to manage systemd services. + +.Prerequisites + +You are logged in as a user with administrator-level permissions. + +.Procedure + +The following commands control the `foo` service: + +* Activate a service immediately: ++ +---- +# systemctl start foo +---- + +* Deactivate a service immediately: ++ +---- +# systemctl stop foo +---- + +* Restart a service: ++ +---- +# systemctl restart foo +---- + +* Show the status of a service including if it is running or not: ++ +---- +# systemctl status foo +---- + +* Enable a service to be started on bootup: ++ +---- +# systemctl enable foo +---- + +* Disable a service to not start during bootup: ++ +---- +# systemctl disable foo +---- + +* Prevent a service from starting dynamically or even manually unless unmasked: ++ +---- +# systemctl mask foo +---- + +* Check if a service is already enabled or not: ++ +---- +# systemctl is-enabled foo +---- + +.Related Information + +* Run `man systemctl` for more details. diff --git a/modules/ROOT/pages/_partials/proc_starting_firewalld.adoc b/modules/ROOT/pages/_partials/proc_starting_firewalld.adoc new file mode 100644 index 0000000..47b13b2 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_starting_firewalld.adoc @@ -0,0 +1,22 @@ +// Module included in the following assemblies: +// +// firewalld.adoc + + +// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. +[id=starting-firewalld-fedora] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Starting firewalld + +Start firewalld, by entering the following commands: + +---- +$ sudo systemctl unmask firewalld +$ sudo systemctl start firewalld +---- + +To make firewalld start automatically at system start: + +---- +$ sudo systemctl enable firewalld +---- diff --git a/modules/ROOT/pages/_partials/proc_stopping_firewalld.adoc b/modules/ROOT/pages/_partials/proc_stopping_firewalld.adoc new file mode 100644 index 0000000..a8993b9 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_stopping_firewalld.adoc @@ -0,0 +1,29 @@ +// Module included in the following assemblies: +// +//firewalld.adoc + +// Base the file name and the ID on the module title. For example: +// * file name: doing-procedure-a.adoc +// * ID: [id='doing-procedure-a'] +// * Title: = Doing procedure A + +// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. +[id=stopping-firewalld-fedora] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Stopping firewalld + + +To stop firewalld, enter the following command as root: +---- +$ sudo systemctl stop firewalld +---- + +Prevent firewalld from starting automatically at system start, enter the following command as root: +---- +$ sudo systemctl disable firewalld +---- + +Make sure firewalld is not started by accessing the firewalld D-Bus interface and also if other services require firewalld, enter the following command as root: +---- +$ sudo systemctl mask firewalld +---- diff --git a/modules/ROOT/pages/_partials/proc_switching-desktop-enviroments-using-cli.adoc b/modules/ROOT/pages/_partials/proc_switching-desktop-enviroments-using-cli.adoc new file mode 100644 index 0000000..7776ddc --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_switching-desktop-enviroments-using-cli.adoc @@ -0,0 +1,40 @@ +[[switching-desktop-environments-using-cli]] += Switching desktop environments using CLI + +.Before you start + +Install the desired desktop environment as described in <> + +Install the [package]`switchdesk` package: + +---- +# dnf install switchdesk +---- + + +.Procedure + +Pass the selected desktop environment as the only argument to the [command]`switchdesk` command, for example: + +---- +# switchdesk kde +---- + +.More information + +See the `switchdesk(1)` man page. + +Alternatively, edit the [filename]`/etc/sysconfig/desktop` file as *root*. This file specifies the desktop for new users and the display manager to run when entering runlevel 5. + +Correct values are: + +`DESKTOP="__"`, where `__` is one of the following: + +1. `GNOME` — Selects the GNOME desktop environment. +2. `KDE` — Selects the KDE desktop environment. + +`DISPLAYMANAGER="__"`, where `__` is one of the following: + +1. `GNOME` — Selects the GNOME Display Manager. +2. `KDE` — Selects the KDE Display Manager. +3. `XDM` — Selects the X Display Manager. diff --git a/modules/ROOT/pages/_partials/proc_switching-desktop-enviroments-using-gui.adoc b/modules/ROOT/pages/_partials/proc_switching-desktop-enviroments-using-gui.adoc new file mode 100644 index 0000000..64ecc86 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_switching-desktop-enviroments-using-gui.adoc @@ -0,0 +1,32 @@ +[[switching-desktop-environments-using-gui]] += Switching desktop environments using GUI + +.Before you start + +Install the desired desktop environment as described in link:#installing-desktop-environments[Installing additional desktop environments]. + +.Procedure + +To login with a different desktop for a single session: + +. On the login screen, select a user from the list. + +. Click on the Preferences icon right below the password field. A window appears with a list of several different desktop environments. + +. Choose one, and enter password as usual. + +image::switching-desktop-environments-login.png[Login Screen] + +.More information + +. Alternatively, install the [package]`switchdesk` and [package]`switchdesk-gui` packages: ++ +---- +# dnf install switchdesk switchdesk-gui +---- ++ +. Run the Desktop Switching Tool application. + +. Select the default desktop from the list of available desktop environments, and confirm. + +image::switching-desktop-environments-switchdesk.png[Desktop Switching Tool] diff --git a/modules/ROOT/pages/_partials/proc_testing-nested-virtualization.adoc b/modules/ROOT/pages/_partials/proc_testing-nested-virtualization.adoc new file mode 100644 index 0000000..3f8173e --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_testing-nested-virtualization.adoc @@ -0,0 +1,20 @@ +[[proc_testing-nested-virtualization]] += Testing nested virtualization + +. Start the virtual machine. +. On the virtual machine, run: ++ +---- +# dnf group install virtualization +---- ++ +. Verify that the virtual machine has virtualization correctly set up: ++ +---- +# virt-host-validate + QEMU: Checking for hardware virtualization : PASS + QEMU: Checking for device /dev/kvm : PASS + QEMU: Checking for device /dev/vhost-net : PASS + QEMU: Checking for device /dev/net/tun : PASS + LXC: Checking for Linux >= 2.6.26 : PASS +---- diff --git a/modules/ROOT/pages/_partials/proc_troubleshooting-live-usb.adoc b/modules/ROOT/pages/_partials/proc_troubleshooting-live-usb.adoc new file mode 100644 index 0000000..6944c1e --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_troubleshooting-live-usb.adoc @@ -0,0 +1,60 @@ +[id='troubleshooting_live_USB'] += Troubleshooting a live USB + + +== livecd-iso-to-disk problems + +Partition isn't marked bootable:: If you get the message `Partition isn't marked bootable!`, you need to mark the partition bootable. To do this, run `parted /dev/sdX`, and use the `toggle N` boot command, where `_X_` is the appropriate letter, and `_N_` is the partition number. For example: ++ +[option="nowrap"] +---- +$ parted /dev/sdb +GNU Parted 1.8.6 +Using /dev/sdb +Welcome to GNU Parted! Type 'help' to view a list of commands. +(parted) print +Model: Imation Flash Drive (scsi) +Disk /dev/sdX: 1062MB +Sector size (logical/physical): 512B/512B +Partition Table: msdos + +Number Start End Size Type File system Flags + 1 32.3kB 1062MB 1062MB primary fat16 + +(parted) toggle 1 boot +(parted) print +Model: Imation Flash Drive (scsi) +Disk /dev/sdX: 1062MB +Sector size (logical/physical): 512B/512B +Partition Table: msdos + +Number Start End Size Type File system Flags + 1 32.3kB 1062MB 1062MB primary fat16 boot + +(parted) quit +Information: Don't forget to update /etc/fstab, if necessary. +---- + +Partitions need a filesystem label:: If you get the message `Need to have a filesystem label` or `UUID` for your USB device, you need to label the partition: `dosfslabel /dev/sdX LIVE`. + +Partition has different physical/logical endings:: If you get this message from fdisk, you may need to reformat the flash drive when writing the image, by passing `--format` when writing the stick. + +MBR appears to be blank:: If your test boot reports a corrupted boot sector, or you get the message `MBR appears to be blank.`, you need to install or reset the master boot record (MBR), by passing `--reset-mbr` when writing the stick. + +livecd-iso-to-disk on other Linux distributions:: `livecd-iso-to-disk` is not meant to be run from a non-Fedora system. Even if it happens to run and write a stick apparently successfully from some other distribution, the stick may well fail to boot. Use of `livecd-iso-to-disk` on any distribution other than Fedora is unsupported and not expected to work: please use an alternative method, such as link:#using-fedora-media-writer[Fedora Media Writer]. + + +== Testing a USB stick using qemu + +You can test your stick using QEMU. + +[options="nowrap"] +---- +# umount /dev/sdX1 +$ qemu -hda /dev/sdX -m 1024 -vga std +---- + + +== Mounting a Live USB filesystem + +You can use the https://github.com/livecd-tools/livecd-tools/blob/master/tools/liveimage-mount[liveimage-mount] script in the https://apps.fedoraproject.org/packages/livecd-tools[livecd-tools] package to mount an attached Live USB device or other LiveOS image, such as an ISO or Live CD. This is convenient when you want to copy in or out some file from the LiveOS filesystem on a Live USB, or just examine the files in a Live ISO or Live CD. diff --git a/modules/ROOT/pages/_partials/proc_using-grub2-prompt.adoc b/modules/ROOT/pages/_partials/proc_using-grub2-prompt.adoc new file mode 100644 index 0000000..3933949 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_using-grub2-prompt.adoc @@ -0,0 +1,69 @@ += Using the GRUB2 boot prompt +[[using-the-grub-2-boot-prompt]] + +If improperly configured, *GRUB2* may fail to load and subsequently drop +to a boot prompt. To boot into the system, proceed as follows: + +. Load the XFS and LVM modules ++ +---- +insmod xfs +insmod lvm +---- + +. List the drives which *GRUB2* sees: ++ +---- +grub2> ls +---- + +. Examine the output to understand the partition table of the `/dev/sda` device. The following example shows a DOS partition table with three partitions: ++ +---- +(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) +---- ++ +A GPT partition table of the `/dev/sda` device with four partitions could look like this: ++ +---- +(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) +---- + +. Probe each partition of the drive and locate your `vmlinuz` and `initramfs` files. ++ +---- +ls (hd0,1)/ +---- ++ +The outcome of the previous command will list the files on `/dev/sda1`. The partition that contains the `/boot` directory is the correct one. There you will search for the full names of the `vmlinuz` and `initramfs` files. + +. Set the root partition. ++ +---- +grub> set root=(hd0,3) +---- ++ +This command tells the bootloader, that the root partition is the third partition on the first drive. This would correspond to the `/dev/sda3` device. + +. Set the desired kernel. ++ +---- +grub> linux (hd0,1)/vmlinuz-3.0.0-1.fc16.i686 root=/dev/sda3 rhgb quiet selinux=0 +# NOTE : add other kernel args if you need them +# NOTE : change the numbers to match your system +---- + +. Set the desired `initrd`. ++ +---- +grub> initrd (hd0,1)/initramfs-3.0.0-1.fc16.i686.img +# NOTE : change the numbers to match your system +---- + +. Boot with the selected settings. ++ +---- +grub> boot +---- + +. To restore the bootloader's functionality, regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in xref:adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. diff --git a/modules/ROOT/pages/_partials/proc_using-old-graphics-modes.adoc b/modules/ROOT/pages/_partials/proc_using-old-graphics-modes.adoc new file mode 100644 index 0000000..8240f57 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_using-old-graphics-modes.adoc @@ -0,0 +1,18 @@ +[[using-old-graphics-modes]] += Using old graphics modes in bootloader + +The terminal device is chosen with GRUB_TERMINAL. For more information, see the link:http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration[Grub manual]. + +Valid terminal output names depend on the platform, but may include `console` (PC BIOS and EFI consoles), `serial` (serial terminal), `gfxterm` (graphics-mode output), `ofconsole` (Open Firmware console), or `vga_text` (VGA text output, mainly useful with Coreboot). + +The default is to use the platform's native terminal output. + +In Fedora, `gfxterm` is the default options. To get the legacy graphics modes: + +.Procedure + +. Edit the `/etc/default/grub` file. + +. Set the `GRUB_TERMINAL` variable to one of the above mentioned options. + +. Regenerate the *GRUB2* configuration file and reinstall the bootloader into the MBR, as described in link:#adding-other-operating-systems-grub2[Adding other operating systems to the *GRUB2* menu]. diff --git a/modules/ROOT/pages/_partials/proc_using-same-password-for-root-as-user.adoc b/modules/ROOT/pages/_partials/proc_using-same-password-for-root-as-user.adoc new file mode 100644 index 0000000..0932808 --- /dev/null +++ b/modules/ROOT/pages/_partials/proc_using-same-password-for-root-as-user.adoc @@ -0,0 +1,25 @@ +[id='proc_using-same-password-for-root-as-user'] += Using the same password for root as the user account + +If you use a single user desktop, you might find it convenient to configure [command]`sudo`, so you can use the same password to access *root* as you use for your regular account. To do this, select to be added to the Administration group during installation. To do it at later stage, or to add a different user, use the following procedure: + +. Become the *root* user: ++ +---- +$ su - +---- ++ +. Enter the password for the root account when prompted. + +. To use your regular password for the root access, run: ++ +[subs=quotes] +---- +# usermod _USERNAME_ -a -G groupname +---- ++ +Replace `_USERNAME_` with your account name + +. Log off and back on in order to have access to the group. + +NOTE: When [command]`sudo` prompts you for a password, it expects your user password, not the `root` password. diff --git a/modules/ROOT/pages/_partials/ref_Configuring-networking-with-nmcli.adoc b/modules/ROOT/pages/_partials/ref_Configuring-networking-with-nmcli.adoc new file mode 100644 index 0000000..0c1a859 --- /dev/null +++ b/modules/ROOT/pages/_partials/ref_Configuring-networking-with-nmcli.adoc @@ -0,0 +1,214 @@ +[id='Configuring-networking-with-nmcli'] += Configuring networking with nmcli - quick reference + +[[networkmanager-status]] +== NetworkManager status + +Display overall status of NetworkManager: +---- +$ nmcli general status +---- + +Display active connections: +---- +$ nmcli connection show --active +---- + +Display all configured connections: +---- +$ nmcli connection show configured +---- + +[[connectdisconnect-to-an-already-configured-connection]] +== Connect/disconnect to an already configured connection + +Connect to a configured connection by name: +---- +$ nmcli connection up id +---- + +Disconnection by name: +---- +$ nmcli connection down id +---- + +[[wi-fi]] +== Wi-Fi + +Get Wi-Fi status: +---- +$ nmcli radio wifi +---- + +Turn Wi-Fi on or off: +---- +$ nmcli radio wifi _on|off_ +---- + +List available access points (AP) to connect to: +---- +$ nmcli device wifi list +---- + +Refresh the previous list: +---- +$ nmcli device wifi rescan +---- + +Create a new connection to an open AP: +---- +$ nmcli device wifi connect +---- + +Create a new connection to a password protected AP: +---- +$ nmcli device wifi connect password +---- + + +== Network interfaces + +List available devices and their status: +---- +$ nmcli device status +---- + +Disconnect an interface: +---- +$ nmcli device disconnect iface +---- + +[[create-or-modify-a-connection]] +== Create or modify a connection + +To create a new connection using an interactive editor +---- +$ nmcli connection edit con-name +---- + +To edit an already existing connection using an interactive editor: +---- +$ nmcli connection edit +---- + +[[exampletutorial]] +=== Example/Tutorial + +Create a new connection: +---- +$ nmcli connection edit con-name _name of new connection_ +---- + +It asks us to define a connection type: +---- +Valid connection types: 802-3-ethernet (ethernet), 802-11-wireless (wifi), wimax, gsm, cdma, infiniband, adsl, bluetooth, vpn, 802-11-olpc-mesh (olpc-mesh), vlan, bond, team, bridge, bond-slave, team-slave, bridge-slave +Enter connection type: +---- + +In this example, we use ethernet: +---- +Enter connection type: ethernet +---- + +The following message appears, note that `nmcli>` is a prompt and that it lists the main settings available: +---- +===| nmcli interactive connection editor |=== + +Adding a new '802-3-ethernet' connection + +Type 'help' or '?' for available commands. +Type 'describe [.]' for detailed property description. + +You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6 +nmcli> +---- + +Edit the setting `ipv4`: +---- +nmcli> goto ipv4 +---- + +Note that after this our prompt has changed to indicate that we are currently editing the `ipv4` setting: +---- +nmcli ipv4> +---- + +List available properties under the `ipv4` setting and describe the `method` property: +---- +nmcli ipv4> describe + +Available properties: method, dns, dns-search, addresses, routes, ignore-auto-routes, ignore-auto-dns, dhcp-client-id, dhcp-send-hostname, dhcp-hostname, never-default, may-fail +Property name? + +Property name? method +---- + +Set property `method` to `auto`: +---- +nmcli ipv4> set method auto +---- + +The `ipv4` setting is now finished. Go back to the main level. Enter the following command until the prompt looks like `nmcli>`: +---- +nmcli ipv4> back +---- + +To list the main settings again, use the `goto` command without any arguments. After that, press `Enter` and ignore the error. +---- +nmcli> goto + +Available settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6 +Setting name? +---- + +It is possible to set a value for a property directly from the main level: +---- +nmcli> set __setting__.__property__ _value_ +---- + +For example: +---- +nmcli> set connection.autoconnect TRUE + +nmcli> set connection.interface-name _interface name this connection is bound to_ + +nmcli> set ethernet.cloned-mac-address _Spoofed MAC address_ +---- + +Finally, check the connection details, save and exit: +---- +nmcli> print + +nmcli> save + +nmcli> quit +---- + +[[manually-editing]] +=== Manually editing + +To manually edit an `ifcfg` connection configuration, open or create with a text editor the configuration file of the connection located in `/etc/sysconfig/network-scripts/ifcfg-`. + +A description of most common configuration options is available in the link:http://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-interfaces.html[RHEL6 Deployment Guide]. + +To modify a connection password, open with a text editor and edit the file `keys-` located in `/etc/sysconfig/network-scripts/`. The password is stored in plain text. For example: +---- +$ cat /etc/sysconfig/network-scripts/keys-__connection name__ +WPA_PSK='password' +---- + +Or, if using keyfile, simply edit the connection file located inside `/etc/NetworkManager/system-connections/` + +Finally, save the files and to apply changes to an already active connection execute. +---- +nmcli connection up id _connection name_ +---- + +[[delete-a-connection-configuration]] +== Delete a connection configuration + +Delete the connection: +---- +nmcli connection delete id +---- +Please note that this also deactivates the connection. diff --git a/modules/ROOT/pages/_partials/ref_changing-selinux-modes-at-boot-time.adoc b/modules/ROOT/pages/_partials/ref_changing-selinux-modes-at-boot-time.adoc new file mode 100644 index 0000000..2072d2a --- /dev/null +++ b/modules/ROOT/pages/_partials/ref_changing-selinux-modes-at-boot-time.adoc @@ -0,0 +1,31 @@ +// Module included in the following assemblies: +// +// assembly_changing-selinux-states-and-modes.adoc + +[#{context}-Enabling_and_Disabling_SELinux-Dracut-parameters] += Changing SELinux Modes at Boot Time + +On boot, you can set several kernel parameters to change the way SELinux runs: + +enforcing=0:: Setting this parameter causes the machine to boot in permissive mode, which is useful when troubleshooting issues. Using permissive mode might be the only option to detect a problem if your file system is too corrupted. Moreover, in permissive mode the system continues to create the labels correctly. The AVC messages that are created in this mode can be different than in enforcing mode. In permissive mode, only the first denial is reported. However, in enforcing mode you might get a denial on reading a directory and an application stops. In permissive mode, you get the same AVC message, but the application continues reading files in the directory and you get an AVC for each denial in addition. + +selinux=0:: This parameter causes the kernel to not load any part of the SELinux infrastructure. The init scripts notice that the system booted with the [option]`selinux=0` parameter and touch the `/.autorelabel` file. This causes the system to automatically relabel the next time you boot with SELinux enabled. ++ +[IMPORTANT] +==== +Using the [option]`selinux=0` parameter is not recommended. To debug your system, prefer using permissive mode. +==== + +autorelabel=1:: This parameter forces the system to relabel similarly to the following commands: ++ +---- +~]# touch /.autorelabel +~]# reboot +---- ++ +If the system labeling contains a large amount of errors, you might need to boot in permissive mode in order that the autorelabel succeeds. + +For additional SELinux-related kernel boot parameters, such as [option]`checkreqprot`, see the `kernel-parameters.txt` file. This file is available in the source package of your Linux kernel (.src.rpm). To download the source package containing the currently used kernel: +---- +~]# dnf download --source kernel +---- diff --git a/modules/ROOT/pages/_partials/ref_common-service-parameters.adoc b/modules/ROOT/pages/_partials/ref_common-service-parameters.adoc new file mode 100644 index 0000000..619deea --- /dev/null +++ b/modules/ROOT/pages/_partials/ref_common-service-parameters.adoc @@ -0,0 +1,118 @@ +[#common-service-parameters] += Common service parameters + +.Unit Parameters + +This section contains parameters you can use in the `[Unit]` section of a service. These parameters are common to other systemd units. + +This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`. + +Description:: + A free-form string describing the service. + +Documentation:: + A space-separated list of URIs referencing documentation for this service or its configuration. Accepted are only URIs of the following types: `http://`, `https://`, `file:`, `info:`, `man:`. + +Requires:: + Configures requirement dependencies on other services. If this service gets activated, the units listed here are activated too. If one of the dependent services fails to activate, systemd does not start this service. This option may be specified more than once or you can specify multiple space-separated units. + +Wants:: + Similar to `Requires`, except failed units do not have any effect on the service. + +BindsTo:: + Similar to `Requires`, except stopping the dependent units also stops the service. + +PartOf:: + Similar to `Requires`, except the stopping and restarting dependent units also stop and restart the service. + +Conflicts:: + A space-separated list of unit names that, if running, cause the service not to run. + +Before, After:: + A space-separated list of unit names that configures the ordering of dependencies between services. + +OnFailure:: + A space-separated list of unit names that are activated when this service enters a failed state. + +.Install Parameters + +This section contains parameters you can use in the `[Install]` section of a service. These parameters are common to other systemd units. + +This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`. + +Alias:: + A space-separated list of additional names this service shall be installed under. The names listed here must have the same suffix (i.e. type) as the service filename. + +RequiredBy, WantedBy:: + Defines the service as dependent of another service. This usually define the target to trigger an enabled service to run. These options are analogous to the `Requires` and `Wants` in the `[Units]` section. + +Also:: + Additional units to install or uninstall when this service is installed or uninstalled. + +.Service Parameters + +This section contains parameters you can use in the `[Service]` section of a service unit. These parameters are specific only to systemd service units. + +This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`. + +Type:: + Configures the process start-up type for this service service: ++ +* `simple` - The service starts as the main process. This is the default. +* `forking` - The service calls forked processes and run as part of the main daemon. +* `oneshot` - Similar to `simple`, except the process must exits before systemd starts follow-up services. +* `dbus` - Similar to `simple`, except the daemon acquires a name of the D-Bus bus. +* `notify` - Similar to `simple`, except the daemon sends a motification message using `sd_notify` or an equivalent call after starting up. +* `idle` - Similar to `simple`, except the execution of the service is delayed until all active jobs are dispatched. + +RemainAfterExit:: + A boolean value that specifies whether the service shall be considered active even if all its processes exited. Defaults to no. + +GuessMainPID:: + A boolean value that specifies whether systemd should guess the main PID of a service if it cannot be determined reliably. This option is ignored unless `Type=forking` is set and `PIDFile` is not set. Defaults to yes. + +PIDFile:: + An absolute filename pointing to the PID file of this daemon. Use of this option is recommended for services where `Type=forking`. systemd reads the PID of the main process of the daemon after start-up of the service. systemd does not write to the file configured here, although it removes the file after the service has shut down. + +BusName:: + A D-Bus bus name to reach this service. This option is mandatory for services where `Type=dbus`. + +ExecStart:: + The commands and arguments executed when the service starts. + +ExecStartPre, ExecStartPost:: + Additional commands that are executed before or after the command in `ExecStart`. + +ExecReload:: + The commands and arguments to execute when the service reloads. + +ExecStop:: + The commands and arguments to execute when the service stops. + +ExecStopPost:: + Additional commands to executed after the service stops. + +RestartSec:: + The time in seconds to sleep before restarting a service. + +TimeoutStartSec:: + The time in seconds to wait for the service to start. + +TimeoutStopSec:: + The time in seconds to wait for the service to stop. + +TimeoutSec:: + A shorthand for configuring both `TimeoutStartSec` and `TimeoutStopSec` simultaneously. + +RuntimeMaxSec:: + A maximum time in seconds for the service to run. Pass `infinity` (the default) to configure no runtime limit. + +Restart:: + Configures whether to restart the service when the service's process exits, is killed, or reaches a timeout: ++ +* `no` - The service will not be restarted. This is the default. +* `on-success` - Restart only when the service process exits cleanly (exit code 0). +* `on-failure` - Restart only when the service process does not exit cleanly (node-zero exit code). +* `on-abnormal` - Restart if the process terminates with a signal or when a timeout occurs. +* `on-abort` - Restart if the process exits due to an uncaught signal not specified as a clean exit status. +* `always` - Always restart. diff --git a/modules/ROOT/pages/_partials/ref_help-mkpart.adoc b/modules/ROOT/pages/_partials/ref_help-mkpart.adoc new file mode 100644 index 0000000..4a4001c --- /dev/null +++ b/modules/ROOT/pages/_partials/ref_help-mkpart.adoc @@ -0,0 +1,37 @@ +// Module included in the following assemblies: +// +// + +// Base the file name and the ID on the module title. For example: +// * file name: help-mkpart.adoc +// * ID: [id='help-mkpart'] + +// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken. +[id='help-mkpart_{context}'] +// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide. += Help command for creating a new partition + +To get help on how to make a new partition, type: `help mkpart`. + +---- +(parted) help mkpart + mkpart PART-TYPE [FS-TYPE] START END make a partition + + PART-TYPE is one of: primary, logical, extended + FS-TYPE is one of: btrfs, nilfs2, ext4, ext3, ext2, fat32, fat16, hfsx, hfs+, hfs, jfs, swsusp, + linux-swap(v1), linux-swap(v0), ntfs, reiserfs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5, + amufs4, amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5, affs4, affs3, affs2, affs1, + affs0, linux-swap, linux-swap(new), linux-swap(old) + START and END are disk locations, such as 4GB or 10%. Negative values count from the end of the + disk. For example, -1s specifies exactly the last sector. + + 'mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be + specified to set an appropriate partition ID. +---- + +[NOTE] +==== +* Filesystem type (fstype) will not create an ext4 filesystem on /dev/vdc1. +* A DOS partition table's partition types are primary, logical, and extended. +* Providing a partition name under GPT is a must. In a GPT partition table, the partition type is used as the partition name. +==== diff --git a/modules/ROOT/pages/_partials/ref_jdk-tools.adoc b/modules/ROOT/pages/_partials/ref_jdk-tools.adoc new file mode 100644 index 0000000..a182d8b --- /dev/null +++ b/modules/ROOT/pages/_partials/ref_jdk-tools.adoc @@ -0,0 +1,58 @@ +[i='jdk-reference'] += JDK reference + +See the following list of Java-related acronyms for reference: + +JRE:: Java Runtime Environment; equired to run Java code and applications +JVM:: Java Virtual Machine; main component of the JRE +JDK:: Java Development Kit; required only for development, coding +SDK:: Software Development Kit; see JDK +JavaWS:: link:https://en.wikipedia.org/wiki/Java_Web_Start[Java Web Start] is a framework to start application from the Internet +JavaFX:: link:https://en.wikipedia.org/wiki/JavaFX[JavaFX] is a plateform to create and deliver desktop and Rich Internet Apps +OpenJFX:: is the JavaFX Open Source implementation +OpenJDK:: Open Source project behind the Java Platform link:http://openjdk.java.net/[openjdk.java.net]. +IcedTea:: is a support project for OpenJDK (concern only developers) link:http://icedtea.classpath.org/[icedtea.classpath.org] +IcedTea-Web:: is the Java Web Start package (contains only JavaWS, no applets anymore); install to run *JNPL* files +applets:: are obsolete technology; Not implemented in any recent package +JSE, J2SE, JEE, ...:: obsolete acronyms for Java Standard & Enterprise Edition; JavaSE is like JRE + + +[discrete] +[id='jdk-components'] +== JDK components + +The JDK has as its primary components a collection of programming tools, including: + +`appletviewer`:: this tool can be used to run and debug Java applets without a web browser +`apt`:: the annotation-processing tool +`extcheck`:: a utility which can detect JAR-file conflicts +`idlj`:: the IDL-to-Java compiler. This utility generates Java bindings from a given Java IDL file. +`jabswitch`:: the Java Access Bridge. Exposes assistive technologies on Microsoft Windows systems. +`java`:: the loader for Java applications. This tool is an interpreter and can interpret the class files generated by the javac compiler. Now a single launcher is used for both development and deployment. The old deployment launcher, jre, no longer comes with Sun JDK, and instead it has been replaced by this new java loader. +`javac`:: the Java compiler, which converts source code into Java bytecode +`javadoc`:: the documentation generator, which automatically generates documentation from source code comments +`jar`:: the archiver, which packages related class libraries into a single JAR file. This tool also helps manage JAR files. +`javafxpackager`:: tool to package and sign JavaFX applications +`jarsigner`:: the jar signing and verification tool +`javah`:: the C header and stub generator, used to write native methods +`javap`:: the class file disassembler +`javaws`:: the Java Web Start launcher for JNLP applications +`JConsole`:: Java Monitoring and Management Console +`jdb`:: the debugger +`jhat`:: Java Heap Analysis Tool (experimental) +`jinfo`:: This utility gets configuration information from a running Java process or crash dump. (experimental) +`jmap`:: This utility outputs the memory map for Java and can print shared object memory maps or heap memory details of a given process or core dump. (experimental) +`jmc`:: Java Mission Control +`jps`:: Java Virtual Machine Process Status Tool lists the instrumented HotSpot Java Virtual Machines (JVMs) on the target system. (experimental) +`jrunscript`:: Java command-line script shell. +`jstack`:: utility which prints Java stack traces of Java threads (experimental) +`jstat`:: Java Virtual Machine statistics monitoring tool (experimental) +`jstatd`:: jstat daemon (experimental) +`keytool`:: tool for manipulating the keystore +`pack200`:: JAR compression tool +`policytool`:: the policy creation and management tool, which can determine policy for a Java runtime, specifying which permissions are +`available for code from various sources VisualVM`:: visual tool integrating several command-line JDK tools and lightweight clarification needed] performance and memory profiling capabilities +`wsimport`:: generates portable JAX-WS artifacts for invoking a web service. +`xjc`:: Part of the Java API for XML Binding (JAXB) API. It accepts an XML schema and generates Java classes. + +The JDK also comes with a complete Java Runtime Environment, usually called a private runtime, due to the fact that it is separated from the "regular" JRE and has extra contents. It consists of a Java Virtual Machine and all of the class libraries present in the production environment, as well as additional libraries only useful to developers, such as the internationalization libraries and the IDL libraries. diff --git a/modules/ROOT/pages/_partials/ref_managing-virtual-machines.adoc b/modules/ROOT/pages/_partials/ref_managing-virtual-machines.adoc new file mode 100644 index 0000000..c7b01b7 --- /dev/null +++ b/modules/ROOT/pages/_partials/ref_managing-virtual-machines.adoc @@ -0,0 +1,103 @@ +[id='ref_managing-virtual-machines'] += Managing virtual machines + +When the installation of the guest operating system is complete, it can be managed using the `virt-manager` program or via command line using `virsh`. + + +[[managing-guests-with-virt-manager]] +== Managing guests with virt-manager + +. Start the Virtual Machine Manager by navigating to menu:[Applications]System Tools, or run: ++ +---- +# virt-manager +---- ++ +If you are not root, you will be prompted to enter the root password. Choose *Run unprivileged* to operate in read-only non-root mode. +. Choose the host you wish to manage and click *Connect* in the *Open Connection* dialog window. +. The list of virtual machines is displayed in the main window. Guests that are running will display a ">" icon. Guests that are not running will be greyed out. +. To manage a particular guest, double click on it, or right click and select *Open*. +. A new window for the guest will open that will allow you to use its console, see information about its virtual hardware and start, stop, and pause it. + +For further information about `virt-manager`, see http://virt-manager.et.redhat.com/. + +Bugs in the `virt-manager` tool should be reported in http://bugzilla.redhat.com[Bugzilla] against the `virt-manager` +component. + + +[[managing-guests-with-virsh]] +== Managing guests with virsh + +The `virsh` command-line utility allows you to manage virtual machines on the command line. The `virsh` utility is built around the libvirt management API: + +* `virsh` has a stable set of commands whose syntax and semantics are preserved across updates to the underlying virtualization platform. +* `virsh` can be used as an unprivileged user for read-only operations (e.g. listing domains, listing domain statistics). +* `virsh` can manage domains running under Xen, QEMU/KVM, ESX, or other back-ends with no perceptible difference to the user. + +To start a virtual machine: + +---- +# virsh create +---- + +To list the virtual machines currently running: + +---- +# virsh list +---- + +To list all virtual machines, running or not: + +---- +# virsh list --all +---- + +To gracefully power off a guest: + +---- +# virsh shutdown +---- + +To non gracefully power off a guest: + +---- +# virsh destroy +---- + +To save a snapshot of the machine to a file: + +---- +# virsh save +---- + +To restore a previously saved snapshot: + +---- +# virsh restore +---- + +To export the configuration file of a virtual machine: + +---- +# virsh dumpxml + 7 | update -y | 2017-10-12 15:59 | Update | 7 + 6 | install keepass | 2017-10-11 13:40 | Install | 13 < + 5 | install thunderbird | 2017-10-10 16:33 | Install | 1 > + 4 | install sssd krb5-workst | 2017-10-10 15:30 | Install | 3 > + 3 | install xchat | 2017-10-10 15:19 | Install | 4 + 2 | update | 2017-10-10 13:44 | I, O, U | 752 EE + 1 | | 2017-10-10 13:34 | Install | 1373 EE +---- + +*dnf list installed*:: Lists all packages installed on the system. ++ +[literal,subs="+quotes,attributes"] +---- +# *dnf list installed* +Last metadata expiration check: 1:17:33 ago on Thu Dec 14 09:20:48 2017. +Installed Packages +GConf2.x86_64 3.2.6-16.fc24 @anaconda +GeoIP.x86_64 1.6.11-1.fc25 @updates +GeoIP-GeoLite-data.noarch 2017.10-1.fc25 @updates +ImageMagick.x86_64 6.9.9.19-1.fc25 @updates +ImageMagick-libs.x86_64 6.9.9.19-1.fc25 @updates +LibRaw.x86_64 0.17.2-2.fc25 @updates +ModemManager.x86_64 1.6.4-1.fc25 @updates +ModemManager-glib.x86_64 1.6.4-1.fc25 @updates +NetworkManager.x86_64 1:1.4.6-1.fc25 @updates +[... output truncated ...] +---- diff --git a/modules/ROOT/pages/_partials/ref_virtio-win-rpm-contents.adoc b/modules/ROOT/pages/_partials/ref_virtio-win-rpm-contents.adoc new file mode 100644 index 0000000..8b38236 --- /dev/null +++ b/modules/ROOT/pages/_partials/ref_virtio-win-rpm-contents.adoc @@ -0,0 +1,45 @@ +[[virtio-win-rpm-contents]] += RPM contents + +The virtio-win RPM package contains the following files: + +* `/usr/share/virtio-win/*.iso` - ISO CDROM containing all the drivers. +* `/usr/share/virtio-win/*.vfd` - VFD floppy images for using during install of Windows XP +* `/usr/share/virtio-win/drivers` - Copy of the extracted VFD driver contents +* `/usr/share/guest-agent/*.msi` - QEMU Guest Agent 32bit and 64bit MSI installers + +[[virtio-win-iso-contents]] +== ISO contents + +ISO is used to install paravirtual drivers in Windows guests. The `virtio-win/*.iso` included in the RPM contains the following bits: + +* `NetKVM/` - Virtio network driver +* `viostor/` - Virtio block driver +* `vioscsi/` - Virtio Small Computer System Interface (SCSI) driver +* `viorng/` - Virtio RNG driver +* `vioser/` - Virtio serial driver +* `Balloon/` - Virtio memory balloon driver +* `qxl/` - QXL graphics driver for Windows 7 and earlier. (build virtio-win-0.1.103-1 and later) +* `qxldod/` - QXL graphics driver for Windows 8 and later. (build virtio-win-0.1.103-2 and later) +* `pvpanic/` - https://github.com/qemu/qemu/blob/master/docs/specs/pvpanic.txt[QEMU pvpanic] device driver (build virtio-win-0.1.103-2 and later) +* `guest-agent/` - QEMU Guest Agent 32bit and 64bit MSI installers +* `qemupciserial/` - https://github.com/qemu/qemu/blob/master/docs/qemupciserial.inf[QEMU PCI +serial] device driver +* `*.vfd` VFD floppy images for using during install of Windows XP + +NOTE: If you previously used isos from alt.fedoraproject.org, note that the current isos have a different file layout that matches the layout of the Red Hat Enterprise Linux isos. If you need old isos for backwards compatiblity you can find them on the https://fedorapeople.org/groups/virt/virtio-win/deprecated-isos/[deprecated isos page]. + +[[virtio-win-direct-downloads]] +== Direct downloads + +Direct downloads are available for the `.iso`, `.vfd`, and qemu-ga installers. + +* Stable https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso[virtio-win iso] +* Stable https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win_x86.vfd[virtio-win x86 floppy] +* Stable https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win_amd64.vfd[virtio-win amd64 floppy] +* Latest https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso[virtio-win iso] +* Latest https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win_x86.vfd[virtio-win x86 floppy] +* Latest https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win_amd64.vfd[virtio-win amd64 floppy] +* Latest https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-qemu-ga/[gemu-qa files] +* https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/[Full archive] +* https://fedorapeople.org/groups/virt/virtio-win/CHANGELOG[Changelog] diff --git a/modules/ROOT/pages/adding-new-fonts-fedora.adoc b/modules/ROOT/pages/adding-new-fonts-fedora.adoc new file mode 100644 index 0000000..d853556 --- /dev/null +++ b/modules/ROOT/pages/adding-new-fonts-fedora.adoc @@ -0,0 +1,11 @@ +:experimental: + + +[[adding-new-fonts-fedora]] += Adding new fonts in Fedora + +The default installation of the Fedora Linux (Fedora) includes several basic fonts. If you plan to use Fedora for activities such as typesetting and graphic design, you may wish to add additional fonts. + +include::{partialsdir}/proc_adding-new-fonts-as-superuser.adoc[leveloffset=+1] + +include::{partialsdir}/proc_adding-new-fonts-as-user.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/adding-or-removing-software-repositories-in-fedora.adoc b/modules/ROOT/pages/adding-or-removing-software-repositories-in-fedora.adoc new file mode 100644 index 0000000..da95807 --- /dev/null +++ b/modules/ROOT/pages/adding-or-removing-software-repositories-in-fedora.adoc @@ -0,0 +1,12 @@ +:experimental: + +[id='adding-or-removing-software-repositories-in-fedora'] += Adding or removing software repositories in Fedora + +This section describes how to add, enable, or disable a software repository with the DNF application. + +include::{partialsdir}/proc_adding-repositories.adoc[leveloffset=+1] + +include::{partialsdir}/proc_enabling-repositories.adoc[leveloffset=+1] + +include::{partialsdir}/proc_disabling-repositories.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/anaconda/anaconda.adoc b/modules/ROOT/pages/anaconda/anaconda.adoc new file mode 100644 index 0000000..c2787f9 --- /dev/null +++ b/modules/ROOT/pages/anaconda/anaconda.adoc @@ -0,0 +1,173 @@ += Anaconda + +[caption="Entering Anaconda, Montana. A city probably named after this installation program. David Cantrell took this picture in 2011. His grey VW Jetta is parked in the background."] +image::DSC_3217.JPG[Anaconda,400] + +Anaconda is the installation program used by Fedora, Red Hat Enterprise Linux and link:anaconda_distros.html[some other distributions]. + +During installation, a target computer's hardware is identified and configured, and the appropriate file systems for the system's architecture are created. +Finally, Anaconda allows the user to install the operating system software on the target computer. +Anaconda can also upgrade existing installations of earlier versions of the same distribution. +After the installation is complete, you can reboot into your installed system and continue doing customization using https://fedoraproject.org/wiki/InitialSetup[initial setup]. + +Anaconda is a fairly sophisticated installer. +It supports installation from local and remote sources such as CDs and DVDs, images stored on a hard drive, NFS, HTTP, and FTP. +Installation can be scripted with http://pykickstart.readthedocs.io/en/latest/[kickstart] to provide a fully unattended installation that can be duplicated on scores of machines. +It can also be run over VNC on headless machines. +A variety of advanced storage devices including LVM, RAID, iSCSI, and multipath are supported from the partitioning program. +Anaconda provides advanced debugging features such as remote logging, access to the python interactive debugger, and remote saving of exception dumps. + +[id="users"] +== Users + +If you are a user having problems with Anaconda, please use the user support forum for your distribution such as http://forums.fedoraforum.org/forumdisplay.php?f=6[Fedora Forum] or https://lists.fedoraproject.org/admin/lists/users.lists.fedoraproject.org/[the fedora-users mailing list]. + +From time to time, we may distribute updates for Anaconda to fix problems in Fedora releases. +The link:anaconda_updates.html[updates] page explains how to use these updates images. + +[id="advanced-users"] +== Advanced Users + +If you are an advanced user of Anaconda, you should check out https://anaconda-installer.readthedocs.io/en/latest/boot-options.html[our reference to Anaconda command line options], https://anaconda-installer.readthedocs.io/en/latest/kickstart.html[our kickstart file format documentation] and link:anaconda_logging.html[our reference to logging capabilities of Anaconda]. + +There is a mailing list devoted to the use of kickstart. +You can find the list signup and archive information at http://www.redhat.com/mailman/listinfo/kickstart-list[kickstart list]. +This is the best place to share tips and tricks about kickstart. + +[id="distribution-builders"] +== Distribution Builders + +For information on how to customize Anaconda and trees created with it, please see link:anaconda_product_image.html[product.img]. + +[id="mailing-lists"] +== Mailing Lists + +There are two mailing lists for Anaconda. +The first is the development mailing list. +This list is used to discuss development issues, submit patches, and other activities related to extending Anaconda. +The sign up for the development list is located at https://listman.redhat.com/mailman/listinfo/anaconda-devel-list[anaconda development list site]. +Past discussions can be found in the https://www.redhat.com/archives/anaconda-devel-list[anaconda development archives]. + +The second list is a user oriented list on how to create kickstart files. +The kickstart list is the place to discuss automated installation issues. +The sign up for the kickstart list is located at https://www.redhat.com/mailman/listinfo/kickstart-list[anaconda kickstart list site]. +Past discussions can be found in the https://www.redhat.com/archives/kickstart-list[anaconda kickstart archives]. + +Patch review used to take place on a mailing list dedicated to submitting and reviewing patches. +Patch review now takes place on https://github.com/rhinstaller/anaconda/pulls[GitHub] via pull requests. +Past discussions of patches can be found in the https://lists.fedorahosted.org/pipermail/anaconda-patches/[anaconda-patches archives], which is the main purpose this mailing list now serves. + +[id="irc"] +== IRC + +There is also an IRC channel on link:http://freenode.net[FreeNode]. +This resource is for discussion of Anaconda development, not for distribution customization questions. + +[id="how-to-contribute"] +== How to Contribute + +For how to contribute to Anaconda and related projects, see the https://anaconda-installer.readthedocs.io/en/latest/contributing.html[Contributing to Anaconda and related projects] documentation. + +Please note that useful contributions are not limited to submitting patches for source code. +You can also help with https://anaconda-installer.readthedocs.io/en/latest/testing.html[testing], reporting bugs, improving translations or extending the Anaconda documentation. + +[id="developers-guide"] +== Developers' Guide + +Anaconda is now almost entirely written in Python 3. +The graphical front end uses GTK+ 3 via gobject-introspection, and as much of the interface as possible is written using the glade interface builder. +The earliest parts of Anaconda are in shell for integration with dracut, and there's still a little bit of C thrown in for interfacing with certain libraries. + +Here are some documents if you are planning on working on Anaconda. +More are in the works: + +* Anaconda/Devel/Translation +* If you want to work on Anaconda, you should start with the Anaconda/SourceOverview[Source Overview], which contains a high level discussion of the source files and what they do. + +Then look at the https://anaconda-installer.readthedocs.io/en/latest/[online documentation] for information on how to test, debug, and develop anaconda. + +Familiarize yourself with the tools that Anaconda uses. +Check out the following external reference documents: + +* https://developer.gnome.org/gtk3/stable/[GTK+ reference] +* https://docs.python.org/3/tutorial/[Python tutorial] +* https://docs.python.org/3/py-modindex.html[Python module reference] + +[id="getting-the-source"] +== Getting the Source + +The primary methods of distributing the Anaconda source are source RPMs in the http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/[Fedora development tree] and git. +To access the current source code in in non-rpm format, you'll need to install git. + +[source,bash] +---- +$ dnf install git +---- + +Note that several related packages will be installed as well. +After the git source code management tool has been installed, then you use anonymous git access to the Anaconda repository. + +If you would just like to browse the Anaconda git repository via the web, then please use the following https://github.com/rhinstaller/anaconda.git[Anaconda git URL]. + +[source,bash] +---- +$ git clone https://github.com/rhinstaller/anaconda.git +---- + +The output may look similar to the following: + +---- +Initialized empty Git repository in /home/drkludge/anacondatest/anaconda/.git/ +remote: Generating pack... +remote: Counting objects: 10861 +remote: Done counting 91222 objects. +remote: Deltifying 91222 objects... +remote:  100% (91222/91222) done +Indexing 91222 objects... +100% (91222/91222) done +remote: Total 91222 (delta 68785), reused 90187 (delta 68059) +Resolving 68785 deltas... +100% (68785/68785) done +Checking 543 files out... +100% (543/543) done +---- + +If you have committer access to Anaconda, then you will want to use the git+ssh access url. +(GitHub also supports pushing changes via HTTPS, but may require you to re-authenticate every time you push your changes.) + +[source,bash] +---- +$ git clone git+ssh://git@github.com/rhinstaller/anaconda.git +---- + +Once you've committed changes locally, you can push them with + +[source,bash] +---- +$ git push +---- + +Anaconda has an https://github.com/rhinstaller/kickstart-tests[extensive suite of tests] that is still growing. +If you contribute new functionality, it's good practice to include some tests along with that. +We have a https://anaconda-installer.readthedocs.io/en/latest/testing.html[document that outlines the test suite infratructure and describes how to run tests]. + +To contribute you should read our https://anaconda-installer.readthedocs.io/en/latest/contributing.html[guidelines for contributing]. + +[id="reporting-problems"] +== Reporting Problems + +If you are having difficulty installing, please file the problem report with your distribution vendor. + +Before filing a bug, please read up on link:https://fedoraproject.org/wiki/How_to_debug_installation_problems[debugging installation problems], which will tell you how to fill out useful bug reports that will help us quickly solve your problem. +Also try searching bugzilla for other reports about your problem, as some bugs are often filed by several people. + +The https://fedoraproject.org/wiki/Anaconda/AnacondaBugWorkflow[Anaconda Bug Workflow] explains how Fedora Anaconda bugs pass through bugzilla, and what all the various statuses really mean. +This is *only* for Fedora. + +Additionally, you can use this link:https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=anaconda&list_id=8454223&product=Fedora&query_format=advanced[Bugzilla query] to find all open Anaconda bugs. + +[id="design"] +Design +~~~~~~ + +link:https://fedoraproject.org/wiki/How_to_Create_an_Anaconda_Banner[How to Create an Anaconda Banner] diff --git a/modules/ROOT/pages/anaconda/anaconda_distros.adoc b/modules/ROOT/pages/anaconda/anaconda_distros.adoc new file mode 100644 index 0000000..8f7050a --- /dev/null +++ b/modules/ROOT/pages/anaconda/anaconda_distros.adoc @@ -0,0 +1,20 @@ += Anaconda based Distributions + +There are a number of distributions which currently use Anaconda. This is a list of the ones which we are aware of. + +* Fedora +* Red Hat Enterprise Linux +* rpath Linux +* Progeny Componentized Linux, based on Debian (defunct) +* Vida linux, Gentoo variant using Anaconda +* Foresight Linux, originally derived from rpath Linux +* Sabayon Linux Installer +* Aurox +* Asianux +* Blag GNU/Linux +* ASPLinux +* Fedora derivatives +* FrameOS Linux +* Scientific Linux + +There are likely many more distributions using Anaconda. Feel free to contact the authors to add to this list. diff --git a/modules/ROOT/pages/anaconda/anaconda_logging.adoc b/modules/ROOT/pages/anaconda/anaconda_logging.adoc new file mode 100644 index 0000000..21d9d56 --- /dev/null +++ b/modules/ROOT/pages/anaconda/anaconda_logging.adoc @@ -0,0 +1,235 @@ += Anaconda Logging + +== Introduction +Anaconda tracks all of its activities in logs. +This includes: + +* changing installation steps (that roughly correspond to different screens in the graphical installer) +* storage devices detection and manipulation +* installation media detection +* network initialization +* kernel messages +* calls to critical methods within anaconda +* calls to external programs + +== Logging on the installed system +During the installation the logs are stored in the `/tmp` directory: + +=== Log files + +`/tmp/anaconda.log`:: the general installation information, particularly the step changes. +`/tmp/storage.log`:: storage devices scan and manipulation (hard drives, partitions, LVM, RAID), partitioning +`/tmp/program.log`:: calls to external programs, their output +`/tmp/syslog`:: messages from kernel and external programs (Network Manager) +`/tmp/yum.log`:: yum's internal log +`/tmp/dnf.log`:: link:https://www.fedoraproject.org/wiki/Dnf[DNF]'s internal log +`/tmp/dnf.hawkey.log`:: link:https://www.fedoraproject.org/wiki/Dnf[DNF]'s Hawkey internal log +`/tmp/dnf.rpm.log`:: link:https://www.fedoraproject.org/wiki/Dnf[DNF]'s RPM internal log + +Certain log messages are also written to the terminals: + +=== TTY devices + +`/dev/tty3`:: messages from `anaconda.log`, `storage.log` and `yum.log`. +`/dev/tty4`:: same as `syslog` +`/dev/tty5`:: stdout and stderr from external programs + + +`tty3` and `tty4` reflect certain log files. +Log files always contain messages from all the loglevels, including debug, but the minimal loglevel on the terminals can be controlled with the `loglevel` link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-loglevel[command line option]. + +There are two other log files created on the target filesystem, in the `/root` directory, also accessible at `/mnt/sysimage/root` during the installation: + +`/mnt/sysimage/root/install.log`:: log of the package installation process. +`/mnt/sysimage/root/install.log.syslog`:: messages from installation chroot logged through the system's syslog. + +Mostly information about users and groups created during dnf|yum's package installation. + +=== Log format +In files the format of the log messages is as follows: + +---- + H:M:S,ms LOGLEVEL facility:message +---- + +where: + +* `H:M:S` is the message timestamp +* `ms` is the millisecond part of timestamp. +Note that this will usually become zero on a remote syslog. +* `LOGLEVEL` is the message loglevel. +In theory, because kernel messages are part of anaconda logs, all loglevels that are defined in rsyslog can appear in the logfiles. +Anaconda itself will however log only at the following loglevels: +** `DEBUG` +** `INFO` +** `WARN` +** `ERR` +** `CRIT` +* `facility` is the program or component that created the message. +Could be for instance `kernel`, `anaconda`, `storage` or similar. +* `message` is the log message itself. + +For the logs running in terminals, the format simply is: + +---- + LOGLEVEL facility:message +---- + +== Remote logging via TCP +Anaconda supports remote logging handled through the rsyslog daemon running on the installed system. +It can be configured to forward its logs through TCP to an arbitrary machine in network that is also running a syslog daemon. +This is controlled with the `syslog` link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-syslog[command line option]. + +[WARNING] +===== +Do not forget to enable the port you are running your local syslog daemon on in your firewall. +===== + +=== What is logged remotely +Everything that is logged directly by anaconda should also appear in the remote logs. +This includes messages emitted by the loader and the storage subsystem. +All anaconda tracebacks (/tmp/anaconda-tb-xyz) are concatenated into a single file /tmp/anaconda-tb-all.log and then transferred. +Also, /tmp/x.log is transferred. + +The remote logging only works when the installer initializes network. +Once network is up, it takes a couple of minutes for rsyslogd to realize this. +Rsyslog has a queue for messages that couldn't be forwarded because of inaccessible network and it eventually forwards all of them, in the correct order. + +=== Configuration + +It's up to you how the remote logging daemon is configured, you can for instance log all incoming messages into one file or sort them into directories according to the IP address of the remote system. + +The anaconda RPM provides the `analog` script, which generates a suitable rsyslogd configuration file based on a couple of install parameters. +It is also able to generate a bash command to launch rsyslogd with the generated configuration. +Thus you can do from a shell: + $ eval `scripts/analog -p 6080 -s -o ./someconf /home/akozumpl/remote_inst` +This starts an rsyslog daemon that will listen on port 6080. +The logs from the remote machine with IP 10.34.33.221 will be stored under `/home/akozumpl/remote_inst/10.34.33.221/`, e.g. `/home/akozumpl/remote_inst/10.34.33.221/anaconda.log`. + +The remote syslog configuration exploits several log message characteristics to be able to sort them into the correct files: +* the IP of the message sender to know which machine generated the message and thud what directory does the message belong to. +* `anaconda.log, storage.log` and `program.log` have the name embedded in them as `programname`. +* `syslog` messages are coming in from kernel and daemon facilities, just like they do on the installed system +* `install.log.syslog` made during package installation is logged as a special `sysimage` hostname. + +Run `analog` without the `-o` option to see how exactly does a fitting configuration file look like. +Also notice that it uses the same message format for remote logging as anaconda does, but you can of course modify this to specify any format you want. + +=== See also +* link:http://www.rsyslog.com/doc[Rsyslog documentation] +* `man tailf` + +== Remote logging via virtio +QEMU/KVM in Fedora 13 and onwards allows one to create virtual machines with link:http://fedoraprojet.org/wiki/Features/VirtioSerial[multiple virtio char devices] exposed to the guest machine. +One such device can be used to forward anaconda logs to the host machine. +In that way we can get logs forwarded in real time, as soon the anaconda logging subsystem is initialized (early) and not need to wait for the network to come up. +Also, it's the only way to forward the logs in a no-network setup. + +=== Remote Logging Configuration +Anaconda will be forwarding logs over virtio automatically if it is able to find the port `/dev/virtio-ports/org.fedoraproject.anaconda.log.0"`. +This is port is created using a libvirt XML directive that wires it to a TCP socket on the host's side. +It's then possible to read the logs from there directly, or make an rsyslog instance to parse them and file them into respective files. +See the ascii chart below for the whole ensemble: + + +---- +Anaconda--->rsyslog(guest)--->virtio(guest char device)--->kvm hypervisor--->virtio(TCP socket) + | + v + forwarded log files<---rsyslog(host) +---- + +Step by step instructions to set everything up follow: + +. Create a testing virtual machine, e.g. using Virtual Manager +. Add the virtio-serial port to your virtual machine, direct it to the TCP port 6080 on the host. +Start by editing the guest configuration:`virsh edit ` +. In the guest editor, add following information into the `` section: +[source,xml] +---- + + + + +---- +. Start the listening rsyslogd process on the host, using the `analog` script described [[#Remote_logging_via_TCP|above]]: +---- +eval `analog -p 6080 -o rsyslogd.conf -s /home/akozumpl/remote_inst` +---- +. Start the virtual machine. +. Continue with the installation. +Immediately after the Anaconda greeting is displayed the log messages will appear in the directory given to `analog` script, in the `127.0.0.1` subdirectory. + +==== virt-install + +If you are using virt-install you can configure it with the --channel option: + +---- +--channel tcp,host=127.0.0.1:6080,mode=connect,target_type=virtio,name=org.fedoraproject.anaconda.log.0 +---- + +=== Known issues and troubleshooting +* works in libvirt>=0.8.2 +* chroot syslog messages from `/mnt/sysimage/root/install.log.syslog` are not forwarded. +* it is not possible to start the machine unless something is listening on the TCP port where virtio-serial is connected. +* if you want to test that the virtio connection is working, instead of using analog and rsyslog just let a netcat utility listen on the given port, e.g. +`nc -l 0.0.0.0 6080`. +You should start seeing raw logs in the terminal once the guest machine starts booting. +* if both remote TCP logging via `syslog=` and remote virtio logging via `virtiolog=` are specified on the command line, one has to setup two rsyslogd instances on the server/host to listen to both the connections otherwise the sending rsyslog's queues get full and the forwarding stops. + +=== See also +* link:https://fedoraproject.org/wiki/Features/VirtioSerial[VirtioSerial] +* link:http://wiki.libvirt.org/page/Virtio[Virtio at the libvirt wiki] +* link:http://libvirt.org/formatdomain.html#elementsConsole[libvirt domain XML format] + +== Anaconda logs on the running system +After every successful installation, anaconda logs are copied into `/var/log` on the system you just installed. +To avoid name clashes with other log files there, the anaconda logs are renamed: + +[%header,cols=2*] +|==== +| Name during installation | Name on the target system +| `/tmp/anaconda.log` | `/var/log/anaconda.log` +| `/tmp/syslog` | `/var/log/anaconda.syslog` +| `/tmp/X.log` | `/var/log/anaconda.xlog` +| `/tmp/program.log` | `/var/log/anaconda.program.log` +| `/tmp/storage.log` | `/var/log/anaconda.storage.log` +| `/tmp/yum.log` | `/var/log/anaconda.yum.log` +| `/tmp/ifcfg.log` (new in F14) | not copied +|==== + +Starting with Fedora 15 (or post F14 Rawhide), the logs go to `/var/log/anaconda` directory on the target system, including ifcfg.log inroduced in F14. + +== Logging tips + +If you are asked to provide logs for a bugzilla, your best option is switching from the anaconda GUI to tty2 and then use scp to copy the files to your computer, e.g.: + +[source,bash] +---- +$ cd /tmp +$ scp anaconda.log aklap:/home/akozumpl/ +---- + +It is also possible to make a complete dump of a state of running anaconda process (the same dump that is compiled automatically if an unhandled exception occurs). +To do this send the main anaconda process SIGUSR2: + +[source,bash] +---- +$ kill -USR2 `cat /var/run/anaconda.pid`` +---- + +This builds a file `/tmp/anaconda-tb-?????` that also contains `anaconda.log`, `storage.log` and `syslog`. + +If you are on a KVM virtual machine and there's no scp available (stage1), you can (after setting up the network if not up already) redirect to a special tcp file, on host: + +[source,bash] +---- +$ nc -l 4444 > syslog.log +---- + +on guest: + +[source,bash] +---- +$ ifconfig eth0 10.0.2.10/24 up +$ grep "" /tmp/syslog > /dev/tcp/10.0.2.2/4444 +---- diff --git a/modules/ROOT/pages/anaconda/anaconda_product_image.adoc b/modules/ROOT/pages/anaconda/anaconda_product_image.adoc new file mode 100644 index 0000000..10f5be4 --- /dev/null +++ b/modules/ROOT/pages/anaconda/anaconda_product_image.adoc @@ -0,0 +1,29 @@ += Creating a Product image + +Anaconda supports several ways to load new code at runtime. +Passing `inst.updates=` is one way to do this and is documented on the link:anaconda_updates.html[updates] page. +Another is to include a product.img in the install tree, inside the `/images/` directory. +It will be applied at runtime and can overwrite any file on the system, just like the updates.img. + +One use for a product.img is to add a new installclass to Anaconda. +A product image for a new installclass can be created from a directory of files like this: + +[source,bash] +---- +$ mkdir -p product/run/install/product/pyanaconda/installclasses/ +$ vim product/run/install/product/pyanaconda/installclasses/custom.py +---- + +Create new installclass, see link:https://github.com/rhinstaller/anaconda/tree/master/pyanaconda/installclasses[Anaconda code] for examples. +Now you can create the product.img: + +[source,bash] +---- +$ cd product/ +$ find . | cpio -c -o | pigz -9cv > ../product.img +---- + +Now you can include product.img in the tree, inside `/images/`. + +Alternatively you can now use lorax to create product.img as part of the boot.iso creation process. +This is supported by lorax-21.27-1 and is documented link:http://rhinstaller.github.io/lorax/product-images.html[here] in the Lorax source tree. diff --git a/modules/ROOT/pages/anaconda/anaconda_updates.adoc b/modules/ROOT/pages/anaconda/anaconda_updates.adoc new file mode 100644 index 0000000..88c3d2f --- /dev/null +++ b/modules/ROOT/pages/anaconda/anaconda_updates.adoc @@ -0,0 +1,199 @@ += Anaconda Updates + +Anaconda has the capability to incorporate updates at runtime to fix any bugs or issues with the installer. +These updates are generally distributed as a disk image file (referred to as `updates.img` from here on out) +The `updates.img` can be used in a few different ways. + +== Updates types + +There are a number of sources for the updates. + +=== Updates from the Network + +The easiest and most popular way to use an `updates.img` is via the network. +This is how almost all updates images you'll see in bug reports and mailing lists are distributed. +This does not require you to modify your installation tree at all. + +To use this method, you will need to edit your kernel commandline to include the `inst.updates key`, like this: + +---- +linux inst.updates=http://some.website.com/path/to/updates.img +---- + +[NOTE] +==== +If you're booting via an ISO, to edit the kernel commandline, you will need to use the `e` key in GRUB to edit the boot entry. +==== + +If you have multiple network interfaces, Anaconda will first prompt you to select one (unless you have used the `ksdevice=` boot parameter). +It will then attempt to configure this link using DHCP. +If you require other networking configuration, you will need to use various options. +The `ksdevice=` option can be used to specify a different network device, and the `ip=` option (along with others for gateway, nameserver, and so forth) can be used for static configuration. +All Anaconda config options are described link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html[elsewhere]. + +If you are making your own `updates.img`, just upload it to a web server you have access to and pass the location as above. + +=== Updates from a disk image + +You can also put an `updates.img` on a block device (either a floppy or a USB key). +This can be done only with an ext2 filesystem type of updates.img. +For a floppy drive, insert your floppy and then run + +[source,bash] +---- +$ dd if=updates.img of=/dev/fd0 bs=72k count=20 +---- + +to put the contents of the image on your floppy. +Then, boot the installer with + +---- +linux updates +---- + +and you will be prompted to provide the location of your update disk. + +You can also use a USB key or flash media -- just replace `/dev/fd0` with the device that your USB key is at. + +=== Updates from the Tree + +If you're doing a CD, hard drive, HTTP, or FTP install you can also put the `updates.img` in your tree to be picked up by all installs automatically. +Put the file in the `images/` directory. +It must have exactly the name `updates.img`, even if you received it with a different name. + +For NFS installs, there are two options. +You can either put the image in `images/` as above or explode the image into the `RHupdates/` directory in your installation tree. + +This `updates.img` is only retrieved from the location where stage2 image is pulled from. +If you use link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst.repo[inst.repo] boot option to specify your installation tree, but you also use link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-stage2[inst.stage2] boot option with a different location, only the `inst.stage2` location is going to be searched for the `updates.img` file, and not the `inst.repo` location. + +[id="create-images"] +== How to Create an Anaconda Updates Image + +If you are working on Anaconda or looking at a bug and want to test your own bug fixes, it's easy to create your own `updates.img` file. +Anaconda supports two formats: an ext2 filesystem image and the more common gzip-compressed cpio archive. +The automatic tools shipped with Anaconda deal in the second form, so that's what will be discussed here. + +The easiest way to create an image is to run + +[source,bash] +---- +$ ./configure +$ make updates +---- + +from the Anaconda source tree. +This will package up all the changes to the tree since the last release and create a file named `updates.img` in the top of the tree. +Remember to use the correct git branch for the Fedora release you are working on or testing. +If you need finer control over this process (like creating an image from an even older release), or you don't want to run ./configure first (the make command will fail unless ./configure has been run), run + +[source,bash] +---- +$ scripts/makeupdates +---- + +by hand. +The help screen documents the several options that can be used. + +An `updates.img` can include more than just files from anaconda, though. +It can also include shared libraries, graphics, other python modules, and certain data files used by anaconda. +To add files to an existing image (or create an entirely new one), just do the following: + +[source,bash] +---- +$ scripts/upd-updates updates.img file1 file2 ... +---- + +Note that the placement of files in an image is a little picky. +For instance, python modules must be in their proper subdirectory mirroring the layout of `/usr/lib/python?.?/site-packages/`. + +Another way to create an image containing files outside of Anaconda is to create the required filesystem structure and compress it manually. +For example, let's say you want to overwrite some configuration file in `/etc`: + +[source,bash] +---- +$ mkdir -p updates/etc/ +$ cp my.cfg updates/etc/ +$ cd updates +$ find . | cpio -o -c | gzip > ../updates.img +$ cd .. +---- + +== How to Examine an Anaconda Updates Image + +`updates.img` files provided by the Fedora project and generated by the makeupdates script are compressed cpio archives. +To examine one of these files, use `lsinitrd`: + +[source,bash] +---- +$ lsinitrd updates.img +---- + +To explode one, do the following: + +[source,bash] +---- +$ mkdir dest +$ cd dest +$ gunzip -dc /path/to/updates.img | cpio -id +---- + +== Advanced Usage +=== Available Options + +---- +usage: makeupdates [-h] [-k] [-c] [-t TAG] [-o OFFSET] [-p] + [-a PATH_TO_RPM [PATH_TO_RPM ...]] [-f ARCH] [-b BUILDDIR] + +Make Anaconda updates image + +optional arguments: + -h, --help show this help message and exit + -k, --keep do not delete updates subdirectory + -c, --compile compile code if there are isys changes + -t TAG, --tag TAG make updates image from TAG to HEAD + -o OFFSET, --offset OFFSET + make image from (latest_tag - OFFSET) to HEAD + -p, --po update translations + -a PATH_TO_RPM [PATH_TO_RPM ...], --add PATH_TO_RPM [PATH_TO_RPM ...] + add contents of RPMs to the updates image + -f ARCH, --fetch ARCH + autofetch new dependencies from Koji for ARCH + -b BUILDDIR, --builddir BUILDDIR + build directory for shared objects +---- + +=== Including Updates for an Older Installation Image + +If your installation image has an older Anaconda (for example you have a Beta image but you want to test all the changes that happened in Anaconda since the image was created), you can use the `-t` makeupdates option, together with the Anaconda release tag corresponding to the Anaconda version on your image. +Makupdates will then include all changes that were added since the given Anaconda version was released. + + +==== How to Find Anaconda Version for an Installation Image +There are multiple ways how to do that: +* switch to TTY1 and check the first line on the screen +* check the first line of the anaconda.log file in /tmp/ during installation +* check the first line of the anaconda.log file in /var/log/anaconda on a system installed with your installation image during installation +* check the version of the Anaconda package in the repository that has been used to generate your installation image + +==== Example ==== + +* boot a Fedora installation image +* find what version of Anaconda is installed on the image +** lets say that the image contains Anaconda 22.16-1 +** this version corresponds to the anaconda-22.16-1 Git tag +** you can run `git tag` in the Anaconda git repository to list all valid tags +* run `makeupdates -t` with the tag: + makeupdates -t anaconda-22.16-1 +* an updates image containing all changes since the commit tagged `anaconda-22.16-1` will be created + +=== Including Changes in C Code === + +While Anaconda is mostly written in Python, there are a few pieces of C code, mostly in the form of custom GTK Widgets and the isys helper module. +The makeupdates ignores changes in C code by default, but by passing the `-c` option you can tell it to look for C code canges, recompile the affected modules and include the resulting binaries in the updates image. + +Just take not that for the compilation to finish successfully, the host system needs to match the given Installation Image. +This is especially important when rebuilding the custom GTK widgets. + + +So it is for example not possible to use the `-c` option on a Fedora 21 system to build an updates image with C code changes for a RHEL7 Installation Image or the other way around. diff --git a/modules/ROOT/pages/assembly_installing-plugins-for-playing-movies-and-music.adoc b/modules/ROOT/pages/assembly_installing-plugins-for-playing-movies-and-music.adoc new file mode 100644 index 0000000..52eef43 --- /dev/null +++ b/modules/ROOT/pages/assembly_installing-plugins-for-playing-movies-and-music.adoc @@ -0,0 +1,85 @@ +// Load attributes from the external file +include::{partialsdir}/attributes.adoc[] + +// This assembly is included in the following assemblies: +// +// + +// This assembly can be included from other assemblies using the following +// include statement: +// include::assembly_installing-plugins-for-playing-movies-and-music.adoc[leveloffset=+1] + +// The following line is necessary to allow assemblies be included in other +// assemblies. It restores the `context` variable to its previous state. +:parent-context: {context} + +// The file name and the ID are based on the assembly title. +// For example: +// * file name: assembly_my-assembly-a.adoc +// * ID: [id='assembly_my-assembly-a_{context}'] +// * Title: = My assembly A +// +// The ID is used as an anchor for linking to the module. +// Avoid changing it after the module has been published +// to ensure existing links are not broken. +// +// In order for the assembly to be reusable in other assemblies in a guide, +// include {context} in the ID: [id='a-collection-of-modules_{context}']. +// +// If the assembly covers a task, start the title with a verb in the gerund +// form, such as Creating or Configuring. +[id='assembly_installing-plugins-for-playing-movies-and-music_{context}'] += Installing plugins for playing movies and music + +// The `context` attribute enables module reuse. Every module's ID +// includes {context}, which ensures that the module has a unique ID even if +// it is reused multiple times in a guide. +:context: assembly_installing-plugins-for-playing-movies-and-music + +As a Fedora user and system administrator, you can use these steps to install additional multimedia plugins that enable you to play various video and audio types. + +WARNING: If you live in a country where software patents apply, such as in the United States or in Japan, you need to obtain multimedia codecs from a source that legally distributes patented software in your country. For example, see the Fluendo Codec Pack: link:https://fluendo.com/en/products/enterprise/fluendo-codec-pack/[]. + +The following procedures only apply to users in countries that do not recognize software patents. The steps are: + +. Enable RPM Fusion. You can choose one of the following ways to accomplish it: ++ +** xref:proc_enabling-the-rpmfusion-repositories-using-graphical-applications_assembly_installing-plugins-for-playing-movies-and-music[] +** xref:proc_enabling-the-rpmfusion-repositories-using-command-line-utilities_assembly_installing-plugins-for-playing-movies-and-music[] +. Install new packages: xref:proc_installing-multimedia-plug-ins-with-dnf_assembly_installing-plugins-for-playing-movies-and-music[] + +// [id='prerequisites-{context}'] +// == Prerequisites +// +// * Delete the section title and bullets if the assembly has no prerequisites. + +// The following include statements pull in the module files that comprise +// the assembly. Include any combination of concept, procedure, or reference +// modules required to cover the user story. You can also include other +// assemblies. + +include::{partialsdir}/proc_enabling-the-rpmfusion-repositories-using-graphical-applications.adoc[leveloffset=+1] + +include::{partialsdir}/proc_enabling-the-rpmfusion-repositories-using-command-line-utilities.adoc[leveloffset=+1] + +include::{partialsdir}/proc_installing-multimedia-plug-ins-with-dnf.adoc[leveloffset=+1] + +include::{partialsdir}/concept_third-party-repositories.adoc[leveloffset=+1] + +include::{partialsdir}/con_the-purpose-of-rpm-fusion.adoc[leveloffset=+1] + +// [leveloffset=+1] ensures that when a module starts with a level-1 heading +// (= Heading), the heading will be interpreted as a level-2 heading +// (== Heading) in the assembly. + +[id='related-information-{context}'] +== Related information + +* There are also media players that include all relevant codecs by themselves. Consider using one of the following for offline video viewing: +** VLC, available from the `vlc` package in RPM Fusion Free +** MPV, available from the `mpv` package in RPM Fusion Free + + +// The following line is necessary to allow assemblies be included in other +// assemblies. It restores the `context` variable to its previous state. +:context: {parent-context} diff --git a/modules/ROOT/pages/autoupdates.adoc b/modules/ROOT/pages/autoupdates.adoc new file mode 100644 index 0000000..4c5821d --- /dev/null +++ b/modules/ROOT/pages/autoupdates.adoc @@ -0,0 +1,476 @@ += AutoUpdates + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/AutoUpdates + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +[[automatic-updates]] +Automatic Updates +----------------- + +You must decide whether to use automatic link:dnf[DNF] or link:yum[YUM] +updates on each of your machines. There are a number of arguments both +for and against automatic updates to consider. However, there is no +single answer to this question: It is up to the system administrator or +owner of each machine to decide whether automatic updates are desirable +or not for that machine. One of the things which makes one a good system +administrator is the ability to evaluate the facts and other people's +suggestions, and then decide for onesself what one should do. + +A general rule that applies in most cases is as follows: + +_If the machine is a critical server, for which unplanned downtime of a +service on the machine can not be tolerated, then you should not use +automatic updates. Otherwise, you *may* choose to use them._ + +Even the general rule above has exceptions, or can be worked around. +Some issues might be resolved through a special setup on your part. For +example, you could create your own dnf|yum repository on a local server, +and only put in it tested or trusted updates. Then use the automatic +updates from only your own repository. Such setups, while perhaps more +difficult to setup and maintain, can remove a large amount of risk +otherwise inherent in automatic updates. + +[[how-are-automatic-updates-done]] +How are automatic updates done? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can use a service to automatically download and install any new +updates (for example security updates). + +[[fedora-22-or-later-versions]] +Fedora 22 or later versions +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The http://dnf.readthedocs.org/en/latest/automatic.html[dnf-automatic] +RPM package as a link:dnf[DNF] component provides a service which is +started automatically. + +[[install-and-settings-of-dnf-automatic]] +Install and settings of dnf-automatic ++++++++++++++++++++++++++++++++++++++ + +On a fresh install of Fedora 22 with default options the dnf-automatic +RPM is not installed, the first command below installs this RPM. + +.... +dnf install dnf-automatic +.... + +Though, you have to change a configuration file. In order to do this, +run as the root user (or become root via su -) from a terminal window. + +.... +env EDITOR='gedit -w' sudoedit /etc/dnf/automatic.conf +.... + +Detailed description of dnf-automatic settings is provided on +http://dnf.readthedocs.org/en/latest/automatic.html[dnf-automatic] page. + +[[run-dnf-automatic]] +Run dnf-automatic ++++++++++++++++++ + +Once you are finished with configuration, execute: + +`systemctl enable dnf-automatic.timer && systemctl start dnf-automatic.timer` + +to enable and start the systemd timer. + +Check status of dnf-automatic: + +`# systemctl list-timers *dnf-*` + +[[changes-as-of-fedora-26]] +Changes as of Fedora 26 + +As of Fedora 26 there are now three timers that control dnf-automatic. + +* dnf-automatic-download.timer - Only download +* dnf-automatic-install.timer - Download and install +* dnf-automatic-notifyonly.timer - Only notify via configured emitters +in _/etc/dnf/automatic.conf_ + +You can still use _download_updates_ and _apply_updates_ settings from +inside _/etc/dnf/automatic.conf_. + +[[fedora-21-or-earlier-versions]] +Fedora 21 or earlier versions +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The yum-cron RPM package provides a service which is started +automatically. Though, you have to change a configuration file. In order +to do this, run as the root user (or become root via su -) from a +terminal window. On a fresh install of Fedora 20 with default options +the yum-cron RPM is not installed, the first command below installs this +RPM. + +.... +yum install -y yum-cron +env EDITOR='gedit -w' sudoedit /etc/yum/yum-cron.conf" +.... + +and enter your password. After, change the line + +.... +apply_updates = no +.... + +to + +.... +apply_updates = yes +.... + +Save the file. You are now done. Yum-cron updates your system every time +when there are new updates available. + +[[can-we-trust-dnf-or-yum-updates]] +Can we trust dnf or yum updates? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Dnf and Yum in Fedora has the GPG key checking enabled by default. +Assuming that you have imported the correct GPG keys, and still have +gpgcheck=1 in your for dnf or for yum, then we can at least assume that +any automatically installed updates were not corrupted or modified from +their original state. Using the GPG key checks, there is no way for an +attacker to generate packages that your system will accept as valid +(unless they have a copy of the *private* key corresponding to one you +installed) and any data corruption during download would be caught. + +However, the question would also apply to the question of update +quality. Will the installation of the package cause problems on your +system? This we can not answer. Each package goes through a QA process, +and is assumed to be problem free. But, problems happen, and QA can not +test all possible cases. It is always possible that any update may cause +problems during or after installation. + +[[why-use-automatic-updates]] +Why use Automatic updates? +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The main advantage of automating the updates is that machines are likely +to get updated more quickly, more often, and more uniformly than if they +updates are done manually. We see too many compromised machines on the +internet which would have been safe if the latest updates where +installed in a timely way. + +So while you should still be cautious with any automated update +solution, in particular on production systems, it is definitely worth +considering, at least in some situations. + +[[reasons-for-using-automatic-updates]] +Reasons FOR using automatic updates +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +While no one can determine for you if your machine is a good candidate +for automatic updates, there are several things which tend to make a +machine a better candidate for automatic updates. + +Some things which might make your machine a good candidate for automatic +updates are: + +* You are unlikely to apply updates manually for whatever reason(s). +* The machine is not critical and occasional unplanned downtime is +acceptable. +* You can live without remote access to the machine until you can get to +its physical location to resolve problems. +* You do not have any irreplaceable data on the machine, or have proper +backups of such data. + +If all of the above apply to your machine(s), then automatic updates may +be your best option to help secure your machine. If not all of the above +apply, then you will need to weigh the risks and decide for yourself if +automatic updates are the best way to proceed. + +[[reasons-against-using-automatic-updates]] +Reasons AGAINST using automatic updates +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +While no one can determine for you if your machine is a bad candidate +for automatic updates, there are several things which tend to make a +machine a worse candidate for automatic updates. + +Some things which might make your machine be a bad candidate for +automatic updates are: + +* It provides a critical service that you don't want to risk having +unscheduled downtime. +* You installed custom software, compiled software from source, or use +third party software that has strict package version requirements. +* You installed a custom kernel, custom kernel modules, third party +kernel modules, or have a third party application that depends on kernel +versions (this may not be a problem if you exclude kernel updates, which +is the default in Fedora dnf.conf or yum.conf files). (But see also +https://bugzilla.redhat.com/show_bug.cgi?id=870790[bug #870790] - you +may need to modify in Fedora 22 or later versions in base section to add +exclude=kernel*. or in Fedora 21 or earlier versions to +exclude=kernel*.) +* Your enviroment requires meticulous change-control procedures. +* You update from other third party yum|dnf repositories besides Fedora +(core, extras, legacy ) repositories which may conflict in versioning +schemes for the same packages. + +There are also some other reasons why installing automatic updates +without testing may be a bad idea. A few such reasons are: + +* The need to back up your configuration files before an update. Even +the best package spec files can have mistakes. If you have modified a +file which is not flagged as a configuration file, then you might lose +your configuration changes. Or an update may have a different format of +configuration file, requiring a manual reconfiguration. It is often best +to backup your configuration files before doing updates on critical +packages such as mail, web, or database server packages. +* Unwanted side effects. Some packages can create annoying side effects, +particularly ones which have cron jobs. Updates to base packages like +openssl, openldap, sql servers, etc. can have an effect on many other +seemingly unrelated packages. +* Bugs. Many packages contain buggy software or installation scripts. +The update may create problems during or after installation. Even +cosmetic bugs like those found in previous Mozilla updates (causing the +user's icons to be removed or break) can be annoying or problematic. +* Automatic updates may not complete the entire process needed to make +the system secure. For example, dnf or yum can install a kernel update, +but until the machine is rebooted (which dnf or yum will not do +automatically) the new changes won't take effect. The same may apply to +restarting daemons. This can leave the user feeling that he is secure +when he is not. + +[[best-practices-when-using-automatic-updates]] +Best practices when using automatic updates +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you decide to use automatic updates, you should at least do a few +things to make sure you are up-to-date. + +Check for package updates which have been automatically performed, and +note if they need further (manual) intervention. You can monitor what +dnf or yum has updated via its log file (usually or ). + +[[fedora-22-or-later-versions-1]] +Fedora 22 or later versions +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You can monitor updates availability automatically by email after +modifying dnf-automatic configuration file (usually ). + +.... +[emitters] +emit_via = email + +[email] +# The address to send email messages from. +email_from = root@localhost.com + +# List of addresses to send messages to. +email_to = root + +# Name of the host to connect to to send email messages. +email_host = localhost +.... + +You would replace root with a actual email address to which you want to +report sent, and localhost with a actual address of SMTP server. This +change will mean that after dnf-automatic runs, it will email you +information you about available updates, or log about downloaded +packages, or installed updates according to settings in . + +[[fedora-21-or-earlier-versions-1]] +Fedora 21 or earlier versions +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You can monitor this automatically by email by modifying the cron job to +mail you the last part of the log file. For example, edit +/etc/cron.daily/yum.cron so that it looks like the following: + +.... +#!/bin/sh + +if [ -f /var/lock/subsys/yum ] ; then +/usr/bin/yum -R 10 -e 0 -d 0 -y update yum +/usr/bin/yum -R 120 -e 0 -d 0 -y update +/usr/bin/tail /var/log/yum.log | /bin/mail -s yum-report youremail@yourdmain +fi +.... + +You would replace youremail@yourdomain with a actual email address to +which you want to report sent. This change will mean that after yum runs +every night, it will email you the tail end of the log file showing what +happened. (Note this assumes you have a working mail setup on your +machine.) + +[[alternative-methods]] +Alternative methods +~~~~~~~~~~~~~~~~~~~ + +As an alternative to dnf-automatic or yum-cron, +https://github.com/rackerlabs/auter[auter] can be used. This operates in +a similar way to yum-cron, but provides more flexibility in scheduling, +and some additional options including running custom scripts before or +after updates, and automatic reboots. This comes at the expensive of +more complexity to configure. + +.... +dnf install auter +.... + +Edit the configuration. Descriptions of the options are contained in the +conf file: + +.... +/etc/auter/auter.conf +.... + +Auter is not scheduled by default. Add a schedule for "--prep" (if you +want to pre-download updates) and "--apply" (install updates). The +installed cron job contains lots of examples: + +.... +/etc/cron.d/auter +.... + +To make auter run immediately without waiting for the cron job to run, +for example for testing or debugging, you can simply run it from the +command line: + +.... +auter --apply +.... + +If you want to disable auter from running, including from any cron job: + +.... +auter --disable +.... + +[[alternatives-to-automatic-updates]] +Alternatives to automatic updates +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +[[notifications]] +Notifications +^^^^^^^^^^^^^ + +[[fedora-22-or-later-versions-2]] +Fedora 22 or later versions ++++++++++++++++++++++++++++ + +Instead of automatic updates, dnf-automatic can only download new +updates and can alert your via email of available updates which you +could then install manually. It can be set by editing of file. + +[[fedora-21-or-earlier-versions-2]] +Fedora 21 or earlier versions ++++++++++++++++++++++++++++++ + +Instead of automatic updates yum can alert your via email of available +updates which you could then install manually. You could accomplish such +a setup with a cron job such as that listed below. Simply put this in +/etc/cron.daily with a suitable filename (such as +yum-check-updates.cron). + +.... +#!/bin/sh + +/usr/bin/yum check-update 2>&1 | /bin/mail -s "yum check-update output" root +.... + +You can of course change the email address it sends to, etc. to meet +your own needs. + +[[scheduling-updates]] +Scheduling updates +^^^^^^^^^^^^^^^^^^ + +Another common problem is having automatic updates run when it isn't +desired (holidays, weekends, vacations, etc). If there are times that no +one will be around to fix any problem arising the from the updates, it +may be best to avoid doing updates on those days. + +[[fedora-22-or-later-versions-3]] +Fedora 22 or later versions ++++++++++++++++++++++++++++ + +This problem can be fixed by modification of the timer of dnf-automatic +using the description on +https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units[Use +Systemctl] page. + +[[fedora-21-or-earlier-versions-3]] +Fedora 21 or earlier versions ++++++++++++++++++++++++++++++ + +One method is to use a crontab entry instead of the +/etc/cron.daily/yum.conf provided by default. For example, to only run +updates from Monday through Friday mornings (avoiding weekends), you +might use a crontab entry such as the following: + +.... +0 7 * * 1-5 /usr/bin/yum -y update +.... + +If you need more control over when it runs, you could create a file +called, for example, /usr/local/etc/no-yum-update.conf, which contains a +list of dates not to update on. What dates go in this file is up to you +to decide (vacations, holidays, etc). The dates would be in the format +YYYY-MM-DD (e.g. 2005-03-31). Then create a +/etc/cron.daily/yum-update.cron script something like the following: + +.... +#!/bin/sh + +today=$(date +%Y-%m-%d) + +while read banned; do +[ "$today" == "$banned" ] && exit 0 +done < /usr/local/etc/no-yum-update.conf +yum -y update +.... + +[[other-methods-of-protection]] +Other methods of protection +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Yet another thing to consider if not using automatic updates is to +provide your machine with some other forms of protection to help defend +any attacks that might occur before updates are in place. This might +include an external firewall, a host-based firewall (like iptables, +ipchains, and/or tcp wrappers), not performing dangerous tasks on the +computer (like browsing the web, reading e-mail, etc), and monitoring +the system for instrusions (with system log checkers, IDS systems, +authentication or login monitoring, etc). + +''''' + +Category:Documentation +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/bootloading-with-grub2.adoc b/modules/ROOT/pages/bootloading-with-grub2.adoc new file mode 100644 index 0000000..8133065 --- /dev/null +++ b/modules/ROOT/pages/bootloading-with-grub2.adoc @@ -0,0 +1,36 @@ +[id='bootloading-with-grub2'] += Bootloading with GRUB2 + +*GRUB2* is the latest version of *GNU GRUB*, the _GRand Unified Bootloader_. A bootloader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel. In Fedora, the kernel is Linux. The kernel then initializes the rest of the operating system. + +*GRUB2* is the follower of the previous version *GRUB* (version 0.9x). The original version is available under the name *GRUB Legacy*. + +Since Fedora 16, *GRUB2* has been the default bootloader on x86 BIOS systems. For upgrades of BIOS systems, the default is also to install *GRUB2*, but you can opt to skip bootloader configuration entirely. + +include::{partialsdir}/proc_installing-grub2-on-bios-system.adoc[leveloffset=+1] + +include::{partialsdir}/proc_installing-grub2-on-efi-system.adoc[leveloffset=+1] + +include::{partialsdir}/proc_adding-other-operating-systems-grub2.adoc[leveloffset=+1] + +include::{partialsdir}/proc_setting-default-entry-for-grub2.adoc[leveloffset=+1] + +include::{partialsdir}/proc_restoring-bootloader-using-live-disk.adoc[leveloffset=+1] + +include::{partialsdir}/proc_using-grub2-prompt.adoc[leveloffset=+1] + +include::{partialsdir}/proc_booting-with-configfile-on-different-partition.adoc[leveloffset=+1] + +include::{partialsdir}/proc_setting-password-for-interactive-edit-mode.adoc[leveloffset=+1] + +include::{partialsdir}/proc_solving-absent-floppy.adoc[leveloffset=+1] + +include::{partialsdir}/proc_using-old-graphics-modes.adoc[leveloffset=+1] + +include::{partialsdir}/proc_enabling-serial-console-grub.adoc[leveloffset=+1] + + +[discrete] +== Additional resources + +* http://www.gnu.org/software/grub/manual/grub.html diff --git a/modules/ROOT/pages/bumblebee.adoc b/modules/ROOT/pages/bumblebee.adoc new file mode 100644 index 0000000..f9c06f2 --- /dev/null +++ b/modules/ROOT/pages/bumblebee.adoc @@ -0,0 +1,511 @@ +include::{partialsdir}/3rdparty-message.adoc[] + +[[description]] +== Description + +NVIDIA Optimus is an optimization technology created by NVIDIA which, depending on the resource load generated by client software applications, will transparently and seamlessly switch between two graphics adapters within a computer system in order to provide either maximum performance or minimum power draw from the system's graphics rendering hardware. +From https://github.com/Bumblebee-Project/Bumblebee/wiki/FAQ[Bumblebee's FAQ]: Bumblebee is a effort to make NVIDIA Optimus enabled laptops work in GNU/Linux systems. +Such feature involves two graphics cards with two different power consumption profiles plugged in a layered way sharing a single framebuffer. + +The discrete GPU (NVIDIA) is turned off when not in use and activated and turned on though ACPI calls when demanding OpenGL applications require the extra power the discrete GPU can give. + +Demanding OpenGL applications might include such things as 3D games or 3D rendering software but would not include such things as a web browser or a video playback program like mplayer or VLC. + +[[determine-wether-your-computer-supports-optimus]] +== Determine whether your computer supports Optimus + +If you have a laptop with an NVIDIA graphics card (usually you can tell by looking for an NVIDIA logo sticker on it), then it _might_ support the Optimus technology. +If you don't have an optimus technology computer nothing in this documentation is relevant to your PC. +(Optimus was slated at one point to go in desktop PCs but the industry ended up rejecting that concept…) + +* To tell, after you have installed the OS, open a terminal window and type: ++ +---- +$ lspci -vnn | grep '\''[030[02]\]' +---- + +* If you see two video cards in the output like: ++ +---- +00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 520 [8086:1916] (rev 07) (prog-if 00 [VGA controller]) +01:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 930M] [10de:1346] (rev ff) (prog-if ff) +---- + +And one is a Intel Integrated Graphics Controller and the other is a NVIDIA Corporation chip, then you probably have an optimus notebook. + +To further verify, if you have the two VGA devices with one as Intel Integrated and other as NVIDIA, as *root* look for the `/sys/kernel/debug/vgaswitcheroo/switch` file. +If it exists, then you have an optimus PC. +If its missing, then you might not. +(It might be that you have a card that nouveau can’t use yet because it is too new…) + +[[before-you-get-started]] +== Preparing your system + +Most users will want to turn off Secure boot in the BIOS or UEFI screen when you need nvidia drivers or bbswitch-dkms. +If you want to make your own public / private keys for kernel module signing you can look https://docs.fedoraproject.org/f{MAJOROSVER}/system-administrators-guide/kernel-module-driver-configuration/Working_with_Kernel_Modules.html#sect-signing-kernel-module-with-the-private-key[here] or https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-signing-kernel-modules-for-secure-boot.html[here] for more information on the subject. +If you end up doing that and use the closed source NVIDIA driver, you will need to edit the `/etc/bumblebee/bumblebee-nvidia-sign.conf` file. + +Next, run `dnf update` before you begin. +And just to be safe, reboot your PC so that you are booted into the newest kernel. +The reason for this is that you want the kernel-devel package to match the kernel you are running under. +If you don't reboot after a `dnf update` these versions may differ which will cause compiling problems. + +[[installation]] +== Types of Drivers + +[[nouveau]] +=== Free and Open Source Driver (Nouveau) + +NOTE: As of May 20th, 2016 you can no longer use Bumblebee with the open source Nouveau drivers. +If you wish to learn more about this, see https://github.com/Bumblebee-Project/Bumblebee/issues/773[issue 773]. +Users are requested to use *Prime* instead of Bumblebee. +Since the nouveau driver already handles power saving now, using bumblebee would simply be superfluous. + +Some users http://www.kroah.com/log/linux/stable_api_nonsense.html[feel strongly] that they should not use closed source kernel modules. +This is understandable. +In all cases, http://nouveau.freedesktop.org/wiki/Optimus/[PRIME] will work better then using Bumblebee. + +In fact, you can no longer use the Bumblebee software with nouveau any longer even if you want to. +See https://github.com/Bumblebee-Project/Bumblebee/issues/773[issue 773] for further information about this subject. +You *MUST USE PRIME*. +The nouveau driver already handles power saving nowadays so Bumblebee would just be superfluous… + +[[proprietary-driver]] +=== Proprietary Closed Source Driver (NVIDIA) + +Some users may prefer to use the closed-source proprietary drivers as they offer better performance than the open source ones. +In that case, there's two sources from where you can get your drivers: http://rpmfusion.org[RPMFusion] and http://negativo17.org/[Negativo17]. Although both these sources are valid and will work, the Negativo17 driver is generally recommended over the RPMFusion ones, as the Negativo17 drivers are generally kept up to date and follow Fedora packaging guidelines better. They have also been known to work with Fedora to improve integration. + +NOTE: The Installation process detailed below uses the Negativo17 repository. +If you wish to use the RPMFusion repository instead, please adjust the steps according to your requirement + +== Installation (NVIDIA Proprietary Driver) + +. To install the NVIDIA drivers, first add the Negativo17 repository: ++ +---- +# sudo dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo +---- + +. Then, install the necessary packages: ++ +---- +# sudo dnf install nvidia-driver kernel-devel akmod-nvidia dkms acpi +---- + +. To get Bumblebee, we first need to enable the https://copr.fedorainfracloud.org/coprs/chenxiaolong/bumblebee/ chenxiaolong/bumblebee[Copr repository]: ++ +---- +# dnf copr enable chenxiaolong/bumblebee +---- + +. Next, install the bbswitch driver, and the `bumblebee` and `primus` packages. ++ +---- +# dnf install akmod-bbswitch bumblebee primus +---- + +. For the `optirun` and `primusrun` commands to work, the current user must be added to the `bumblebee` group. ++ +---- +# gpasswd -a $USER bumblebee +---- + +. Enable the `bumblebeed` service and disable the `nvidia-fallback` service. This service comes from the Negativo17 drivers and will attempt to load `nouveau` if `nvidia` fails to load. However, when using Bumblebee, neither one should load at boot. ++ +---- +# systemctl enable bumblebeed +# systemctl disable nvidia-fallback +---- + +Finally, reboot and bumblebee should be ready to go. + +[[usage]] +== Usage + +* General usage syntax: ++ +---- +$ optirun [options] application [application-parameters] +---- + +* To start a Windows applications with optimus named application.exe: ++ +---- +$ optirun wine application.exe +---- + +* For another example, open NVidia settings panel with optimus: ++ +---- +$ optirun -b none nvidia-settings -c :8 +---- + +* For another example, open the java based Minecraft with primus bridge: ++ +---- +$ optirun -b primus java -jar /PATH/TO/Minecraft.jar +---- + +* For a list of the options for optirun, view its manual page: ++ +---- +$ man optirun +---- + +In general, using the Primus bridge gives better performance then using the default VirtualGL bridge. +In Bumblebee 4.0 (coming soon) Primus will become the default bridge and VirtuaGL will need to be called explicitly if you still want it. +Also beginning with bumblebee 4.0 (coming soon) the VirtuaGL dependency will be replaced with a Primus dependency instead. +So you might not even have VirtuaGL installed by default in the future. + +For Primus, there is a separate shell script you can use to invoke it called `primusrun`. + +* For a list of the options for primusrun, view its manual page: ++ +---- +$ man primusrun +---- + +* These are functionally equivalent commands: ++ +---- +$ primusrun java -jar /PATH/TO/Minecraft.jar +---- + +* and ++ +---- +$ optirun -b primus java -jar /PATH/TO/Minecraft.jar +---- + +It may become tedious to always use the optirun program in a terminal to launch 3D games or other 3D opengl applications. +You may wish to create desktop launchers which use the `optirun` or `primusrun` commands in order to streamline this process. + +For example, in the MATE desktop environment, when you right click on an empty space in the desktop a popup menu is displayed. +One option on this menu is btn:[Create launcher…] which allows you to create a graphical launcher icon for your apps which can be left on the desktop or moved into some folder. +Other desktop environments also offer this functionality though the methods differ from desktop to desktop. + +[[uninstallation]] +== Uninstallation + +* To uninstall Bumblebee: ++ +---- +# dnf remove akmod-bbswitch bumblebee primus +# systemctl preset nvidia-fallback +---- + +* To remove the `bumblebee` repository: ++ +---- +# dnf copr remove chenxiaolong/bumblebee +---- + +* To uninstall the NVIDIA drivers: ++ +---- +# dnf remove nvidia-driver kernel-devel akmod-nvidia +---- + +* To remove the Negativo17 repository: ++ +---- +# rm /etc/yum.repos.d/fedora-nvidia.repo +---- + +Reboot. + +[[multi-monitor-setup-with-proprietary-driver]] +== Multi monitor setup with proprietary driver + +Optimus laptops have two graphics cards: an integrated Intel and a discrete NVIDIA one. +If the port (DisplayPort / HDMI / VGA) is wired to the Intel chip, you do not need to do anything special to get external monitors to work. + +When the external port is wired into the NVIDIA card, you cannot currently expand the screen over monitors without extra effort. +Read on if you fall into this category… + +. Install the `intel-gpu-tools` package. ++ +---- +# dnf install intel-gpu-tools +---- + +. Start the `intel-virtual-output` daemon by running the +`intel-virtual-output` command with no additional command line options. ++ +---- +$ intel-virtual-output +---- + +This daemon will automatically detect attached displays in the background. +It will then perform all the trickery of virtualizing and cloning so that the newly attached screen can be used via conventional screen management methods, such as cloning/extending with xrandr. + +For example, if your laptop's display is called eDP1, and your using a external adapter called HDMI1, and you want the display to be 1920×1080 resolution, you could run the following commands: + +. To have your HDMI screen to the right of your desktop, run: ++ +---- +$ xrandr –output eDP1 –mode 1920×1080 –output HDMI1 –mode 1920×1080 –right-of eDP1 +---- + +. To clone your desktop, run: ++ +---- +$ xrandr –output eDP1 –mode 1920×1080 –output HDMI1 –mode 1920×1080 –same-as eDP1 +---- + +There are many different possibilities. Type `xrandr` with no arguments to see what displays you have attached. +See https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup[this web page] for further information on this subject. +Read the manual page for xrandr for even more information on the possibilities this command provides. + +If `intel-virtual-output` works ok running by hand you could add it to your startup automatically if you desire. +One way would be to create a `/etc/rc.d/rc.local` script and add it into there. +Another way might be to create a systemd unit file as `Type=oneshot`. +A third way might be to run it at login using whatever mechanism your desktop environment supports for doing such things. + +For example, in the MATE desktop environment, there is a `mate-session-properties` program (System -> Preferences -> Personal -> Startup Applications) that you can run programs from when you login. +Most desktop environments offer similar functionality though the methods differ from desktop to desktop. + +[[troubleshooting]] +== Troubleshooting +[[error-could-not-open-display]] +=== [VGL] ERROR: Could not open display :8 + +There is a known problem with some wine applications that fork and kill the parent process without keeping track of it (for example the free to play online game "Runes of Magic") + +This is a known problem with VirtualGL. As of Bumblebee 3.1, so long as you have it installed, you can use Primus as your render bridge: + +---- +$ optirun -b primus wine windows program.exe +---- + +[[error-cannot-access-secondary-gpu]] +=== [ERROR]Cannot access secondary GPU: No devices detected + +In some instances, running `optirun` will return: + +---- +[ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected. +[ERROR]Aborting because fallback start is disabled. +---- + +In this case, you will need to move the file `/etc/X11/xorg.conf.d/20-intel.conf` to somewhere else, restart the bumblebeed daemon and it should work. +If you do need to change some features for the Intel module, a workaround is to merge `/etc/X11/xorg.conf.d/20-intel.conf` to `/etc/X11/xorg.conf`. + +It might be also necessary to comment the driver line in `/etc/X11/xorg.conf.d/10-monitor.conf`. + +You might also need to define the NVIDIA card somewhere (e.g. `file /etc/bumblebee/xorg.conf.nvidia`), using the correct `BusID` according to `lspci` output: + +---- +Section "Device" + Identifier "nvidiagpu1" + Driver "nvidia" + BusID "PCI:0:1:0" +EndSection +---- + +Note that the format of `lspci` output is in hexadecimal format, while in xorg it is in decimal. +So if the output of `lspci` is, for example, `0a:00.0` the `BusID` should be `PCI:10:0:0`. + +[[nvidia-failed-to-assign-any-connected-display]] +=== NVIDIA(0): Failed to assign any connected display devices to X screen 0 + +If the console output is: + +---- +[ERROR]Cannot access secondary GPU - error: [XORG] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0 +[ERROR]Aborting because fallback start is disabled. +---- + +Change this line in `/etc/bumblebee/xorg.conf.nvidia`: + +---- +Option "ConnectedMonitor" "DFP" +---- + +to: + +---- +Option "ConnectedMonitor" "CRT" +---- + +[[could-not-load-gpu-driver]] +=== Could not load GPU driver + +If the console output is: + +---- +[ERROR]Cannot access secondary GPU - error: Could not load GPU driver +---- + +And if you try to load the `nvidia` kernel module you get: + +---- +modprobe nvidia +modprobe: ERROR: could not insert 'nvidia': Exec format error +---- + +This could be because the nvidia driver is out of sync with the Linux kernel, for example if you installed the latest nvidia driver and haven't updated the kernel in a while. +A full system update might resolve the issue. + + +[[failed-to-set-drm-interface-version]] +=== /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied + +This could be worked around by appending following lines in `/etc/bumblebee/xorg.conf.nvidia`: + +---- +Section "Screen" + Identifier "Default Screen" + Device "DiscreteNvidia" +EndSection +---- + +[[error-ld.so-object-libdlfaker.so-from-ld-preload]] +=== ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored + +You're probably trying to start a 32-bit application with Bumblebee on a 64-bit system. +Please install the 32-bit versions of the packages mentioned above. + +If the problem persists, please try using the primus bridge that was mentioned above. + +[[fatal-io-error-11]] +=== Fatal IO error 11 (Resource temporarily unavailable) on X server + +Change `KeepUnusedXServer` in `/etc/bumblebee/bumblebee.conf` from `false` to `true`. +Your program forks into background and bumblebee doesn't know anything about it. + +[[video-tearing]] +=== Video Tearing + +Video tearing is a somewhat common problem on Bumblebee. +To fix it, you need to enable vsync. +It should be enabled by default on the Intel card, but verify that from Xorg logs. +To check whether or not it is enabled for NVIDIA, make sure `nvidia-settings` is installed and run: + +---- +# optirun -b none nvidia-settings -c :8 +---- + +`X Server XVideo Settings -> Sync to VBlank` and `OpenGL Settings -> Sync to VBlank` should both be enabled. + +[[bumblebee-cannot-connect-to-socket]] +=== Bumblebee cannot connect to socket + +If the console output is: + +---- +[ 1648.179533] [ERROR]You've no permission to communicate with the Bumblebee daemon. Try adding yourself to the 'bumblebee' group +[ 1648.179628] [ERROR]Could not connect to bumblebee daemon - is it running? +---- + +Verify whether or not you are in the `bumblebee` group: + +---- +# groups | grep bumblebee +---- + +Another reason for this error could be that you haven't actually turned on both gpus in your bios, and as a result, the Bumblebee daemon is in fact not running. +Check the bios settings carefully and be sure intel graphics (integrated graphics - may be abbreviated in bios as something like igfx) has been enabled or set to auto, and that it's the primary gpu. +Your display should be connected to the onboard integrated graphics, not the discrete graphics card. + +If you mistakenly had the display connected to the discrete graphics card and intel graphics was disabled, you probably installed Bumblebee after first trying to run Nvidia alone. +In this case, be sure to remove the `/etc/X11/xorg.conf` or `.../20-nvidia...` configuration files. If Xorg is instructed to use NVIDIA in a conf file, X will fail. + +[[prismusrun-mouse-delay-disable-vsync]] +=== Primusrun mouse delay/disable VSYNC + +For `primusrun`, VSYNC is enabled by default and as a result, it could make mouse input delay lag or even slightly decrease performance. +Test `primusrun` without VSYNC: + +---- +$ vblank_mode=0 primusrun glxgears +---- + +If you are satisfied with the above setting, create an alias (e.g. `alias primusrun="vblank_mode=0 primusrun"`). + +[[primus-issues-under-compositing]] +=== Primus issues under compositing window managers + +Since compositing hurts performance, invoking `primus` when a compositing WM is active is https://github.com/amonakov/primus#issues-under-compositing-wms[not recommended]. +If you need to use `primus` with compositing and see flickering or bad performance, synchronizing primus’ display thread with the application’s rendering thread may help: + +---- +$ PRIMUS_SYNC=1 primusrun ... +---- + +WARNING: optirun crashes after you boot into Troubleshooting -> Start Fedora Live in basic graphics mode” and do an install that way. + +If you did an install under Troubleshooting -> Start Fedora Live in basic graphics mode, then Bumblebee will not work. +You can tell by examining the `/var/log/Xorg.8.log` log file and looking for Kernel command line: and seeing nomodeset on that line. +When you use Start Fedora Live in basic graphics mode it adds nomodeset to your kernel command line which will cause your machine to use the VESA driver and make Bumblebee not work. +(It will just crash when you try) To fix that, edit `/etc/default/grub` and on the GRUB_CMDLINE_LINUX= line, remove the word nomodeset and then save the file, next, either run: + +---- +# grub2-mkconfig -o /boot/grub2/grub.cfg +---- + +on a BIOS based notebook or + +---- +# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg +---- + +on a UEFI based notebook. +Then reboot. +After that bumblebee/optirun/primusrun should start working. + +[[american-megatrend-bios-compatibility]] +== American Megatrend BIOS compatibility + +Some recent laptop models featuring AMI bioses have some compatibility issues with bbswitch and Optimus, making them unable to load into graphics mode and crashing every time it is attempted, as discussed in further details https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-234494238in[this post] on the Bumblebee's GitHub project page. + +If you are trying to use Linux on a recent Optimus laptop and it crashes every time you try to enter a graphics environment, please try adding the following parameters to your boot loader (Fedora users usually have GRUB installed): + +---- +acpi_osi=! acpi_osi='Windows 2009' +---- + +This seems to work on most laptop models facing this issue, but bear in mind that this workaround has not been tested in every laptop model ever made – so your mileage may vary. +If the problems persist, you could try updating your BIOS or look for more info in the Bumblebee documentation and their community. + +[[broken-power-management-with-kernel-4.8]] +== Broken power management with kernel 4.8 + +If you have a newer laptop (BIOS date 2015 or newer), then Linux 4.8 might break bbswitch since bbswitch does not support the newer, recommended power management method. As a result, the dGPU may fail to power on, fail to power off or worse. +See https://github.com/Bumblebee-Project/bbswitch/issues/140[Issue 140] for further information about this problem. +As a workaround, add `pcie_port_pm=off` to your kernel parameters. + +Alternatively, if you are only interested in power saving (and perhaps use of external monitors), remove Bumblebee / bbswitch and rely on nouveau runtime power-management (which supports the new method). + +[[mesa-13.0.3-6-and-libglvnd-issues]] +== mesa-13.0.3-6 and libglvnd issues + +On Fedora 25 and 26 a new library called libglvnd was added which initially caused some issues. + +primus-1.1.03282015-4 and newera, bumblebee-3.2.1-13 and newer, and (managed version) bumblebee-nvidia-375.26-2 and newer, and (un-managed version) bumblebee-nvidia-3.0-2 and newer will work with the newer mesa and new libglvnd library. + +When you first upgrade to mesa-13.0.3-6 or newer bumblebee-nvidia doesn't know that it needs to rebuild the shim. +So you can force that by running the command: + +---- +bumblebee-nvidia --force +---- + +via `su` as root or via `sudo`. And the primus bridge should work after that. + +You can track this issue upstream https://github.com/amonakov/primus/issues/193[here]. + +[[additional-resources]] +== Additional resources + +* http://bumblebee-project.org/[Bumblebee project homepage] +* https://github.com/Bumblebee-Project/Bumblebee/wiki[Bumblebee official wiki] +* https://github.com/Bumblebee-Project/bbswitch[The bbswitch kernel module's website] +* https://github.com/amonakov/primus[The primus library's website] +* https://copr.fedorainfracloud.org/coprs/chenxiaolong/bumblebee/[Bumblebee Copr respository] +* https://www.linux.ncsu.edu/bumblebee/[Bumblebee guide for RHEL and CentOS] +* http://www.thelinuxrain.com/articles/the-state-of-nvidia-optimus-on-linux[The +State of NVIDIA Optimus on Linux] + +See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs[quick-docs's git repository]. diff --git a/modules/ROOT/pages/changing-selinux-states-and-modes.adoc b/modules/ROOT/pages/changing-selinux-states-and-modes.adoc new file mode 100644 index 0000000..f6c59a9 --- /dev/null +++ b/modules/ROOT/pages/changing-selinux-states-and-modes.adoc @@ -0,0 +1,19 @@ +:experimental: +:parent-context: {context} + +// NOTE (TODO): several links (URLs) in the included modules could be replaced with URLs when the appropriate docs become available on fp.org + +[id='changing-selinux-states-and-modes-{context}'] += Changing SELinux states and modes +:context: selinux + +:md: en-US/modules + +include::{partialsdir}/con_permanent-changes-in-selinux-states-and-modes.adoc[leveloffset=+1] +include::{partialsdir}/proc_enabling-selinux.adoc[leveloffset=+1] +include::{partialsdir}/proc_changing-to-permissive-mode.adoc[leveloffset=+2] +include::{partialsdir}/proc_changing-to-enforcing-mode.adoc[leveloffset=+2] +include::{partialsdir}/proc_disabling-selinux.adoc[leveloffset=+1] +include::{partialsdir}/ref_changing-selinux-modes-at-boot-time.adoc[leveloffset=+1] + +:context: {parent-context} diff --git a/modules/ROOT/pages/configuring-ip-networking-with-nmcli.adoc b/modules/ROOT/pages/configuring-ip-networking-with-nmcli.adoc new file mode 100644 index 0000000..fb9e94f --- /dev/null +++ b/modules/ROOT/pages/configuring-ip-networking-with-nmcli.adoc @@ -0,0 +1,12 @@ +[id='Configuring-networking-with-nmcli'] += Configuring IP networking with nmcli + +How to configure networking using the [application]*nmcli* (NetworkManager Command Line Interface) command-line utility. + +include::{partialsdir}/con_Getting-started-with-nmcli.adoc[leveloffset=+1] + +include::{partialsdir}/proc_Brief-selection-of-nmcli-examples.adoc[leveloffset=+1] + +include::{partialsdir}/con_Understanding-the-nmcli-options.adoc[leveloffset=+1] + +include::{partialsdir}/proc_Configuring-networking-with-nmcli.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/configuring-x-window-system-using-the-xorg-conf-file.adoc b/modules/ROOT/pages/configuring-x-window-system-using-the-xorg-conf-file.adoc new file mode 100644 index 0000000..aad9e41 --- /dev/null +++ b/modules/ROOT/pages/configuring-x-window-system-using-the-xorg-conf-file.adoc @@ -0,0 +1,6 @@ +[id='configuring-x-window-system-using-the-xorg-conf-file'] += Configuring X Window System using the xorg.conf file + +include::{partialsdir}/con_xorg-conf.adoc[leveloffset=+1] + +include::{partialsdir}/proc_creating_xorg_conf.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/configuring-xorg-as-default-gnome-session.adoc b/modules/ROOT/pages/configuring-xorg-as-default-gnome-session.adoc new file mode 100644 index 0000000..69e7806 --- /dev/null +++ b/modules/ROOT/pages/configuring-xorg-as-default-gnome-session.adoc @@ -0,0 +1,15 @@ +[id='configuring-xorg-as-default-gnome-session'] += Configuring Xorg as the default GNOME session +:context: xorg + +Wayland is the default GNOME display server. If GNOME freezes, or some applications do not function correctly in Wayland, you can choose to run GNOME in X11. + + +include::{partialsdir}/proc_configuring-xorg-as-default-gnome-session.adoc[leveloffset=+1] + + +[discrete] +== Additional Resources +. link:https://docs.fedoraproject.org/f27/system-administrators-guide/Wayland.html[Wayland Display Server in the System Administrator's Guide] + +. link:https://wayland.freedesktop.org/[Wayland @ freedesktop.org] diff --git a/modules/ROOT/pages/create-gpg-keys.adoc b/modules/ROOT/pages/create-gpg-keys.adoc new file mode 100644 index 0000000..f298acf --- /dev/null +++ b/modules/ROOT/pages/create-gpg-keys.adoc @@ -0,0 +1,67 @@ += Creating GPG Keys +:experimental: + +This document explains in detail how to obtain a GPG key using common Fedora utilities. +It also provides information on managing your key as a Fedora contributor. + +[[creating-gpg-keys]] +== Creating GPG Keys + +include::{partialsdir}/proc_creating-gpg-keys-gnome.adoc[leveloffset=+1] + +include::{partialsdir}/proc_creating-gpg-keys-kde.adoc[leveloffset=+1] + +include::{partialsdir}/proc_creating-gpg-keys-cli.adoc[leveloffset=+1] + +[[making-a-backup]] +== Making a Backup + +include::{partialsdir}/proc_backup-gpg-keys-gnome.adoc[leveloffset=+1] + +include::{partialsdir}/proc_backup-gpg-keys-kde.adoc[leveloffset=+1] + +include::{partialsdir}/proc_backup-gpg-keys-cli.adoc[leveloffset=+1] + +[[making-your-public-key-available]] +== Making Your Public Key Available + +When you make your public key available to others, they can verify communications you sign, or send you encrypted communications if necessary. +This procedure is also known as _exporting_. + +Now see <>, <>, or the <>. +See <> to a file if you wish to email it to individuals or groups. + +include::{partialsdir}/proc_exporting-gpg-keys-gnome.adoc[leveloffset=+1] + +include::{partialsdir}/proc_exporting-gpg-keys-kde.adoc[leveloffset=+1] + +include::{partialsdir}/proc_exporting-gpg-keys-cli.adoc[leveloffset=+1] + +include::{partialsdir}/proc_copying-public-gpg-keys-manually.adoc[leveloffset=+1] + +[[safeguarding-your-secret-key]] +== Safeguarding Your Secret Key + +Treat your secret key as you would any very important document or physical key. +(Some people always keep their secret key on their person, either on magnetic or flash media.) +If you lose your secret key, you will be unable to sign communications, or to open encrypted communications that were sent to you. + +[[hardware-token-options]] +== Hardware Token options + +If you followed the above, you have a secret key which is just a regular file. +A more secure model than keeping the key on disk is to use a hardware token. + +There are several options available on the market, for example the https://www.yubico.com/products/yubikey-hardware/yubikey4/[YubiKey]. +Look for a token which advertises OpenPGP support. +See https://blog.josefsson.org/2014/06/23/offline-gnupg-master-key-and-subkeys-on-yubikey-neo-smartcard/[this blog entry] for how to create a key with offline backups, and use the token for online access. + +include::{partialsdir}/proc_revoking-gpg-keys.adoc[leveloffset=+1] + +== Additional resources + +* http://www.gnupg.org/[GPG home page] +* http://www.gnupg.org/documentation/[Official GPG documentation] +* http://en.wikipedia.org/wiki/Public-key_cryptography[Wikipedia - Public Key Cryptography] + +See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs[quick-docs's git repository]. diff --git a/modules/ROOT/pages/create-hello-world-rpm.adoc b/modules/ROOT/pages/create-hello-world-rpm.adoc new file mode 100644 index 0000000..dc46963 --- /dev/null +++ b/modules/ROOT/pages/create-hello-world-rpm.adoc @@ -0,0 +1,265 @@ +include::{partialsdir}/attributes.adoc[] + += How to Create a GNU Hello World RPM Package + +This is a short hands-on tutorial on writing RPM files, showing how to quickly step up to create simple source and binary software packages. +It assumes some familiarity with using pre-made RPM packages, and with the FOSS building process. + +For comprehensive information on how to create RPM files, including more detailed tips, refer to {WRPM}[How to create an RPM package]. +If you plan to create an RPM package for the Fedora repository, follow the process for {WPACKAGE}, including following the various Fedora guidance. + +This tutorial demonstrates packaging of the GNU "Hello World" project. +While the C program printing "Hello World" to standard output is trivial, the GNU version contains most of the usual peripheral components associated with a typical FOSS project, including the configuration/build/install environment, documentation, internationalization, etc. +The GNU version, however, traditionally consists of a `tar` file containing the source code and configure/make scripts, but it does not include the packaging information. +Therefore, it's a reasonable vehicle to practice building RPMs on. + +== Development Environment + +To build RPMs we need a set of development tools. + +IMPORTANT: Make sure you run the following command as the `root` user! + +This is a one-time-only setup, installed by running these commands from a system administration (`root`) account: + +---- +# dnf install fedora-packager @development-tools +---- + +IMPORTANT: Make sure you run the following command as the `root` user! + +To be able to test the build procedure in a clean chroot you need to configure your non-privileged account to be a member of the 'mock' group: + +---- +# usermod -a -G mock +---- + +Those are the only commands requiring `root` privileges. +All the remaining work should be done from your regular, non-privileged account, or even from a separate account created just for development work. +Modern RPM-based systems, including Fedora, are set up to build and test RPM packages purely from within a non-privileged account. +The follwing command sets up an RPM build area in your `~/rpmbuild` directory. +This directory will contain several subdirectories, for the project source code, RPM configuration files and for the resulting source and binary packages. + +---- +$ rpmdev-setuptree +---- + +== Building a "Hello World" RPM + +We need the source code of the project we are packaging, often referred to as the 'upstream' source. +We will download it from the project's website into the `~/rpmbuild/SOURCE` directory. +We are getting the compressed tarball archive, which happens to be the preferred distribution form for most FOSS projects. + +---- +$ cd ~/rpmbuild/SOURCES +$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz +---- + +The RPM package is configured by `.spec` files. +We will create a template file `hello.spec` in the appropriate directory: + +---- +$ cd ~/rpmbuild/SPECS +$ rpmdev-newspec hello +---- + +Recent versions of `Emacs` and `vi` have .spec file editing modes which will also bring up a similar template upon creating a new file. +So you can just use the following command for example to use the template automatically. + +---- +$ emacs hello.spec +---- + +== Inside a Spec File + +The fields in our `.spec` file need slight editing. +Please follow the {WRPM}[Fedora rules] for these fields. +In our case, the file might start as follows: + +[source, RPMSpec] +---- +Name: hello +Version: 2.10 +Release: 1 +Summary: The "Hello World" program from GNU +License: GPLv3+ +URL: https://www.gnu.org/software/hello/ +Source0: https://ftp.gnu.org/gnu/hello/hello-%{version}.tar.gz + +%description +The "Hello World" program, done with all bells and whistles of a proper FOSS +project, including configuration, build, internationalization, help files, etc. + +%changelog +* Thu Jul 07 2011 The Coon of Ty - 2.10-1 +- Initial version of the package +---- + +The `Version` should mirror upstream while `Release` numbers our work within Fedora. + +The first letter of the `Summary` should be uppercase to avoid `rpmlint` complaints. + +It is your responsibility to check the `License` status of the software, by inspecting the source files and/or their `LICENSE` files, and/or by talking to the authors. + +The `Group` tag was historically used to classify the package in accordance with the list in `/usr/share/doc/rpm-``/GROUPS`. +It is being phased out so you will not see it added by default. +However, it doesn't hurt to add it anyway. + +The `%changelog` should document the work on preparing the RPM, especially if there are security and bug patches included on top of the base upstream source. +Changelog data can be displayed by `rpm --changelog -q `, which is very useful for instance to find out if specific bug and security patches were included in the installed software, thanks to the diligent Fedora packagers who include this info with the relevant http://cve.mitre.org/[CVE] numbers. + +The `%changelog` entry should include the version string to avoid `rpmlint` complaints. + +Multi-line sections like `%changelog` or `%description` start on a line under the directive, and end with a blank line. + +Lines which aren't needed (e.g. `BuildRequires` and `Requires`) can be commented out with a hash ('#') for now. + +Many lines in the template don't need to be changed at all in many cases, at least for the initial attempt. + +== Building the Package + +We are ready for the first run to build source, binary and debugging packages: + +---- +$ rpmbuild -ba hello.spec +---- + +It will complain and list the unpackaged files, i.e. the files that would be installed in the system that weren't declared as belonging to the package. +We need to declare them in the `%files` section. +Do not hardcode names like `/usr/bin/`, but use macros, like `%{_bindir}/hello` instead. +The manual pages should be declared in the `%doc` subsection: + +.... +%doc %{_mandir}/man1/hello.1.* +.... + +This is an iterative process; after editing the `.spec` file, rerun `rpmbuild`. + +Since our program uses translations and internationalization, we are seeing a lot of undeclared i18 files. +The link:https://fedoraproject.org/wiki/Packaging:Guidelines#Handling_Locale_Files[recommended method] to declare them is: + +* find the filenames in the `%install` step: `%find_lang %{name}` +* add the required build dependencies: `BuildRequires: gettext` +* use the found filenames `%files -f %{name}.lang` + +If the program uses GNU `info` files, you need to make sure the installation and uninstallation of the package does not interfere with other software on the system, by using this boilerplate: + +* delete the `dir` file in `%install`: + +---- +$ rm -f %{buildroot}/%{_infodir}/dir +---- + +* `Requires(post): info` and `Requires(preun): info` +* add those steps: + +[source,RPMSpec] +---- +%post +/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : + +%preun +if [ $1 = 0 ] ; then +/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : +fi +---- + +This snippet is copied directly from link:https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:ScriptletSnippets#Texinfo[here]. +That page contains solutions to many common packaging tasks. +If possible, try to copy a solution from there instead of devising your own. + +== A Complete `hello.spec` File + +Here's the initial version of `hello.spec`: + +[source,RPMSpec] +---- +Name: hello +Version: 2.10 +Release: 1%{?dist} +Summary: The "Hello World" program from GNU + +License: GPLv3+ +URL: http://ftp.gnu.org/gnu/%{name} +Source0: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz + +BuildRequires: gettext + +Requires(post): info +Requires(preun): info + +%description +The "Hello World" program, done with all bells and whistles of a proper FOSS +project, including configuration, build, internationalization, help files, etc. + +%prep +%autosetup + +%build +%configure +make %{?_smp_mflags} + +%install +%make_install +%find_lang %{name} +rm -f %{buildroot}/%{_infodir}/dir + +%post +/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : + +%preun +if [ $1 = 0 ] ; then +/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : +fi + +%files -f %{name}.lang +%{_mandir}/man1/hello.1.* +%{_infodir}/hello.info.* +%{_bindir}/hello + +%doc AUTHORS ChangeLog NEWS README THANKS TODO +%license COPYING + +%changelog +* Tue Sep 06 2011 The Coon of Ty 2.10-1 +- Initial version of the package +---- + +With this `.spec` file, you should be able to successfully complete the build process, and create the source and binary RPM packages. + +Next you should check them for conformance with RPM design rules, by running `rpmlint` on the `.spec` file and all RPMs: + +---- +$ rpmlint hello.spec ../SRPMS/hello* ../RPMS/*/hello* +---- + +If there are no warnings or errors, we've succeeded. +Otherwise, use `rpmlint -i` or `rpmlint -I ` to see a more verbose description of the `rpmlint` diagnostics. + +== The `mock` Builds + +To check that the package build will succeed in the Fedora restricted build environment, check it with `mock`. +The default `mock` configuration builds the package against Rawhide - the Fedora development branch. + +---- +$ mock --verbose ../SRPMS/hello-2.10-1.fc25.src.rpm +---- + +== References + +* {WRPM}[How to create an RPM package] + +* {RPMSCHAT}[Building RPM packages (20090405)] + +* {MOCKTEST}[Using Mock to test package builds] + +* {KOJIBUILD}[Using the Koji build system] + +== History + +Przemek Klosowski wrote this tutorial when he worked through link:Building_RPM_packages_%2820090405%29[Christoph Wickert's IRC session on building RPMs] using Rahul Sundaram suggestion of GNU "Hello World" as a test case. +After he wrote up his experience, he found out about the excellent and extensive link:How_to_create_an_RPM_package[How to create an RPM package] page on this wiki, as well as the link:http://www.absolutepanic.org/blog/2009/07/building-a-gnu-hello-world-rpm[Christian Lyder Jacobsen's website]. +However, Christian isn't planning to update his site, and it seemed that a 5-minute 'fast food' alternative to the more extensive article might suit some people. +More in-depth information on using and building RPM packages is available from link:Yum[other sources]. + +See a typo, something missing or out of date, or anything else which can be improved? +Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/creating-a-disk-partition-in-linux.adoc b/modules/ROOT/pages/creating-a-disk-partition-in-linux.adoc new file mode 100644 index 0000000..7d9103c --- /dev/null +++ b/modules/ROOT/pages/creating-a-disk-partition-in-linux.adoc @@ -0,0 +1,13 @@ +:experimental: + +:parent-context: {context} + +[id='disk-partition-in-linux-{context}'] += Creating a disk partition in Linux +:context: using-parted + +include::{partialsdir}/con_disk-partition-linux.adoc[leveloffset=+1] +include::{partialsdir}/proc_creating-a-disk-partition-in-linux.adoc[leveloffset=+1] +include::{partialsdir}/ref_help-mkpart.adoc[leveloffset=+1] + +:context: {parent-context} diff --git a/modules/ROOT/pages/creating-and-using-a-live-installation-image.adoc b/modules/ROOT/pages/creating-and-using-a-live-installation-image.adoc new file mode 100644 index 0000000..007f41e --- /dev/null +++ b/modules/ROOT/pages/creating-and-using-a-live-installation-image.adoc @@ -0,0 +1,11 @@ += Creating and using a live installation image + +include::{partialsdir}/proc_downloading-fedora.adoc[leveloffset=+1] + +include::{partialsdir}/proc_creating-and-using-live-usb.adoc[leveloffset=+1] + +include::{partialsdir}/proc_booting-from-usb-sticks.adoc[leveloffset=+1] + +include::{partialsdir}/proc_troubleshooting-live-usb.adoc[leveloffset=+1] + +include::{partialsdir}/proc_creating-and-using-live-cd.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/creating-rpm-packages.adoc b/modules/ROOT/pages/creating-rpm-packages.adoc new file mode 100644 index 0000000..0169a72 --- /dev/null +++ b/modules/ROOT/pages/creating-rpm-packages.adoc @@ -0,0 +1,12 @@ +[id='creating-rpm-packages'] += Creating RPM packages + +Learn the basics of RPM packaging. + +include::{partialsdir}/con_rpm_packaging_overview.adoc[leveloffset=+1] + +include::{partialsdir}/proc_rpm_preparing_your_system.adoc[leveloffset=+1] + +include::{partialsdir}/proc_rpm_creating_an_rpm.adoc[leveloffset=+1] + +include::{partialsdir}/con_rpm_spec_file_overview.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/creating-windows-virtual-machines-using-virtio-drivers.adoc b/modules/ROOT/pages/creating-windows-virtual-machines-using-virtio-drivers.adoc new file mode 100644 index 0000000..fd39f29 --- /dev/null +++ b/modules/ROOT/pages/creating-windows-virtual-machines-using-virtio-drivers.adoc @@ -0,0 +1,33 @@ +[id='creating-windows-virtual-machines-using-virtio-drivers'] += Creating Windows virtual machines using virtIO drivers + +This document describes how to obtain virtIO drivers and additional software agents for Windows virtual machines running on kernel-based virtual machines (KVM). https://www.linux-kvm.org/page/Virtio[virtIO] is a virtualization standard for network and disk device drivers. + +Fedora cannot ship Windows virtIO drivers because they cannot be built automatically as part of Fedora’s build system: the only way to build Windows virtIO drivers is on a machine running Windows. In addition, shipping pre-compiled sources is generally against Fedora policies. Microsoft does not provide virtIO drivers, you must download them yourself in order to make virtIO drivers available for Windows VMs running on Fedora hosts. + +The drivers in these repos are licensed under the https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html[GPLv2] license. + +include::{partialsdir}/concept_virtio-win-repo-overview.adoc[leveloffset=+1] + +include::{partialsdir}/concept_fedora-virtio-drivers-vs-rhel.adoc[leveloffset=+1] + +include::{partialsdir}/proc_installing-virtio-win-repo.adoc[leveloffset=+1] + +include::{partialsdir}/proc_enabling-latest-virtio-win-repo.adoc[leveloffset=+1] + +include::{partialsdir}/ref_virtio-win-rpm-contents.adoc[leveloffset=+1] + +include::{partialsdir}/proc_filing-virtio-win-bugs.adoc[leveloffset=+1] + + +[discrete] +== Additional resources + +* KVM windows guest drivers upstream code: https://github.com/virtio-win/kvm-guest-drivers-windows +* QXL XDDM driver code: http://cgit.freedesktop.org/spice/win32/qxl +* QXL WDDM driver code: https://github.com/vrozenfe/qxl-dod +* Tree used by gnome-boxes for automatic driver installation: https://zeenix.fedorapeople.org/drivers/ +* Windows spice agent git repo: http://cgit.freedesktop.org/spice/win32/vd_agent +* Spice guest tools installer code: http://cgit.freedesktop.org/~teuf/spice-nsis/ +* spice-guest-tools downloads: http://www.spice-space.org/download/binaries/spice-guest-tools/ +* Fedora virtio-win build scripts: https://github.com/crobinso/virtio-win-pkg-scripts diff --git a/modules/ROOT/pages/debug-dracut-problems.adoc b/modules/ROOT/pages/debug-dracut-problems.adoc new file mode 100644 index 0000000..997a374 --- /dev/null +++ b/modules/ROOT/pages/debug-dracut-problems.adoc @@ -0,0 +1,303 @@ += How to debug Dracut problems + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/How_to_debug_Dracut_problems + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +*Foreword* + +If you are experiencing a problem with system initialization due to +Dracut, please see the link:Bugs/Common[common bugs] document before +filing a bug. Some easy configuration tweaks that fix a wide range of +issues may be listed there. If the problem you are seeing is not listed +there or none of the workarounds seem to help, please consider filing a +bug to help us make Fedora run better on your hardware. + +Be prepared to include some information (logs) about your system as +well. These should be complete (no snippets please), not in an archive, +uncompressed, with MIME type set as text/plain. + +[[identifying-your-problem-area]] +Identifying your problem area +----------------------------- + +1. Remove `rhgb` and `quiet` from the kernel command line +2. Add `rd.shell` to the kernel command line. This will present a shell +should dracut be unable to locate your root device +3. Add `rd.shell rd.debug log_buf_len=1M` to the kernel command line so +that dracut shell commands are printed as they are executed +4. Inspect the system logs: ++ +.... + # less /run/initramfs/rdsosreport.txt + # journalctl -a + # dmesg + # less /run/initramfs/init.log +.... + +[[information-to-include-in-your-report]] +Information to include in your report +------------------------------------- + +[[all-bug-reports]] +All bug reports +~~~~~~~~~~~~~~~ + +In all cases, the following should be mentioned and attached to your bug +report: + +* The exact kernel command-line used. Typically from the bootloader +configuration file (e.g. ) or from +* A copy of your disk partition information from +* A device listing from device-mapper. This can be obtained by running +the command +* A list of block device attributes including vol_id compatible mode. +This can be obtained by running the commands and +* Turn on dracut debugging (see +link:How_to_debug_Dracut_problems#Debugging[the 'debugging dracut' +section]), and attach all relevant information from the boot log. This +can be obtained by running the command grep dracut}}. +* If you use a dracut configuration file, please include + +[[logical-volume-management-related-problems]] +Logical Volume Management related problems +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +As well as the information from +link:How_to_debug_Dracut_problems#AllInfo[the 'all bug reports' +section], include the following information: + +* Include physical volume information by running the command: +* Include volume group information by running the command: +* Include logical volume information by running the command: + +[[software-raid-related-problems]] +Software RAID related problems +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +As well as the information from +link:How_to_debug_Dracut_problems#AllInfo[the 'all bug reports' +section], include the following information: + +* If using software RAID disk partitions, please include the output of + +[[network-root-device-related-problems]] +Network root device related problems +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This section details information to include when experiencing problems +on a system whose root device is located on a network attached volume +(e.g. iSCSI, NFS or NBD). As well as the information from +link:How_to_debug_Dracut_problems#AllInfo[the 'all bug reports' +section], include the following information: + +* Please include the output of + +[[debugging-dracut]] +Debugging dracut +---------------- + +[[configure-a-serial-console]] +Configure a serial console +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Successfully debugging dracut will require some form of console logging +during the system boot. This section documents configuring a serial +console connection to record boot messages. To enable serial console +output for both the kernel and the bootloader, follow the procedure +below. + +1. Open the file for editing. Below the line _timeout=5_, add the +following: ++ +.... +serial --unit=0 --speed=9600 +terminal --timeout=5 serial console +.... +2. Also in , add the following boot arguemnts to the _kernel_ line: ++ +.... +console=tty0 console=ttyS0,9600 +.... +3. When finished, the file should look similar to the example below. ++ +.... +default=0 +timeout=5 +serial --unit=0 --speed=9600 +terminal --timeout=5 serial console +title Fedora (2.6.29.5-191.fc11.x86_64) + root (hd0,0) + kernel /vmlinuz-2.6.29.5-191.fc11.x86_64 ro root=/dev/mapper/vg_uc1-lv_root console=tty0 console=ttyS0,9600 + initrd /dracut-2.6.29.5-191.fc11.x86_64.img +.... + +More detailed information on how to configure the kernel for console +output can be found at +http://www.faqs.org/docs/Linux-HOWTO/Remote-Serial-Console-HOWTO.html#CONFIGURE-KERNEL[1]. + +[[using-the-dracut-shell]] +Using the dracut shell +~~~~~~~~~~~~~~~~~~~~~~ + +Dracut offers a shell for interactive debugging in the event dracut +fails to locate your root filesystem. To enable the shell: + +1. Add the boot parameter `rd.shell` to your bootloader configuration +file (e.g. +2. Remove the boot arguments `rhgb` and `quiet` + +A sample bootloader configuration file is listed below. + +.... +default=0 +timeout=5 +serial --unit=0 --speed=9600 +terminal --timeout=5 serial console +title Fedora (2.6.29.5-191.fc11.x86_64) + root (hd0,0) + kernel /vmlinuz-2.6.29.5-191.fc11.x86_64 ro root=/dev/mapper/vg_uc1-lv_root console=tty0 rd.shell + initrd /dracut-2.6.29.5-191.fc11.x86_64.img +.... + +If system boot fails, you will be dropped into a shell as seen in the +example below. + +.... +No root device found +Dropping to debug shell. + +sh: can't access tty; job control turned off +# +.... + +Use this shell prompt to gather the information requested above (see +link:How_to_debug_Dracut_problems#AllInfo[the 'all bug reports' +section]). + +[[accessing-the-root-volume-from-the-dracut-shell]] +Accessing the root volume from the dracut shell +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +From the dracut debug shell, you can manually perform the task of +locating and preparing your root volume for boot. The required steps +will depend on how your root volume is configured. Common scenarios +include: + +* A block device (e.g. ) +* A LVM logical volume (e.g. ) +* An encrypted device (e.g. ) +* A network attached device (e.g. +iscsi:@192.168.0.4::3260::iqn.2009-02.org.fedoraproject:for.all}}) + +The exact method for locating and preparing will vary. However, to +continue with a successful boot, the objective is to locate your root +volume and create a symlink which points to the file system. For +example, the following example demonstrates accessing and booting a root +volume that is an encrypted LVM Logical volume. + +1. Inspect your partitions using ++ +.... +# parted /dev/sda -s p +Model: ATA HTS541060G9AT00 (scsi) +Disk /dev/sda: 60.0GB +Sector size (logical/physical): 512B/512B +Partition Table: msdos + +Number Start End Size Type File system Flags + 1 32.3kB 10.8GB 107MB primary ext4 boot + 2 10.8GB 55.6GB 44.7GB logical lvm +.... +2. You recall that your root volume was a LVM logical volume. Scan and +activate any logical volumes ++ +.... +# lvm vgscan +# lvm vgchange -ay +.... +3. You should see any logical volumes now using the command : ++ +.... +# blkid +/dev/sda1: UUID="3de247f3-5de4-4a44-afc5-1fe179750cf7" TYPE="ext4" +/dev/sda2: UUID="Ek4dQw-cOtq-5MJu-OGRF-xz5k-O2l8-wdDj0I" TYPE="LVM2_member" +/dev/mapper/linux-root: UUID="def0269e-424b-4752-acf3-1077bf96ad2c" TYPE="crypto_LUKS" +/dev/mapper/linux-home: UUID="c69127c1-f153-4ea2-b58e-4cbfa9257c5e" TYPE="ext3" +/dev/mapper/linux-swap: UUID="47b4d329-975c-4c08-b218-f9c9bf3635f1" TYPE="swap" +.... +4. From the output above, you recall that your root volume exists on an +encrypted block device. Following the guidance disk encryption guidance +from the +http://docs.fedoraproject.org/install-guide/f%7B%7BFedoraVersion%7D%7D/en-US/html/apcs04s04.html[ +Installation Guide], you unlock your encrypted root volume. ++ +.... +UUID=$(cryptsetup luksUUID /dev/mapper/linux-root) +cryptsetup luksOpen /dev/mapper/linux-root luks-$UUID +Enter passphrase for /dev/mapper/linux-root: +Key slot 0 unlocked. +.... +5. Next, make a symbolic link to the unlocked root volume ++ +.... +ln -s /dev/mapper/luks-$UUID /dev/root +.... +6. With the root volume available, you may continue booting the system +by exiting the dracut shell ++ +.... +exit +.... + +[[summary-of-dracut-kernel-command-line-options]] +Summary of dracut kernel command line options +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A selection of the most common debugging related dracut options: + +rd.shell : Drop to a shell, if the initramfs fails. + +rd.debug : set -x for the dracut shell. + +rd.break=[cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup] +: drop the shell on defined breakpoint (use +`egrep 'rd.?break' /usr/lib/dracut/modules.d/99base/init.sh` to find the +breakpoints supported by your dracut version) + +rd.udev.info : set udev to loglevel info + +rd.udev.debug : set udev to loglevel debug:: + +See the `dracut.cmdline(7)` +http://man7.org/linux/man-pages/man7/dracut.cmdline.7.html[man page] for +the complete reference. + +Category:Debugging[D] Category:How_to[Category:How to] +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/debug-systemd-problems.adoc b/modules/ROOT/pages/debug-systemd-problems.adoc new file mode 100644 index 0000000..4baf3f0 --- /dev/null +++ b/modules/ROOT/pages/debug-systemd-problems.adoc @@ -0,0 +1,144 @@ += How to debug systemd problems + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/How_to_debug_systemd_problems + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +*Foreword* + +If you are experiencing a problem with system boot up due to systemd, +please see the link:Bugs/Common[common bugs] document before filing a +bug. Some easy configuration tweaks that fix a wide range of issues may +be listed there. If the problem you are seeing is not listed there or +none of the workarounds seem to help, please consider filing a bug to +help us make Fedora run better on your hardware. + +[[debugging-systemd-problems]] +Debugging systemd problems +-------------------------- + +[[various-useful-systemd-related-commands]] +Various useful systemd related commands +--------------------------------------- + +* Run `systemctl list-jobs` + +To identify slow boot and look for the jobs that are "running" those +jobs are the ones where boot waits for completion on and the ones that +listed as "waiting" will be executed only after those which are +"running" are completed. + +* Run `systemctl list-units -t service --all` + +To list all available services and their current status + +* Run `systemctl list-units -t service` + +To show all active services + +* Run `systemctl status sshd.service` + +To examine the current runtime status of a service. (In the above +example the ssh service) + +* Run `systemctl list-units -t target --all` + +To show all available targets. + +* Run `systemctl list-units -t target` + +To show all active targets. + +* Run `systemctl show -p "Wants" multi-user.target` + +To see which services a target pulls in. ( In the above example the +multi-user.target ) + +* Run +`/usr/lib/systemd/systemd --test --system --unit=multi-user.target` + +To examine what gets started when when booted into a specific target. ( +In the above example the multi-user.target ) + +[[systemd-boot-parameters]] +systemd boot parameters +----------------------- + +The following boot parameters are also available to further assist with +debugging boot issues. + +systemd.unit= : Overrides the unit to activate on boot. This may be used +to temporarily boot into a different boot unit, for example +rescue.target or emergency.target. ( Defaults to default.target. ):: + +systemd.dump_core= : Takes a boolean argument. If true systemd dumps +core when it crashes. Otherwise no core dump is created. ( Defaults to +true ):: + +systemd.crash_shell= : Takes a boolean argument. If true systemd spawns +a shell when it crashes. Otherwise no core dump is created. Defaults to +false, for security reasons, as the shell is not protected by any +password authentication.:: + +systemd.crash_chvt= :Takes an integer argument. If positive systemd +activates the specified virtual terminal when it crashes. ( Defaults to +-1 ):: + +systemd.confirm_spawn= : Takes a boolean argument. If true asks for +confirmation when spawning processes. ( Defaults to false ):: + +systemd.show_status= : Takes a boolean argument. If true shows terse +service status updates on the console during bootup. ( Defaults to true +):: + +systemd.sysv_console= : Takes a boolean argument. If true output of SysV +init scripts will be directed to the console. ( Defaults to true, unless +quiet is passed as kernel command line option in which case it defaults +to false. ):: + +systemd.log_target= : Set log target. Argument must be one of console, +syslog, kmsg, syslog-or-kmsg, null.:: + +systemd.log_level= : Set log level. As argument this accepts a numerical +log level or the well-known syslog symbolic names (lowercase): emerg, +alert, crit, err, warning, notice, info, debug.:: + +systemd.log_color= : Highlight important log messages. Argument is a +boolean value. If the argument is omitted it defaults to true.:: + +systemd.log_location= : Include code location in log messages. This is +mostly relevant for debugging purposes. Argument is a boolean value. If +the argument is omitted it defaults to true.:: + +Category:Debugging[D] Category:How_to[Category:How to] +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/debug-wayland-problems.adoc b/modules/ROOT/pages/debug-wayland-problems.adoc new file mode 100644 index 0000000..8d5f5e1 --- /dev/null +++ b/modules/ROOT/pages/debug-wayland-problems.adoc @@ -0,0 +1,533 @@ += How to debug Wayland problems + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/How_to_debug_Wayland_problems + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +https://en.wikipedia.org/wiki/Wayland_%28display_server_protocol%29[Wayland] +is intended as a simpler replacement for +https://en.wikipedia.org/wiki/X_Window_System[X11]. Wayland changes the +design of a Linux desktop architecture considerably. Unlike X11, there +is no dedicated standalone server in Wayland. What was previously done +between the app, its toolkit, the Xserver and the window manager is now +shared between the app, its toolkit and the Wayland compositor which +manages the compositing, input, windows management, etc. The apps and +toolkits are now in charge of their own rendering and decorations +(client side decorations), so any issues usually sit between the toolkit +(e.g. GTK+) and the Wayland compositor (e.g. mutter). + +You can read more about Wayland on the GNOME +https://wiki.gnome.org/Initiatives/Wayland[Wayland initiative] wiki +page. You can read more about the current state of Wayland features on +link:Wayland_features[Wayland features] page. + +[id='identifying-wayland-problems'] +== Identifying Wayland problems + +[id='are-you-running-a-wayland-session'] +=== Are you running a Wayland session? + +In *GNOME*, there's a gear button at the login screen which can be used +to either log into a Wayland session (simply called _GNOME_, it's the +default option), or a legacy X11 session (called _GNOME on Xorg_). If +you have a password-less user account, you won't see the gear icon, it +is displayed only when the password prompt appears. Use the gear button +to determine type of session you're logging into. If you want to start +your session in a different way, read +https://wiki.gnome.org/Initiatives/Wayland/TryingIt[the advanced +techniques for trying Wayland]. + +image:gdm-pick-wayland.png[gdm-pick-wayland.png,title="gdm-pick-wayland.png",width=400] + +In *KDE*, there is support for running a nested Wayland session inside +your X11 session. You'll need to install `kwin-wayland` package and then +follow up with https://community.kde.org/KWin/Wayland[this howto]. There +doesn't seem to be out-of-the-box support for running a full Wayland +session at the moment. + +Other desktop environments are not currently capable of running a +Wayland session. + +[id='identifying-the-session-type-in-runtime'] +=== Identifying the session type in runtime + + + +If you want to figure out which type of session you're running right +now, without logging out and in again, you can use several ways to +figure it out: + +* Wayland session should have `WAYLAND_DISPLAY` variable set, X11 +session should not have it: ++ +.... +$ echo $WAYLAND_DISPLAY +wayland-0 +.... +* `loginctl` can give you this information. First run `loginctl` and +find your session number (if should be an integer number, with your +username and seat assigned). Then look at the session type (`x11` or +`wayland`): ++ +.... +$ loginctl show-session -p Type +Type=x11 +.... + +If you're running an X11 session, not a Wayland session, your problems +are not related to Wayland. It's a bug either in that particular +application, or X11 itself, see link:How_to_debug_Xorg_problems[How to +debug Xorg problems]. + +[id='does-your-application-run-on-wayland-natively-or-uses-xwayland-x11-compatibility-layer'] +=== Does your application run on Wayland natively, or uses XWayland (X11 +compatibility layer)? + + +It is important to know whether the problematic application is a native +Wayland application, or runs through XWayland, which allows legacy +applications to still run on top of Xorg server, but display in a +Wayland session. + +There are several ways how to identify whether an application is using +Wayland or XWayland: + +* Select the window using `xwininfo` or `xprop`. Run: ++ +.... +$ xwininfo +.... ++ +Your mouse pointer should change to a cross under X11, it doesn't seem +to change under Wayland. Now click anywhere inside the app window you +want to test. If the `xwininfo` command finishes (it should print window +properties into the terminal), the app under test is running under +XWayland. If nothing happens (the `xwininfo` command is still waiting +until you select a window), the app under test is running under Wayland +(you can close the command with `Ctrl+C`). + +You can also use `xprop` command using the same instructions. +* XWayland applications are listed in `xlsclients` output. Run: ++ +.... +$ xlsclients +.... ++ +However, this list of not always entirely reliable, some apps might be +missing. +* You can try to run the app while unsetting `DISPLAY` environment +variable: ++ +.... +$ DISPLAY='' command +.... ++ +If the application runs OK, it should be using Wayland natively. +* You can run the app with `WAYLAND_DEBUG=1` environment variable: ++ +.... +$ WAYLAND_DEBUG=1 command +.... ++ +If you see loads of output (when compared to a standard run), the app is +using Wayland natively. +* Under GNOME, you can determine this using +http://blog.bodhizazen.net/linux/how-to-determine-if-an-application-is-using-wayland-or-xwayland/[integrated +Looking Glass tool]. Hit `Alt+F2`, run: ++ +.... +lg +.... ++ +click on _Windows_ in the upper right corner of the tool and select +desired window by clicking on its name. If you see `MetaWindowWayland` +in the first line, this app is running under Wayland. If you see +`MetaWindowX11` in the first line, this app is running under X11. + +If you have identified the problem to be in a XWayland application, try +to reproduce the issue in a standard X11 session. If it happens as well, +it is not related to Wayland, it's a bug either in that particular +application, or Xorg server, see link:How_to_debug_Xorg_problems[How to +debug Xorg problems]. If the problem happens only under XWayland but not +in an X11 session, it should still be reported against Xorg server ( +package), because XWayland is included in it (as +`xorg-x11-server-Xwayland` subpackage). + +[id='identifying-problem-component] +=== Identifying problem component + +Wayland itself is a protocol and the problem is rarely in the protocol +itself. Rather, the problem is likely to be in the app or its toolkit, +or in the compositor. + +The most notable Wayland-ready toolkits are: + +* https://en.wikipedia.org/wiki/GTK%2B[GTK+ 3] - default apps in GNOME +environment use almost exclusively this toolkit. Please note that apps +using older GTK+ 2 are not Wayland-ready. +* https://en.wikipedia.org/wiki/Qt_%28software%29[QT 5] - many apps in +KDE environment use this toolkit. Please note that apps using older QT 4 +are not Wayland-ready. + +The most notable Wayland compositors are: + +* https://en.wikipedia.org/wiki/Wayland_%28display_server_protocol%29#Weston[Weston] +- the reference implementation of a Wayland compositor, maintained +directly by the Wayland project +* https://en.wikipedia.org/wiki/Mutter_%28software%29[Mutter] - +compositor in GNOME. If you run GNOME, it is using this compositor. +* https://community.kde.org/KWin/Wayland[Kwin] - compositor in KDE. If +you run KDE, it is using this compositor. + +[id='testing-under-different-compositors'] +== Testing under different compositors + +If you experience a problem with a Wayland app, it is very useful to +know whether the problem is present under just a single compositor (in +that case it's likely a compositor bug) or under multiple compositors +(in that case it's likely an app/toolkit bug). + +Please run your session with the reference Weston compositor and try to +reproduce the issue. You can either run Weston as a nested window, or as +a full session. First, install package (you can read many useful +information in its man page): + +`$ sudo dnf install weston` + +Then create a config file which will specify that you want to have +XWayland support enabled in your weston sessions. Create +`~/.config/weston.ini` with this contents: + +`[core]` + +`modules=xwayland.so` + +Now you can start weston either as nested window or as a full session. + +* To start a nested Weston window, run this from a terminal: ++ +.... +$ weston +.... ++ +A Weston window should open and you should see and a terminal icon in +its top left corner. Use that icon to launch a terminal and from that +you can run apps and other commands using Weston. Exit the compositor by +simply closing the window or killing the `weston` process. +* To start a full Weston session (not nested inside another X11 or +Wayland session), switch to a free VT (Ctrl+Alt+Fx) and run: ++ +.... +$ weston-launch +.... ++ +You can exit the session by pressing Control+Alt+Backspace shortcut. + +If you can reproduce the issue with Weston, file an issue against the +app or its toolkit (gtk+, qt, etc). Otherwise file the issue against the +compositor your environment uses (mutter, kwin, etc). If the problem +occurs only with XWayland apps but not native Wayland apps, report a bug +against Xorg server. + +[id='reporting-the-issue'] +Reporting the issue + +[id='using-up-to-date-software] +Using up-to-date software + +Before reporting the bug, please make sure you use the latest available +software. You need to run on *Fedora 23 or later*, older Fedora versions +are not going to get updated with latest Wayland fixes. Make sure there +are no system updates waiting: + +`$ sudo dnf update` + +If there are (and the available updates look plausibly related to the +components you're seeing issues with), please update the system and +verify whether the issue is still present or has been fixed. + +[id='looking-for-similar-reports'] +Looking for similar reports + +In order to avoid duplicate reports and also wasting your time debugging +something someone has maybe already debugged, please search through the +existing reports first. The most visible issues or concerns are listed +in +link:#Known_issues.2C_frequent_complaints.2C_fundamental_changes[Known +issues, frequent complaints, fundamental changes]. If you don't see it +there, you need to search deeper. You can find Wayland related issues +most likely in here: + +* [https://bugzilla.gnome.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&component=Backend%3A%20Wayland&component=wayland&list_id=74680&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=gtk%2B&product=mutter&query_based_on=&query_format=advanced +mutter/wayland and GTK+/wayland in GNOME Bugzilla] +* https://bugzilla.gnome.org/showdependencytree.cgi?id=757579&hide_resolved=1[Wayland-related +issues tracker across GNOME Bugzilla] +* https://bugzilla.redhat.com/showdependencytree.cgi?id=WaylandRelated&hide_resolved=1[Wayland-related +issues tracker across Red Hat Bugzilla] +(https://bugzilla.redhat.com/showdependencytree.cgi?id=KDEWaylandRelated&hide_resolved=1[KDE +tracker]) +* [https://bugzilla.redhat.com/buglist.cgi?classification=Fedora&component=wayland&list_id=4118943&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=Fedora&query_based_on=&query_format=advanced&resolution=--- +Wayland in Red Hat Bugzilla] +* [https://bugs.freedesktop.org/buglist.cgi?list_id=561109&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=Wayland&query_based_on=&query_format=advanced&resolution=--- +Wayland in Freedesktop Bugzilla] +* Google search + +[id='filing-a-bug'] +Filing a bug + +After you've identified against which component to (most probably) +report the issue and found no existing report of it, there are several +places where to report it: + +* https://bugzilla.redhat.com/[Red Hat Bugzilla] - recommended for +issues related to wayland itself, weston compositor, non-GNOME apps, KDE +project, QT toolkit +* https://bugzilla.gnome.org/[GNOME Bugzilla] - recommended for issues +related to mutter compositor, GTK+ toolkit, applications under the GNOME +project (most of default apps in Fedora Workstation) + +When reporting the issue, please make your report block our tracker, so +that we have a good overall picture of what is broken across many +different components. In your bug report, set *Blocks: WaylandRelated* +or *Blocks: KDEWaylandRelated* (you might need to toggle showing +advanced fields to see the _Blocks:_ field). That will make it block one +of these trackers, depending where you reported the bug: + +* https://bugzilla.redhat.com/show_bug.cgi?id=1277927[Wayland Tracker in +Red Hat Bugzilla] +(https://bugzilla.redhat.com/show_bug.cgi?id=1298494[KDE tracker]) +* https://bugzilla.gnome.org/show_bug.cgi?id=757579[Wayland Tracker in +GNOME Bugzilla] + +[id='information-to-include-in-your-bug-report'] +Information to include in your bug report + +1. System journal. Since there is no unique server like the X11 server, +most of the important information will come from the the Wayland +compositor and the apps. All of that should be in system journal +nowadays. You can save a full journal since last boot like this: ++ +.... +$ journalctl -ab > journal.log +.... ++ +You can also edit the file and according to the timestamps remove +everything long prior to when the issue occurred, in order to make the +log more succinct. +* If your system crashed or became unresponsive so that you had to +reboot it, you can see the journal from the previous boot using +`journalctl -a -b -1` instead. +2. Wayland debug output. If you can reproduce the issue, please run the +problematic app like this: ++ +.... +$ WAYLAND_DEBUG=1 command |& tee debug.out +.... ++ +You should see loads of output being printed out. It will involve all +communication between the app and the compositor. +3. Information whether the same problem occurs when you run the app +using XWayland instead of Wayland. For GTK+ 3 apps, you can force a +native Wayland app to run using XWayland like this: ++ +.... +$ GDK_BACKEND=x11 command +.... ++ +Vice versa, you can also force a XWayland app to run using Wayland (in +case it has just experimental support): ++ +.... +$ GDK_BACKEND=wayland command +.... ++ +QT 5 apps run with XWayland by default. You can force Wayland backend: ++ +.... +$ QT_QPA_PLATFORM=wayland-egl command +.... ++ +All of this applies to just GTK+ 3 and QT 5 apps. +4. Hardware description is useful for some hardware-related bugs: ++ +.... +$ lspci -nn > lspci.out +.... +5. Package versions. You can collect the list and versions of all your +packages installed using: ++ +.... +$ rpm -qa | sort > packages.out +.... +6. The +link:Bugs_and_feature_requests#Things_Every_Bug_Should_Have[usual +information] that every bug report should have. + +[id='debugging-gnome-shell'] +Debugging gnome-shell + +If gnome-shell gets stuck and unresponsive, it's very helpful to obtain +a backtrace from its process and attach it to the report. If this +happens, switch to a different VT if possible (`Ctrl+Alt+F3` through +`F7`), or log in using ssh. First install debug symbols: + +.... +$ sudo dnf debuginfo-install `rpm -q gnome-shell` +.... + +Then attach gdb debugger to your gnome-shell process: + +.... +$ gdb -p `pgrep -U $(id -un) -x gnome-shell` +... +(gdb) set logging on +(gdb) thread apply all backtrace full +... press Enter until the whole backtrace is displayed ... +(gdb) quit +.... + +You should have the backtrace saved in `gdb.txt` file. + +[id='debugging-mutter'] +Debugging mutter + +You can debug mutter (used in gnome-shell) by setting its +https://developer.gnome.org/meta/stable/running-mutter.html[environment +variables]. These need to be set prior to run gnome-shell, so if you +want to log into GNOME from GDM, you need to create a wrapper script +called from a desktop file in `/usr/share/wayland-sessions`. + +*FIXME: Putting the wrapper script and desktop file here would be +helpful.* + +[id='known-issues-frequent-complaints-fundamental-changes'] +Known issues, frequent complaints, fundamental changes + +Here we will list high-profile issues which are known to be broken, not +yet implemented, or intentionally behaving differently from regular X11 +apps. Also please look at link:Wayland_features[Wayland features] which +lists all current missing or in-progress features and their details. + +To see all known issues, look at Bugzilla reports as mentioned in +link:#Looking_for_similar_reports[Looking for similar reports]. + +[id='graphical-applications-cant-be-run-as-root-from-terminal'] +Graphical applications can't be run as root from terminal + +It is not possible to start graphical apps under the root account from +terminal when using `su` or `sudo`. Apps which use polkit to request +administrator permissions for just certain operations and only when +needed are not affected (they are not started as root right away). The +discussion is ongoing about the best approach to take, see +https://bugzilla.redhat.com/show_bug.cgi?id=1274451[bug 1274451] and +https://lists.fedoraproject.org/archives/list/devel%40lists.fedoraproject.org/thread/A6VXI4WAGSIIWGOTAVNDBVS4VFYXITHA/#2YU2RBYCXQSCGHGP772W5LRXUMTSINHA["On +running gui applications as root" thread in fedora-devel mailing list]. + +[id='many-well-known-x11-utilities-dont-work'] +Many well-known X11 utilities don't work + +Power users are familiar with a large range of X11-related utilities, +like `xkill`, `xrandr`, `xdotool`, `xsel`. These tools won't work under +Wayland session, or will only work with XWayland applications but not +Wayland applications. Some tools might have a replacement which allows +to perform similar tasks. + +*FIXME: add some Wayland-ready replacements for popular X11 tools* + +[id='games-and-other-apps-cant-change-monitor-resolution'] +Games and other apps can't change monitor resolution + +It is no longer possible for an app to change monitor resolution. +Usually this was done by games to increase performance. Wayland-based +games will use a different approach - scaling its output. But for X11 +games (running through XWayland) this solution is not available. This +results in a number of different types of behavior, based on how the +game is written - the game might be fixed in the desktop resolution, or +rendered as a small centered image with black bars around it, or crash +on startup, or something different. See +https://bugzilla.redhat.com/show_bug.cgi?id=1289714[bug 1289714]. + +For some games, a possible workaround is to manually set custom monitor +resolution before running the game, if you really need it. It will not +help always, though. + +[id='screen-capture-is-not-available-with-usual-apps'] +Screen capture is not available with usual apps + +One of the features of Wayland is its security design, which helps to +guard the user against malicious apps. Apps can no longer see everything +on the screen and spy on you. But that also means you cannot run a +common application (like or ) and use it to make a screenshot or a +screencast of your desktop - it will see only its own window, but +nothing else (or it might crash right away). System (trusted) apps need +to be used to perform these actions. + +In GNOME, you can use Screenshot tool (available in overview or as +`Printscreen` hotkey or as `gnome-screenshot` command) to capture a +screenshot of the full desktop or a particular window. You can press +`Ctrl+Alt+Shift+R` keyboard shortcut to start video recording of the +whole desktop (stop it by pressing the same shortcut again, there's an +indicator in the upper right corner, or it stops automatically after 30 +seconds by default) and find the screencast in `~/Videos`. For +screencast, you can also use +https://extensions.gnome.org/extension/690/easyscreencast/[EasyScreenCast] +gnome-shell extension. + +[id='mouse-pointer-is-laggingstuttering-under-load'] +Mouse pointer is lagging/stuttering under load + +If your computer is under load, your mouse pointer movement might stop +being fluent, but start lagging (get stuck in a place for a short time, +then jump to a different place instantly). This is probably more +noticeable on slow systems/systems with fewer CPU cores. See +https://bugzilla.gnome.org/show_bug.cgi?id=745032[bug 745032]. + +[id='keyboard-events-are-sometimes-quickly-repeated'] +Keyboard events are sometimes quickly repeated + +There is a rare issue when you press a key to type a letter and you'll +see multiple copies of the letter typed in. See +https://bugzilla.gnome.org/show_bug.cgi?id=757942[bug 757942] and +https://bugzilla.gnome.org/show_bug.cgi?id=777693[bug 777693]. + +[id='not-all-keys-can-be-sent-to-a-remote-desktop-or-a-virtual-machine'] +Not all keys can be sent to a remote desktop or a virtual machine + +Some applications forward all input, including system-specific +keys/shortcuts like or , to a remote system. This is mostly remote +desktop viewers like _vncviewer_ or virtual machine managers like +_virt-manager_ or _boxes_. Under Wayland, some of these shortcuts can't +be intercepted, and therefore are used in the host system, not the +remote/guest system. See +https://bugzilla.redhat.com/show_bug.cgi?id=1285770[bug 1285770]. + +Category:Debugging[W] Category:How_to[Category:How to] Category:Wayland +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/disabling-automatic-screenlock.adoc b/modules/ROOT/pages/disabling-automatic-screenlock.adoc new file mode 100644 index 0000000..1680e48 --- /dev/null +++ b/modules/ROOT/pages/disabling-automatic-screenlock.adoc @@ -0,0 +1 @@ +include::{partialsdir}/proc_disabling-gnome-screenlock.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/displaying_user_prompt_on_gnome_login_screen.adoc b/modules/ROOT/pages/displaying_user_prompt_on_gnome_login_screen.adoc new file mode 100644 index 0000000..d46b028 --- /dev/null +++ b/modules/ROOT/pages/displaying_user_prompt_on_gnome_login_screen.adoc @@ -0,0 +1,3 @@ +:md: en-US/modules + +include::{partialsdir}/proc_displaying_user_prompt_on_gnome_login_screen.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/dnf-system-upgrade.adoc b/modules/ROOT/pages/dnf-system-upgrade.adoc new file mode 100644 index 0000000..4b3f01b --- /dev/null +++ b/modules/ROOT/pages/dnf-system-upgrade.adoc @@ -0,0 +1,328 @@ +[[chap-dnf-system-upgrade]] += DNF System Upgrade + +link:++https://github.com/rpm-software-management/dnf-plugin-system-upgrade++[`dnf-plugin-system-upgrade`] is a plugin for the link:++dnf.html++[DNF] package manager and is used to upgrade your system to the current release of Fedora. +For Atomic Host, which uses rpm-ostree, you may refer to link:++https://rpm-ostree.readthedocs.io/en/latest/manual/administrator-handbook/++[Read The Docs: rpm-ostree] for details. + +This is the recommended command-line upgrade method for Fedora 21 and later and works as follows: + +. Packages are downloaded while the system is running normally + +. The system reboots into a special environment (implemented as a systemd target) to install them + +. Upon completion, the system reboots into the new Fedora release + +[[sect-performing-system-upgrade]] +== Performing System Upgrade + +[WARNING] +==== + +*Back up your data* before performing a system-wide upgrade as every system upgrade is potentially risky. +As a precaution, download the link:++https://getfedora.org/en/workstation/download/++[Fedora Workstation Live image] in the event something goes wrong. + +==== + +. To update your Fedora release from the command-line do: ++ +[source,bash] + +---- + +sudo dnf upgrade --refresh + +---- ++ +and reboot your computer. + +. Install the dnf-plugin-system-upgrade package if it is not currently installed: ++ +[source,bash] + +---- + +sudo dnf install dnf-plugin-system-upgrade + +---- + +. Download the updated packages (replace N with the release version): ++ +[source,bash] + +---- + +sudo dnf system-upgrade download --refresh --releasever=N + +---- + +. Trigger the upgrade process. This will restart your machine into the upgrade process: ++ +[source,bash] + +---- + +sudo dnf system-upgrade reboot + +---- + +. Once the upgrade process to complete, your system will reboot into the updated release version of Fedora. + +[[sect-optional-post-upgrade-tasks]] +== Optional Post-Upgrade Tasks + +These are some of the tasks you can do after a successful upgrade. + +[NOTE] + +==== + +This section is mainly intended for power users. If you are a general user who doesn't use the terminal daily, you may skip this section. + +==== + +[[sect-update-system-configuration-files]] +=== Update System Configuration Files + +Most configuration files are stored in the `/etc` folder. +If you have changed the package's configuration files, RPM creates new files with either `.rpmnew` (the new default config file), or `.rpmsave` (your old config file backed up). +You can search for these files, or use the `rpmconf` tool that simplifies this process. To install rpmconf, enter: + +[source,bash] + +---- + +dnf install rpmconf + +---- + +Once the install is complete enter: + +[source,bash] + +---- + +sudo rpmconf -a + +---- + +For more information you can refer to the man pages (`man rpmconf`). + +[[sect-clean-up-old-packages]] +=== Clean-Up Old Packages + +You can see a list of packages with broken dependencies by typing: + +[source,bash] + +---- + +sudo dnf repoquery --unsatisfied + +---- + +The list should be empty, but if this is not the case consider removing them as they are not likely to work. + +You can see duplicate packages (packages with multiple versions installed) with: + +[source,bash] + +---- + +sudo dnf repoquery --duplicated + +---- + +For packages from the official repositories, the latest version should be installed. +However, some packages that are still on your system may no longer be in the repositories. +To see a list of these packages do: + +[source,bash] + +---- + +sudo dnf list extras + +---- + +If you see a package you do not need, or use, you can remove it with: + +[source,bash] + +---- + +sudo dnf remove $(dnf repoquery --extras --exclude=kernel,kernel-\*) + +---- + +[NOTE] + +==== + +Run `sudo dnf update` first, as this list is only valid if you have a fully updated system. +Otherwise, you will see a list of installed packages that are no longer in the repositories because an update is available. +This list may also contain packages installed from third-party repositories who may not have updated their repositories. + +==== + +You can safely remove packages no longer in use with: + +[source,bash] + +---- + +sudo dnf autoremove + +---- + +[WARNING] + +==== + +DNF decides that a package is no longer needed if you haven't explicitly asked to install it and nothing else requires it. +However, that doesn't mean that the package is not useful or that you don't use it. +*Only remove what you are sure you don't need*. + +==== + +[[sect-resolving-post-upgrade-issues]] +== Resolving Post-Upgrade Issues + +[NOTE] + +==== + +Only follow these steps if you encounter problems with your upgraded system. + +==== + +[[sect-rebuilding-rpm-database]] +=== Rebuilding the RPM Database + +If you see warnings when working with RPM/DNF tools, your database might be corrupt. +It is possible to rebuild it to see if resolves your issues. Always back up `/var/lib/rpm/` first. +To rebuild the database, run: + +[source,bash] + +---- + +sudo rpm --rebuilddb + +---- + +[[sect-using-distro-sync-to-resolve-dependency-issues]] +=== Using distro-sync To Resolve Dependency Issues + +The system upgrade tool uses `dnf distro-sync` by default. +If your system is partly upgraded or you see some package dependency issues, try running another distro-sync manually to see if this fixes the problem. +This will attempt to make your installed packages the same version in your currently enabled repositories, even if it must downgrade some packages: + +[source,bash] + +---- + +sudo dnf distro-sync + +---- + +You can also use the `--allowerasing` option will remove packages with dependencies that can not be satisfied. +Always review which packages will be removed before confirming this: + +[source,bash] + +---- + +sudo dnf distro-sync --allowerasing + +---- + +[[sect-relabel-files-with-the-latest-selinux-policy]] +=== Relabel Files With The Latest SELinux Policy + +If you encounter any warnings regarding policies with SELinux, some files may have incorrect SELinux permissions. +This may happen if SELinux was disabled at some point in the past. +To relabel the entire system run: + +[source,bash] + +---- + +sudo touch /.autorelabel + +---- + +and reboot. + +The boot process may take a long time as it is checking and fixing all SELinux permission labels on all the files in your system. + +[[sect-frequently-asked-questions]] +== Frequently Asked Questions + +[[sect-how-do-i-report-issues-with-the-upgrades]] +=== How Do I Report Issues With The Upgrade? + +. See link:++https://fedoraproject.org/wiki/Bugs/Common++[Common bugs] to check if it is a known problem the community is already aware of. + +. Search link:++https://bugzilla.redhat.com/buglist.cgi?product=Fedora&component=dnf-plugin-system-upgrade&resolution=---++[Bugzilla for an existing bug report]. + +If you do not see a report that matches your symptoms, you can file a new report from the search page. +Please follow the bug reporting instructions mentioned in the link:++https://github.com/rpm-software-management/dnf-plugin-system-upgrade/blob/master/README.md++[README from the github repo] or in `man dnf.plugin.system-upgrade`. + +If you encounter any issues after the upgrade with a specific package, file a bug against the package with which you are having issues. + +[[sect-does-dnf-system-upgrade-verify-the-software-it-runs-or-installs-during-an-upgrade]] +=== Does DNF System Upgrade Verify The Software It Runs or Installs During An Upgrade? + +Yes. +The package signing keys for the newer Fedora release are sent to older Fedora releases to allow DNF to verify the integrity of the downloaded packages. +You can disable this function if needed, but is not recommended as you will be open to attacks from malicious software. + +[[sect-will-packages-in-third-party-repositories-be-upgraded]] +=== Will Packages In Third-Party Repositories Be Upgraded? + +Yes, if they are configured like regular DNF repositories and the version numbers are not hard-coded in the repository file (usually found in `/etc/yum.repos.d/`.) +Commonly used third-party repositories like RPM Fusion should work. +However, if attempting to upgrade prior to, or soon after, an official Fedora release, they may not have updated their repository paths, and DNF may be unable to find their packages. +Usually, this should not prevent the upgrade from running successfully. +Also, you can update packages from the third-party repository later. + +[[sect-can-i-upgrade-from-an-end-of-life-release]] +=== Can I upgrade from an End-Of-Life (EOL) Release? + +It is strongly recommended to upgrade an EOL release on any production system, or any system connected to the public internet. + +Any upgrade from Fedora 20 or earlier is done *at your own risk* as DNF was not the default package management tool. +However, if you do have a release newer than Fedora 20 that is EOL, you can attempt to do an upgrade, but this method is *not supported*. +You may try to upgrade through intermediate releases until you reach a currently-supported release, or try to upgrade to a currently-supported release in a single operation. +Again this is un-supported and is *at your own risk*. + +[[sect-how-many-releases-can-i-upgrade-across-at-once]] +=== Can I do a single upgrade across many releases (i.e. 20-27)? + +It is highly recommended to upgrade across just one release (e.g. 27 to 28). +However, for the first month or so after a new release, upgrades from the last-but-one release are 'supported' (N-2, where N is the current release). +The link:fedora-life-cycle.html++[Fedora Release Life Cycle] is specifically designed to provide this approximate one month "grace period" to allow users the choice to upgrade their systems on a yearly basis, or once every two releases. + +Around a month after the new release comes out, the last-but-one release becomes End Of Life (EOL). +The upgrade is likely to work successfully after the release goes end-of-life, but the time period after the new release may be uncertain. + +Upgrades across more than two releases are *not supported*, and issues encountered with such upgrades may not be considered significant bugs. + +When upgrading across multiple releases, you may need to import the GPG key for the release you want to update to. You can do this with: + +[source,bash] + +---- + +gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-N-primary + +---- + +(where N is the Fedora version.) + +Refer to the link:++https://getfedora.org/keys/faq/++[getfedora.org FAQ on Keys] for details. + +[[sect-can-i-use-dnf-system-upgrade-to-upgrade-to-a-pre-release]] +=== Can I Use DNF System Upgrade To Upgrade To A Pre-Release (e.g. a Beta)? + +Yes, but this is subject to temporary breakage as with any other aspect of a pre-release. \ No newline at end of file diff --git a/modules/ROOT/pages/dnf.adoc b/modules/ROOT/pages/dnf.adoc new file mode 100644 index 0000000..02ee1b7 --- /dev/null +++ b/modules/ROOT/pages/dnf.adoc @@ -0,0 +1,100 @@ +[[chap-dnf]] += Using the DNF software package manager + +DNF is a software package manager that installs, updates, and removes packages on Fedora and is the successor to YUM (Yellow-Dog Updater Modified). +DNF makes it easy to maintain packages by automatically checking for dependencies and determines the actions required to install packages. +This method eliminates the need to manually install or update the package, and its dependencies, using the `rpm` command. + +[[sect-dnf-installation]] +== Installation + +DNF has replaced YUM as the default package manager for Fedora since version 22. +However, for earlier versions of Fedora, starting from version 18, DNF can be installed from the command-line with: + +[source,bash] + +---- + +yum install dnf + +---- + +[[sect-usage]] +== Usage + +`dnf` can be used exactly as `yum` to search, install or remove packages. + +To search the repositories for a package type: + +[source,bash] + +---- + +sudo dnf search packagename + +---- + +To install the package: + +[source,bash] + +---- + +sudo dnf install packagename + +---- + +To remove a package: + +[source,bash] + +---- + +sudo dnf remove packagename + +---- + +Other common DNF commands include: + +* `autoremove` - removes packages installed as dependencies that are no longer required by currently installed programs. + +* `check-update` - checks for updates, but does not download or install the packages. + +* `downgrade` - reverts to the previous version of a package. + +* `info` - provides basic information about the package including name, version, release, and description. + +* `reinstall` - reinstalls the currently installed package. + +* `update/upgrade` - checks the repositories for newer packages and updates them. + +For more DNF commands refer to the man pages by typing `man dnf` at the command-line, or link:++http://dnf.readthedocs.io/en/latest/command_ref.html[DNF Read The Docs] + +[[sect-automatic-updates]] +== Automatic Updates + +The `dnf-automatic` package is a component that allows automatic download and installation of updates. +It can automatically monitor and report, via e-mail, the availability of updates or send a log about downloaded packages and installed updates. + +For more information, refer to the link:++http://dnf.readthedocs.org/en/latest/automatic.html[Read the Docs: DNF-Automatic] page. + +[[sect-system-upgrades]] +== System Upgrades + +The Fedora system can be upgraded directly with DNF, or with the DNF system upgrade plugin. +Refer to the link:++upgrading.html++[Upgrade] document for more details. + +[[sect-language-support-using-dnf]] +== Language Support Using DNF + +DNF can be used to install or remove Language Support. +A detailed description with a list of available languages can be found on link:++https://fedoraproject.org/wiki/I18N/Language_Support_Using_Dnf[Language Support Using Dnf] page. + +[[sect-references]] +== References + +. http://dnf.readthedocs.org/en/latest/command_ref.html[DNF Command Reference] + +. http://dnf.baseurl.org/[DNF blog] + +. https://github.com/rpm-software-management/dnf/wiki[DNF wiki] \ No newline at end of file diff --git a/modules/ROOT/pages/edit-iptables-rules.adoc b/modules/ROOT/pages/edit-iptables-rules.adoc new file mode 100644 index 0000000..12b43c3 --- /dev/null +++ b/modules/ROOT/pages/edit-iptables-rules.adoc @@ -0,0 +1,522 @@ += How to edit iptables rules + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/How_to_edit_iptables_rules + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +In this how-to, we will illustrate three ways to edit iptables Rules : + +* *CLI :* iptables command line interface and system configuration file +/etc/sysconfig/iptables. +* *TUI (text-based) interface :* setup or system-config-firewall-tui +* *GUI :* system-config-firewall + +NOTE: This how-to illustrates editing existing iptables Rules, not the +initial creation of Rules chains. + +__TOC__ + +[[cli-command-line-interface]] +CLI (command line interface) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +[[hot-changes-to-iptables-rules]] +Hot changes to iptables Rules +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The following procedures allow changes in the behaviour of the firewall +while it is running. + +Read the man pages for iptables (man iptables) for further explanations +and more sophisticated Rules examples. + +[[listing-rules]] +Listing Rules ++++++++++++++ + +Current running iptables Rules can be viewed with the command + +.... +iptables -L +.... + +. + +Example of iptables Rules allowing any connections already established +or related, icmp requests, all local traffic, and ssh communication: + +.... +[root@server ~]# iptables -L +Chain INPUT (policy DROP) +target prot opt source destination +ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED +ACCEPT icmp -- anywhere anywhere +ACCEPT all -- anywhere anywhere +ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh + +Chain FORWARD (policy ACCEPT) +target prot opt source destination + +Chain OUTPUT (policy ACCEPT) +target prot opt source destination +.... + +Note that Rules are applied in order of appearance, and the inspection +ends immediately when there is a match. Therefore, for example, if a +Rule rejecting ssh connections is created, and afterward another Rule is +specified allowing ssh, the Rule to reject is applied and the later Rule +to accept the ssh connection is not. + +[[appending-rules]] +Appending Rules ++++++++++++++++ + +The following adds a Rule at the end of the specified chain of iptables: + +.... +[root@server ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT +[root@server ~]# iptables -L +Chain INPUT (policy DROP) +target prot opt source destination +ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED +ACCEPT icmp -- anywhere anywhere +ACCEPT all -- anywhere anywhere +ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh +ACCEPT tcp -- anywhere anywhere tcp dpt:http + +Chain FORWARD (policy ACCEPT) +target prot opt source destination + +Chain OUTPUT (policy ACCEPT) +target prot opt source destination +.... + +Notice the last line in chain INPUT. There are now five Rules in that +chain. + +[[deleting-rules]] +Deleting Rules +++++++++++++++ + +To delete a Rule, you must know its position in the chain. The following +example deletes an existing Rule created earlier that is currently in +the fifth position: + +.... +[root@server ~]# iptables -D INPUT 5 +[root@server ~]# iptables -L +Chain INPUT (policy DROP) +target prot opt source destination +ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED +ACCEPT icmp -- anywhere anywhere +ACCEPT all -- anywhere anywhere +ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh + +Chain FORWARD (policy ACCEPT) +target prot opt source destination + +Chain OUTPUT (policy ACCEPT) +target prot opt source destination +.... + +[[inserting-rules]] +Inserting Rules ++++++++++++++++ + +Create a Rule at the top (first) position: + +.... +[root@server ~]# iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT +[root@server ~]# iptables -L +Chain INPUT (policy DROP) +target prot opt source destination +ACCEPT tcp -- anywhere anywhere tcp dpt:http +ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED +ACCEPT icmp -- anywhere anywhere +ACCEPT all -- anywhere anywhere +ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh + +Chain FORWARD (policy ACCEPT) +target prot opt source destination + +Chain OUTPUT (policy ACCEPT) +target prot opt source destination +.... + +The number given after the chain name indicates the position *before* an +existing Rule. So, for example, if you want to insert a Rule *before* +the third rule you specify the number 3. Afterward, the existing Rule +will then be in the fourth position in the chain. + +[[replacing-rules]] +Replacing Rules ++++++++++++++++ + +Rules may be specified to replace existing Rules in the chain. + +In the example shown previously, the first Rule given allows connections +to the http port (port 80) from anywhere. The following replaces this +Rule, restricting connections to the standard http port (port 80) only +from the network address range 192.168.0.0/24: + +.... +[root@server ~]# iptables -R INPUT 1 -p tcp -s 192.168.0.0/24 --dport 80 -j ACCEPT +[root@server ~]# iptables -L +Chain INPUT (policy DROP) +target prot opt source destination +ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:http +ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED +ACCEPT icmp -- anywhere anywhere +ACCEPT all -- anywhere anywhere +ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh + +Chain FORWARD (policy ACCEPT) +target prot opt source destination + +Chain OUTPUT (policy ACCEPT) +target prot opt source destination +.... + +[[flushing-rules]] +Flushing Rules +++++++++++++++ + +To flush or clear iptables Rules, use the *--flush*, *-F* option : + +.... +iptables -F +.... + +Specifying a ** is optional; without a chain specification, all chains +are flushed. + +Example to flush Rules in the *OUTPUT* chain : + +.... +[root@server ~]# iptables -F OUTPUT +.... + +[[making-changes-persistent]] +Making changes persistent +^^^^^^^^^^^^^^^^^^^^^^^^^ + +The iptables Rules changes using CLI commands will be lost upon system +reboot. However, iptables comes with two useful utilities: +*iptables-save* and *iptables-restore*. + +* *iptables-save* prints a dump of current iptables rules to *stdout*. +These may be redirected to a file: + +.... +[root@server ~]# iptables-save > iptables.dump +[root@server ~]# cat iptables.dump +# Generated by iptables-save v1.4.12 on Wed Dec 7 20:10:49 2011 +*filter +:INPUT DROP [45:2307] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [1571:4260654] +-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT +-A INPUT -p icmp -j ACCEPT +-A INPUT -i lo -j ACCEPT +-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT +COMMIT +# Completed on Wed Dec 7 20:10:49 2011 +.... + +* iptables-restore : restore a dump of rules made by iptables-save. + +.... +[root@server ~]# iptables-restore < iptables.dump +[root@server ~]# iptables -L +Chain INPUT (policy DROP) +target prot opt source destination +ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED +ACCEPT icmp -- anywhere anywhere +ACCEPT all -- anywhere anywhere +ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh + +Chain FORWARD (policy ACCEPT) +target prot opt source destination + +Chain OUTPUT (policy ACCEPT) +target prot opt source destination +.... + +In the default configuration, stopping or restarting the iptables +service will discard the running configuration. This behavior can be +changed by setting IPTABLES_SAVE_ON_STOP="yes" or +IPTABLES_SAVE_ON_RESTART="yes" in /etc/sysconfig/iptables-config. If +these values are set, the affected files are: + +* .... +/etc/sysconfig/iptables +.... ++ +for IPv4 +* .... +/etc/sysconfig/ip6tables +.... ++ +for IPv6 + +If preferred, these files may be edited directly, and iptables service +restarted to commit the changes. The format is similar to that of the +iptables CLI commands: + +.... +# Generated by iptables-save v1.4.12 on Wed Dec 7 20:22:39 2011 +*filter <--------------------------------------------------------- Specify the table of the next rules +:INPUT DROP [157:36334] <----------------------------------------- This is the three chain belong to filter table, then the policy of the chain +:FORWARD ACCEPT [0:0] <------------------------------------------- and between brackets [:] numbers is for +:OUTPUT ACCEPT [48876:76493439] <--------------------------------- debug/informations purpose only. Leave them at their current value. +-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT <--------- A rule. +-A INPUT -p icmp -j ACCEPT <-------------------------------------- You just have to take all arguments +-A INPUT -i lo -j ACCEPT <---------------------------------------- of an iptables command. +-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT +COMMIT <---------------------------------------------------------- Needed at each end of table definition. Commit rules in that table. +# Completed on Wed Dec 7 20:22:39 2011 +.... + +If needed, to reset packet and byte counters, use *-Z*, *--zero* : + +.... +iptables -Z +.... + +It is possible to reset only reset a single rule counter. It can be +useful, if you want to know how many packets were captured for a +specific rule. + +[[tui-text-based-user-interface]] +TUI (text-based user interface) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +There is two ways to managing iptables rules with a text-based user +interface, either using *setup* or *system-config-firewall-tui*. Using +*system-config-firewall-tui* takes you directly to editing the rules. +Using *setup* you need to select *firewall configuration* and then you +can edit rules. Starting with *setup* looks like this: + +image:Firewall-tui.PNG[setup menu +utility,title="setup menu utility",width=700] + +On the next screen, which is where you start with +*system-config-firewall-tui*, make sure that "Firewall" is enabled, or +you cannot edit the settings. Then select *Customize* : + +image:First_menu_firewall_tui.PNG[Firewall Configuration by TUI. First +screen.,title="Firewall Configuration by TUI. First screen.",width=700] + +There is good chance that a service you want to modify is part of the +list of standard "Trusted" services. Select the services you want to +trust (ports to open) and press *Forward* (which means 'next', it is not +port forwarding): + +image:Firewall_TUI_Trusted_services.PNG[Editing trusted service with +firewall tui +interface.,title="Editing trusted service with firewall tui interface.",width=700] + +The Other Ports menu lets you open additional ports not in the list of +standard Trusted Services, or to edit an existing list of additional +ports : + +image:Firewall_TUI_other_ports.PNG[Editing Other ports on firewall +configuration by TUI +interface.,title="Editing Other ports on firewall configuration by TUI interface.",width=700] + +To add other ports, specify one port or a port range, and choose between +*tcp* or *udp* for the protocol. The port range format is _beginningPort +- endingPort_. + +image:Firewall_TUI_adding_other_ports.PNG[Adding other ports on firewall +configuration by TUI +interface.,title="Adding other ports on firewall configuration by TUI interface.",width=700] + +The trusted interfaces menu allows you to trust all traffic on a network +interface. All traffic will be allowed and the port filtering rules will +never match. You should only select an interface that faces a private +network, never an interface that directly faces the Internet. + +image:Firewall_TUI_trusted_interfaces.PNG[Trusted +interfaces.,title="Trusted interfaces.",width=700] + +The Masquerading menu lets you select an interface to be masqueraded. +Masquerading is better known as +*http://en.wikipedia.org/wiki/Network_address_translation[NAT]* (Network +Address Translation), and it is useful for example when your computer is +used as gateway to access the internet: + +image:Firewall_TUI_masquerading.PNG[Firewall TUI interface : +masquerading.,title="Firewall TUI interface : masquerading.",width=700] + +Port forwarding, also known as +*http://en.wikipedia.org/wiki/Network_address_translation#Port_address_translation[PAT]*, +permits traffic from one port to be rerouted to another port. + +image:Firewall_TUI_Port_Forwarding.PNG[Firewall TUI interface : +configuring Port +Forwarding.,title="Firewall TUI interface : configuring Port Forwarding.",width=700] + +For example: + +image:Firewall_TUI_Port_Forwarding_Adding.PNG[Firewall TUI : adding port +forwarding +rules.,title="Firewall TUI : adding port forwarding rules.",width=700] + +The ICMP Filter menu lets you reject various types of ICMP packets. By +default, no limitations are made, but you can define rules to reject +ICMP traffic, define the return error to an ICMP request, etc. + +image:Firewall_TUI_ICMP_Filter.PNG[Firewall TUI: configuring ICMP +behaviour.,title="Firewall TUI: configuring ICMP behaviour.",width=700] + +Finally, you can add custom firewall rules. These must be prepared ahead +of time in files that use the same format as the iptables file. + +image:Firewall_TUI_Custom_Rules.PNG[Firewall TUI: create custom +rules.,title="Firewall TUI: create custom rules.",width=700] + +For adding custom rules you have specify the protocol between *ipv4* or +*ipv6* and on what table add the custom rules *filter*, *mangle* or +*nat* then the path to the file containing rules to add : + +image:Firewall_TUI_Custom_Rules_Adding.PNG[Firewall TUI: adding a custom +rules.,title="Firewall TUI: adding a custom rules.",width=700] + +When you have completed all menus, *Close* the interface, which brings +you back to the first screen of firewall configuration. Select *OK* and +a warning message appear : + +image:Firewall_TUI_Warning.PNG[Firewall TUI +warning.,title="Firewall TUI warning.",width=700] + +Select *Yes* if the configuration you made fits to you and exit +interface, or *No* to go back to the firewall configuration screen. + +[[gui]] +GUI +~~~ + +[[red-hat-gui-configuration-tool]] +Red Hat GUI configuration tool +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +GUI interface allow you exactly the same thing that TUI interface, but +it is more friendly usable. + +First time you start GUI, you have a welcome message that warning you +that if you have existing manual rules then this rules will be +overwritten. image:Firewall_GUI_First_Time_Startup.PNG[First time +startup message,title="fig:First time startup message"] + +Before all, you need to *Enable* your firewall to use Firewall +Configuration utility. + +image:FireWwall_GUI_startup.PNG[Firewall Gui startup +screen,title="Firewall Gui startup screen"] + +Then utility warn you that you don't have any existing configuration and +want you execute the wizard. Click on *Start wizard*: + +image:No_configuration.PNG[No firewall +configuration,title="No firewall configuration"] + +Click on forward : + +image:Firewall_Wizard.PNG[Firewall Wizard : welcome +screen,title="Firewall Wizard : welcome screen"] + +_System with network access_ enable Firewall and _System without network +access_ disable Firewall, so select _System with network access_ : + +image:Firewall_Wizard_2.PNG[Firewall Wizard : network +access?,title="Firewall Wizard : network access?"] + +Beginner allow you to modify only _Trusted Services_, it's fine if you +use only known services like ftp, dns, http, etc but don't allow you to +configure customs ports range, select _Expert_ to have full featured +Firewall Configuration utility, you can change this option later in the +*Options* menu Main windows, in *User Skill Level* : + +image:Firewall_Wizard_3.PNG[Firewall Wizard : +skill?,title="Firewall Wizard : skill?"] + +*Server* template enable only ssh port on firewall configuration +_Desktop_ template enable additional ports for _IPsec_, _Multicast DNS_, +_Network Printing Client_ and _SSH_. For convenience select Desktop, and +*OK* : + +image:Firewall_Wizard_4.PNG[Firewall Wizard : configuration +base?,title="Firewall Wizard : configuration base?"] + +As described earlier _Desktop_ template enable 4 services _IPsec_, +_mDNS_, _IPP_ and _SSH_. If you have services listed in *Trusted +Services* section that you want to enabled, you just have to click on +it, that's all. It is possible to change template by using the *Options* +menu, in *Load Default Configuration*. + +image:Firewall_Wizard_5.PNG[Firewall Main interface : +enabled,title="Firewall Main interface : enabled"] + +*Other Ports* allow you to edit custom rules if your service port wasn't +in *Trusted service*. To begin, just click on *Add* button. Then either +you choose in services list the right service or you tick *User Defined* +and fill requested information about *Port / Port Range* and *Protocol*. + +image:Firewall_GUI_other_ports.PNG[Firewall GUI : edit other ports +rules.,title="Firewall GUI : edit other ports rules."] + +*Trusted Interfaces*, *Masquerading*, *Port Forwarding*, *ICMP Filter* +and _Custom Rules_' have exactly the same effect than in TUI interface. + +When configuration fits to you, just click on the *Apply* button. + +[[others-gui]] +Others GUI +^^^^^^^^^^ + +There are others GUI available to configure iptables rules. + +* http://www.fwbuilder.org/_fwbuilder[http://www.fwbuilder.org/ +fwbuilder] : very complete gui tools to configure iptables. +* http://shorewall.net/_Shorewall[http://shorewall.net/ Shorewall] : +another very complete gui like fwbuilder. +* http://www.turtlefirewall.com/_Turtle_firewall_project[http://www.turtlefirewall.com/ +Turtle firewall project] : web interface and integrated to webmin. Fits +to basic usage of Iptables, can not handle all iptables options like +fwbuilder +* http://users.telenet.be/stes/ipmenu.html_IPmenu[http://users.telenet.be/stes/ipmenu.html +IPmenu] : console based interface that allow you all iptables +functionalities. +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/enable-touchpad-click.adoc b/modules/ROOT/pages/enable-touchpad-click.adoc new file mode 100644 index 0000000..ede2598 --- /dev/null +++ b/modules/ROOT/pages/enable-touchpad-click.adoc @@ -0,0 +1,133 @@ += How to enable touchpad click + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/How_to_enable_touchpad_click + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +[[scope]] +Scope +~~~~~ + +Fedora tries to make various desktop environments available to its +users. Since Fedora tries to +link:Staying_close_to_upstream_projects[stay as close to upstream] as +possible, we follow the various defaults selected by the desktop +environment upstreams. Generally, this entails a disabled touchpad click +by default. This wiki page tries to compile the different methods that +can be used to enable "tapping" on various desktop environments. + +*Please note that this is only a resource to aid our users. For +discussions on this setting, please talk to the relevant DE upstream. +Fedora does not intend to make any changes to upstream defaults.* + +[[desktop-configurations]] +Desktop configurations +~~~~~~~~~~~~~~~~~~~~~~ + +This wiki page has more information about +link:Input_device_configuration[Input Device configuration]. An example +xorg.conf.d snippet to enable tapping is given +Input_device_configuration#Example:_Tap-to-click[here]. + +[[gnome]] +GNOME +^^^^^ + +The "*mouse and touchpad*" utility can be used to enable tapping and set +scrolling options in GNOME. + +http://library.gnome.org/users/gnome-help/stable/mouse-touchpad-click.html.en[Official +GNOME documentation] + +[[kde-plasma-workspaces]] +KDE Plasma Workspaces +^^^^^^^^^^^^^^^^^^^^^ + +1. enter KDE System Settings +2. choose Hardware / Input Devices / Touchpad (If it's not there, +install kcm_touchpad first, then restart System Settings. It's installed +by default.) +3. select the Tapping tab +4. check the "Enable tapping" checkbox +5. set some tapping actions under "Buttons" below, the default is to do +nothing + +Alternatively, the systemwide method described under +link:#Other_window_managers[Other window managers] can also be used. + +[[xfce]] +XFCE +^^^^ + +1. Enter XFCE Settings +2. Select the Mouse and Touchpad settings +3. If necessary, select your Touchpad device +4. In the General section, enable "Tap touchpad to click" + +[[other-window-managers]] +Other window managers +^^^^^^^^^^^^^^^^^^^^^ + +Create a new file named +/etc/X11/xorg.conf.d/99-synaptics-overrides.conf. + +Then, in your favourite text editor, modify this file as such: + +.... +Section "InputClass" + Identifier "touchpad overrides" + # This makes this snippet apply to any device with the "synaptics" driver + # assigned + MatchDriver "synaptics" + + #################################### + ## The lines that you need to add ## + # Enable left mouse button by tapping + Option "TapButton1" "1" + # Enable vertical scrolling + Option "VertEdgeScroll" "1" + # Enable right mouse button by tapping lower right corner + Option "RBCornerButton" "3" + #################################### + +EndSection +.... + +For more information on tweaking xorg.conf.d files, please read the man +page: + +.... +man xorg.conf +.... +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/fedora-and-red-hat-enterprise-linux.adoc b/modules/ROOT/pages/fedora-and-red-hat-enterprise-linux.adoc new file mode 100644 index 0000000..d4a9121 --- /dev/null +++ b/modules/ROOT/pages/fedora-and-red-hat-enterprise-linux.adoc @@ -0,0 +1,6 @@ +[id='fedora-and-red-hat-enterprise-linux'] += Fedora and Red Hat Enterprise Linux + +What is the difference between Fedora and Red Hat Enterprise Linux? + +include::{partialsdir}/con_relation-between-fedora-and-red-hat-enterprise-linux.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/fedora-life-cycle.adoc b/modules/ROOT/pages/fedora-life-cycle.adoc new file mode 100644 index 0000000..e41c43d --- /dev/null +++ b/modules/ROOT/pages/fedora-life-cycle.adoc @@ -0,0 +1,139 @@ += Fedora Release Life Cycle + +The Fedora Project releases a new version of Fedora approximately every 6 months and provides updated packages (maintenance) to these releases for approximately 13 months. This allows users to "skip a release" while still being able to always have a system that is still receiving updates. + +[[development-schedule]] +== Development Schedule + +We say _approximately every 6 months_ because like many things, they don't always go exactly as planned. The schedule is not strictly time-based, but a hybrid of time and quality. The milestone releases are QA:Release_validation_test_plan[tested] for compliance with the https://fedoraproject.org/wiki/Fedora_Release_Criteria[Fedora Release Criteria], and releases will be delayed if this is not the case. + +The schedule for the release currently under development, , is on its https://fedoraproject.org/wiki/Releases/{{FedoraVersion[|next}}/Schedule| release schedule] page. Beta, and General Availability (final) releases happen at 14:00 UTC. + +[[development-planning]] +=== Development Planning + +Fedora development planning is handled by the https://fedoraproject.org/wiki/Changes/Policy[Release Planning Process]. So-called _Changes_ are proposed, initially reviewed, and monitored through the development process by the https://fedoraproject.org/wiki/Fedora_Engineering_Steering_Committee[engineering steering committee]. + +[[development-process]] +=== Development Process + +Fedora uses a system involving two 'development' trees. https://fedoraproject.org/wiki/Releases/Rawhide[Rawhide] is a constantly rolling development tree. No releases are built directly from Rawhide. Approximately 10 weeks before the planned date of a Fedora release, a tree for that release is "https://fedoraproject.org/wiki/Releases/Branched[Branched]" from the Rawhide tree. At that point the Rawhide tree is moving towards the release _after_ the new Branched release, and the pending release is stabilized in the Branched tree. + +After the https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi activation point], the Bodhi system is permanently active on the Branched release (all the way until it goes EOL), and requirements for updates to be marked as _stable_ are set out in the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy]. Packages must go through the https://fedoraproject.org/wiki/Repositories#updates-testing[_updates-testing_] repository for the release before entering its https://fedoraproject.org/wiki/Repositories#stable[_stable_] repository, according to rules defined in the updates policy: these rules tighten gradually from Beta through to post-GA (Final), but the basic process does not change. + +For some time prior to a milestone (Beta, Final) release a https://fedoraproject.org/wiki/Milestone_freezes[freeze] is in effect which prevents packages moving from _updates-testing_ to _stable_ except in accordance with the QA:SOP_blocker_bug_process[blocker] and QA:SOP_freeze_exception_bug_process[freeze exception] bug policies. This freeze is lifted once the milestone is finished, and so packages begin to move from _updates-testing_ to _stable_ as normal again, until the next milestone's freeze date. + +[[schedule-methodology]] +=== Schedule Methodology + +Fedora release schedules are proposed by the https://fedoraproject.org/wiki/Fedora_Program_Management[Fedora Program Manager] and ratified by the https://fedoraproject.org/wiki/FESCo[Fedora Engineering Steering Committee (FESCo)], with input from other groups. FESCo is responsible for overseeing the technical direction of the Fedora distribution. A core schedule is created using the key tasks listed below. Detailed team schedules are built around these dates. + +_Note: When referring to *Beta/Final Target*, we refer to an planned date. When referring to *Beta/Final release* only, we refer to a date the release has actually happened._ + +[cols=",,",options="header",] +|======================================================================= +|Task/Milestone |Start Day (Tuesdays or Thursdays) |Length +|Planning and Development |_Branch point_ of _previous release_ plus *one day* |Variable + +|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: Proposal deadline for Changes requiring _Mass rebuild_] |Tue: _Mass rebuild_ minus *3 weeks* |n/a + +|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: Proposal deadline for System Wide Changes] |Tue: _Mass rebuild_ minus *1 week* |n/a + +|*Mass rebuild* |_Branch point_ minus *5 weeks* |Until _Branch point_ + +|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: Proposal deadline for Self Contained Changes] |Tue: _Branch point_ minus *3 weeks* |n/a + +|*https://fedoraproject.org/wiki/Releases/Branched[Branch point]* |Tue: _Preferred Beta Release Target_ minus *5 weeks* |n/a + +|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: Completion deadline (testable)] |Tue: *Same day* as _Branch point_ |N/A + +|String Freeze |Tue: _Branch point_ plus *1 week* |https://fedoraproject.org/wiki/Software_String_Freeze_Policy[Software String Freeze Policy] in effect until _Final Release (GA)_ + +|https://fedoraproject.org/wiki/Updates_Policy#Bodhi_activation[Bodhi activation point] |Tue: _Preferred Beta Target_ minus *3 weeks*, *Same day* as _Beta Freeze_ |Bodhi enabled and Updates_Policy requirements in effect until _EOL_ + +|https://fedoraproject.org/wiki/Milestone_freezes[Beta Freeze] |Tue: _Preferred Beta Target_ minus *3 weeks* |QA:SOP_freeze_exception_bug_process and QA:SOP_blocker_bug_process in effect until _Beta Release_ + +|https://fedoraproject.org/wiki/Changes/Policy#For_Developers[Changes Checkpoint: 100% code complete deadline ] |Tue: *Same day* as _Beta Freeze_ |N/A + +|QA:SOP_compose_request[Beta release candidates] |Any time after _Beta Freeze_ |Until _Beta Release_ + +|Beta Go_No_Go_Meeting |*Thu* @ 13:00 E\{D,S}T: planned _Preferred Beta Target_ *minus five days* (repeats if No-Go) |n/a + +|*Preferred Beta Target* |Tue: _Preferred Final Target_ minus *5 weeks* |Live until _GA release_ + +|Beta Target #1 |Tue: _Preferred Beta Target_ plus *1 week*, _Preferred Final Target_ minus *4 weeks* |n/a + +|https://fedoraproject.org/wiki/Milestone_freezes[Final Freeze] |Tue: _Preferred Final Target_ minus *2 weeks* |QA:SOP_freeze_exception_bug_process and QA:SOP_blocker_bug_process in effect until _Final Release (GA)_ + +|QA:SOP_compose_request[Final release candidates] |Any time after _Final Freeze_ |Until _Final Release (GA)_ + +|Final Go_No_Go_Meeting |*Thu* @ 13:00 E\{D,S}T: planned _Final Release (GA)_ *minus five days* (repeats if No-Go) |n/a + +|*Preferred Final Target* |Tue: *Primary date* from which rest of schedule derives + This date is either the Tuesday before May 1st or October 31st. |n/a + +|Final Target #1 |Tue: _Preferred Final Target_ plus *1 week* |n/a + +|Maintenance |Tue: *Same day* as _Final Release (GA)_ |~**13 Months** + +|End of Life |_Final Release (GA) of next-but-one release_ plus *one month* |n/a +|======================================================================= + +[[development-schedule-rationale]] +=== Development Schedule Rationale + +Fedora generally develops new releases over a six month period to provide a regular and predictable release schedule. The bi-annual targeted release dates are _May Day_ (May 1st) and _Halloween_ (October 31) making them easy to remember and for avoiding significant holiday breaks. Changes to this standard must be approved by the community-elected https://fedoraproject.org/wiki/FESCo[Fedora Engineering Steering Committee (FESCo)]. + +A six month release schedule also follows the precedence of Red Hat Linux (precursor to Fedora). Former Red Hat software engineer Havoc Pennington offers a historical perspective http://article.gmane.org/gmane.linux.redhat.fedora.advisory-board/1475/[here]. GNOME started following a time based release based on the ideas and success of Red Hat Linux and other distributions following Fedora having adopted a similar release cycle. Several other major components, including the Linux kernel, Openoffice.org, Xorg, have started following a time based release schedule. While the exact release schedules vary between these components and other upstream projects, the interactions between these components and Fedora makes a six month time based release schedule a good balance. + +Although due to how planning process and release validation works, Fedora is not a strictly time based distribution, but uses combination of both time and feature based release paradigms. This way we can react to bigger changes aka new installed, way how we release bits (Fedora.Next) etc. + +[[schedule-contingency-planning]] +=== Schedule Contingency Planning + +If _Mass rebuild_ is not completed on time, all the subsequent milestones starting with _Branch point_ are pushed back for one week until the _Mass rebuild_ is completed. + +If the Beta Go/No-Go Meeting results in a "No Go" determination, rescheduling of the milestone and subsequent milestones follows these rules: + +* Slip of the Beta from the Preferred Target to Target #1 does not affect Final Release (GA) date. The Final Release (GA) date remains on _Preferred Final Target_. +* Slip of the Beta to Target #1 adds a new _Beta Target #2_ and Final Release (GA) slips to _Final Target #1_ (and we don't yet add a _Final Target #2_). +* Slip of the Beta past Target #N (where N >= 2) adds a new _Beta Target #(N+1)_ and also adds a new _Final Target #N_ + +If the Final Go_No_Go_Meeting results in a "No Go" determination, that milestone and subsequent milestones will be pushed back by one week. + +One week is added to the schedule to maintain the practice of releasing on Tuesdays. Tuesdays are the designated release day because they are good days for news coverage and correspond to the established day we synchronize our content with the mirrors that carry our releases. Be aware of holidays and of possible PR conflicts (contact Fedora PR) with the new proposed final date. + +Go/No Go meetings receive input from representatives of https://fedoraproject.org/wiki/Fedora_Engineering_Steering_Committee[FESCo], +https://fedoraproject.org/wiki/ReleaseEngineering[Release Engineering], and https://fedoraproject.org/wiki/QA[Quality Assurance]. + +[[maintenance-schedule]] +== Maintenance Schedule + +We say maintained for _approximately 13 months_ because the supported period for releases is dependent on the date the release under development goes final. As a result, _Release X_ is supported until one month after the release of _Release X+2_. + +This translates into: + +* Fedora 26 will be maintained until 1 month after the release of Fedora 28. +* Fedora 27 will be maintained until 1 month after the release of Fedora 29. + +[[maintenance-schedule-rationale]] +=== Maintenance Schedule Rationale + +Fedora is https://fedoraproject.org/wiki/Objectives[focused] on free and open source software https://fedoraproject.org/wiki/Red_Hat_contributions[innovations] and moves quickly. If you want a distribution that moves slower but has a longer lifecycle, Red Hat Enterprise Linux, which is derivative of Fedora or free rebuilds of that such as CentOS might be more suitable for you. Refer to the RHEL page for more details. + +Historically, the Fedora Project has found that supporting two releases plus Rawhide and the pre-release Branched code to be a manageable work load. + +[[end-of-life-eol]] +== End of Life (EOL) + +When a release reaches the point where it is no longer supported when no updates are created for it, then it is considered _End of Life_ (EOL). Branches for new packages in the SCM are not allowed for distribution X after the Fedora X+2 release and new builds are no longer allowed. + +The tasks performed at EOL are documented in the https://fedoraproject.org/wiki/End_of_life_SOP[End of life SOP]. + +[[additional-release-schedule-information]] +== Additional Release Schedule Information + +* Overview of Releases, including currently supported releases +* https://fedoraproject.org/wiki/End_of_life[Unsupported Releases] +* https://fedoraproject.org/wiki/Releases/HistoricalSchedules[Historical Release Information] + +See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/finding-and-installing-linux-applications.adoc b/modules/ROOT/pages/finding-and-installing-linux-applications.adoc new file mode 100644 index 0000000..e91409b --- /dev/null +++ b/modules/ROOT/pages/finding-and-installing-linux-applications.adoc @@ -0,0 +1,18 @@ +:imagesdir: images + +[[finding-and-installing-linux-applications]] += Finding and installing Linux applications + +Many powerful software applications are available on the Linux operating system. You can find alternatives to most of the popular applications used on other systems. + +You can use the Fedora package management system to install applications. Many applications are available from the repository provided by the Fedora project. You can enable other repositories to get additional applications. + +include::{partialsdir}/con_package-management-in-fedora.adoc[leveloffset=+1] + +include::{partialsdir}/proc_package-searching-web-apps.adoc[leveloffset=+1] + +include::{partialsdir}/proc_package-browsing-installing-software.adoc[leveloffset=+1] + +include::{partialsdir}/proc_package-install-command-line.adoc[leveloffset=+1] + +include::{partialsdir}/proc_package-enabling-third-party.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/firewalld.adoc b/modules/ROOT/pages/firewalld.adoc new file mode 100644 index 0000000..1cd7867 --- /dev/null +++ b/modules/ROOT/pages/firewalld.adoc @@ -0,0 +1,29 @@ +:experimental: +:imagesdir: ./images + +[[using-firewalld]] += Using firewalld + +:leveloffset: +1 + +include::{partialsdir}/con_firewalld.adoc[] + +include::{partialsdir}/proc_checking_firewalld.adoc[] + +include::{partialsdir}/proc_installing_firewalld.adoc[] + +include::{partialsdir}/proc_starting_firewalld.adoc[] + +include::{partialsdir}/proc_stopping_firewalld.adoc[] + +include::{partialsdir}/con_runtime_and_permanent_firewalld.adoc[] + +include::{partialsdir}/proc_changing_runtime_firewalld.adoc[] + +include::{partialsdir}/con_controlling_ports_firewalld.adoc[] + +include::{partialsdir}/proc_opening_ports_firewalld.adoc[] + +include::{partialsdir}/proc_closing_ports_firewalld.adoc[] + +:leveloffset: 0 diff --git a/modules/ROOT/pages/flash.adoc b/modules/ROOT/pages/flash.adoc new file mode 100644 index 0000000..afabea1 --- /dev/null +++ b/modules/ROOT/pages/flash.adoc @@ -0,0 +1,53 @@ +:experimental: +[[ch-flash]] += Flash + +include::{partialsdir}/3rdparty-message.adoc[] + +[[sect-what-is-flash]] +== What is Flash? + +Flash is a web browser plugin for multimedia use. +Because it is not free/libre and open source software, Adobe's Flash plugin cannot be included in Fedora. +However, Adobe does release a version of the Flash plugin for Fedora, and other Linux distributions, for Firefox, Chromium, and other popular Internet browsers. + +The use of Flash is not as wide-spread as it use to be as many sites like Youtube use HTML5 for video playback. +Many modern browsers like Firefox and Chromium can play these files without the need for a Flash plugin. +Google Chrome's web browser comes with Flash installed by default. + +== How do I install Adobe Flash? + +Before downloading Flash, you will need to know whether you are using Fedora 32-bit, or 64-bit. +Open the terminal and enter: + +[source,bash] + +==== + +uname -p + +==== + +A result of `x86` means it is 32-bit, and `x86_64` is 64-bit. + +To install Adobe Flash on Fedora: + +. Go to the official Adobe Flash web site at link:++https://get.adobe.com/flashplayer/otherversions/++[https://get.adobe.com/flashplayer/otherversions/]. + +. In the drop-down for _Select an Operating System_, choose 32-Bit or 64-Bit (depending on the result above). + +. In the drop-down for _Select a version_, select *FP for Linux 64-bit (.rpm) - NPAPI* for browsers like Firefox, or select *FP for Linux 64-bit (.rpm) - PPAPI* for browsers like Chromium. + +. Click the *Download Now* button to download the file. + +. Open a terminal, go to the directory where the file was downloaded and enter: + +[source,bash] + +==== + +sudo dnf install flash-player-*.rpm + +==== + +You have successfully installed the Adobe Flash plugin and websites using Flash will now work on your browser. diff --git a/modules/ROOT/pages/getting-started-with-apache-http-server.adoc b/modules/ROOT/pages/getting-started-with-apache-http-server.adoc new file mode 100644 index 0000000..dd0fe06 --- /dev/null +++ b/modules/ROOT/pages/getting-started-with-apache-http-server.adoc @@ -0,0 +1,22 @@ +[id='getting-started-with-apache-http-server'] += Getting started with Apache HTTP Server + +The Apache HTTP Server is one of the most commonly-used web servers. This section acts as a quick-start guide to deploying and configuring Apache on Fedora. + +include::{partialsdir}/proc_installing-httpd.adoc[leveloffset=+1] + +include::{partialsdir}/proc_securing-apache-httpd.adoc[leveloffset=+1] + +include::{partialsdir}/proc_installing-webapps.adoc[leveloffset=+1] + +include::{partialsdir}/proc_configuring-apache-httpd.adoc[leveloffset=+1] + + +[discrete] +== Additional resources + +* https://httpd.apache.org/docs/current/[Apache Documentation] +* https://httpd.apache.org/docs/current/getting-started.html[Apache "Getting Started"] +* https://httpd.apache.org/docs/current/ssl/[Apache TLS/SSL documentation] +* https://httpd.apache.org/docs/current/misc/security_tips.html[Apache security tips] +* https://fedoraproject.org/wiki/OwnCloud[OwnCloud] diff --git a/modules/ROOT/pages/getting-started-with-selinux.adoc b/modules/ROOT/pages/getting-started-with-selinux.adoc new file mode 100644 index 0000000..5e352da --- /dev/null +++ b/modules/ROOT/pages/getting-started-with-selinux.adoc @@ -0,0 +1,18 @@ +:parent-context: {context} + +[id='getting-started-with-selinux-{context}'] += Getting started with SELinux +:context: getting-started-with-selinux + +:md: en-US/modules +:imagesdir: ./images + +:leveloffset: +1 +include::{partialsdir}/con_introduction-to-selinux.adoc[] +include::{partialsdir}/con_benefits-of-selinux.adoc[] +include::{partialsdir}/con_selinux-examples.adoc[] +include::{partialsdir}/con_selinux-architecture.adoc[] +include::{partialsdir}/con_selinux-states-and-modes.adoc[] +:leveloffset: -1 + +:context: {parent-context} diff --git a/modules/ROOT/pages/getting-started-with-virtualization.adoc b/modules/ROOT/pages/getting-started-with-virtualization.adoc new file mode 100644 index 0000000..db0bed2 --- /dev/null +++ b/modules/ROOT/pages/getting-started-with-virtualization.adoc @@ -0,0 +1,14 @@ +[id='getting-started-with-virtualization'] += Getting started with virtualization + +Fedora uses the libvirt family of tools as its virtualization solution. + +include::{partialsdir}/proc_enabling-hardware-virtualization-support.adoc[leveloffset=+1] + +include::{partialsdir}/proc_installing-virtualization-software.adoc[leveloffset=+1] + +include::{partialsdir}/proc_creating-virtual-machines.adoc[leveloffset=+1] + +include::{partialsdir}/ref_managing-virtual-machines.adoc[leveloffset=+1] + +include::{partialsdir}/ref_other-virtualization-options.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/index.adoc b/modules/ROOT/pages/index.adoc new file mode 100644 index 0000000..2d013f3 --- /dev/null +++ b/modules/ROOT/pages/index.adoc @@ -0,0 +1,61 @@ += Fedora Quick Docs + +This repository represents +http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/[asciidoc] +documents roughly (semi-automatically) converted from the top 50 +document-like pages in the Fedora Wiki. We want to move away from exposing +users to the wild territory of workspace wikis and to a nice, topic-oriented +format with a PR-based workflow. + +So, this is kind of a seed project. *Your help wanted!* + +== Other Source Material + +There is a https://fedoraproject.org/wiki/Category:How_to[How To category] +on the wiki. Many of those documents are ripe for conversion. +https://ask.fedoraproject.org/en/questions/scope:all/sort:votes-desc/page:1/[Popular +questions on Ask Fedora] are also likely to be useful starting points — or, +also, frequent +https://unix.stackexchange.com/questions/tagged/fedora?sort=frequent&pageSize=50[Fedora +questions on Stack Exchange]. + +Or, of course, if there's something you care about which you can help +explain, you can create a new document from scratch. + +== Steps + +1. Pick a document to update. You can find documents needing updates in the `_topic_map.yml` file. They are on the commented lines (those that start with a `#`). +2. Fork the https://pagure.io/fedora-docs/quick-docs repo. +3. Make your changes to the `.adoc` file you want to improve. +4. Update `_topic_map.yml` to remove "`(FIX ME!)`" +5. Submit a pull request with your improvements. +6. If migrating a wiki page, create a redirect on the old page — see below. + +== Wiki Redirects + +Usually, wikis do not allow redirects to external sites, because the +potential for abuse is very high. We've developed a plugin for the Fedora +Wiki which allows redirects to _only_ pages on this site, +https://docs.fedoraproject.org/. To create such a link, use the +`#fedoradocs` macro by putting something like this at the top of the wiki +page you are obsoleting: + +[source,mediawiki] +---- +{{#fedoradocs: https://docs.fedoraproject.org/fedora-project/council/fpl.html}} +---- + +Of course, you will want to replace that specific URL with the one for your +new target page. The URL can't be something arbitrary — it must begin with +`https://docs.fedoraproject.org/`. + +Once the redirect is in place, visitors to that wiki page will be instantly +whisked (well, redirected, with the code `301 Moved Permanently`) to the +docs site. If you need to edit such a page to correct the URL, or to remove +the redirect completely, use a form like: +https://fedoraproject.org/w/index.php?title=Project_Leader&action=edit + +Note that there is no validation that the target exists or is correct — +please double-check that any redirects you create work properly before +moving on. + diff --git a/modules/ROOT/pages/installing-and-running-vlc.adoc b/modules/ROOT/pages/installing-and-running-vlc.adoc new file mode 100644 index 0000000..5c58ccd --- /dev/null +++ b/modules/ROOT/pages/installing-and-running-vlc.adoc @@ -0,0 +1,17 @@ +:experimental: +:imagesdir: ./images +:md: en-US/modules + +[[installing-and-running-vlc]] += Installing and Running VLC + +include::{partialsdir}/3rdparty-message.adoc[] + +:leveloffset: +1 + +include::{partialsdir}/proc_installing_vlc.adoc[] +include::{partialsdir}/proc_running_vlc.adoc[] +include::{partialsdir}/concept_third-party-repositories.adoc[] +include::{partialsdir}/con_the-purpose-of-rpm-fusion.adoc[] + +:leveloffset: 0 diff --git a/modules/ROOT/pages/installing-chromium-or-google-chrome-browsers.adoc b/modules/ROOT/pages/installing-chromium-or-google-chrome-browsers.adoc new file mode 100644 index 0000000..d40c8cd --- /dev/null +++ b/modules/ROOT/pages/installing-chromium-or-google-chrome-browsers.adoc @@ -0,0 +1,11 @@ +[i='installing-chromium-or-google-chrome-browsers'] += Installing Chromium or Google Chrome browsers + +include::{partialsdir}/3rdparty-message.adoc[] + +include::{partialsdir}/concept_chromium-web-browser.adoc[leveloffset=+1] + +include::{partialsdir}/proc_installing-chromium-web-browser.adoc[leveloffset=+1] + +include::{partialsdir}/proc_enabling-chromium-plugins.adoc[leveloffset=+1] + diff --git a/modules/ROOT/pages/installing-grub2.adoc b/modules/ROOT/pages/installing-grub2.adoc new file mode 100644 index 0000000..57ddb36 --- /dev/null +++ b/modules/ROOT/pages/installing-grub2.adoc @@ -0,0 +1,27 @@ +:md: en-US/modules + + += Bootloading with *GRUB2* +[[bootloading-with-grub2]] + +*GRUB2* is the latest version of *GNU GRUB*, the _GRand Unified Bootloader_. +A bootloader is the first software program that runs when a computer +starts. It is responsible for loading and transferring control to the +operating system kernel. In Fedora, the kernel is Linux. The kernel then initializes +the rest of the operating system. + +*GRUB2* is the follower of the previous version *GRUB* (version 0.9x). The original version is available under the name *GRUB Legacy*. + +Since Fedora 16, *GRUB2* has been the default bootloader on x86 BIOS +systems. For upgrades of BIOS systems, the default is also to install +*GRUB2*, but you can opt to skip bootloader configuration entirely. + +include::{partialsdir}/proc_installing-grub2-on-bios-system.adoc[leveloffset=+1] + +include::{partialsdir}/proc_installing-grub2-on-efi-system.adoc[leveloffset=+1] + +include::{partialsdir}/proc_creating-menu-entries-with-uefi-bootloader.adoc[leveloffset=+1] + +include::{partialsdir}/proc_adding-other-operating-systems-grub2.adoc[leveloffset=+1] + + diff --git a/modules/ROOT/pages/installing-java.adoc b/modules/ROOT/pages/installing-java.adoc new file mode 100644 index 0000000..5427dd2 --- /dev/null +++ b/modules/ROOT/pages/installing-java.adoc @@ -0,0 +1,34 @@ +[id="assembly_installing-java"] += Installing Java + +Java provides a platform for creating and running applications. You can install various versions of Java to suit your requirements. + +include::{partialsdir}/con_about-java.adoc[leveloffset=+1] + +include::{partialsdir}/proc_installing-openjdk.adoc[leveloffset=+1] + +include::{partialsdir}/proc_installing-oracle-java.adoc[leveloffset=+1] + +include::{partialsdir}/ref_jdk-tools.adoc[leveloffset=+1] + + +[discrete] +== Additional resources + +For Java in Fedora, see: + +* link:https://admin.fedoraproject.org/mailman/listinfo/java-devel[java-devel mailing list] +* Freenode IRC channel link:irc://irc.freenode.net/fedora-java[#fedora-java] +* link:https://Ask.FedoraProject.org/en/questions/scope:all/sort:activity-desc/tags:java/page:1/[Ask Fedora about Java] + +For more information about Java in general, see: + +* link:https://en.wikipedia.org/wiki/Java_(programming_language)[Wikipedia page for Java] +* link:http://openjdk.java.net/[OpenJDK homepage] +* link:http://oracle.com/java/[Oracle homepage for Java] + +To develop Java applications, consider the following open-source IDEs: + +* link:https://netbeans.org/[NetBeans] +* link:https://eclipse.org/[Eclipse] +* link:https://www.jetbrains.com/idea/[IntelliJ IDEA] diff --git a/modules/ROOT/pages/installing-software-from-source.adoc b/modules/ROOT/pages/installing-software-from-source.adoc new file mode 100644 index 0000000..073492a --- /dev/null +++ b/modules/ROOT/pages/installing-software-from-source.adoc @@ -0,0 +1,13 @@ +[[installing-software-from-source]] += Installing software from source code + +The following section contains guidelines and best practices for installing software from source code on Fedora. +The instructions below are not prescriptive, but following them minimizes the risk of errors occurring during installation. + +include::{partialsdir}/con_package-management-in-fedora.adoc[leveloffset=+1] + +include::{partialsdir}/proc_setting-up-your-local-dev-and-compilation-environment.adoc[leveloffset=+1] + +include::{partialsdir}/proc_downloading-source-code.adoc[leveloffset=+1] + +include::{partialsdir}/proc_compiling_your_application_from_source.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/installing-spotify.adoc b/modules/ROOT/pages/installing-spotify.adoc new file mode 100644 index 0000000..854c52d --- /dev/null +++ b/modules/ROOT/pages/installing-spotify.adoc @@ -0,0 +1,7 @@ += Installing Spotify + +include::{partialsdir}/3rdparty-message.adoc[] + +Installing the Spotify music service client on Fedora. + +include::{partialsdir}/proc_installing-spotify-on-fedora.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/installing-virtual-systems-with-gnome-boxes.adoc b/modules/ROOT/pages/installing-virtual-systems-with-gnome-boxes.adoc new file mode 100644 index 0000000..d1176cc --- /dev/null +++ b/modules/ROOT/pages/installing-virtual-systems-with-gnome-boxes.adoc @@ -0,0 +1,14 @@ +:parent-context: {context} + +[id='installing-virtual-operating-systems-with-gnome-boxes-{context}'] += Installing virtual operating systems with GNOME Boxes +:context: gnome-boxes + +:md: en-US/modules +:imagesdir: ./images + +GNOME Boxes is an application in GNOME Desktop Environment, which enables you to virtually access various operating systems. + +:leveloffset: +1 +include::{partialsdir}/proc_install-predefined-systems.adoc[] +:leveloffset: -1 diff --git a/modules/ROOT/pages/kernel/build-custom-kernel.adoc b/modules/ROOT/pages/kernel/build-custom-kernel.adoc new file mode 100644 index 0000000..075f4d8 --- /dev/null +++ b/modules/ROOT/pages/kernel/build-custom-kernel.adoc @@ -0,0 +1,301 @@ +[[ch-build-custom-kernel]] += Building a Custom Kernel +:toc: + +This document provides instructions for advanced users who want to rebuild the +kernel from some source. + +[NOTE] + +==== + +When building or running a custom kernel, one should *not* expect support from +the Fedora kernel team. + +==== + +Some common reasons to build a custom kernel are: + +* To apply patches for testing that they either generated or obtained from + another source + +* To reconfigure the existing kernel + +* To learn more about the kernel and kernel development + + +== Get the Dependencies + +The easiest way to install all the build dependencies for the kernel is to use +the Fedora kernel spec file: + +[source,bash] +---- +sudo dnf install fedpkg +fedpkg clone -a kernel +cd kernel +sudo dnf builddep kernel.spec +---- + +If you want to use `make xconfig`, you'll need some additional packages: + +[source,bash] +---- +sudo dnf install qt3-devel libXi-devel gcc-c++ +---- + +Make sure you add the user doing the build to `/etc/pesign/users` and run the +authorize user script: + +[source,bash] +---- +sudo /usr/libexec/pesign/pesign-authorize +---- + +It's also recommended that you install `ccache`, which can help speed up +rebuilds: + +[source,bash] +---- +sudo dnf install ccache +---- + +== Building a Kernel from the Fedora dist-git + +The kernel, like any other Fedora package, has a branch per Fedora release. +`master` corresponds to Rawhide and each version of Fedora has a branch called +`f`. For example, to build a Fedora 28 kernel, you would first need +to check out that branch with: + +1. Check out the branch for which you would like to build a kernel (`master` +corresponds to Rawhide): + +[source,bash] +---- +git checkout origin/f28 +---- + +2. To avoid conflicts with existing kernels, you can set a custom buildid by +changing `# define buildid .local` to `%define buildid .` +in `kernel.spec`. + +3. Make whatever changes or customizations you need. + +4. Build the RPMs: + +[source,bash] +---- +fedpkg local +---- + +5. Install the new kernel: + +[source,bash] +---- +sudo dnf install --nogpgcheck ./x86_64/kernel-$version.rpm +---- + + +=== Building a non-debugging kernel + +Most Rawhide kernels are built with debugging enabled by default. To make a +kernel with debugging options disabled, you can follow the above instructions, +but before you run `fedpkg local`, disable the debugging options with: + +[source,bash] +---- +make release +---- + +=== Enabling configuration options + +If there are configuration options that need to be adjusted for your build, you +can add changes in the kernel-local file. These changes will get picked up when +you build. + +== Building a kernel from the exploded git trees + +Fedora keeps a git tree containing Fedora patches applied on top of the vanilla sources. + +[source,bash] +---- +git clone git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/fedora.git +git checkout -b my_branch kernel-4.7.4-200.fc24 +---- + +You can now build the kernel following regular kernel instructions. This tree +is useful for generating patches that can be applied to the kernel.spec. + +== Building a vanilla upstream kernel + +Sometimes a Fedora developer may ask you to try building and installing an +upstream kernel (possibly with a patch added) for testing. If there are +multiple iterations, it may be quicker for you to do this than for the +developer to turn around several RPMs. + +[NOTE] +==== +There is an effort underway for packaging vanilla kernels. +https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories[See if this meets +your needs first] +==== + +=== Getting the Sources + +Clone the kernel tree from kernel.org. If you don't know what tree you need, +you should get Linus' tree: + +[source,bash] +---- +git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git +cd linux +---- + +You may also want the stable tree (4.y.z releases), which you can add with: + +[source,bash] +---- +git remote add -f stable git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git +---- + +=== Applying patches + +To apply patch files, you can use git-am: + +[source,bash] +---- +git am -3 +---- + +=== Configuring the kernel + +If the developer has pointed you at a specific config file to use, save it in +the linux directory with the filename `.config` + +Otherwise, you'll need to pick a configuration file to start from. The Linux +kernel has thousands of configuration options, so you don't want to start from +scratch unless you know what you're doing. + +==== Starting from an installed kernel configuration + +If you want to tweak the configuration of a kernel you already have installed, +you can start with its configuration which is stored in /boot/. For example, +to start with the configuration of the currently running kernel: + +[source,bash] +---- +cp /boot/config-`uname -r`* .config +---- + +==== Starting from dist-git + +If you want to use the configuration for a kernel you do not have installed, +you can get the configuration from the Fedora dist-git repository. For example, +to start with the latest Rawhide configuration: + +[source,bash] +---- +cd +git checkout master +./build_configs.sh # Ensure the latest configuration files are generated +cp kernel-.config .config +---- + +The debug versions of the configuration files are in +`kernel--debug.config` if you would like to build a kernel with debugging +options enabled. + +=== Changing the configuration + +There are several ways to change the configuration. You can run `make help` and +look at the `Configuration targets` for the full list, but `make menuconfig` +is a good place to start. You can also just edit the `.config` file directly. + +[NOTE] + +==== + +One configuration option you may want to set is CONFIG_MODULE_COMPRESS, which +compresses the modules (with gzip by default) when installing them. Without +this setting, the modules can be very large. + +==== + +=== Building the kernel + +Once you've configured the kernel, you're ready to build it. Before you do so, +you'll want to change the `EXTRAVERSION` in the `Makefile` to something you'll +recognize later. For example, if it reads `EXTRAVERSION = -rc5` change it to +`EXTRAVERSION = -rc5-dave`: + +[source,bash] +---- +$EDITOR Makefile +---- + +Now you're ready to build the kernel: + +[source,bash] +---- +make oldconfig +make bzImage +make modules +---- + +=== Installing the kernel + +Installing the kernel is as simple as: + +[source,bash] +---- +sudo make modules_install +sudo make install +---- + +=== Rebuilding + +If you have been asked to try several different things, the procedure once you +have already built the tree once is mostly the same. Running `make clean` is +recommended between builds. This will leave the `.config` in place, so you can +skip that step above and proceed straight to the `make bzImage` part of the steps +above. Because we installed `ccache` in the first step, subsequent builds may go +a lot faster as the compiler hits files that haven't changed since the last +time it built them. + +=== Cleaning up + +Once you have tested the kernel, and you've booted back to one of your kernels +installed from an RPM, you can clean up the files that the above procedure +installed. + +[WARNING] + +==== + +When running the following commands, be sure to get the kernel version correct! + +==== + +Because you changed `EXTRAVERSION` in the `Makefile` to add a 'tag', all the +files it installed will have this as part of the filename. So you should be +able to use wildcards to delete them safely using commands similar to those +below (just replace 'dave' with whatever tag you chose): + +[source,bash] +---- +rm -f /boot/config-2.6.*dave* /boot/initrd-2.6.*dave* /boot/vmlinuz-*dave* /boot/System.map-*dave* +rm -rf /lib/modules/2.6*dave* +---- + +Finally, you will need to remove the kernel as an option to your bootloader. +This will change from architecture to architecture. For x86, (as root), edit +`/boot/grub2/grub.cfg` or `/boot/efi/EFI/fedora/grub.cfg` if you have EFI enabled +and delete the four lines relating to your kernel (They should be easy to spot, +they'll be the ones with your tag). They'll look something like: + +---- +title Fedora Core (2.6.22-rc3-dave) +root (hd0,0) +kernel /vmlinuz-2.6.22-rc3-dave ro root=/dev/md0 +initrd /initrd-2.6.22-rc3-dave.img +---- diff --git a/modules/ROOT/pages/kernel/overview.adoc b/modules/ROOT/pages/kernel/overview.adoc new file mode 100644 index 0000000..0f39926 --- /dev/null +++ b/modules/ROOT/pages/kernel/overview.adoc @@ -0,0 +1,192 @@ += Fedora Linux Kernel Overview +:toc: + +[[section-update-schedule]] +== Update Schedule + +The https://src.fedoraproject.org/rpms/kernel[Fedora Linux kernel] closely +follows the upstream https://www.kernel.org/[kernel releases]. To see the +current versions in Fedora, https://apps.fedoraproject.org/packages/kernel[check +out the packages application]. + +=== Stable Releases + +Stable releases of Fedora receive two types of kernel updates. + +==== Stable kernel updates + +The upstream kernel community support the latest major version with stable +updates (4.y.z releases). These updates are released approximately once a week, +although they can occur more or less frequently. Once the upstream kernel +community makes a stable release, Fedora builds it and submits it as an update +to https://bodhi.fedoraproject.org/updates/?packages=kernel[Bodhi]. These +updates are typically left in Bodhi for testing for several days before being +submitted to the stable updates repository. + +==== Major kernel updates + +The Linux kernel releases new major versions (4.y releases) +http://phb-crystal-ball.org/[every few months]. When this occurs, Fedora updates +to the new major version after a couple upstream stable releases. When the +updates are submitted to Bodhi, more time is allowed for testing than stable +updates to ensure there are no serious regressions. + +=== Development Releases + +The development versions of Fedora include Rawhide and the Branched release. + +==== Rawhide + +The Rawhide kernel is the latest git snapshot of Linus' +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/[upstream +kernel.org tree]. On a frequent (often daily) basis, a new snapshot is built. + +==== Branched + +https://fedoraproject.org/wiki/Releases/Branched[Branched releases] receive +updates at less frequent intervals than Rawhide. Early on in the Branched +release, it is typically using a pre-release version of the kernel, so each +Release Candidate (RC) is built for Branched releases. Once the kernel is +released, it receives stable updates just like the stable Fedora releases. + + +[[debug-kernels]] +== Debug Kernels + +The Linux kernel offers a number of configuration options to make debugging +problems easier. However, some of these options have a performance cost so +Fedora does not always turn these options on. When the debugging options have +been turned off in the ``kernel`` package, a separate ``kernel-debug`` package +is produced with those options on. + +=== Stable and Branched Kernels + +Stable and Branched kernels always disable the debugging options. + +=== Rawhide + +Rawhide kernels enable the debugging options. However, each release candidate +kernel is built with debugging options disabled. Release candidate kernels +can be recognized by their release field, which always has the git revision set +to 0. For example, ``kernel-4.16.0-0.rc7.git0.1.fc28`` is the 7th release +candidate kernel for Fedora 28. + + +== Policies + +=== Out-of-tree Drivers + +The simplest method by far is for the driver to get merged upstream in Linus' +kernel. Fedora constantly rebases to newer upstream releases, so inherits these +changes "for free" with little overhead for the Fedora kernel maintainers. + +Adding external drivers to the Fedora kernel that aren't accepted upstream +requires an ongoing effort for the Fedora kernel team, so where possible, we +try to avoid doing so. In the few situations where it makes sense to do so, +there are several criteria that must be met. + +* There must be reasonable demand for the feature for us taking on the burden + of carrying the code until it gets upstream. +* Passes basic sanity checks (has been reviewed by at least one Fedora kernel + maintainer). +* Has an upstream developer actively trying to get their code merged into Linus' + tree. +* Has a Fedora developer responsible for keeping it up to date in Fedora. +* Causes no discernible overhead for Fedora kernel maintainers. Code that must + be continually fixed up tends to end up getting dropped. +* Doesn't add new system calls or similar ABI defining characteristics. This is + to avoid a situation where we could end up with incompatibilities between + distros/upstream. +* How a symbol is exported needs to be accepted upstream first. This includes: +** Adding an EXPORT_SYMBOL to export something that previously wasn't exported +** Changing an EXPORT_SYMBOL_GPL to EXPORT_SYMBOL +** Changing an EXPORT_SYMBOL to EXPORT_SYMBOL_GPL +* In the rare case where we add exports that aren't upstream, we err on the side + of caution and use EXPORT_SYMBOL_GPL to export them. This is done partly as a + deterrent for 3rd-party modules not to use them. (As they may go away in the + future). The only exception to all of the above is in new not-yet-merged + upstream code that's being added. New symbols get to be exported however the + author intended. + +=== Staging + +The drivers in the staging directory of the Linux kernel are known to be in a +rough and incomplete state. For the vast majority of these drivers, the kernel +team considers it unsafe to build and ship them. We do not have the confidence +in the existing code, nor do we have the time to debug issues in known +problematic drivers. + +As with every policy, there are exceptions. Fedora ships a few staging drivers +at the moment for various pieces of hardware. For the Fedora kernel team to +enable a staging driver, the following conditions must be satisfied: + +* There must be substantive code review and improvement upstream. This means + actual fixes, and not just stylistic changes. +* There must be a contributor willing to be assigned bug reports and deal with + upstream. +* The contributor must be actively involved improving the driver upstream. +* The driver must not result in an undue burden on the kernel team. This means + that if a large number of bug reports result from the driver, then fixes are + not occurring upstream quickly enough. +* It must be understood that if any of these conditions are not met, or + eventually fail to be met, the driver will be disabled. + +=== Builtin Features + +From time to time, the Fedora kernel maintainers get asked to build something +into the kernel. That is, the functionality is included in the vmlinux binary +that every Fedora machine runs as opposed to being built as a module that is +only loaded if needed. Given that it is loaded on every machine, we tend to +build functionality as modules as much as possible. While one person might need +the driver for an ATI card, another will not and having that built into the +kernel is wasteful for really no reason. + +There are no set criteria that map exactly to whether something is built-in or +not, but they generally follow these guidelines: + +* The option cannot be built as a module and is widely used +* The option is not a driver/filesystem and used by something that is a Fedora + default +* The option is a driver and used by a wide variety of machines (keyboard/mouse + drivers, VT support) +* The option is a filesystem and is used by all machines or is the default + Fedora filesystem (tmpfs, ext4). + +Again, the above are general guidelines but for the most part we try and limit +the overall size of the vmlinux that is loaded to a core set of functionality. + +If you find that the Fedora configuration options are not sufficient for your +needs, you can rebuild the kernel and change options as you see fit. See the +documentation on <>. + + +[[community]] +== Getting Involved + +If you're interested in contributing to the development and maintenance of the +Fedora kernel, check out the https://fedoraproject.org/wiki/Kernel[kernel wiki] +for more information. + +[[mailing-lists]] +=== Mailing Lists + +The mailto:kernel@lists.fedoraproject.org[Fedora kernel mailing list] is for +Fedora-related kernel topics only. This includes Fedora-specific packaging and +kernel configuration settings. For discussions about Linux itself see the +https://kernelnewbies.org/ML[Kernelnewbies mailing lists] or the +http://vger.kernel.org/vger-lists.html[Linux Kernel mailing lists]. + +You can subscribe to the Fedora kernel mailing list and view the archive on +https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org/[ +Hyperkitty]. + +[[irc]] +=== IRC + +Users interested in the Fedora kernel hang out in the ``#fedora-kernel`` channel +on https://freenode.net[freenode]. + +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/kernel/troubleshooting.adoc b/modules/ROOT/pages/kernel/troubleshooting.adoc new file mode 100644 index 0000000..6480cbf --- /dev/null +++ b/modules/ROOT/pages/kernel/troubleshooting.adoc @@ -0,0 +1,115 @@ += Troubleshooting + +The kernel, like any software, has bugs. It's a large, complex project and it +can be difficult to troubleshoot problems. This document covers some basic +troubleshooting techniques to help narrow down the root cause of an issue. + +== Boot failures + +Sometimes the kernel fails to boot. Depending on where the problem is in the +boot process, there may or may not be any output. Some good first steps are: + +* Remove `quiet` (enable more log messages) and `rhgb` (disable graphical boot) + from the boot flags. If the text output is too fast to read, add + `boot_delay=1000` (the number of milliseconds to delay in + between printk during boot). You can use a camera to take pictures of the + output. + +* Booting with vga=791 (or even just vga=1 if the video card won't support 791) + will put the framebuffer into high resolution mode to get more lines of text + on screen, allowing more context for bug analysis. + +* Add `initcall_debug` parameter, which traces the initcalls as they are + executed. + +* If you get no output at all from the kernel, booting with `earlyprintk=vga` + can sometimes yield something of interest. + + +== Hangs and freezes + +* Checking whether or not the CapsLock key (or NumLock or ScrollLock) causes + the light on the keyboard to change state can be used as an indication of + whether or not the kernel has hung completely, or if there is something else + going on. + +* The SysRq magic keys may still work. You may need to add + `sysrq_always_enabled=1` to the kernel boot command line. See + https://fedoraproject.org/wiki/QA/Sysrq[the wiki article on SysRq on usage + details]. + +* Setting `nmi_watchdog=1` on the kernel command line will cause a panic when +an NMI watchdog timeout occurs. + +== Logs to collect == + +When reporting an issue with the kernel you should always attach the kernel +logs, usually collected with the `dmesg` command. For some types of issues, +you may need to collect more logs. + +=== Input issues (touchpad etc.) === + +Information for collecting logs is documented at the https://wayland.freedesktop.org/libinput/doc/latest/reporting_bugs.html[libinput website]. + +=== Sound issues === + +`alsa-info.sh` provides information about both kernel and userspace components. +If you have a working and non-working kernel, you should provide `alsa-info.sh` +for both cases. + +== Bisecting the kernel + +If the problem you've encountered isn't present in older versions of the +kernel, it is very helpful to use `git-bisect` to find the commit that +introduced the problem. For a general overview of `git-bisect`, see its +https://git-scm.com/docs/git-bisect[documentation]. An outline on how to bisect +the kernel is included in the +https://www.kernel.org/doc/html/latest/admin-guide/bug-bisect.html[kernel +documentation]. This guide contains Fedora-specific details. + +[NOTE] +==== + +Bisecting is a time-consuming task, but it's very straightforward and is +often the best way to find the cause of a problem. If you're really interested +in getting the problem you're seeing fixed, bisecting will speed up the process +considerably in most cases. + +==== + +. Find the newest version you can that works. This will be the initial "good" +version. The first version you find that doesn't work will be the initial "bad" +version. + +. Install the <> +required to build the kernel. + +. Next, <>. + +. Prepare a `.config` file. Assuming you've got both the good and bad kernel +installed, the config for both will be in `/boot/`.footnote:[When bisecting +between major versions (e.g. `v4.16` and `v4.15`) new configuration options +will be added and removed as you bisect. It's _usually_ safe to select the +default.] + +. Start a new `git-bisect` with `git bisect start`. + +. Mark the newest version that works as "good" with `git bisect good `. +For example: `git bisect good v4.16.8`. + +. Mark the first version that does not work as "bad" with `git bisect bad +`. For example: `git bisect bad v4.17`. + +. <>. Sometimes +commits cannot be built. If this happens, skip the commit with `git bisect +skip`. + +. <>. + +. Reboot into the new kernel and test to see if it works. + +. If the new kernel works, mark it as good with `git bisect good`. Otherwise, +mark it as bad with `git bisect bad`. + +. Repeat the previous five steps until you've found the commit that introduced +the problem. diff --git a/modules/ROOT/pages/managing-keyboard-shortcuts-for-running-app-in-gnome.adoc b/modules/ROOT/pages/managing-keyboard-shortcuts-for-running-app-in-gnome.adoc new file mode 100644 index 0000000..af09895 --- /dev/null +++ b/modules/ROOT/pages/managing-keyboard-shortcuts-for-running-app-in-gnome.adoc @@ -0,0 +1,27 @@ +:experimental: + +[id='managing-keyboard-shortcuts-for-running-app-in-gnome'] += Managing keyboard shortcuts for running an application in GNOME + +:md: en-US/modules + +:leveloffset: +1 + +include::{partialsdir}/proc_adding-shortcut-custom-app-gnome.adoc[] +include::{partialsdir}/proc_disabling-shortcut-custom-app-gnome.adoc[] +include::{partialsdir}/proc_enabling-shortcut-custom-app-gnome.adoc[] +include::{partialsdir}/proc_removing-shortcut-custom-app-gnome.adoc[] + +:leveloffset: 0 + +//// +info sources: + +http://ask.fedoraproject.org/en/question/9623/how-can-i-set-a-key-shortcut-to-launch-terminal-under-gnome/ +https://help.gnome.org/users/gnome-help/stable/keyboard-shortcuts-set.html.en + +https://unix.stackexchange.com/questions/119432/save-custom-keyboard-shortcuts-in-gnome +https://askubuntu.com/questions/26056/where-are-gnome-keyboard-shortcuts-stored + +tested on F28 live CD in VM +//// diff --git a/modules/ROOT/pages/mirroring.adoc b/modules/ROOT/pages/mirroring.adoc new file mode 100644 index 0000000..de48614 --- /dev/null +++ b/modules/ROOT/pages/mirroring.adoc @@ -0,0 +1,39 @@ += Mirroring + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/Infrastructure/Mirroring + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + + +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/openh264.adoc b/modules/ROOT/pages/openh264.adoc new file mode 100644 index 0000000..1500e30 --- /dev/null +++ b/modules/ROOT/pages/openh264.adoc @@ -0,0 +1,125 @@ += OpenH264 + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/OpenH264 + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +This page contains information on the Cisco +http://www.openh264.org/[OpenH264] codec. + +[[background]] +Background +---------- + +Cisco provides an OpenH264 codec (as a source and a binary), which is +their of implementation H.264 codec, and they cover all licensing fees +for all parties using their binary. This codec allows you to use H.264 +in WebRTC with gstreamer and Firefox. It does *not* enable generic H.264 +playback, only WebRTC (see Mozilla +https://bugzilla.mozilla.org/show_bug.cgi?id=1057646[bug 1057646]). + +The code source is available at https://github.com/cisco/openh264 under +a BSD license. The binary is released under this agreement from Cisco: +http://www.openh264.org/BINARY_LICENSE.txt + +Upstream Firefox versions download and install the OpenH264 plugin by +default automatically. Due to it's binary nature, Fedora disables this +automatic download. + +[[installation-from-fedora-cisco-openh264-repository]] +Installation from fedora-cisco-openh264 repository +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A `fedora-cisco-openh264` repository is distributed since Fedora 24 by +default (if you have at least `fedora-repos-24-0.5` package or newer). +It contains OpenH264 binary link:Non-distributable-rpms[built inside the +Fedora infrastructure], but distributed by Cisco, so that the all +licensing fees are still covered by them. This repository also contains +OpenH264 plugins for gstreamer and Firefox. It is disabled by default. +In order to install OpenH264, you first need to enable it: + +.... +$ sudo dnf config-manager --set-enabled fedora-cisco-openh264 +.... + +and then install the plugins: + +.... +$ sudo dnf install gstreamer1-plugin-openh264 mozilla-openh264 +.... + +Afterwards you need open Firefox, go to menu -> Add-ons -> Plugins and +enable OpenH264 plugin. + +You can do a simple test whether your H.264 works in RTC on +https://mozilla.github.io/webrtc-landing/pc_test.html[this page] (check +_Require H.264 video_). + +[[manual-install-of-binary]] +Manual install of binary +~~~~~~~~~~~~~~~~~~~~~~~~ + +* View and agree to the http://www.openh264.org/BINARY_LICENSE.txt +* Download the appropriate binary for your system here: +https://github.com/cisco/openh264/releases + +Example installation for version 1.1: + +`wget `http://ciscobinary.openh264.org/openh264-linux64-v1.1-Firefox33.zip[`http://ciscobinary.openh264.org/openh264-linux64-v1.1-Firefox33.zip`] + +`mkdir -p ~/.mozilla/firefox/``/gmp-gmpopenh264/1.1/` + +`cd ~/.mozilla/firefox/``/gmp-gmpopenh264/1.1/` + +`unzip ~/openh264-linux64-v1.1-Firefox33.zip` + +[[firefox-config-changes]] +Firefox config changes +^^^^^^^^^^^^^^^^^^^^^^ + +Type about:config into the Firefox address/URL field and accept the +warning. + +* From the Search field type in 264 and a handful of options will +appear. Give the following Preference Names a value of true by +double-clicking on false: + +` media.gmp-gmpopenh264.autoupdate` + +` media.gmp-gmpopenh264.enabled` + +` media.gmp-gmpopenh264.provider.enabled` + +` media.peerconnection.video.h264_enabled` + +* Restart Firefox +* After restarting, the following string in about:config will change to +the current version that has been installed from the web: + +` media.gmp-gmpopenh264.version` +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/package-management.adoc b/modules/ROOT/pages/package-management.adoc new file mode 100644 index 0000000..7b878eb --- /dev/null +++ b/modules/ROOT/pages/package-management.adoc @@ -0,0 +1,152 @@ += Package management system + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/Package_management_system + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +[[package-management-system]] +Package Management System +------------------------- + +[[introduction]] +Introduction +~~~~~~~~~~~~ + +Fedora is a distribution that uses a package management system. This +system is based on http://rpm.org[rpm] , the RPM Package Manager, with +several higher level tools built on top of it, most notably +https://www.freedesktop.org/software/PackageKit/[PackageKit] (default +gui) and link:Yum[ yum] (command line tool). As of Fedora 22, yum has +been replaced by link:Dnf[ dnf]. The Gnome Package Manager is another +GUI package manager. + +[[advantages-of-package-management-systems]] +Advantages of package management systems +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Package management systems have many advantages: + +* It's easy to query what version of a package is installed or +available. + +* It's easy to remove a package entirely, making sure all its files are +gone. + +* It's easy to verify the integrity of the packages files, so you can +see if it's been corrupted or tampered with. + +* It's easy to upgrade a package by installing the new version and +removing all the old versions files. This will make sure not to leave +any lingering files from the old package around to confuse or break +things. + +* It's easy to see what packages require or provide things that other +packages provide or require, so you can be sure to have the needed items +for the package to function correctly. + +* It's easy to install or remove groups of packages. + +* In many cases it's possible to downgrade back to a previous version of +a package, for example when a new version has a bug. + +[[disadvantages-of-package-management-systems]] +Disadvantages of package management systems +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* You are restricted to either using the versions of the package that +are available or having to make your own package if you need a different +version. + +[[why-mixing-source-installs-and-packages-is-a-bad-idea]] +Why mixing source installs and packages is a bad idea +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Package management systems have no way to query or note when you bypass +them and install something from source. You should avoid mixing source +installs and packaged installs for (at least) the following reasons: + +* You lose all the advantages above from a package managed system. + +* Installing from source may overwrite, delete, or change existing files +that are in a package, making that package not function correctly. + +* The source install may override a package install causing undefined +behavior in the package or source installed item. + +* Installing from source makes it impossible or very difficult for +anyone to help you debug issues, since versions can't be easily queried +and integrity checked. + +* Fedora packages may include patches or configuration to work with +other packages, but upstream source does not, leading to loss of +functionality. + +* Software installed from source will not upgrade with package managed +packages, leading to breakage in the source install package on upgrades +or os updates. + +Strongly consider making your own package if you need a different +version or a version of some package with changes. See: +link:How_to_create_an_RPM_package[How to create a RPM package] + +[[preferred-search-order-for-a-software]] +Preferred search order for a software +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If some software is missing in your installation then you should try the +following steps to get the packaged version: + +1. Search in Fedora ( 'yum|dnf search foo' or search for 'foo' in the +PackageKit gui ) +2. Try one of the available link:Third_party_repositories[ 3rd party] +repositories +3. link:How_to_create_an_RPM_package[ Build your own package] + +[[package-management-tools]] +Package Management tools +~~~~~~~~~~~~~~~~~~~~~~~~ + +link:Dnf[ dnf] - Dandified Yum + +link:Yum[ yum] - Yellowdog Updater Modified + +https://www.freedesktop.org/software/PackageKit/[PackageKit] - +PackageKit gui tool ('add/remove software' in your menu) + +http://rpm.org[rpm] - RPM package manager. + +http://ww1.yum-extender.org/[yumex] - Yum Extender. + +Category:Software_Management[Category:Software Management] +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/packagekit-not-found.adoc b/modules/ROOT/pages/packagekit-not-found.adoc new file mode 100644 index 0000000..2387be2 --- /dev/null +++ b/modules/ROOT/pages/packagekit-not-found.adoc @@ -0,0 +1,143 @@ += PackageKit Items Not Found + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/PackageKit_Items_Not_Found + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +[[missing-package]] +Missing Package +~~~~~~~~~~~~~~~ + +Unfortunately, the package you were searching for is not available in +Fedora. There are a few common reasons why a package might not be in +Fedora's repositories: + +* Fedora does not include software that is +link:Package_Not_Found#Patents[ encumbered by software patents]. +* Fedora does not include proprietary software, only software with an +link:Licensing[ acceptable license]. +* It is possible that no one has packaged it yet. You might consider +adding it to the link:PackageMaintainers/WishList[Package WishList], or +even link:PackageMaintainers/Join[packaging it yourself]! + +[[missing-codec]] +Missing Codec +~~~~~~~~~~~~~ + +Unfortunately, the codec you were searching for is not available in +Fedora. A codec is a program that enables encoding and/or decoding of a +data stream, in a specific format such as MP3, MOV, or WMV. + +There are a few common reasons why a codec might not be in Fedora's +repositories: + +* Many codecs are proprietary or link:Package_Not_Found#Patents[patent +encumbered]. +* Some codecs may not be encumbered, but may be under an +link:Licensing[unacceptable license]. + +The Fedora Project FAQ and community sites provide answers to commonly +asked questions. link:Third_party_repositories[Third party repositories] +contain a wide variety of software that has not been included in the +official Fedora software repositories for various reasons. You can find +additional software using a search engine like +http://google.com[Google]. We would love to give you more specific +instructions on enabling additional codecs but our hands are tied up due +to software patents and legal restrictions around them. We apologize for +the inconvenience caused by software patents and our legal team is +working on getting these restrictions removed when it is possible to do +so. Scroll down more for details on what we are doing and how you can +help. + +[[missing-driver]] +Missing Driver +~~~~~~~~~~~~~~ + +Unfortunately, the driver you were searching for is not available in +Fedora. There are a few common reasons why a driver might not be in +Fedora's repositories: + +* Some drivers are proprietary or link:Package_Not_Found#Patents[patent +encumbered]. +* Some hardware may not be supported under Linux yet, or is not yet in +the upstream Linux kernel. + +Fedora strongly encourages new drivers to be included in upstream, and +does not package individual, out-of-tree, kernel drivers. + +The Fedora Project FAQ and the more informal, unofficial +http://fedorafaq.org[1] provide useful answers on commonly asked +questions. However, the unofficial site is not associated with or +supported by the Fedora Project. You can find many interesting things +using a search engine like http://google.com[Google]. +link:Third_party_repositories[Third party repositories] might contain +software that has been not been included in the official Fedora software +repository. + +[[missing-font]] +Missing Font +~~~~~~~~~~~~ + +Unfortunately, the font you were searching for is not available in +Fedora. There are a few common reasons why a font might not be in +Fedora's repositories: + +* Fedora does not include proprietary fonts, it only uses fonts with an +link:Licensing/Fonts[ acceptable font license]. +* It is possible that no one has packaged that font yet. You might +consider adding it to the :Category:Font_wishlist[Font WishList], or +even link:PackageMaintainers/Join[packaging it yourself]! + +[[missing-mime-support]] +Missing MIME Support +~~~~~~~~~~~~~~~~~~~~ + +Unfortunately, there is nothing in Fedora that claims to support the +MIME type you were searching for. There are a few common reasons why +Fedora may not have support for a MIME type: + +* Many MIME types are Windows-only. You may be able to use +http://en.wikipedia.org/wiki/Wine_(software)[Wine] to run a Windows +program under Linux that supports your MIME type. +* Some MIME types are only supported by proprietary or +link:Package_Not_Found#Patents[patent encumbered] software. +* It is possible that acceptable software to support your MIME type +exists, but that no one has packaged it yet. You might consider adding +it to the link:PackageMaintainers/WishList[Package WishList], or even +link:PackageMaintainers/Join[packaging it yourself]! + +[[fedora-position-on-software-patents]] +Fedora Position on Software Patents +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/performing-administration-tasks-using-sudo.adoc b/modules/ROOT/pages/performing-administration-tasks-using-sudo.adoc new file mode 100644 index 0000000..e73354d --- /dev/null +++ b/modules/ROOT/pages/performing-administration-tasks-using-sudo.adoc @@ -0,0 +1,32 @@ +[id='performing-administration-tasks-using-sudo'] += Performing administration tasks using sudo + +How to perform tasks requiring *root* privileges without logging in as *root*. + +include::{partialsdir}/con_what-is-sudo.adoc[leveloffset=+1] + + +[id='how-to-use-sudo'] +== How to use sudo + +include::{partialsdir}/con_using-sudo-assign-admin-privileges.adoc[leveloffset=+2] + +include::{partialsdir}/proc_using-same-password-for-root-as-user.adoc[leveloffset=+2] + +include::{partialsdir}/con_logging-sudo-commands.adoc[leveloffset=+2] + + +[[warning-and-caveats]] +== Warnings and caveats + +You must use the user account you created following the installation process, at first boot, for daily use and the *root* account only for system administration. Avoid using *root* for any non-administration usage, since the account makes it easy to create security or data risks. + +There are several potential risks to keep in mind when using the [command]`sudo` command. You can avoid them by editing the [filename]`/etc/sudoers` configuration file using [command]`visudo` command. + +include::{partialsdir}/con_sudo-timeout.adoc[leveloffset=+2] + +include::{partialsdir}/con_using-sudo-access-docker.adoc[leveloffset=+2] + +include::{partialsdir}/proc_run-docker-using-sudo.adoc[leveloffset=+2] + +include::{partialsdir}/con_using-sudo-without-password.adoc[leveloffset=+2] diff --git a/modules/ROOT/pages/postgresql.adoc b/modules/ROOT/pages/postgresql.adoc new file mode 100644 index 0000000..446b418 --- /dev/null +++ b/modules/ROOT/pages/postgresql.adoc @@ -0,0 +1,469 @@ += PostgreSQL + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/PostgreSQL + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +[[installation]] +Installation +~~~~~~~~~~~~ + +The installation and initialization of the postgresql server is a little +bit different in comparison to other packages and other linux distros. +This document aims to summarize basic installation steps relevant to +recent fedora release. In first place, you may consider to install newer +version than is packaged for fedora, see http://yum.postgresql.org/[1]. +However, this is not recommended. + +`$ sudo yum install postgresql-server postgresql-contrib` + +Or with dnf in Fedora 22 and later versions: + +`$ sudo dnf install postgresql-server postgresql-contrib` + +The postgresql server is turned off and disabled by default. You can +enable its start during the boot using following command: + +`$ sudo systemctl enable postgresql` + +You can start the postgresql server only when necessary as follows. + +`$ sudo systemctl start postgresql` + +`Job for postgresql.service failed. See 'systemctl status postgresql.service' and 'journalctl -xn' for details.` + +The database needs to be populated with initial data after installation. +The error log describes problem and its solution. + +`$ journalctl -xn` + +`-- Logs begin at Mon 2013-11-04 14:38:33 CET, end at Thu 2013-11-14 11:45:56 CET. --` + +`Nov 14 11:45:34 mlich-lenovo.usersys.redhat.com sudo[2054]: jmlich : TTY=pts/2 ; PWD=/home/jmlich ; USER=root ; COMMAND=/bin/systemctl status postgresql` + +`Nov 14 11:45:37 mlich-lenovo.usersys.redhat.com sudo[2073]: jmlich : TTY=pts/2 ; PWD=/home/jmlich ; USER=root ; COMMAND=/bin/systemctl status postgresql` + +`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com sudo[2105]: jmlich : TTY=pts/2 ; PWD=/home/jmlich ; USER=root ; COMMAND=/bin/systemctl start postgresql` + +`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com systemd[1]: Starting PostgreSQL database server...` + +`-- Subject: Unit postgresql.service has begun with start-up` + +`-- Defined-By: systemd` + +`-- Support: `http://lists.freedesktop.org/mailman/listinfo/systemd-devel[`http://lists.freedesktop.org/mailman/listinfo/systemd-devel`] + +`--` + +`-- Unit postgresql.service has begun starting up.` + +`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: An old version of the database format was found.` + +`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: Use "postgresql-setup upgrade" to upgrade to version 9.3.` + +`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: See /usr/share/doc/postgresql/README.rpm-dist for more information.` + +`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com systemd[1]: postgresql.service: control process exited, code=exited status=1` + +`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com systemd[1]: Failed to start PostgreSQL database server.` + +`-- Subject: Unit postgresql.service has failed` + +`-- Defined-By: systemd` + +`-- Support: `http://lists.freedesktop.org/mailman/listinfo/systemd-devel[`http://lists.freedesktop.org/mailman/listinfo/systemd-devel`] + +`-- Documentation: `http://www.freedesktop.org/wiki/Software/systemd/catalog/be02cf6855d2428ba40df7e9d022f03d[`http://www.freedesktop.org/wiki/Software/systemd/catalog/be02cf6855d2428ba40df7e9d022f03d`] + +`--` + +`-- Unit postgresql.service has failed.` + +`--` + +`-- The result is failed.` + +The database initialization could be done using following command. It +creates the configuration files postgresql.conf and pg_hba.conf + +`$ sudo postgresql-setup initdb` + +Or on Fedora 22 and later: + +`$ sudo postgresql-setup --initdb --unit postgresql` + +[[upgrade]] +Upgrade +~~~~~~~ + +As you can see from error message in my example, it is not a fresh +installation, but ugprade. + +`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: An old version of the database format was found.` + +`Nov 14 11:45:56 mlich-lenovo.usersys.redhat.com postgresql-check-db-dir[2108]: Use "postgresql-setup upgrade" to upgrade to version 9.3.` + +With version 9 you can use upgrade tool. It is packaged as +`postgresql-upgrade`: + +.... +$ postgresql-setup upgrade + +Redirecting to /bin/systemctl stop postgresql.service +Upgrading database: OK + +The configuration files was replaced by default configuration. +The previous configuration and data are stored in folder /var/lib/pgsql/data-old. + +See /var/lib/pgsql/pgupgrade.log for details. +.... + +The data are located at + +* /var/lib/pgsql/data +* /var/lib/pgsql/data-old + +The upgrade itself will backup your existing data and migrate your +database. Don't forget to migrate your configuration (with meld for +example: `meld /var/lib/pgsql/data{,-old}/postgresql.conf`). + +You may need to switch postgresql to trust mode before update. This +should be fixed already. + +You can also upgrade by dumping your database and loading it again. For +more information, see link:#link-upgrade[official documentation]. + +[[tips-and-tricks]] +Tips and tricks +~~~~~~~~~~~~~~~ + +For database management is comfortable to use graphical tools such as +phpPgAdmin or pgadmin3 + +`$ sudo yum install phpPgAdmin` + +`$ sudo yum install pgadmin3` + +Or with dnf in Fedora 22 and later versions: + +`$ sudo dnf install phpPgAdmin` + +`$ sudo dnf install pgadmin3` + +[[firewall]] +Firewall +~~~~~~~~ + +PostgreSQL operates on port 5432 (or whatever else you set in your +`postgresql.conf`). In firewalld you can open it like this: + +`$ # make it last after reboot` + +`$ firewall-cmd --permanent --add-port=5432/tcp` + +`$ # change runtime configuration` + +`$ firewall-cmd --add-port=5432/tcp` + +In case of iptables: + +`$ iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT` + +Bear in mind that you probably don't want to open your database server +to the whole world. + +[[selinux]] +SELinux +~~~~~~~ + +If you have SELinux enforced, you may run into trouble when trying to do +some non-standard configuration. For example if you would like to change +a location of your database, you have to add new context mapping for the +new location: + +`$ semanage fcontext -a -t postgresql_db_t "/my/new/location(/.*)?"` + +If default port doesn't work for you, you may need to map postgre's port +type to your desired port: + +`$ semanage port -a -t postgresql_port_t -p tcp 5433` + +If you install a webapp that wants to communicate with PostgreSQL via +TCP/IP, you will have to tell SELinux to allow this on the webserver +host: + +`# setsebool -P httpd_can_network_connect_db on` + +[[user-creation-and-database-creation]] +User Creation and Database Creation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Soon you run into need of creating a user (and database for the user). +First, you have to switch user to interact with postgres: + +`# su - postgres` + +and then run postgre's interactive shell: + +.... +$ psql +psql (9.3.2) +Type "help" for help. + +postgres=# +.... + +It might be good idea to add password for `postgres` user: + +`postgres=# \password postgres` + +Lets get back to user creation: + +`postgres=# CREATE USER lenny WITH PASSWORD 'leonard';` + +`postgres=# CREATE DATABASE carl OWNER lenny;` + +this could be done from system shell too: + +`$ createuser lenny` + +`$ createdb --owner=lenny carl` + +[[configuration]] +Configuration +~~~~~~~~~~~~~ + +The postgresql server is using two main configuration files + +* /var/lib/pgsql/data/postgresql.conf +* /var/lib/pgsql/data/pg_hba.conf + +[[systemd]] +systemd +^^^^^^^ + +Some configuration parameters are passed to daemon via command line +options. This behaviour may override settings in postgresql.conf. For +example, if you want to change the server's port number to 5433, create +a file named "/etc/systemd/system/postgresql.service" containing: + +`.include /lib/systemd/system/postgresql.service` + +`[Service]` + +`Environment=PGPORT=5433` + +Note: changing PGPORT or PGDATA will typically require adjusting SELinux +configuration as well; see section selinux. + +Please follow the systemd documentation +http://fedoraproject.org/wiki/systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F[2] +for more details. + +[[postgresql.conf]] +postgresql.conf +^^^^^^^^^^^^^^^ + +If you want postgres to accept network connections, you should change + +`listen_addresses = 'localhost'` + +to + +`listen_addresses = '*'` + +[[pg_hba.conf]] +pg_hba.conf +^^^^^^^^^^^ + +Once your database is set up, you need to configure access to your +database server. This may be done by editing file +`/var/lib/pgsql/data/pg_hba.conf`. There are rules like this in the +file: + +`# TYPE    DATABASE        USER            ADDRESS                 METHOD` + +`  host    all             all             127.0.0.1/32            md5` + +`  host    all             all             ::1/128                 md5` + +`  local   all             postgres                                peer` + +First field stands for connection type. It can have these values: + +* *local* — Unix-domain socket +* *host* — plain or SSL-encrypted TCP/IP socket +* *hostssl* — is an SSL-encrypted TCP/IP socket +* *hostnossl* — plain TCP/IP socket + +Last column specifies which authentication method will be used. + +* *md5* — client has to supply password processed with MD5 algorithm +* *ident* — obtain user name of connecting client from operating system +and consult it with specified map +* *trust* — anyone who is able to connect to PostgreSQL server may act +as any user without supplying password +* *peer* — obtains user's name from operating system and checks if it +matches database user name + +When database server is authenticating client, it seeks for a record +with matching connection type, client address, requested database and +user name. As soon as it finds it, it performs the authentication. If +authentication fails, no more subsequent records are taken into account. +If no record matches, client's access is denied. + +The default settings is usually restricted to localhost. + +When you install your database server and at first you try to "make it +work", you should turn off firewall, SELinux and make postgres' +authentication permissive (bear in mind this will greatly expose your +server, so do it _only_ on trusted network — preferably without not +network at all): + +`host    all             all             127.0.0.1/32            trust` + +As soon as you are able to connect, turn the security systems on one by +one while verifying the connection can be established. + +For more information see official documentation for +link:#link-pghba[pg_hba.conf file]. + +[[optimisation]] +Optimisation +~~~~~~~~~~~~ + +Default configuration of postgres is severely undertuned. It can handle +simple application with not so often database access but if you require +higher performance, you should configure your instance better. All the +magic is happening in `/var/lib/pgsql/data/postgresql.conf\``. Also +logging mechanism is configured not very intuitively. + +[[performance]] +Performance +^^^^^^^^^^^ + +Number of clients which may be connected to PostgreSQL at the same time: + +`max_connections = ` + +`shared_buffers` is the entry point. This is telling PostgreSQL how much +memory is dedicated for caching. Setting this to 25% of total memory of +your system is a good start. If it doesn't work for you, try to go for +something between 15% - 40% of total memory. + +`shared_buffers = ` + +This value is used by query planner to know how much memory is available +in the system. Query planner uses this information to figure out whether +plan fits into memory or not. Setting this to 50% of total memory is a +common practise. + +`effective_cache_size = ` + +When PostgreSQL performs sorting operations it plans its strategy +whether to sort the query on disk or in memory. Bear in mind that this +memory is available for every sorting instance. In case of multiple +users submitting queries to your database server, this can rump up +pretty high. Therefore this is tightly bound to `max_connections`. + +`work_mem = ` + +For more information about this topic I advise you to read official +link:#link-tuning[documentation about] tuning PostgreSQL. + +[[logging]] +Logging +^^^^^^^ + +By default, logs are rotated every week and you don't find much +information in there (one could miss log level, date, time, ...). Also +for simple web applications I prefer to increase verbosity. + +`log_destination = 'stderr'` + +This is just fine. If you would like syslog to take care of your logs, +change it to `'syslog'`, or even `'syslog,stderr'` (if you go for +syslog, don't forget to configure syslog itself too; for more info, see +link:#link-logging[official documentation]) + +`logging_collector = on` + +In case of logging to stderr, postgres will grab all the logs if you +enable `logging_collector` option. + +This is default option: + +`log_filename = 'postgresql-%a.log'` + +Much preferred could be to name log files by date when they were +created: + +`log_filename = 'postgresql-%G-%m.log'` + +Rotation. This really depends on the app itself. In case of simple app +with a few data in database, all the logs may be kept persistently on +disk without rotation. + +`log_truncate_on_rotation = off` + +`log_rotation_age = 31d` + +Increase number of entries in log: + +`client_min_messages = notice      # default notice` + +`log_min_messages = info           # default warning` + +`log_min_error_statement = notice  # default error` + +If you would like to log slow queries, feel free to use this option: + +`log_min_duration_statement = 1000  # in ms` + +Default log entry doesn't contain much info: + +`FATAL:  Ident authentication failed for user "test"` + +`DETAIL:  Connection matched pg_hba.conf line 84: "host    all             all             ::1/128                 ident"` + +Lets improve it to: + +`2013-12-30 17:51:36 CET testx@::1(50867):postgres [11213] FATAL:  password authentication failed for user "testx"` + +`2013-12-30 17:51:36 CET testx@::1(50867):postgres [11213] DETAIL:  Connection matched pg_hba.conf line 84: "host   all             all             ::1/128                 md5 "` + +You just have to alter option `log_line_prefix`. + +`# %t -- timestamp` + +`# %u -- user` + +`# %r -- client's host` + +`# %d -- database` + +`# %p -- PID` + +`log_line_prefix = '%t %u@%r:%d [%p] '` + +If you are running only single database with single user connecting, it +would make more sense to simplify the prefix to + +`log_line_prefix = '%t [%p] '` + +[[final-recipe]] +Final recipe +++++++++++++ + +`log_destination = 'stderr'` + +`logging_collector = on` + +`log_filename = 'postgresql-%G-%m.log'` + +`log_truncate_on_rotation = off` + +`log_rotation_age = 31d` + +`client_min_messages = notice` + +`log_min_messages = info` + +`log_min_error_statement = notice` + +`log_line_prefix = '%t %u@%r:%d [%p] '` + +[[reference]] +Reference +~~~~~~~~~ + +link:PostgreSQL/README.rpm-dist[Full RPM packaging documentation] + +http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server[Tuning +performance] + +http://www.postgresql.org/docs/9.1/static/runtime-config-logging.html[Logging +configuration] + +http://www.postgresql.org/docs/9.1/static/upgrading.html[Upgrading +PostgreSQL] + +http://www.postgresql.org/docs/8.3/static/auth-pg-hba-conf.html[pg_hba.conf +file] +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/proc_setting-key-shortcut.adoc b/modules/ROOT/pages/proc_setting-key-shortcut.adoc new file mode 100644 index 0000000..3fc10af --- /dev/null +++ b/modules/ROOT/pages/proc_setting-key-shortcut.adoc @@ -0,0 +1,23 @@ +[id='setting-key-shortcut_{context}'] += Setting a key shortcut to run an application in GNOME + +If you frequently use a certain application, you can set a keyboard shortcut to quickly launch that application on GNOME. + +This example shows how to set a key shortcut to launch the terminal. + +To set a key shortcut to run an application: + +. Navigate to menu:Settings[Keyboard] to open the *Keyboard Shortcuts* list. +. Click `+` at the bottom of the list to create a new shortcut. +. Enter the following details in the *Add Custom Shortcut* window: +* Add a `Name` for your shortcut, for example, `Terminal`. +* Enter the command that launches the application. For example, `gnome-terminal`. +. Click *Set Shortcut* to open the *Set Custom Shortcut* window. +. Type a keyboard shortcut, for example `Ctrl-Alt-T`. +. Click *Add*. + +Your shortcut appears under *Custom Shortcuts* and is ready to use. + +image:custom_shortcut.png[] + +To edit or remove your shortcut, click the shortcut to open its details. diff --git a/modules/ROOT/pages/qemu.adoc b/modules/ROOT/pages/qemu.adoc new file mode 100644 index 0000000..47f24a2 --- /dev/null +++ b/modules/ROOT/pages/qemu.adoc @@ -0,0 +1,96 @@ += How to use QEMU + +QEMU is a very flexible virtualization technology however it is quite slow and it is recommended that you understand and evaluate alternative solutions before picking this one. +Refer to https://fedoraproject.org/wiki/Getting_started_with_virtualization[Getting started with virtualization] + +[[qemu]] +== QEMU + +QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation. + +QEMU has two operating modes: + +* Full system emulation. +In this mode, QEMU emulates a full system (for example a PC), including a processor and various peripherials. +It can be used to launch different Operating Systems without rebooting the PC or to debug system code. +* User mode emulation (Linux host only). In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU. + +[[download]] +== Download + +QEMU is available on Fedora repository. It can be installed by using https://fedoraproject.org/wiki/dnf[DNF]: + +.... +$ su -c "dnf install qemu" +.... + + +[[qemu-commands-since-f]] +== QEMU commands since F?+ + +To discover the qemu commands that are installed perform the following: + +.... +$ ls /usr/bin/qemu-* +.... + +In the following examples where "qemu" is, substitute your command for executing qemu. E.g. + +.... +qemu-system-i386 +.... + +or + +.... +qemu-i386 +.... + +Of course, this does not apply to "qemu-img". + +[[qemu-virtual-machine-installation]] +== QEMU virtual machine installation + +Create the virtual image for the system: + +.... +$ qemu-img create fedora.qcow 5G +.... + +Of course you are not obliged to take 5GB. + +Note: Even if you take 10GB this does NOT mean that the image does really HAVE the size of 10GB. It just means that your new system is limited up to 10GB - if the new system takes only 1,2 GB also the image will only be at 1,2GB. + +Now let's install the OS. Put in the install CD and type into your konsole (all in one line without break): + +.... +$ qemu -cdrom /dev/cdrom -hda fedora.qcow -boot d -net nic -net user -m 196 -localtime +.... + +"-user -net" is important to have internet access within your new system. +"-m 196" is the Set virtual RAM size (megabytes), default is 128 MB, I chose 196. + +The install may take some time. After the install, qemu will try to boot the new OS itself. +Maybe this may fail (was the case for me) - but don't worry. +If that happens: just close the qemu window and type the following command into your konsole to launch your new OS: + +.... +$qemu fedora.qcow -boot c -net nic -net user -m 196 -localtime +.... + +[[testing-iso-images]] +== Testing ISO Images + +Type, in the proper directory + +.... +$ qemu -m 512M -cdrom .iso +.... + +[[debugging]] +== Debugging + +To get kernel output dumped to a file outside the virtual system, add e.g. "-serial file:/tmp/qemu-output.log" to the qemu command line. +When booting the virtual system, add "console=ttyS0" to the kernel boot parameters. + +This output is particularly helpful if you are having trouble booting the system, in which case you may also wish to remove "rhgb" and "quiet" from the kernel boot parameters. diff --git a/modules/ROOT/pages/raspberry-pi.adoc b/modules/ROOT/pages/raspberry-pi.adoc new file mode 100644 index 0000000..4b76d31 --- /dev/null +++ b/modules/ROOT/pages/raspberry-pi.adoc @@ -0,0 +1,334 @@ += Raspberry Pi + +TIP: The Raspberry Pi is now supported in Fedora 25 and later. +Fedora on the Raspberry Pi is still very new so please report issues to the ARM mailing list or IRC channel. + +== Introduction + +The link:https://www.raspberrypi.org[Raspberry Pi] is a credit card-sized ARM based single board computer (SBC). +Fedora supports the the Raspberry Pi Model B versions 2 and 3 since Fedora 25 without any requirement of third party kernels or scripts to adjust offical images. +This documentation describes how to get started, and includes a Frequently Asked Questions (FAQ) section at the end of the document about what is supported and what isn't. + +== Supported Hardware + +We currently only support the Raspberry Pi Model B versions 2 and 3. + +== Prerequisites + +* A Raspberry Pi 2 or 3 +* Good quality SD Card (link:http://elinux.org/RPi_SD_cards[eLinux] hosts a compatibility list) +* HDMI Monitor or TV, a USB keyboard and mouse +* A decent power supply. You'll want at least 2A for the RPi2 and 2.5A for the RPi3, link:https://www.raspberrypi.org/help/faqs/#power[details here]. +* Computer running Windows/MacOS/Linux +* SD card reader + +== Downloading the Fedora ARM image + +Official support for the Raspberry Pi 2/3 is available in Fedora! +Please read the FAQ for the current status of various features. + +The lastest Fedora ARM images can be downloaded link:https://arm.fedoraproject.org/[here.] + +== Preparing the SD card + +You can quite easily prepare the image on the SD card on Fedora or any Linux distribution, MacOS or Windows. +The default settings will provide the user interface on a HDMI monitor with keyboard and mouse support. +If you wish to have output over a serial console please see the FAQs at the end of this document for more information. + +== Fedora or Other Linux Distributions + +=== Use the fedora-arm-installer + +To install arm-image-installer: + +---- +$ dnf install -y fedora-arm-installer +---- + +To write the image out use the following: + +---- +$ sudo arm-image-installer +---- + +Usage: `$ arm-image-installer ` + +.... + --image=IMAGE - xz compressed image file name + --target=TARGET - target board + --media=DEVICE - media device file (/dev/[sdX|mmcblkX]) + --selinux=ON/OFF - Turn SELinux off/on as needed + --norootpass - Remove the root password + -y - Assumes yes, will not wait for confirmation + --version - Display version and exit + --resizefs - Resize root filesystem to fill media device + --addconsole - Add system console to extlinux.conf + --addkey= - /path/to/ssh-public-key +.... + +Example: + +---- +$ arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0 +---- + +For list of supported boards please check SUPPORTED-BOARDS file. + +For the Raspberry Pi 2 use `--target=rpi2` and for the Raspberry Pi 3 use `--target=rpi3`. + +=== Manually Configure SD Card + +---- +$ xzcat Fedora-IMAGE-NAME.raw.xz | sudo dd status=progress bs=4M of=/dev/XXX #Location of your media (will be sdX or mmcblkX depending on hardware) +---- + +== Microsoft Windows / MacOS + +The Raspberry Pi foundation provides some nice instructions for image copying using a Mac link:https://www.raspberrypi.org/documentation/installation/installing-images/mac.md[here]. +Simply replace any image file references with the name and path of the image downloaded in the step above. + +== Resizing the Root Partition + +The root partition is shrunk to the smallest size possible to ensure a small download. +You currently need to resize it manually. +Ideally we would like this to happen automatically (great community project idea!). + +=== Resize Before First Boot + +The easiest way to do this before boot on a Linux system is with gparted: + +---- +$ gparted /dev/XXX +---- + +=== Resize After initial-setup + +The other mechanism for doing it is once you've booted the Raspberry Pi and completed the initial setup to create accounts. + +* enlarge the 4th partition (this example uses mmcblk0) + +---- +$ growpart /dev/mmcblk0p4 +---- + +* grow the fileystem to fill the available space + +---- +$ resize2fs /dev/mmcblk0p4 +---- + +* resize root partition for the server image (which uses xfs) + +---- +$ xfs_growfs -d / +---- + +== Booting Fedora on the Raspberry Pi for the First Time + +* Insert the SD card into the Raspberry Pi. +* Make sure you have a keyboard, mouse, network cable and monitor connected. +* Power on the Raspberry Pi. +* You will see Fedora booting and eventually the "Initial setup wizard" will appear. +* Follow the wizard to set language, timezone and create users. +* You should be presented with a login prompt or a getting started guide (depending on which Desktop/SPIN you're using). + +== Applying Updates and Installing Software + +There are no special ways or procedures necessary to install or update the software so you just use standard Fedora installation and update mechanisms such as dnf, gnome-software or any of the other GUI update systems as supported in the various desktop environments. + +== Getting Help and Reporting Issues + +So where can you get help if it’s not working? The usual Fedora support forums are: + +* link:https://ask.fedoraproject.org/[Ask Fedora] +* link:https://lists.fedoraproject.org/admin/lists/arm%40lists.fedoraproject.org/[Fedora ARM mailing list] +* irc://irc.freenode.net/#fedora-arm[IRC via the #fedora-arm channel on Freenode] + +== Frequently Asked Questions + +=== Why do I get a rainbow display when I try and power on my Raspberry Pi? + +There's a number of different reasons you might get rainbow output on the display when you're trying to boot as Raspberry Pi. +The three common ones we see are: + +* The power supply isn't strong enough. See the "Prerequisites" section above. + +* There's no OS installed. Check the SD card is properly in place and you've followed the instructions to write out the card. + +* Wrong edition of the Raspberry Pi. If you try and use Fedora on a Raspberry Pi 1 or Zero you'll get this as we don't support ARMv6 SoCs. + +=== What desktop environments are supported? + +Both 3D/2D work out of the box and all desktops as shipped in Fedora should work just fine. +There is an open source fully accelerated driver for the Video Core IV GPU. + +=== Will there be more enhancements to the hardware support? + +Yes. +New enhancements will be delivered when, and as soon as, they are ready via the standard Fedora updates mechanism. +New, significant features will be blogged about as they arrive either via link:https://fedoramagazine.org/[Fedora Magazine] or the link:http://fedoraplanet.org/[Fedora Planet]. + +=== What about support for the Raspberry Pi Models A/A+, B/B+ (generation 1), Zero/ZeroW and Compute Module? + +THESE ARE NOT SUPPORTED!!! + +Fedora doesn't, and NEVER will, support ARMv6 processors. +There's been a number of attempts to support these over the years. +The current best effort is Pignus based on Fedora 23. +More information can be found at link:https://pignus.computer[the Pignus site]. + +NOTE: Fedora DOES support the Compute Module 3 based on the same SoC as the Raspberry Pi 3, but *as the previous generation Compute Modules are based on ARMv6 archetecture, they are [#.underline]#not supported#*. + +=== Will Fedora 24 be supported? + +No. +The small team is focused on the Fedora 25 release and rawhide to best focus resources. +While possible to do there is reasonably significant amount of work to back port all the fixes that have gone into Fedora 25/rawhide back to stable releases. +Fedora 25 is released and is already very stable on the Raspberry Pi. + +=== What USB devices are supported on the Raspberry Pi + +You should be able to use most USB-2 compatible devices that are supported in Fedora on other devices. +There are some limitations to the USB bus of the Raspberry Pi hardware as link:https://www.raspberrypi.org/documentation/hardware/raspberrypi/usb/README.md[documented here]. + +=== Is the onboard WiFi and Bluetooth supported on the Raspberry Pi 3? + +==== Wifi + +Wifi on the Raspberry Pi 3 is supported in Fedora. +There's a file we can't currently redistribute which you'll need to retrieve. +This can be done either post first boot using onboard ethernet or when setting up the SD card. +The command needed when running from a Raspberry Pi 3 is as follows: + +---- +$ sudo curl https://fedora.roving-it.com/brcmfmac43430-sdio.txt -o /lib/firmware/brcm/brcmfmac43430-sdio.txt +---- + +Once retrieved you just need to reboot and WiFi should be available. + +==== Bluetooth + +It's currently untested but as it's attached to a serial port and is accessible it might work. +It's only been briefly tested but in practice it tends to crash the entire device so is not currently recommended. +Those interested can investigate further and potentially provide more information. + +For the brave you can test it with this command: + +---- +$ hciattach /dev/ttyAMA0 bcm43xx 3000000 noflow - +---- + +=== Does sound work? + +HDMI audio output is included Fedora however the analog port is not yet supported. +Audio output via a USB audio interface should also work fine. + +=== Does the add-on camera work? + +Not currently. +There is still ongoing work to support this upstream and add the appropriated media acceleration support. + +=== Does accelerated media decode work? + +No. +There's no upstream kernel support and it relies on code from a number of kernel subsystems to be supported. + +=== Does HDMI-CEC work? + +Yes. +It current is supported using link:http://libcec.pulse-eight.com/[libcec] packaged in Fedora. + +=== Is the Raspberry Pi Touch Display supported? + +Work on the official Raspberry Pi Touch Display is ongoing upstream and initial support has landed in the 4.10 kernel, being link:https://github.com/anholt/linux/issues/8[tracked upstream]. +Fedora will review any missing pieces for support soon. +The touchscreen driver isn't yet released upstream. +Support for other displays is not currently planned. + +=== Is the composite TV out supported? + +The composite TV out is not currently supported in a stable Fedora release but the core support has landed upstream in the 4.10 kernel. +There's some missing enabling patches currently which we will add to the Fedora kernel soon. + +=== Are the expansion HATs supported? + +The quick answer here is they are not currently supported. + +The long answer is a lot more complex. +Most of the hardware interfaces that are exposed by the 40 pin HAT connector are supported with drivers shipped with Fedora. +Drivers for the hardware contained on a lot of the common HATs are also enabled and supported in Fedora. +The core means of supporting the HAT add-on boards require the use of device tree overlays. +The kernel and the u-boot 2016.09 boot-loader supports the loading over overlays manually. +Currently there is no upstream consensus on the means of autoloading these overlays by means of an "overlay manager" (also known as Cape Manager and by numerous other names) by reading the EEPROM ID and loading the appropriate overlay automatically. +There's also no consensus on the extensions to the dtc (Device Tree Compiler) to build the binary blob overlays, and no consensus of the exact format of the overlay file. +There is now a group of people working to resolve this issue which enable Fedora to better support HATs (Raspberry Pi), Capes (BeagleBone), DIPs (C.H.I.P) and Mezzanine (96boards) before long. + +The first focus HAT to support will be the official Raspberry Pi Sense HAT. +This will be documented using the manual process to build and load the overlay to provide access to the onboard devices as a means of demonstrating how this process works for those wishing to use this manual method in the interim. +The link to this documentation will be added here once that is complete. + +=== Are Device Tree Overlays supported? + +There's basic support for overlays in u-boot and the Linux kernel but an overlay manager isn't yet upstream. + +=== Is GPIO supported? + +GPIO isn't supported well as they need to be mapped with Device Tree overlays. +This will be improved in the Fedora 27/28 cycles. + +=== Is SPI supported? + +Yes, basic SPI is supported. + +=== Is I2C supported? + +Yes, basic I2C is supported. + +=== Is there Raspberry Pi 3 aarch64 support? + +Yes! You can download the aarch64 disk images for the Raspberry Pi 3 link:https://archive.fedoraproject.org/pub/fedora-secondary/releases/[here.] + +=== How do I use a serial console? + +The serial console is disabled by default on the Raspberry Pi 2 and 3 because it requires the device to run at significantly slower speeds. +To wire up the USB to TTL adapter follow link:https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/connect-the-lead[this guide from Adafruit]. +You'll need a 3.3 volt USB to TTL Serial Cable like link:https://www.adafruit.com/product/954[this one from Adafruit]. +To enable the serial console follow the specific steps for the Raspberry Pi 2 or 3 as they both differ slightly: + +==== Raspberry Pi 2: +* Insert the micro SD card into a PC +* On the VFAT partition edit the config.txt file and uncomment the enable_uart line: + +---- +$ enable_uart=1 +---- + +* On the boot partition edit the extlinux/extlinux.conf file adding `console=tty0 console=ttyAMA0,115200` to the end of the append line so it looks similar to: + +---- +$ append ro root=UUID="LARGE UUID STRING OF TEXT" console=tty0 console=ttyAMA0,115200 +---- + +* Safely unmount the micro SD card +* Insert micro SD into Raspberry Pi, connect serial console, power on + +==== Raspberry Pi 3: +* Insert the micro SD card into a PC +* On the VFAT partition edit the config.txt file and uncomment the enable_uart line: + +---- +$ enable_uart=1 +---- + +* On the boot partition edit the extlinux/extlinux.conf file adding: `console=tty0 console=ttyS0,115200` to the end of the append line so it looks similar to: + +---- +$ append ro root=UUID="LARGE UUID STRING OF TEXT" console=tty0 console=ttyS0,115200 +---- + +* Safely unmount the micro SD card +* Insert micro SD into Raspberry Pi, connect serial console, power on + + +See a typo, something missing or out of date, or anything else which can be improved? +Edit this document link:https://pagure.io/fedora-docs/quick-docs[here.] diff --git a/modules/ROOT/pages/repositories.adoc b/modules/ROOT/pages/repositories.adoc new file mode 100644 index 0000000..0e46059 --- /dev/null +++ b/modules/ROOT/pages/repositories.adoc @@ -0,0 +1,128 @@ += Repositories +:FedoraVersionNumberNext: 28 +:FedoraVersionNumber: 27 + +This page explains the various Fedora repositories that exist for +different Fedora Releases, the relationship between them, and what +packages they contain. + +[[the-fedora-repository]] +== The fedora repository + +The _fedora_ repository exists for all Fedora releases after they have link:Releases/Branched[Branched] from link:Releases/Rawhide[Rawhide]. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora.repo` file in the repository path. For any Fedora installation, this repository will be enabled by default, and should usually remain so. + +[[the-fedora-repository-in-stable-releases]] +=== The _fedora_ repository in stable releases + +For stable releases, _fedora_ represents the frozen release state. It is a part of the frozen tree that is created by https://fedoraproject.org/wiki/ReleaseEngineering[Release Engineering] when a release is approved at a https://fedoraproject.org/wiki/Go_No_Go_Meeting[Go/No-Go Meeting]. The package set it contains never changes after that time. It represents the _stable_ state of a stable release in conjunction with _updates_ repository. + +The stable release _fedora_ repositories for the various primary architectures can be found in the `/fedora/linux/releases/XX/Everything` directory on the mirrors (where XX is the release), and can also be queried from MirrorManager. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-{FedoraVersionNumber}&arch=x86_64 will return mirrors for the x86_64 _fedora_ repository for {FedoraVersionNumber} release. + +[[the-fedora-repository-in-branched-releases]] +=== The _fedora_ repository in Branched releases + +In Branched releases - the state a release is in between branching from Rawhide and stable release, see https://fedoraproject.org/wiki/Releases/Branched[Branched] for more details - the fedora repository alone represents the release's stable state. The _updates_ repository for Branched releases is not used until they become stable. Before the https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi enabling point], package builds for the Branched release are sent directly to this repository. After the _Bodhi enabling point_, package builds that pass the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] move from _updates-testing_ repository to this repository. + +The Branched _fedora_ repositories for the various primary https://fedoraproject.org/wiki/Architectures[architectures] can be found in the `/fedora/linux/development/XX` directory on the mirrors (where XX is the release), and can also be queried from MirrorManager. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-{FedoraVersionNumberNext}&arch=x86_64 will return mirrors for the x86_64 _fedora_ repository for {FedoraVersionNumberNext} version. + +[[the-updates-repository]] +== The _updates_ repository + +The _updates_ repository exists for Branched and stable releases, but is only populated and used for stable releases. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-updates.repo` file in the repository path. It exists in Branched releases solely to prevent various tools that expect its existence from breaking. For any Fedora installation, this repository will be enabled by default, and should usually remain so. + +For stable releases, _updates_ together with _fedora_ represents the current _stable_ state of the release. Package builds that pass the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] move from the _updates-testing_ repository to this repository. This difference from Branched is a result of the need to maintain a precise representation of the initial, 'frozen' state of a stable release. + +The stable release _updates_ repositories for the various primary architectures can be found in the `/fedora/linux/updates/XX` directory on the mirrors (where XX is the release), and can also be queried from https://fedoraproject.org/wiki/MirrorManager[MirrorManager]. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f{FedoraVersionNumber}&arch=x86_64 will return mirrors for the x86_64 _updates_ repository for 27. + +[[the-updates-testing-repository]] +=== The _updates-testing_ repository + +The _updates-testing_ repository exists for Branched releases after the https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi enabling point], and for stable releases. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-updates-testing.repo` file in the repository path. For both, it is a 'staging' location where new package builds are tested before being marked as 'stable' (and hence moving to the _fedora_ repository or the _updates_ repository, respectively). + +These builds are sometimes referred to as _update candidates_, and are reviewed with the https://fedoraproject.org/wiki/Bodhi[Bodhi] update feedback tool, according to the +https://fedoraproject.org/wiki/QA:Update_feedback_guidelines[update feedback guidelines]. + +The https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] defines the rules for marking update candidates as _stable_. The https://fedoraproject.org/wiki/QA:Updates_Testing[QA updates-testing page] provides some information for testers on using this repository. The https://fedoraproject.org/wiki/Package_update_HOWTO[package update guidelines] provide information for packagers on submitting builds to _updates-testing_ and to _stable_. + +The _updates-testing_ repository is enabled by default for Branched releases, but disabled by default for stable releases. The switchover is made around the time of the https://fedoraproject.org/wiki/Milestone_freezes[Final Freeze] for each release. Testers moving from Branched to stable may encounter errors running updates around this time, caused by dependency mismatches between packages already installed from the now-disabled _updates-testing_ repository. Running `dnf distro-sync`(or with yum command) or re-enabling the _updates-testing_ repository will both usually alleviate the issue; it is up to the individual user whether they wish to continue using the _updates-testing_ repository after the stable release or not. + +The _updates-testing_ repositories for both Branched and stable releases can be found in the `/fedora/linux/updates/testing/XX` directory on the mirrors (where XX is the release), and can also be queried from https://fedoraproject.org/wiki/MirrorManager[MirrorManager]. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f{FedoraVersionNumber}&arch=x86_64 will return mirrors for the x86_64 _updates-testing_ repository for {FedoraVersionNumber}. + +[[the-rawhide-repository]] +=== The _rawhide_ repository + +In Rawhide - Fedora's rolling release repository, from which release are Branched before finally going stable - _rawhide_ is the only repository. All package builds are sent there. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-rawhide.repo` file in the repository path. For any system running Rawhide, it should be enabled. For any other system, it should not. + +The _rawhide_ repositories for the various primary https://fedoraproject.org/wiki/Architectures[architectures] can be found in the directory on the mirrors, and can also be queried from https://fedoraproject.org/wiki/MirrorManager[MirrorManager]. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-rawhide&arch=x86_64 will return mirrors for the x86_64 _fedora_ repository for Rawhide. + +[[stable-is-not-a-repository]] +=== _stable_ is not a repository + +It is not unusual to see references to the 'stable repository', but this is something of a misnomer. _stable_ is more of a state that can be considered to exist for both Branched releases post https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi enabling] and for stable releases. It consists of package builds that were part of Rawhide at the time they Branched, package builds sent directly to the Branched _fedora_ repository between the branch point and the _Bodhi enabling point_, and package builds that passed the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] and moved from _updates-testing_ after the _Bodhi enabling point_. + +For Branched releases, the _stable_ state is represented solely by the current contents of the _fedora_ repository (and, arguably, the _bleed_ repository, but that is a small case). + +For stable releases, the _stable_ state is represented by the contents of the _fedora_ repository combined with the contents of the _updates_ repository. + +_stable_ is also a state a package can be considered to be in (or an attribute it can be considered to have) when it has been _pushed stable_ or _tagged stable_ and exists in, or will soon exist in, a _stable_ repository for a release - whichever literal repository that is (see above). + +[[installation-and-product-repositories-trees]] +== Installation and Product repositories / trees + +The repositories referred to above are neither associated with a specific https://fedoraproject.org/wiki/Fedora.next[Fedora.next] _Product_, nor part of an installable tree (a tree containing the necessary files to be used as a base repository by https://fedoraproject.org/wiki/Anaconda[Anaconda], the Fedora installer). Specialized repositories exist for these purposes. + +For Fedora.next releases - and later - there is (as of September 2014) no installable tree not associated with a specific Product. The installable trees for various Products can be found under `/fedora/linux/releases/XX/` on the mirrors for stable releases, and under `/fedora/linux/releases/test/` for Branched pre-release milestones. They can also be queried from MirrorManager. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-server-{FedoraVersionNumberNext}&arch=x86_64 will return mirrors for the x86_64 current installation repository for Server. + +These repositories are frozen (new packages are not pushed to them) and are created at various points in the https://fedoraproject.org/wiki/Fedora_Release_Life_Cycle[Fedora Release Life Cycle]. A new installation tree (containing a repository) is built for several Products for https://fedoraproject.org/wiki/QA:SOP_compose_request[each test compose or release candidate build], and the trees for the Alpha and Beta releases are made available on the mirrors in the directory (see above). They contain a subset of the full package set that is considered to define each Product. + +The Product trees for the GA (Final) release are made available in the `/releases` tree on the mirrors. + +At any given point in the release cycle, the MirrorManager request for a Product repository may redirect to a test compose / release candidate tree, a pre-release milestone tree, or the Final release tree. + +These repositories are usually not used or enabled by default on installed systems, as for that purpose they are redundant with one of the three primary repositories described above. However, one could use a Product repository in place of the _fedora_ repository to keep a system limited to the Product package set. They are represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-(product).repo` file in the repository path, which may well not be installed on many systems. + +[[other-repositories]] +== Other repositories + +There are other repositories that fulfil various niche purposes, which are documented here for the sake of providing a comprehensive reference. They should not usually be significant to the vast majority of Fedora users. None of these repositories is represented in a packaged repository file, enabled by default, or should usually be used in a Fedora installation. + +[[the-bleed-repository]] +=== The _bleed_ repository + +The _bleed_ repository exists for a single purpose: during https://fedoraproject.org/wiki/Milestone_freezes[Milestone freezes], it contains packages that have been granted 'freeze exceptions' via the https://fedoraproject.org/wiki/QA:SOP_blocker_bug_process[Blocker Bug Process] or https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process[Freeze Exception bug process], and which are desired to be included in the next test compose or release candidate build, but have not yet reached _stable_ state and hence been moved to the _fedora_ repository. In other words, it contains packages explicitly required in TC/RC https://fedoraproject.org/wiki/QA:SOP_compose_request[compose requests]. + +The _bleed_ repository can be found http://kojipkgs.fedoraproject.org/mash/bleed/[here], but again, is not usually of interest to the vast majority of Fedora users. The packages it contains are always also available from the build system, Koji, and usually from the _updates-testing_ repository. + +[[the-latest-repositories]] +=== The _latest_ repositories + +The _latest_ http://kojipkgs.fedoraproject.org/repos/[repositories] contain packages for various build 'tags' as they arrive in the Koji build system. They are not https://git.fedorahosted.org/cgit/mash/[mashed], a process which principally handles multilib, and using them can cause various problems, in addition to overloading Fedora's development servers. It is almost always a better idea to cherry-pick new builds from https://fedoraproject.org/wiki/Koji[Koji] or https://fedoraproject.org/wiki/Bodhi[Bodhi] via their web interfaces or command line tools. + +[[repositories-faq]] +== Repositories FAQ + +[[why-is-updates-only-used-after-the-stable-release]] +=== Why is _updates_ only used after the stable release? + +As described above, updates for both Branched pre-releases and final, _stable_ releases go through the _updates-testing_ process before being moved to a _stable_ repository. Before the final release, they are placed in the _fedora_ repository. After release, they are placed in _updates_. + +The reason for the difference is that we want to have a record of the exact 'state' of a given Fedora stable release. That is, at the time a Fedora release is declared to be done at a https://fedoraproject.org/wiki/Go_No_Go_Meeting[Go/No-Go Meeting], we consider the state of the release at that time to be the canonical definition of that release, and we wish to preserve a record of that state. For a stable release, the tree containing the _fedora_ repository *is* that record, and the _fedora_ repository it contains is the canonical record of the precise _frozen_ package set that formed the main part of that stable release. + +Since we wish to maintain this _frozen_ state for the _fedora_ repository, we cannot place updates directly into it. The necessity for the _updates_ repository therefore becomes obvious - we need a place to put updates to stable releases that is outside the _frozen_ state of the release. + +Before a stable release occurs, this mechanism is not necessary. Before the release is declared to be done, there is no _frozen_ state of the release: effectively, the whole Branched development process is _working towards_ what will become the _frozen_ state of the release, so of course package builds for the Branched release land directly in the _fedora_ repository. + +[[why-is-updates-testing-enabled-by-default-in-pre-releases]] +=== Why is _updates-testing_ enabled by default in pre-releases? + +While Branched development releases and stable releases both use an _updates-testing_ repository together with the Bodhi update feedback system to stage packages before they reach the release's _stable_ state, it is enabled by default in Branched, but not in stable releases. + +The reason is that the purpose of the _updates-testing_ system is somewhat different in each case. For stable releases, the system's goal is to prevent broken updates reaching the general Fedora user population. In most cases, Fedora systems are expected to have the _updates-testing_ repository disabled. Some QA testers then enable the repository on testing systems to try out the updates and provide feedback. The testers perform the job of making sure the updates are OK before they reach the general user population. + +When it comes to a Branched pre-release, the expectation is that anyone who installs it wants to help test it: we effectively consider anyone running a Branched release to be a tester. The function of _updates-testing_ is different in this case. There is not a 'general user population' of Branched users who run with _updates-testing_ disabled, and are protected from problematic updates by the group of update testers. Instead, _updates-testing_ in Branched serves other important functions. + +The main purpose is to insulate _image builds_ from potentially problematic changes. Branched images - nightly images, and the Alpha, Beta and GA (Final) _milestone_ builds and their https://fedoraproject.org/wiki/Go_No_Go_Meeting[test compose and release candidate builds] - are built from the _stable_ packages, that is, only those in the _fedora_ repository, not those in _updates-testing_. In this sense, _updates-testing_ protects not a set of users, but a set of _builds_, from potentially destabilizing changes. Especially when we are building an Alpha, Beta or GA release, we need to be able to reduce the amount of change in the package set between composes in order to produce an image of high quality. The _updates-testing_ mechanism allows for that: during https://fedoraproject.org/wiki/Milestone_freezes[Milestone freezes], new builds can be sent to _updates-testing_, but cannot move from there to _stable_ (_fedora_) without special circumstances. In this way, we can work on release images while not preventing packagers from sending out builds. + +For this and other less important functions, we need as much feedback as possible, so it makes sense to have all pre-release testers have _updates-testing_ enabled by default, and encourage them to provide feedback through Bodhi. + +See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/reset-root-password.adoc b/modules/ROOT/pages/reset-root-password.adoc new file mode 100644 index 0000000..9dfbdf5 --- /dev/null +++ b/modules/ROOT/pages/reset-root-password.adoc @@ -0,0 +1,200 @@ +[[chap-how-to-reset-a-root-password]] += How to Reset the root Password + +Setting up a root password is one of the steps when installing Fedora. +If you forget, or lose, the root password, there are two common methods to reset it: + +* In Rescue Mode + +* Using a Fedora Live Media (USB/DVD/CD) + + +[[sect-how-to-reset-the-password-from-emergency-or-single-user-mode]] +== How to reset the root password in Rescue Mode + +[NOTE] + +==== + +Changing passwords as root does not prompt for the old password. + +==== + +While booting the system the link:++grub2.html++[GRUB2] menu will be displayed. +To boot the system into rescue mode using `bash` follow these steps: + +. Use the arrow keys to select the boot entry you want to edit + +. Press *e* to edit that entry + +. Use the arrow keys to go to the line that starts with `linux`, `linux16`, or `linuxefi` + +. Go the the end of that line, add a space then type `rw init=/bin/bash`. +If your disk is encrypted, you may need to add `plymouth.enable=0` + +. Press *Ctrl-x* or *F10* to boot that entry + +. Run the command: ++ +[source,bash] + +---- + +passwd + +---- ++ +It will prompt you to enter the new root password twice. + +. Restore the SELinux context and permissions with: ++ +[source,bash] + +---- + +touch /.autorelabel + +---- + ++ + +[WARNING] + +==== + +If you do not restore the SELinux permissions, the boot process may fail. +You may have to do a hard-reboot and start back at step 1. + +==== + +. Reboot the machine with: ++ +[source,bash] + +---- + +/sbin/reboot -f + +---- + +The system may take a while to boot as SELinux will be relabeling its permissions on the filesystem. +If you see the Plymouth boot screen you can press the `ESC` key on your keyboard to view the SELinux progress. +Once it is complete, your system is ready and your root password has been successfully changed. + +[[sect-reset-password-using-the-fedora-live-media]] +== How to reset the root password with a Fedora Live Media + +[NOTE] + +==== + +To download and create a live USB of Fedora Workstation, follow the instructions on the link:++live-usb.html++[Fedora USB Live Media Quick Doc]. + +==== + +. Boot the Live installation media and choose `Try Fedora` + +. From the desktop, open a terminal and switch to root using `su` (it won't ask for a password) + +. To view your hard drive device nodes, in the terminal type: `df -H`. +For this example we will use `/dev/sda1` for the `/boot` partition and `/dev/sda2` for the root `/` partition. ++ +If you are using LVM partitions, type: `sudo lvscan` and note the `/dev` path of your root partition. +For this example we will use `/dev/fedora/root`. + +. Create a directory for the mount point (use the `-p` option to create subdirectories): ++ +[source,bash] + +---- + +mkdir -p /mnt/sysimage/boot + +---- + +. Mount the `/` (root) partition (be sure to use the actual device node or LVM path of your root `/` partition): ++ +To mount root on a *standard partition* scheme enter: ++ +[source,bash] + +---- + +mount /dev/sda2 /mnt/sysimage + +---- ++ +To mount root on an *LVM partition* scheme enter: ++ +[source,bash] + +---- + +mount /dev/fedora/root /mnt/sysimage + +---- + +. Continue the process by mounting `/boot`, `proc`, `/dev`, and `/run` with: ++ +[source,bash] + +---- + +mount /dev/sda1 /mnt/sysimage/boot + +mount -t proc none /mnt/sysimage/proc + +mount -o bind /dev /mnt/sysimage/dev + +mount -o bind /run /mnt/sysimage/run + +---- + +. `chroot` to the mounted root partition with: ++ +[source,bash] + +---- + +chroot /mnt/sysimage /bin/bash + +---- + +. Change the root password: ++ +[source,bash] + +---- + +passwd + +---- + +. Exit out of chroot with: ++ +[source,bash] + +---- + +exit + +---- ++ +and exit out of the terminal. + +. Reboot your system and boot from the hard drive. + +Congratulations, your root password has been successfully changed. + +[[sect-additional-troubleshooting]] +== Additional Troubleshooting + +. If you cannot enter rescue mode because you forgot the Firmware/BIOS password here are some options: + +.. Refer to your computer's documentation for instructions on resetting the Firmware/BIOS password in CMOS memory. + +.. Temporarily move the system hard disk to another machine, and follow the procedures above to reset the root password. + +. If you have set a password for your boot loader, refer to link:++creating-and-using-a-live-installation-image.html++[Creating and Using a Live Installation Image]. + +. If you want to reset the boot loader password, refer to the instructions on how to link:++https://fedoraproject.org/wiki/Reset_Bootloader_Password++[Reset the Bootloader Password]. \ No newline at end of file diff --git a/modules/ROOT/pages/securing-the-system-by-keeping-it-up-to-date.adoc b/modules/ROOT/pages/securing-the-system-by-keeping-it-up-to-date.adoc new file mode 100644 index 0000000..fcc8470 --- /dev/null +++ b/modules/ROOT/pages/securing-the-system-by-keeping-it-up-to-date.adoc @@ -0,0 +1,24 @@ +:experimental: + +[id='securing-the-system-by-keeping-it-up-to-date'] += Securing the system by keeping it up-to-date + +This section explains: + +* Why it is important to update your system regularly (link:#why-it-is-important-keeping-your-system-up-to-date[Why it is important to keep your system up-to-date]) +* How to apply updates manually by using GUI or CLI (link:#manual-updating-using-cli[Manual updating using CLI]) +* How to enable automatic updates (link:#setting-automatic-updates[Setting automatic updates]) + +include::{partialsdir}/con_why-it-is-important-keeping-your-system-up-to-date.adoc[leveloffset=+1] + +include::{partialsdir}/proc_manual-updating-using-gui.adoc[leveloffset=+1] + +include::{partialsdir}/proc_manual-updating-using-cli.adoc[leveloffset=+1] + +include::{partialsdir}/proc_setting-automatic-updates.adoc[leveloffset=+1] + + +[discrete] +== Additional Resources + +* The https://docs-old.fedoraproject.org/en-US/Fedora/26/html/System_Administrators_Guide/ch-DNF.html[DNF] chapter in the Fedora System Administrator's Guide diff --git a/modules/ROOT/pages/switching-desktop-environments.adoc b/modules/ROOT/pages/switching-desktop-environments.adoc new file mode 100644 index 0000000..0b4612e --- /dev/null +++ b/modules/ROOT/pages/switching-desktop-environments.adoc @@ -0,0 +1,12 @@ +:imagesdir: ./images + +[[switching-desktop-environments]] += Switching desktop environments + +Fedora's default desktop environment is GNOME 3 in the Workstation spin, but it is very easy to try any of the many other desktop environments that are available without affecting your current desktop environment. + +include::{partialsdir}/proc_installing-additional-desktop-enviroments.adoc[leveloffset=+1] + +include::{partialsdir}/proc_switching-desktop-enviroments-using-gui.adoc[leveloffset=+1] + +include::{partialsdir}/proc_switching-desktop-enviroments-using-cli.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/troubleshooting_selinux.adoc b/modules/ROOT/pages/troubleshooting_selinux.adoc new file mode 100644 index 0000000..76766ad --- /dev/null +++ b/modules/ROOT/pages/troubleshooting_selinux.adoc @@ -0,0 +1,65 @@ +[id='prod_troubleshooting_selinux'] += Troubleshooting SELinux + +This document covers the basics of troubleshooting SELinux. + +SELinux decisions, such as allowing or disallowing access, are cached. This cache is known as the Access Vector Cache (AVC). Denial messages are logged when SELinux denies access. For example, an SELinux error generated by the Apache web server may appear as `comm="/usr/sbin/httpd"`. + +Each error message includes information on the source context (`scontext`) of that part of your system performing an action, and the target context (`tcontext`), the target of the action. In many cases, the source is a binary and the target a file. + +== Understanding Denials +When SELinux prevents any software from accessing a particular resource, for example, when *Firefox* is denied access to `/etc/shadow`, it generates a message and logs it in `/var/log/audit/audit.log` or `/var/log/messages` if *audit* service is disabled. If the log contains `avc: denied` that means it is an SELinux policy denial. Note that you would need administrator privileges (root access) on your system to be able to read this log file. An example denial would look like: +----- +type=AVC msg=audit(1214965667.121:635): avc: denied { unix_read unix_write } for pid=15524 comm="npviewer.bin" +key=59918130 scontext=unconfined_u:unconfined_r:nsplugin_t:s0-s0:c0.c1023 +tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s +----- +== Using the setroubleshoot utility + +*setroubleshoot* is a utility that parses the messages from SELinux and provides comprehensive help on what it means and possible actions to take. It has both a graphical utility for your desktop and a server side component that can send email alerts. It is installed by default on Fedora. To install it on your system, use the *Software* tool in GUI or enter the following command: +----- +$ sudo dnf install setroubleshoot +----- + +To start the program, run the following command: +----- +$ sealert +----- + +You can find recent alerts in the browser that appears. + +To troubleshoot an error, click the *troubleshoot* button in the SELinux Alert browser. The browser will return available options for resolving the error and commands to run to fix the problem. + +[NOTE] +==== +Some troubleshooting events can be resolved by enabling a boolean switch policy. This will allow the activity to procede in the future, regardless of SELinux enforcing policy. It is not recommended to utilize booleans without fully understanding the issue. For more information on booleans, see the link:https://docs-old.fedoraproject.org/en-US/Fedora/25/html/SELinux_Users_and_Administrators_Guide/sect-Security-Enhanced_Linux-Working_with_SELinux-Booleans.html[Booleans] chapter in the SELinux User's and Administrator's Guide. +==== + + +//// +include::modules/con-troubleshooting-selinux-overview.adoc[leveloffset=+1] + +include::modules/con-troubleshooting-selinux-access-is-denied.adoc[leveloffset=+2] + +include::modules/con_troubleshooting_selinux_top_three_causes_of_problems.adoc[leveloffset=+1] + +include::modules/con_troubleshooting_selinux_fixing_problems.adoc[leveloffset=+1] + +include::modules/con_troubleshooting_selinux_searching_viewing_denials.adoc[leveloffset=+2] + +include::modules/con_troubleshooting_selinux_disabling_permissive_domains.adoc[leveloffset=+2] + +include::modules/con_troubleshooting_selinux_raw_audit_messages.adoc[leveloffset=+1] + +include::modules/con_troubleshooting_selinux_sealert_messages.adoc[leveloffset=+2] + +include::modules/con_troubleshooting_selinux_allowing_access_audit.adoc[leveloffset=+1] + +include::modules/proc_troubleshooting_selinux_allowing_access_audit.adoc[leveloffset=+2] +//// + +== Additional Resources + + * link:https://docs-old.fedoraproject.org/en-US/Fedora/25/html/SELinux_Users_and_Administrators_Guide/chap-Security-Enhanced_Linux-Troubleshooting.html[Troubleshooting] in the SELinux User's and Administrator's Guide + + * link:https://fedorapeople.org/~dwalsh/SELinux/Presentations/selinux_four_things.pdf[Four Key Causes of SELinux Errors] diff --git a/modules/ROOT/pages/uefi-with-qemu.adoc b/modules/ROOT/pages/uefi-with-qemu.adoc new file mode 100644 index 0000000..a0f4535 --- /dev/null +++ b/modules/ROOT/pages/uefi-with-qemu.adoc @@ -0,0 +1,183 @@ += Using UEFI with QEMU + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/Using_UEFI_with_QEMU + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +[[firmware-installation]] +Firmware installation +--------------------- + +UEFI for x86 QEMU/KVM VMs is called OVMF (Open Virtual Machine +Firmware). It comes from EDK2 (EFI Development Kit), which is the UEFI +reference implementation. + +[[installing-uefi-for-qemu-from-fedora-repos]] +Installing 'UEFI for QEMU' from Fedora repos +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Since June 2016, OVMF is available in Fedora repositories. All you need +to have installed is `edk2-ovmf` RPM. Furthermore, it should be now a +dependency of the package, so you probably have it installed already. +This includes firmware for secureboot (`OVMF_CODE.secboot.fd`) + +[[installing-uefi-for-qemu-nightly-builds]] +Installing 'UEFI for QEMU' nightly builds +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Gerd Hoffmann, Red Hatter and QEMU developer, has a dnf repo on his +personal site that provides nightly builds of a whole bunch of QEMU/KVM +firmware, including EDK2/OVMF. + +Here's how to pull down the nightly builds for x86: + +` sudo dnf install dnf-plugins-core` + +` sudo dnf config-manager --add-repo `http://www.kraxel.org/repos/firmware.repo[`http://www.kraxel.org/repos/firmware.repo`] + +` sudo dnf install edk2.git-ovmf-x64` + +Note, these are nightly builds, and may occasionally be broken. + +[[optionally-configure-libvirtd-to-advertise-uefi-support]] +Optionally Configure libvirtd to advertise UEFI support +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Libvirt needs to know about UEFI->NVRAM config file mapping, so it can +advertise it to tools like virt-manager/virt-install. On Fedora 22 and +later, libvirt packages are configured to look for the nightly build +paths, so this will work out of the box. + +However, if you want to use custom binaries, you will need to edit the +nvram variable in /etc/libvirt/qemu.conf and restart libvirtd. + +[[creating-a-vm]] +Creating a VM +------------- + +[[virt-manager]] +virt-manager +~~~~~~~~~~~~ + +Create a new VM in virt-manager. When you get to the final page of the +'New VM' wizard, do the following: + +* Click 'Customize before install', then select 'Finish' +* On the 'Overview' screen, Change the 'Firmware' field to select the +'UEFI x86_64' option. +* Click 'Begin Installation' +* The boot screen you'll see should use `linuxefi` commands to boot the +installer, and you should be able to run `efibootmgr` inside that +system, to verify that you're running an UEFI OS. + +[[virt-install]] +virt-install +~~~~~~~~~~~~ + +Add `--boot uefi` to your `virt-install` command. Example: + +` sudo virt-install --name f20-uefi \` + +`   --ram 2048 --disk size=20 \` + +`   --boot uefi \` + +`   --location `https://dl.fedoraproject.org/pub/fedora/linux/releases/22/Workstation/x86_64/os/[`https://dl.fedoraproject.org/pub/fedora/linux/releases/22/Workstation/x86_64/os/`] + +[[testing-secureboot-in-a-vm]] +Testing Secureboot in a VM +-------------------------- + +These steps describe how to test Fedora Secureboot support inside a KVM +VM. The audience here is QA folks that want to test secureboot, and any +other curious parties. This requires configuring the VM to use UEFI, so +it builds upon the previous UEFI steps. + +[[run-enrolldefaultkeys.efi]] +Run EnrollDefaultKeys.efi +~~~~~~~~~~~~~~~~~~~~~~~~~ + +(Formerly this article recommended the independent utility +"LockDown_ms.efi".) + +Since OVMF doesn't ship with any SecureBoot keys installed, we need to +install some to mimic what an MS certified UEFI machine will ship with. +OVMF now ships with the binaries required to set up a default set of +keys. The easiest way is to use UefiShell.iso which is available at +`/usr/share/edk2/ovmf/UefiShell.iso`. Boot your VM with this as the +CD-ROM image and it should boot into the UEFI shell. At the prompt + +* Shell> fs0: +* FS0:\> EnrollDefaultKeys.efi +* FS0:\> reset +* The VM will restart. Let it boot into Fedora as normal. Log in +* You should see the string 'Secure boot enabled' in dmesg. Secureboot +is now enabled for every subsequent boot. + +[[testing-fedora-cddvd-secure-boot-in-a-vm]] +Testing Fedora CD/DVD Secure Boot in a VM +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Once you have a secureboot configured VM as described above, it's easy +to use this to test ISO media secureboot support. + +* Use virt-manager to attach the ISO media to your VM +* Use virt-manager to change the VM boot settings to boot off the CDROM +* Start the VM +* Switch to a terminal inside the VM, verify Secureboot is enabled by +checking dmesg + +[[notes]] +Notes +----- + +[[using-uefi-with-aarch64-vms]] +Using UEFI with AArch64 VMs +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +link:Architectures/ARM/AArch64[Fedora's AArch64 releases] will only run +on UEFI, so require UEFI inside the VM. However the steps are slightly +different. See this page for complete documentation: +https://fedoraproject.org/wiki/Architectures/AArch64/Install_with_QEMU + +[[extra-links]] +Extra links +----------- + +* QA:Testcase_Virtualization_UEFI[QA:Testcase Virtualization UEFI] +* http://www.linux-kvm.org/page/OVMF[KVM wiki OVMF page] +* https://wiki.ubuntu.com/SecurityTeam/SecureBoot[Ubuntu secureboot +page] +* http://en.opensuse.org/openSUSE:UEFI_Secure_boot_using_qemu-kvm[OpenSUSE +secureboot page] +* http://www.labbott.name/blog/2016/09/15/secure-ish-boot-with-qemu/[Using +SecureBoot with QEMU] + +Category:Virtualization Category:QA +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/understanding-and-administering-systemd.adoc b/modules/ROOT/pages/understanding-and-administering-systemd.adoc new file mode 100644 index 0000000..f796916 --- /dev/null +++ b/modules/ROOT/pages/understanding-and-administering-systemd.adoc @@ -0,0 +1,33 @@ +:source-highlighter: prettify + +[id='understanding-and-administering-systemd'] += Understanding and administering systemd + +Learn the basic principles of systemd: how to configure it and use to administer the system. + +include::{partialsdir}/con_understanding-systemd.adoc[leveloffset=+1] + +include::{partialsdir}/proc_starting-stopping-and-querying-systemd-services.adoc[leveloffset=+1] + +include::{partialsdir}/proc_modifying-existing-systemd-services.adoc[leveloffset=+1] + +include::{partialsdir}/proc_creating-new-systemd-services.adoc[leveloffset=+1] + +include::{partialsdir}/proc_converting-sysvinit-services.adoc[leveloffset=+1] + +include::{partialsdir}/ref_common-service-parameters.adoc[leveloffset=+1] + +include::{partialsdir}/ref_mapping-runlevel-to-targets.adoc[leveloffset=+1] + +include::{partialsdir}/ref_mapping-service-commands.adoc[leveloffset=+1] + + +[discrete] +== Additional resources + +* http://www.freedesktop.org/wiki/Software/systemd[Project homepage] +* http://0pointer.de/blog/projects/ - Lennart's blog has lots of information about systemd. Lennart is the primary systemd developer +* http://www.freedesktop.org/wiki/Software/systemd/FrequentlyAskedQuestions +* http://www.freedesktop.org/wiki/Software/systemd/TipsAndTricks +* link:Features/systemd[ Features Fedora 15:systemd] +* http://fosdem.org/2011/interview/lennart-poettering.html[Interview with the developer] diff --git a/modules/ROOT/pages/upgrading-fedora-online.adoc b/modules/ROOT/pages/upgrading-fedora-online.adoc new file mode 100644 index 0000000..90d26fe --- /dev/null +++ b/modules/ROOT/pages/upgrading-fedora-online.adoc @@ -0,0 +1,357 @@ += Upgrading Fedora using package manager + +''' + +[IMPORTANT] +====== + +This page was automatically converted from https://fedoraproject.org/wiki/Upgrading_Fedora_using_package_manager + +It is probably + +* Badly formatted +* Missing graphics and tables that do not convert well from mediawiki +* Out-of-date +* In need of other love + + +Pull requests accepted at https://pagure.io/fedora-docs/quick-docs + +Once you've fixed this page, remove this notice, and update +`_topic_map.yml`. + +Once the document is live, go to the original wiki page and replace its text +with the following macro: + +.... +{{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}} +.... + +====== + +''' + + +This page contains information explaining how to upgrade Fedora online +using (without the DNF system upgrade plugin). + +[[upgrading-fedora-using-dnf-directly]] +Upgrading Fedora using dnf directly +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +[[participate]] +Participate +~~~~~~~~~~~ + +If you are upgrading using Dnf and it shows any general dependency +issues, please file them in http://bugzilla.redhat.com[Bugzilla]. But +please read this page, all references pages and search the mailing list +archives before filing bugs. And of course, please help keep this page +updated. + +If you want to help make live upgrades work smoothly, join the +link:SIGs/LiveUpgrade[ Live Upgrade Special Interest Group]. + +[[upgrading-across-multiple-releases]] +Upgrading across multiple releases +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you need to upgrade across several releases, it is generally +recommended to go one release at a time: for example, rather than going +directly from to , first go to and then from there to . This tends to +reduce the number of package dependency issues you may encounter. If you +are upgrading from an link:End_of_life[End of life] release, please also +see link:#eol[the end-of-life section]. + +[[instructions-to-upgrade-using-dnf]] +Instructions to upgrade using dnf +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +[[backup-your-system]] +1. Backup your system +^^^^^^^^^^^^^^^^^^^^^ + +Backup any personal data to an external hard drive or to another +machine. If there is some unrecoverable error that requires a fresh +install, you don't want to lose any data. + +[[read-about-common-problems]] +2. Read about common problems +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Further down in this page there is a list of common problems specific to +dnf upgrades for specific versions. Some of them require attention +before the upgrade. + +General advice on upgrading Fedora can be found on the Upgrading page. +You should also read the +http://docs.fedoraproject.org/install-guide/[Installation Guide] and +http://docs.fedoraproject.org/release-notes/[Release Notes] for the +version you plan to upgrade to - they contain important information +regarding upgrading issues. Finally, check the list of +link:Common_bugs[Common bugs]. + +[[clean-stuff]] +3. Clean Stuff +^^^^^^^^^^^^^^ + +Review and remove all .rpmsave and .rpmnew files before and after +upgrading. (And if you have selinux enabled then remember to check +security context if you move config files around.) + +Now is a good time to remove packages you don't use - especially +non-standard packages. + +[[do-the-upgrade]] +4. Do the upgrade +^^^^^^^^^^^^^^^^^ + +If you have 3rd party repositories configured, you may need to adjust +them for the new Fedora version. If you switch from one Fedora release +to another there is often nothing that needs to be done. If you switch +to Rawhide from a standard Fedora release (or vice versa) then most of +the time you will need to install the Rawhide release RPMs from the 3rd +party repository as well (or the standard ones, if switching back). + +Note that the upgrade is likely to fail if there are outdated +dependencies from packages not backed by a dnf repository or backed by a +repository which isn't ready for the new version. + +It is a good idea to do the upgrade outside the graphical environment. +Log out of your graphical desktop and then + +[[fedora-upgrade]] +fedora-upgrade +++++++++++++++ + +A small script named fedora-upgrade is available which aims to automate +the process outlined below. To run it, do the following + +.... +$ sudo dnf install fedora-upgrade +$ sudo fedora-upgrade +.... + +When performing upgrade via remote shell, it is good idea to use screen +or tmux utility to be able to get back to running transaction in case +your connection drops. + +Alternatively, follow the manual steps: + +[[go-to-a-text-console]] +Go to a text console +++++++++++++++++++++ + +.... +ctrl + alt + F2 +.... + +(or) + +log in as root, and go into multi-user.target + +.... +systemctl isolate multi-user.target +.... + +[[fully-update-your-current-fedora-install]] +Fully update your current Fedora install +++++++++++++++++++++++++++++++++++++++++ + +.... +# dnf upgrade +.... + +[[install-the-package-signing-key-for-the-release-you-are-upgrading-to]] +Install the package signing key for the release you are upgrading to +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +If you are upgrading across two releases or fewer from Fedora 20 or +later, this step should be unnecessary. If you are upgrading from an +older Fedora or upgrading across three or more releases, you may need to +import the signing key for the target release. + +If it turns out not to be, you should be able to import keys like so: + +.... + # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-23-x86_64 +.... + +, replacing "23" and "x86_64" with the new Fedora version and your +architecture, respectively. + +You can also find package signing keys for currently-supported releases +https://getfedora.org/keys/[here]. Keys for EOL releases can be found +https://getfedora.org/keys/obsolete.html[here]. Click _Primary_ (or +_Secondary_, if you are using a secondary architecture), and you will +see _Get it from: Fedora Project_, where _Fedora Project_ is a link. +Copy that URL, and run: + +.... + # rpm --import (url) +.... + +to install the key. On old releases, may have trouble doing this; if +that happens, download the file with or and import the downloaded file. + +[[clean-the-cache]] +Clean the cache ++++++++++++++++ + +Then remove all traces of the version you are leaving from the dnf cache +in `/var/cache/dnf`. + +.... +# dnf clean all +.... + +[[upgrade-all-packages]] +Upgrade all packages +++++++++++++++++++++ + +Run the upgrade command: + +.... +# dnf --releasever= --setopt=deltarpm=false distro-sync +.... + +[[make-sure-fedora-is-upgraded]] +5. Make sure Fedora is upgraded +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Distro-sync will usually take care of upgrades for the third party +repositories you have enabled as well. Confirm with after the upgrade +process is over. `dnf` might complain about conflicts or requirements. +That is probably because you have used non-standard repositories or +installed non-standard packages manually. Try to guess which packages +cause the problem (or at least is a part of the dependency chain) - +uninstall them and try again. Remember to install the packages again if +they are essential. + +Ensure that all (new) essential packages from the new version are +installed with + +.... +# dnf groupupdate 'Minimal Install' +.... + +You might want to update other groups too, see + +.... +# dnf grouplist +.... + +For example + +.... +# dnf groupupdate "GNOME Desktop" \ + "Development Tools" "Sound and Video" \ + "Games and Entertainment" "Administration Tools" \ + "Office/Productivity" "System Tools" +.... + +[[preparing-for-reboot]] +6. Preparing for reboot +^^^^^^^^^^^^^^^^^^^^^^^ + +Before booting you should usually install the bootloader from your new +grub by running + +.... +/usr/sbin/grub2-install BOOTDEVICE +.... + +- where BOOTDEVICE is often , or for some virtual machine installs. If +you have more than one hard disk, make sure you use the correct device! + +If you get an error (e.g. ) from that, then try ). + +It might also be necessary to update the grub config file: + +.... +cp --backup=numbered -a /boot/grub2/grub.cfg{,.bak} # create backup copy +/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg # update config file +.... + +[[cleanup-your-system]] +7. Cleanup your system +^^^^^^^^^^^^^^^^^^^^^^ + +Again, cleanup your system as described in section 2. Also you might +want to remove some cache files that are no longer used, for example +files from older Fedora releases in the following directories: + +* /var/cache/dnf +* /var/cache/mock +* /var/lib/mock + +[[release-specific-notes]] +Release specific notes +~~~~~~~~~~~~~~~~~~~~~~ + +Note: the release-specific notes for link:End_of_life[End of life] +releases are on the +link:Upgrading_from_EOL_Fedora_using_package_manager[EOL packager +manager upgrade page]. + +[[from-pre-release]] +From pre-release +^^^^^^^^^^^^^^^^ + +If you are upgrading to a final release from an Alpha, Beta, or release +candidate, please see link:Upgrading_from_pre-release_to_final[Upgrading +from pre-release to final]. + +[[to-rawhide]] +To Rawhide +^^^^^^^^^^ + +See the link:Releases/Rawhide[Rawhide] release page for more information +on Rawhide. + +.... +# dnf upgrade +# dnf install dnf-plugins-core fedora-repos-rawhide +# dnf config-manager --set-disabled fedora updates updates-testing +# dnf config-manager --set-enabled rawhide +# dnf clean -q dbcache packages metadata +# dnf --releasever=rawhide --setopt=deltarpm=false distro-sync --nogpgcheck + +## Optional: it is generally advised to do a selinux autorelabel and reboot +# touch /.autorelabel +.... + +[[fedora-25]] +Fedora 25 +^^^^^^^^^ + +No special instructions. Follow the above instructions. + +[[fedora-24]] +Fedora 24 +^^^^^^^^^ + +No special instructions. Follow the above instructions. + +[[upgrading-from-legacy-end-of-life-eol-fedora-releases]] +Upgrading from legacy end of life (EOL) Fedora releases +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Note that Fedora strongly recommends against ever running an end-of-life +release on any production system, or any system connected to the public +internet, in any circumstances. You should never allow a production +Fedora deployment to reach end-of-life in the first place. + +With that in mind, if you do have an end-of-life release installed on a +system you cannot just discard or re-deploy, you can attempt to upgrade +it, though this is a less-tested and less-supported operation. + +For detailed instructions on upgrades from EOL releases, please read +link:Upgrading_from_EOL_Fedora_using_package_manager[Upgrading from EOL +Fedora using package manager]. + +Category:FAQ Category:How_to[Category:How to] Category:Documentation +''' + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs. diff --git a/modules/ROOT/pages/upgrading.adoc b/modules/ROOT/pages/upgrading.adoc new file mode 100644 index 0000000..ddd25e5 --- /dev/null +++ b/modules/ROOT/pages/upgrading.adoc @@ -0,0 +1,84 @@ +[[ch-Upgrading]] += Upgrading to a new release of Fedora + +[IMPORTANT] +==== + +. Be sure to *back-up your data* before upgrading your Fedora system in the event something breaks and leaves your system unusable. +. Read the link:++https://fedoraproject.org/wiki/Releases#Current_Supported_Releases++[Release +Notes] carefully before attempting an upgrade. + +==== + + +[[sect-upgrading-to-the-next-fedora-workstation-release]] +== Upgrading to the next Fedora Workstation release + +As of Fedora Workstation 23, when the next stable release is available a graphical notification will appear similar to the update notifications. +Clicking this, or running the _Software_ application and going to the _Updates_ pane, will display a simple graphical interface for upgrading the system. +It will download the upgrade files, then prompt for a reboot to install them, similar to a system update. +When the upgrade is complete, the system will automatically reboot into the new release. + +image:Upgradef24f25-gs.png[Upgradef24f25-gs.png,title="Upgradef24f25-gs.png",width=640] + +[[sect-upgrading-using-the-dnf-system-upgrade-plugin]] +== Upgrading using the DNF System Upgrade plugin + +This method is used to upgrade Fedora Workstation from the command-line. +It is also used to troubleshoot issues with packages preventing the graphical method from upgrading. + +For instructions on upgrading with the DNF system upgrade plugin, refer to the link:++dnf-system-upgrade.html++[DNF System Upgrade Quick Doc]. + +[[sect-upgrading-the-fedora-atomic-host-via-rpm-ostree]] +== Upgrading the Fedora Atomic Host via rpm-ostree + +For instructions on upgrading Fedora Atomic Host installations between Fedora releases, refer to the link:++atomic-host-upgrade.html++[Atomic Host Upgrade Quick Doc]. + +[[sect-can-i-upgrade-between-fedora-releases-using-only-dnf]] +== Can I upgrade between Fedora releases using only DNF? + +Upgrading between Fedora releases without the link:++dnf_system_upgrade.html++[DNF system upgrade plugin] is not tested by the Fedora QA team. +Any issues using this method are not considered blockers for a release but in practice works for many users. + +[[sect-can-i-update-from-a-pre-release-alpha-beta-or-other-development-snapshot-to-the-final-release]] +== Can I update from a pre-release (Alpha, Beta, or other development snapshot) to the final release? + +If you are using a pre-release of Fedora, and want to know more about upgrading to the final release, refer to the +link:++https://fedoraproject.org/wiki/Upgrading_from_pre-release_to_final++[Upgrading from pre-release to final] page. +This is technically not an 'upgrade' operation, but an update. +There are some special considerations involved in making sure you stay on the update track you intend to use, which are documented on that page. + +[[sect-how-do-i-upgrade-to-rawhide-and-branched]] +== How do I upgrade to Rawhide and Branched? + +link:++https://fedoraproject.org/wiki/Releases/Rawhide++[Rawhide] and link:++https://fedoraproject.org/wiki/Releases/Branched++[Branched] are the development releases of Fedora. +They are suitable for users developing or testing Fedora before public release. +They are *NOT SUITABLE* for regular day-to-day use unless you are a fairly experienced user, and certainly not suitable for mission-critical use. +You should read through those pages carefully before deciding to run Branched or Rawhide. +See the link:++fedora-life-cycle.html++[Fedora Life Cycle Quick Doc] for more information on how the whole Fedora cycle works from Rawhide, to Branched, to the milestone releases (Alpha and Beta), to a 'final' release. + +Upgrading to a Branched release or to Rawhide can be done with the link:++dnf_system_upgrade.html++[DNF system upgrade plugin]. +Carefully read this page as there are some special notes to ensure a successful upgrade. + +[[sect-can-i-upgrade-using-the-fedora-installer-anaconda]] +== Can I upgrade using the Fedora installer (anaconda)? + +Fedora releases up to Fedora 17 included upgrade functionality in the Fedora installer, anaconda. +This can be a better choice than a package manager upgrade for some End Of Life (EOL) upgrades. +If you are attempting to upgrade from Fedora 16 or older, it is highly recommended to upgrade to Fedora 16 and perform an installer upgrade from Fedora 16 to Fedora 17 before upgrading any further. + +To upgrade using the installer, boot the system from a network install or DVD image for the target release, and run through the initial steps of the install process. +After you select storage devices the installer should offer you the option to upgrade the installed system. + +[IMPORTANT] +==== + +If your installation is located on a 'specialized' storage device, be sure to configure and select it. + +==== + +[[sect-upgrading-from-end-of-life-releases]] +== Can I upgrade from an End Of Life (EOL) release? + +Fedora strongly discourages running an end-of-life release on any production system, or any system connected to the public internet. +For more information, see the link:++dnf_system_upgrade.html++[DNF System Upgrade Quick Doc]. diff --git a/modules/ROOT/pages/using-aide.adoc b/modules/ROOT/pages/using-aide.adoc new file mode 100644 index 0000000..be1866e --- /dev/null +++ b/modules/ROOT/pages/using-aide.adoc @@ -0,0 +1,97 @@ +[id='sec-Using-AIDE'] += Checking Integrity With *AIDE* + +Advanced Intrusion Detection Environment (AIDE) is a utility that creates a database of files on the system, and then uses that database to ensure file integrity and detect system intrusions. + +== Installing *AIDE* + +. To install the _aide_ package: ++ +---- +$ sudo dnf install aide +---- +. To generate an initial database: ++ +---- +$ sudo aide --init +Start timestamp: 2018-07-11 12:35:47 +0200 (AIDE 0.16) +AIDE initialized database at /var/lib/aide/aide.db.new.gz + +Number of entries: 150666 + +--------------------------------------------------- +The attributes of the (uncompressed) database(s): +--------------------------------------------------- + +/var/lib/aide/aide.db.new.gz + MD5 : 0isjEPsCORFk7laoGGz8tQ== + SHA1 : j0aPLakWChM+TAuxfVIpy9nqBOE= + RMD160 : nYyyx0AGZj4e5rwcz77afasXFrw= + TIGER : IBVo5A2A4En1kM6zDjD/MnlkN4QWeSOw + SHA256 : YveypaI9c5PJNvPSZf8YFfjCMWfGUA8q + vyqLpLJWY0E= + SHA512 : TiUYmHYflS3A+j17qw5mW78Fn2yXLpCF + 1LE1/RhiqqtMn1MjkKDrr+3TE+/vWfa4 + 7253cDhNmC6hoFndkS67Xw== + + +End timestamp: 2018-07-11 12:37:35 +0200 (run time: 1m 48s) +---- ++ +NOTE: In the default configuration, the *aide --init* command checks just a set of directories and files defined in the `/etc/aide.conf` file. To include additional directories or files in the AIDE database, and to change their watched parameters, edit `/etc/aide.conf` accordingly. + +. To start using the database, remove the `.new` substring from the initial database file name: ++ +---- +$ sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz +---- + +. To change the location of the *AIDE* database, edit the `/etc/aide.conf` file and modify the `DBDIR` value. For additional security, store the database, configuration, and the `/usr/sbin/aide` binary file in a secure location such as a read-only media. ++ +IMPORTANT: To avoid SELinux denials after the AIDE database location change, update your SELinux policy accordingly. See the link:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/[SELinux User's and Administrator's Guide] for more information. + +== Performing Integrity Checks + +To initiate a manual check: +---- +$ sudo aide --check +Start timestamp: 2018-07-11 12:41:20 +0200 (AIDE 0.16) +AIDE found differences between database and filesystem!! + +Summary: + Total number of entries: 150667 + Added entries: 1 + Removed entries: 0 + Changed entries: 2 + +--------------------------------------------------- +Added entries: +--------------------------------------------------- + +f++++++++++++++++: /etc/cups/subscriptions.conf.O +... +[output truncated] +---- + +At a minimum, *AIDE* should be configured to run a weekly scan. At most, *AIDE* should be run daily. For example, to schedule a daily execution of AIDE at _04:05_ a.m. using the *cron* command, see the link:https://docs.fedoraproject.org/f27/system-administrators-guide/monitoring-and-automation/Automating_System_Tasks.html[Automating System Tasks] chapter in the System Administration Guide. + +Add the following line to the `/etc/crontab` file: +---- + 05 4 * * * root /usr/sbin/aide --check +---- + +== Updating an *AIDE* Database + +After verifying the changes of your system such as, package updates or configuration files adjustments, update your baseline *AIDE* database: +---- +$ sudo aide --update +---- +The *aide --update* command creates the `/var/lib/aide/aide.db.new.gz` database file. To start using it for integrity checks, remove the `.new` substring from the file name. + +== Additional Resources + +For additional information on *AIDE*, see the following documentation: + + - link:https://static.open-scap.org/ssg-guides/ssg-sl7-guide-ospp-rhel7-server.html#xccdf_org.ssgproject.content_group_aide[Guide to the Secure Configuration of Red Hat Enterprise Linux 7 (OpenSCAP Security Guide): Verify Integrity with AIDE] + + - link:http://aide.sourceforge.net/stable/manual.html[The AIDE manual] diff --git a/modules/ROOT/pages/using-nested-virtualization-in-kvm.adoc b/modules/ROOT/pages/using-nested-virtualization-in-kvm.adoc new file mode 100644 index 0000000..bec5114 --- /dev/null +++ b/modules/ROOT/pages/using-nested-virtualization-in-kvm.adoc @@ -0,0 +1,16 @@ += How to enable nested virtualization in KVM + +Learn how to run a virtual machine within a virtual machine. + +include::{partialsdir}/proc_enabling-nested-virtualization-in-kvm.adoc[leveloffset=+1] + +include::{partialsdir}/proc_configuring-nested-virtualization-in-virt-manager.adoc[leveloffset=+1] + +include::{partialsdir}/proc_testing-nested-virtualization.adoc[leveloffset=+1] + + +== Additional resources + +* https://bugzilla.redhat.com/show_bug.cgi?id=1055002 +* http://kashyapc.wordpress.com/2012/01/14/nested-virtualization-with-kvm-intel/ +* https://kashyapc.wordpress.com/2012/01/18/nested-virtualization-with-kvm-and-amd/ diff --git a/modules/ROOT/pages/using-shared-system-certificates.adoc b/modules/ROOT/pages/using-shared-system-certificates.adoc new file mode 100644 index 0000000..c862e2f --- /dev/null +++ b/modules/ROOT/pages/using-shared-system-certificates.adoc @@ -0,0 +1,19 @@ +[[using-shared-system-certificates]] += Using Shared System Certificates + +The Shared System Certificates storage enables NSS, GnuTLS, OpenSSL, and Java to share a default source for retrieving system certificate anchors and black list information. By default, the trust store contains the Mozilla CA list, including positive and negative trust. The system allows updating of the core Mozilla CA list or choosing another certificate list. + +include::{partialsdir}/con_using-the-system-wide-trust-store.adoc[leveloffset=+1] + +include::{partialsdir}/proc_adding-new-certificates.adoc[leveloffset=+1] + +include::{partialsdir}/proc_managing-trusted-system-certificates.adoc[leveloffset=+1] + + +[[shared-system-certificates-additional-resources]] +== Additional Resources + +For more information, see the following man pages: + +* `update-ca-trust(8)` +* `trust(1)` diff --git a/modules/ROOT/pages/viewing-logs.adoc b/modules/ROOT/pages/viewing-logs.adoc new file mode 100644 index 0000000..3d46ec5 --- /dev/null +++ b/modules/ROOT/pages/viewing-logs.adoc @@ -0,0 +1,8 @@ + +:md: en-US/modules + +include::{partialsdir}/con_viewing-logs.adoc[leveloffset=+1] + +include::{partialsdir}/proc_log-files-command-line.adoc[leveloffset=+1] + +include::{partialsdir}/proc_log-files-GUI.adoc[leveloffset=+1] diff --git a/modules/ROOT/pages/wine.adoc b/modules/ROOT/pages/wine.adoc new file mode 100644 index 0000000..10b5fdc --- /dev/null +++ b/modules/ROOT/pages/wine.adoc @@ -0,0 +1,185 @@ += Wine + + + +http://winehq.org/[Wine] is an open source implementation of the Windows +API on top of X and OpenGL. + +Wine emulates the Windows runtime environment by translating Windows system calls +into POSIX-compliant system calls, recreating the directory structure of Windows systems, +and providing alternative implementations of Windows system libraries, +system services through https://wiki.winehq.org/Wineserver[wineserver] +and various other components such as Internet Explorer, the Windows Registry Editor, and msiexec. + +Packages +~~~~~~~~ + +Fedora's Wine packages are split up to allow for smaller installations. +The `wine` meta package will bring with it the most important components +of Wine. Expert users may want to pick specific components from the list +below: + +[cols=",",] +|======================================================================= +|*name* |''' summary ''' + +|_wine_ |Meta package + +|_wine-alsa_ |ALSA sound support for wine + +|_wine-arial-fonts_ |Arial fonts provided by wine-staging + +|_wine-capi_ |ISDN support for wine + +|_wine-cms_ |Color Management for wine + +|_wine-common_ |Common wine files and scripts + +|_wine-core_ |Wine core package + +|_wine-courier-fonts_ |Wine Courier font family + +|_wine-desktop_ |Desktop integration features + +|_wine-devel_ |Wine development environment + +|_wine-filesystem_ |Filesystem directories and basic configuration for +wine + +|_wine-fixedsys-fonts_ |Wine Fixedsys font family + +|_wine-fonts_ |Wine font meta package + +|_wine-ldap_ |LDAP support for wine + +|_wine-marlett-fonts_ |Wine Marlett font family + +|_wine-ms-sans-serif-fonts_ |Wine MS Sans Serif font family + +|_wine-openal_ |OpenAL sound support for wine + +|_wine-opencl_ |OpenCL support for wine + +|_wine-pulseaudio_ |PulseAudio support for wine + +|_wine-small-fonts_ |Wine Small font family + +|_wine-symbol-fonts_ |Wine Symbol font family + +|_wine-systemd_ |systemd configuration for the wine binfmt handler + +|_wine-system-fonts_ |Wine System font family + +|_wine-sysvinit_ |SysV initscript for the wine binfmt handler + +|_wine-tahoma-fonts_ |Wine Tahoma font family + +|_wine-tahoma-fonts-system_ |Wine Tahoma font family system integration + +|_wine-twain_ |Twain (image scanning) support for wine + +|_wine-wingdings-fonts_ |Wine Wingdings font family + +|_wine-wingdings-fonts-system_ |Wine Wingdings font family system +integration +|======================================================================= + +Additional documentation is provided via the ''wine-docs '' package. + +[[available-versions]] +Available versions +~~~~~~~~~~~~~~~~~~ + +Fedora applies fixes and features from the *wine-staging* project. EPEL +packages do not use wine-staging patches. + +*Current versions of Wine in Fedora:* + +[cols=",",] +|================= +|Fedora 28 |3.4 +|Fedora 27 |3.4 +|Fedora 26 |3.4 +|EPEL 7 |3.0 +|================= + +Newer versions may be available in the corresponding `updates-testing` +repositories. + +[[testing-versions]] +Testing Versions +~~~~~~~~~~~~~~~~ + +[cols=",",] +|================= +|Fedora 28 |3.5 +|Fedora 27 |3.5 +|Fedora 26 |3.5 +|================= + +[[bugs-and-problems]] +Bugs and problems +~~~~~~~~~~~~~~~~~ + +Before reporting bugs against Wine please make sure your system is fully +up to date. + +.... +dnf update +.... + +Also check if a newer version is available in updates-testing. + +.... +dnf --enablerepo=updates-testing update wine +.... + +If you are using the proprietary graphics drivers please remove them +from your system and try again, as they are known to cause problems. + +When debugging Wine, your goal is to determine if the issue is one of +_code functionality_ or _packaging in Fedora_. + +Check the http://appdb.winehq.org[Wine Application Database] to see if +your application is supported, or if there are known issues that match +yours. Anything that falls into this category is a bug in upstream code +functionality. + +The next step is to see if the problem persists with a clean ~/.wine +folder. To try this without losing your old configuration: + +.... +mv ~/.wine ~/.wine-save +.... + +Afterwards try to trigger the bug again. Your original wine folder can +be restored with: + +.... +rm -fr ~/.wine; mv ~/.wine-save ~/.wine +.... + +If your application still does not work but has been working in a +previous version of wine it is probably a regression. Consider filling a +bug in the upstream https://bugs.wine-staging.com/[Wine-staging bug +tracking system]. + +IMPORTANT: Do not file bugs in the Winehq.org bugzilla unless told to do so. + + +If you really think that your bug is Fedora-related, file a bug against +the Wine component in https://bugzilla.redhat.com[Fedora's bug tracking +system]. + +[[updates-testing]] +Updates-Testing +~~~~~~~~~~~~~~~ + +If you use the version of wine in the updates-testing repository then +please log into https://bodhi.fedoraproject.org/updates/?packages=wine[bodhi] and +comment on the build, including any problems that may be in the +packaging, naming, or elsewhere. The build needs positive karma to be +pushed to the updates repository. + +See a typo, something missing or out of date, or anything else which can be +improved? Edit this document at https://pagure.io/fedora-docs/quick-docs[Pagure]. diff --git a/preview.sh b/preview.sh new file mode 100755 index 0000000..acab783 --- /dev/null +++ b/preview.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ "$(uname)" == "Darwin" ]; then + # Running on macOS. + # Let's assume that the user has the Docker CE installed + # which doesn't require a root password. + echo "The preview will be available at http://localhost:8080/" + docker run --rm -v $(pwd)/public:/usr/share/nginx/html:ro -p 8080:80 nginx + +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then + # Running on Linux. + # Let's assume that it's running the Docker deamon + # which requires root. + echo "" + echo "This build script is using Docker to run the build in an isolated environment. You might be asked for a root password in order to start it." + echo "The preview will be available at http://localhost:8080/" + sudo docker run --rm -v $(pwd)/public:/usr/share/nginx/html:ro -p 8080:80 nginx +fi diff --git a/site.yml b/site.yml new file mode 100644 index 0000000..7472e1d --- /dev/null +++ b/site.yml @@ -0,0 +1,20 @@ +site: + title: Local Preview + start_page: quick-docs::index +content: + sources: + - url: . + branches: HEAD +ui: + bundle: + url: https://asamalik.fedorapeople.org/ui-bundle.zip + snapshot: true + default_layout: with_menu +output: + clean: true + dir: ./public + destinations: + - provider: archive +runtime: + pull: true + cache_dir: ./cache