Merge branch 'master' into 'master'
# Conflicts: # _topic_map.yml
This commit is contained in:
commit
8558c2051e
49 changed files with 3091 additions and 664 deletions
|
@ -20,8 +20,6 @@ Topics:
|
|||
File: chromium
|
||||
- Name: (FIX ME!) Configuring Sudo
|
||||
File: configure-sudo
|
||||
- Name: (FIX ME!) How to create and use a Live CD
|
||||
File: create-and-use-livecd
|
||||
- Name: (FIX ME!) How to create an RPM package
|
||||
File: create-an-rpm
|
||||
- Name: (FIX ME!) Creating GPG Keys
|
||||
|
@ -60,14 +58,24 @@ Topics:
|
|||
File: jdk
|
||||
- Name: (FIX ME!) Kernel
|
||||
File: kernel
|
||||
- Name: (FIX ME!) FedoraLiveCD
|
||||
File: livecd
|
||||
- Name: (FIX ME!) How to create and use Live USB
|
||||
File: live-usb
|
||||
- Name: Downloading Fedora
|
||||
File: /modules/proc_downloading-fedora
|
||||
- Name: How to create and use Live USB
|
||||
File: /modules/proc_create-and-use-liveusb
|
||||
- Name: Booting from USB sticks
|
||||
File: /modules/proc_booting-from-usb-sticks
|
||||
- Name: Troubleshooting a live USB
|
||||
File: /modules/proc_troubleshooting-live-usb
|
||||
- Name: How to create and use a live CD
|
||||
File: /modules/proc_create-and-use-livecd
|
||||
- Name: (FIX ME!) Mirroring
|
||||
File: mirroring
|
||||
- Name: (FIX ME!) How to enable nested virtualization in KVM
|
||||
File: nested-virt-in-kvm
|
||||
- Name: Enabling nested virtualization in KVM
|
||||
File: /modules/proc_enabling-nested-virtualization-in-kvm
|
||||
- Name: Configuration nested virtualization in virt-manager
|
||||
File: /modules/proc_configuration-nested-virtualization-in-virt-manager
|
||||
- Name: Testing nested virtualization
|
||||
File: /modules/proc_testing-nested-virtualization
|
||||
- Name: (FIX ME!) CLI
|
||||
File: networking-cli
|
||||
- Name: (FIX ME!) OpenH264
|
||||
|
|
11
en-US/adding-new-fonts-fedora.adoc
Normal file
11
en-US/adding-new-fonts-fedora.adoc
Normal file
|
@ -0,0 +1,11 @@
|
|||
:experimental:
|
||||
:md: ./modules
|
||||
|
||||
[[adding-new-fonts-fedora]]
|
||||
= Adding new fonts in Fedora
|
||||
|
||||
The default installation of the Fedora Linux (Fedora) includes several basic fonts that are probably all you need for the common life. However, if you plan to use your Fedora as a graphic station for typesetting, processing and designing purposes, these fonts will probably not be enough. In that situation, you want to add new fonts to your system.
|
||||
|
||||
include::{md}/proc_adding-new-fonts-as-superuser.adoc[leveloffset=+1]
|
||||
|
||||
include::{md}/proc_adding-new-fonts-as-user.adoc[leveloffset=+1]
|
675
en-US/adding-new-fonts-fedora.html
Normal file
675
en-US/adding-new-fonts-fedora.html
Normal file
|
@ -0,0 +1,675 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="generator" content="Asciidoctor 1.5.6.1">
|
||||
<title>Adding new fonts in Fedora.</title>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
|
||||
<style>
|
||||
/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
|
||||
/* Remove comment around @import statement below when using as a custom stylesheet */
|
||||
/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
|
||||
audio,canvas,video{display:inline-block}
|
||||
audio:not([controls]){display:none;height:0}
|
||||
[hidden],template{display:none}
|
||||
script{display:none!important}
|
||||
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
|
||||
a{background:transparent}
|
||||
a:focus{outline:thin dotted}
|
||||
a:active,a:hover{outline:0}
|
||||
h1{font-size:2em;margin:.67em 0}
|
||||
abbr[title]{border-bottom:1px dotted}
|
||||
b,strong{font-weight:bold}
|
||||
dfn{font-style:italic}
|
||||
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
|
||||
mark{background:#ff0;color:#000}
|
||||
code,kbd,pre,samp{font-family:monospace;font-size:1em}
|
||||
pre{white-space:pre-wrap}
|
||||
q{quotes:"\201C" "\201D" "\2018" "\2019"}
|
||||
small{font-size:80%}
|
||||
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
|
||||
sup{top:-.5em}
|
||||
sub{bottom:-.25em}
|
||||
img{border:0}
|
||||
svg:not(:root){overflow:hidden}
|
||||
figure{margin:0}
|
||||
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
|
||||
legend{border:0;padding:0}
|
||||
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
|
||||
button,input{line-height:normal}
|
||||
button,select{text-transform:none}
|
||||
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
|
||||
button[disabled],html input[disabled]{cursor:default}
|
||||
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
|
||||
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
|
||||
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
|
||||
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
|
||||
textarea{overflow:auto;vertical-align:top}
|
||||
table{border-collapse:collapse;border-spacing:0}
|
||||
*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
|
||||
html,body{font-size:100%}
|
||||
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
|
||||
a:hover{cursor:pointer}
|
||||
img,object,embed{max-width:100%;height:auto}
|
||||
object,embed{height:100%}
|
||||
img{-ms-interpolation-mode:bicubic}
|
||||
.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}
|
||||
img,object,svg{display:inline-block;vertical-align:middle}
|
||||
textarea{height:auto;min-height:50px}
|
||||
select{width:100%}
|
||||
.center{margin-left:auto;margin-right:auto}
|
||||
.spread{width:100%}
|
||||
p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
|
||||
.subheader,.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.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
|
||||
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
|
||||
a{color:#2156a5;text-decoration:underline;line-height:inherit}
|
||||
a:hover,a:focus{color:#1d4b8f}
|
||||
a img{border:none}
|
||||
p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
|
||||
p aside{font-size:.875em;line-height:1.35;font-style:italic}
|
||||
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
|
||||
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
|
||||
h1{font-size:2.125em}
|
||||
h2{font-size:1.6875em}
|
||||
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
|
||||
h4,h5{font-size:1.125em}
|
||||
h6{font-size:1em}
|
||||
hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
|
||||
em,i{font-style:italic;line-height:inherit}
|
||||
strong,b{font-weight:bold;line-height:inherit}
|
||||
small{font-size:60%;line-height:inherit}
|
||||
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
|
||||
ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
|
||||
ul,ol{margin-left:1.5em}
|
||||
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
|
||||
ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
|
||||
ul.square{list-style-type:square}
|
||||
ul.circle{list-style-type:circle}
|
||||
ul.disc{list-style-type:disc}
|
||||
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
|
||||
dl dt{margin-bottom:.3125em;font-weight:bold}
|
||||
dl dd{margin-bottom:1.25em}
|
||||
abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
|
||||
abbr{text-transform:none}
|
||||
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
|
||||
blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
|
||||
blockquote cite:before{content:"\2014 \0020"}
|
||||
blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
|
||||
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
|
||||
@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
|
||||
h1{font-size:2.75em}
|
||||
h2{font-size:2.3125em}
|
||||
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
|
||||
h4{font-size:1.4375em}}
|
||||
table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
|
||||
table thead,table tfoot{background:#f7f8f7;font-weight:bold}
|
||||
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
|
||||
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
|
||||
table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
|
||||
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}
|
||||
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
|
||||
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
|
||||
.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:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}
|
||||
*:not(pre)>code.nobreak{word-wrap:normal}
|
||||
*:not(pre)>code.nowrap{white-space:nowrap}
|
||||
pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
|
||||
em em{font-style:normal}
|
||||
strong strong{font-weight:400}
|
||||
.keyseq{color:rgba(51,51,51,.8)}
|
||||
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
|
||||
.keyseq kbd:first-child{margin-left:0}
|
||||
.keyseq kbd:last-child{margin-right:0}
|
||||
.menuseq,.menuref{color:#000}
|
||||
.menuseq b:not(.caret),.menuref{font-weight:inherit}
|
||||
.menuseq{word-spacing:-.02em}
|
||||
.menuseq b.caret{font-size:1.25em;line-height:.8}
|
||||
.menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
|
||||
b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
|
||||
b.button:before{content:"[";padding:0 3px 0 2px}
|
||||
b.button:after{content:"]";padding:0 2px 0 3px}
|
||||
p a>code:hover{color:rgba(0,0,0,.9)}
|
||||
#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:.9375em;padding-right:.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{margin-top:1.25em}
|
||||
#content:before{content:none}
|
||||
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
|
||||
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
|
||||
#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
|
||||
#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
|
||||
#header .details span:first-child{margin-left:-.125em}
|
||||
#header .details span.email a{color:rgba(0,0,0,.85)}
|
||||
#header .details br{display:none}
|
||||
#header .details br+span:before{content:"\00a0\2013\00a0"}
|
||||
#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
|
||||
#header .details br+span#revremark:before{content:"\00a0|\00a0"}
|
||||
#header #revnumber{text-transform:capitalize}
|
||||
#header #revnumber:after{content:"\00a0"}
|
||||
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
|
||||
#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
|
||||
#toc>ul{margin-left:.125em}
|
||||
#toc ul.sectlevel0>li>a{font-style:italic}
|
||||
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
|
||||
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
|
||||
#toc li{line-height:1.3334;margin-top:.3334em}
|
||||
#toc a{text-decoration:none}
|
||||
#toc a:active{text-decoration:underline}
|
||||
#toctitle{color:#7a2518;font-size:1.2em}
|
||||
@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
|
||||
body.toc2{padding-left:15em;padding-right:0}
|
||||
#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
|
||||
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
|
||||
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
|
||||
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
|
||||
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
|
||||
body.toc2.toc-right{padding-left:0;padding-right:15em}
|
||||
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;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:.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:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
|
||||
#content #toc>:first-child{margin-top:0}
|
||||
#content #toc>:last-child{margin-bottom:0}
|
||||
#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
|
||||
#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
|
||||
.sect1{padding-bottom:.625em}
|
||||
@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
|
||||
.sect1+.sect1{border-top:1px solid #efefed}
|
||||
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
|
||||
#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
|
||||
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>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}
|
||||
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
|
||||
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
|
||||
.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
|
||||
.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;font-size:1rem;font-style:italic}
|
||||
table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
|
||||
.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
|
||||
table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
|
||||
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
|
||||
.admonitionblock>table td.icon{text-align:center;width:80px}
|
||||
.admonitionblock>table td.icon img{max-width:initial}
|
||||
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
|
||||
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
|
||||
.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:#fff;-webkit-border-radius:4px;border-radius:4px}
|
||||
.exampleblock>.content>:first-child{margin-top:0}
|
||||
.exampleblock>.content>:last-child{margin-bottom:0}
|
||||
.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
|
||||
.sidebarblock>:first-child{margin-top:0}
|
||||
.sidebarblock>:last-child{margin-bottom:0}
|
||||
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
|
||||
.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,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
|
||||
.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
|
||||
.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
|
||||
.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
|
||||
@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
|
||||
@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
|
||||
.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
|
||||
.listingblock pre.highlightjs{padding:0}
|
||||
.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
|
||||
.listingblock pre.prettyprint{border-width:0}
|
||||
.listingblock>.content{position:relative}
|
||||
.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
|
||||
.listingblock:hover code[data-lang]:before{display:block}
|
||||
.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
|
||||
.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
|
||||
table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
|
||||
table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
|
||||
table.pyhltable td.code{padding-left:.75em;padding-right:0}
|
||||
pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
|
||||
pre.pygments .lineno{display:inline-block;margin-right:.25em}
|
||||
table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
|
||||
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
|
||||
.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
|
||||
.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
|
||||
.quoteblock blockquote{margin:0;padding:0;border:0}
|
||||
.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
|
||||
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
|
||||
.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
|
||||
.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
|
||||
.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
|
||||
.quoteblock .quoteblock blockquote:before{display:none}
|
||||
.verseblock{margin:0 1em 1.25em 1em}
|
||||
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
|
||||
.verseblock pre strong{font-weight:400}
|
||||
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
|
||||
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
|
||||
.quoteblock .attribution br,.verseblock .attribution br{display:none}
|
||||
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
|
||||
.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
|
||||
.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
|
||||
.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
|
||||
table.tableblock{max-width:100%;border-collapse:separate}
|
||||
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.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
|
||||
table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0}
|
||||
table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}
|
||||
table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}
|
||||
table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px 0}
|
||||
table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0 0}
|
||||
table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}
|
||||
table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width: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:#f7f8f7}
|
||||
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
|
||||
p.tableblock>code:only-child{background:none;padding:0}
|
||||
p.tableblock{font-size:1em}
|
||||
td>div.verse{white-space:pre}
|
||||
ol{margin-left:1.75em}
|
||||
ul li ol{margin-left:1.5em}
|
||||
dl dd{margin-left:1.125em}
|
||||
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
|
||||
ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
|
||||
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
|
||||
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
|
||||
ul.unstyled,ol.unstyled{margin-left:0}
|
||||
ul.checklist{margin-left:.625em}
|
||||
ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
|
||||
ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em}
|
||||
ul.inline{margin:0 auto .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:400;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,td.hdlist2{vertical-align:top;padding:0 .625em}
|
||||
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
|
||||
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
|
||||
.colist>table tr>td:first-of-type{padding:.4em .75em 0 .75em;line-height:1;vertical-align:top}
|
||||
.colist>table tr>td:first-of-type img{max-width:initial}
|
||||
.colist>table tr>td:last-of-type{padding:.25em 0}
|
||||
.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
|
||||
.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
|
||||
.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
|
||||
.imageblock>.title{margin-bottom:0}
|
||||
.imageblock.thumb,.imageblock.th{border-width:6px}
|
||||
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
|
||||
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
|
||||
.image.left{margin-right:.625em}
|
||||
.image.right{margin-left:.625em}
|
||||
a.image{text-decoration:none;display:inline-block}
|
||||
a.image object{pointer-events:none}
|
||||
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
|
||||
sup.footnote a,sup.footnoteref a{text-decoration:none}
|
||||
sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
|
||||
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
|
||||
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
|
||||
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;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:-.625em;margin-bottom:0;padding:.75em 0}
|
||||
.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
|
||||
.gist .file-data>table td.line-data{width:99%}
|
||||
div.unbreakable{page-break-inside:avoid}
|
||||
.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:#000}
|
||||
.black-background{background-color:#000}
|
||||
.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}
|
||||
a span.icon>.fa{cursor:inherit}
|
||||
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
|
||||
.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
|
||||
.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
|
||||
.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
|
||||
.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
|
||||
.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
|
||||
.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
|
||||
.conum[data-value] *{color:#fff!important}
|
||||
.conum[data-value]+b{display:none}
|
||||
.conum[data-value]:after{content:attr(data-value)}
|
||||
pre .conum[data-value]{position:relative;top:-.125em}
|
||||
b.conum *{color:inherit!important}
|
||||
.conum:not([data-value]):empty{display:none}
|
||||
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
|
||||
h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
|
||||
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
|
||||
p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
|
||||
p{margin-bottom:1.25rem}
|
||||
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
|
||||
.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
|
||||
.print-only{display:none!important}
|
||||
@media print{@page{margin:1.25cm .75cm}
|
||||
*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
|
||||
a{color:inherit!important;text-decoration:underline!important}
|
||||
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
|
||||
a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
|
||||
abbr[title]:after{content:" (" attr(title) ")"}
|
||||
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
|
||||
thead{display:table-header-group}
|
||||
svg{max-width:100%}
|
||||
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
|
||||
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
|
||||
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
|
||||
#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
|
||||
.sect1{padding-bottom:0!important}
|
||||
.sect1+.sect1{border:0!important}
|
||||
#header>h1:first-child{margin-top:1.25rem}
|
||||
body.book #header{text-align:center}
|
||||
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
|
||||
body.book #header .details{border:0!important;display:block;padding:0!important}
|
||||
body.book #header .details span:first-child{margin-left:0!important}
|
||||
body.book #header .details br{display:block}
|
||||
body.book #header .details br+span:before{content:none!important}
|
||||
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
|
||||
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
|
||||
.listingblock code[data-lang]:before{display:block}
|
||||
#footer{background:none!important;padding:0 .9375em}
|
||||
#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
|
||||
.hide-on-print{display:none!important}
|
||||
.print-only{display:block!important}
|
||||
.hide-for-print{display:none!important}
|
||||
.show-for-print{display:inherit!important}}
|
||||
</style>
|
||||
</head>
|
||||
<body id="adding-new-fonts-fedora" class="article">
|
||||
<div id="header">
|
||||
<h1>Adding new fonts in Fedora.</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div id="preamble">
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph">
|
||||
<p>The default installation of the Fedora Linux (Fedora) includes several basic fonts that are probably all you need for the common life. However, if you plan to use your Fedora as a graphic station for typesetting, processing and designing purposes, these fonts will probably not be enough. In that situation, you want to add new fonts to your system.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="adding-new-fonts-as-superuser">Adding new fonts as the superuser</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph">
|
||||
<p>System fonts are available to all system users. If you need to add system fonts, you have two ways to do it:</p>
|
||||
</div>
|
||||
<div class="olist arabic">
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>You can use the <code>dnf</code> package manager to install font packages,</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>or you can manually add fonts to the system and update the font cache to make them available to the users.</p>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="admonitionblock warning">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<div class="title">Warning</div>
|
||||
</td>
|
||||
<td class="content">
|
||||
<div class="paragraph">
|
||||
<p>By adding systemwide fonts manually, 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.</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="installing-new-fonts-with-dnf">Installing new fonts with <code>dnf</code></h3>
|
||||
<div class="paragraph">
|
||||
<p>Whenever you can add new fonts by installing a font package with the <code>dnf</code> package manager, you should do so. This method gives you enough control over the font package in the future, such as updating the package and removing it from the system.</p>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>To install a font package with <code>dnf</code>:</p>
|
||||
</div>
|
||||
<div class="ulist">
|
||||
<div class="title">Before you start</div>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Add and enable repositories with font packages.</p>
|
||||
<div class="admonitionblock note">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<div class="title">Note</div>
|
||||
</td>
|
||||
<td class="content">
|
||||
<div class="paragraph">
|
||||
<p>A lot of fonts are available from the RPMfusion repository. To enable the repository on your system, follow the instructions on <a href="https://rpmfusion.org/Configuration">the RPMfusion webpage</a>.</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="olist arabic">
|
||||
<div class="title">Procedure</div>
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>List all available font packages from enabled repositories.</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>$ sudo dnf search fonts</pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Install the package you need.</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>$ sudo dnf install libreoffice-opensymbol-fonts.noarch</pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="ulist">
|
||||
<div class="title">More information</div>
|
||||
<ul>
|
||||
<li>
|
||||
<p>The <code>dnf search fonts</code> command lists all available font packages, as well as a their descriptions.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="installing-new-fonts-manually">Installing new fonts manually</h3>
|
||||
<div class="paragraph">
|
||||
<p>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.</p>
|
||||
</div>
|
||||
<div class="olist arabic">
|
||||
<div class="title">Procedure</div>
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Create a new directory in the system’s font directory <code>/usr/share/fonts</code>, where you will place the font files.</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>$ sudo mkdir /usr/share/fonts/robofont</pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Copy the font file to the font’s directory created in the previous step.</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>$ sudo cp ~/fonts/robofont.ttf /usr/share/fonts/robofont</pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update the font cache.</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>$ sudo fc-cache -v</pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="adding-new-fonts-as-user">Adding new fonts as a user</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph">
|
||||
<p>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.</p>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="adding-new-local-fonts-with-gfv">Adding new local fonts with the <strong>Gnome Font Viewer</strong></h3>
|
||||
<div class="paragraph">
|
||||
<p>The <strong>Gnome Font Viewer</strong> is an application to display the fonts installed on the system. Besides that, it also allows you to locally install fonts. To add a new font file with <strong>Gnome Font Viewer</strong>:</p>
|
||||
</div>
|
||||
<div class="ulist">
|
||||
<div class="title">Before you start</div>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Make sure you have installed the <code>gnome-font-viewer</code> package.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="olist arabic">
|
||||
<div class="title">Procedure</div>
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>Open a file manager.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Double-click on a font file to open it in the <strong>Gnome Font Viewer</strong>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Click on the blue <b class="button">Install</b> button on the top bar.</p>
|
||||
<div class="admonitionblock note">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<div class="title">Note</div>
|
||||
</td>
|
||||
<td class="content">
|
||||
<div class="paragraph">
|
||||
<p>Currently, there is a bug in the application. When you click on the <b class="button">Install</b> button, it does not inform you back about the result of the operation, but the font is already installed.</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="ulist">
|
||||
<div class="title">More information</div>
|
||||
<ul>
|
||||
<li>
|
||||
<p><strong>Gnome Font Viewer</strong> copies the font files to a font directory in the current user’s directory <code>.local/share/fonts</code> and updates the font cache.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect2">
|
||||
<h3 id="adding-new-local-fonts-manually">Adding new local fonts manually</h3>
|
||||
<div class="paragraph">
|
||||
<p>If you do not want to use any tools to add new fonts, you can do it manually. You have to copy the font files in the <code>.fonts</code> directory placed in the user’s directory and update the font cache.</p>
|
||||
</div>
|
||||
<div class="ulist">
|
||||
<div class="title">Before you start</div>
|
||||
<ul>
|
||||
<li>
|
||||
<p>If it does not exist, create a <code>.fonts</code> directory in your user’s home directory.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="olist arabic">
|
||||
<div class="title">Procedure</div>
|
||||
<ol class="arabic">
|
||||
<li>
|
||||
<p>In the <code>.local/share/fonts</code> directory, create a new directory to place your fonts files.</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>$ mkdir ~/.local/share/fonts/robofont</pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Copy the font file in the newly created directory.</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>$ cp robofont.ttf ~/.local/share/fonts/robofont</pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Update the font cache.</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>$ fc-cache -v</pre>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2017-12-14 14:43:21 CET
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1000,16 +1000,14 @@ insmod lvm</pre>
|
|||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Study the output for the partition table of the <code>/dev/sda</code> device. It may look similar to the following example on a dos partition table with three partitons.
|
||||
will look something like this:</p>
|
||||
<p>Examine the output to understand the partition table of the <code>/dev/sda</code> device. The following example shows a DOS partition table with three partitions:</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>or similar to this output on a gpt partition table of the <code>/dev/sda</code> device with four
|
||||
partitions.</p>
|
||||
<p>A GPT partition table of the <code>/dev/sda</code> device with four partitions could look like this:</p>
|
||||
</div>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
|
@ -1025,7 +1023,7 @@ partitions.</p>
|
|||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>The outcome of the previous command will list the files on <code>/dev/sda1</code>. If this partition contains the <code>/boot</code> directory, it will show the full name of <code>vmlinuz</code> and <code>initramfs</code>.</p>
|
||||
<p>The outcome of the previous command will list the files on <code>/dev/sda1</code>. The partition that contains the <code>/boot</code> directory is the correct one. There you will search for the full names of the <code>vmlinuz</code> and <code>initramfs</code> files.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -1035,6 +1033,9 @@ partitions.</p>
|
|||
<pre>grub> set root=(hd0,3)</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="paragraph">
|
||||
<p>This command tells the bootloader, that the root partition is the third partition on the first drive. This would correspond to the <code>/dev/sda3</code> device.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<p>Set the desired kernel.</p>
|
||||
|
@ -1273,7 +1274,7 @@ improved? Edit this document at <a href="https://pagure.io/fedora-docs/quick-doc
|
|||
</div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2017-12-13 11:39:02 CET
|
||||
Last updated 2017-12-14 09:44:46 CET
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -1,75 +1,29 @@
|
|||
= Configuring Sudo
|
||||
= Configuring sudo
|
||||
|
||||
'''
|
||||
include::{md}/concept-what-is-sudo.adoc[leveloffset=+1]
|
||||
|
||||
[IMPORTANT]
|
||||
======
|
||||
= How to use sudo
|
||||
|
||||
This page was automatically converted from https://fedoraproject.org/wiki/Configuring_Sudo
|
||||
include::{md}/concept-using-sudo-assign-admin-privileges.adoc[leveloffset=+1]
|
||||
|
||||
It is probably
|
||||
include::{md}/procedure-using-same-password-for-root-as-user.adoc[leveloffset=+1]
|
||||
|
||||
* Badly formatted
|
||||
* Missing graphics and tables that do not convert well from mediawiki
|
||||
* Out-of-date
|
||||
* In need of other love
|
||||
include::{md}/concept-logging-sudo-commands.adoc[leveloffset=+1]
|
||||
|
||||
Please fix it, remove this notice, and then add to `_topic_map.yml`
|
||||
[[concept-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.
|
||||
|
||||
Pull requests accepted at https://pagure.io/fedora-docs/quick-docs
|
||||
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.
|
||||
|
||||
Once that is live, go to the original wiki page and add an `{{old}}`
|
||||
tag, followed by a note like
|
||||
include::{md}/concept-sudo-timeout.adoc[leveloffset=+1]
|
||||
|
||||
....
|
||||
{{admon/note|This page has a new home!|
|
||||
This wiki page is no longer maintained. Please find the up-to-date
|
||||
version at: https://docs.fedoraproject.org/whatever-the-url
|
||||
}}
|
||||
....
|
||||
include::{md}/concept-using-sudo-access-docker.adoc[leveloffset=+1]
|
||||
|
||||
======
|
||||
include::{md}/procedure-run-docker-using-sudo.adoc[leveloffset=+1]
|
||||
|
||||
'''
|
||||
include::{md}/concept-using-sudo-without-password.adoc[leveloffset=+1]
|
||||
|
||||
|
||||
Fedora users should use a regular user account for regular day to day
|
||||
activities and a root account only for system administration. Use the
|
||||
personal account you created following the installation process, at
|
||||
first boot, for daily use. Use the root account only for administration
|
||||
of your system.
|
||||
|
||||
To run as root use the or commands. Avoid using root for any
|
||||
non-administration usage, since the root account makes it easy to create
|
||||
security or data risks. If you frequently use a single user desktop, you
|
||||
may find it convenient to configure 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
|
||||
later, or to add a different user, follow this procedure:
|
||||
|
||||
1. Become the root user using the command. Enter the password for the
|
||||
root account when prompted.
|
||||
+
|
||||
....
|
||||
su -
|
||||
....
|
||||
2. Run this command, using your user account name in the place of
|
||||
"sampleusername":
|
||||
+
|
||||
....
|
||||
usermod sampleusername -a -G wheel
|
||||
....
|
||||
+
|
||||
You must now log off and back on in order to have access to the wheel
|
||||
group. Note that when prompts you for a password, it expects your user
|
||||
password, not root's.
|
||||
|
||||
[[reference]]
|
||||
Reference
|
||||
~~~~~~~~~
|
||||
|
||||
http://fedorasolved.org/post-install-solutions/sudo
|
||||
'''
|
||||
|
||||
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.
|
||||
|
|
482
en-US/grub2.adoc
482
en-US/grub2.adoc
|
@ -1,482 +0,0 @@
|
|||
= GRUB 2
|
||||
|
||||
'''
|
||||
|
||||
[IMPORTANT]
|
||||
======
|
||||
|
||||
This page was automatically converted from https://fedoraproject.org/wiki/GRUB_2
|
||||
|
||||
It is probably
|
||||
|
||||
* Badly formatted
|
||||
* Missing graphics and tables that do not convert well from mediawiki
|
||||
* Out-of-date
|
||||
* In need of other love
|
||||
|
||||
Please fix it, remove this notice, and then add to `_topic_map.yml`
|
||||
|
||||
Pull requests accepted at https://pagure.io/fedora-docs/quick-docs
|
||||
|
||||
Once that is live, go to the original wiki page and add an `{{old}}`
|
||||
tag, followed by a note like
|
||||
|
||||
....
|
||||
{{admon/note|This page has a new home!|
|
||||
This wiki page is no longer maintained. Please find the up-to-date
|
||||
version at: https://docs.fedoraproject.org/whatever-the-url
|
||||
}}
|
||||
....
|
||||
|
||||
======
|
||||
|
||||
'''
|
||||
|
||||
|
||||
[[introduction]]
|
||||
Introduction
|
||||
------------
|
||||
|
||||
GRUB 2 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, (Linux, in the case of Fedora). The kernel, in
|
||||
turn, initializes the rest of the operating system.
|
||||
|
||||
GRUB 2 has replaced what was formerly known as GRUB (i.e. version 0.9x),
|
||||
which has, in turn, become GRUB Legacy.
|
||||
|
||||
Starting with Fedora 16, GRUB 2 is the default bootloader on x86 BIOS
|
||||
systems. For upgrades of BIOS systems the default is also to install
|
||||
GRUB 2, but you can opt to skip bootloader configuration entirely.
|
||||
|
||||
[[tasks-common-issues]]
|
||||
Tasks / Common issues
|
||||
---------------------
|
||||
|
||||
[[updating-grub-2-configuration-on-bios-systems]]
|
||||
Updating GRUB 2 configuration on BIOS systems
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The grub2 packages contain commands for installing a bootloader and for
|
||||
creating a bootloader configuration file.
|
||||
|
||||
grub2-install will install the bootloader - usually in the MBR, in free
|
||||
unpartioned space, and as files in /boot. The bootloader is installed
|
||||
with something like:
|
||||
|
||||
....
|
||||
grub2-install /dev/sda
|
||||
....
|
||||
|
||||
grub2-mkconfig will create a new configuration based on the currently
|
||||
running system, what is found in /boot, what is set in
|
||||
/etc/default/grub, and the customizable scripts in /etc/grub.d/ . A new
|
||||
configuration file is created with:
|
||||
|
||||
....
|
||||
grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
....
|
||||
|
||||
The configuration format has evolved over time, and a new configuration
|
||||
file might be slightly incompatible with the old bootloader. It is
|
||||
therefore a good idea to first run grub2-install whenever you would need
|
||||
to run grub2-mkconfig.
|
||||
|
||||
The Fedora installer, anaconda, will run these grub2 commands and there
|
||||
is usually no reason to run them manually.
|
||||
|
||||
It is generally safe to directly edit /boot/grub2/grub.cfg in Fedora.
|
||||
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. (Other distributions, in particular Debian and Debian-derived
|
||||
distributions provide a software patch that adds an command which is
|
||||
neither included nor needed in Fedora.) Manual changes might however be
|
||||
overwritten with grub2-mkconfig next time the system is upgraded with
|
||||
anaconda. Some customizations can be placed in /etc/grub.d/40_custom or
|
||||
/boot/grub2/custom.cfg and will survive running grub2-mkconfig.
|
||||
|
||||
[[updating-grub-2-configuration-on-uefi-systems]]
|
||||
Updating GRUB 2 configuration on UEFI systems
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To install or fix GRUB 2 on a UEFI system on Fedora 18 or newer, you
|
||||
need to do four things:
|
||||
|
||||
[[create-an-esp]]
|
||||
Create an ESP
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
UEFI firmware, in general, likes to boot from an EFI System Partition on
|
||||
a disk with a GPT label. In `gdisk`, it looks something like this:
|
||||
|
||||
....
|
||||
Number Start (sector) End (sector) Size Code Name
|
||||
1 2048 264191 128.0 MiB EF00 EFI System
|
||||
....
|
||||
|
||||
That partition should be formatted as FAT. If in doubt, FAT32 is a good
|
||||
dialect of FAT to choose.
|
||||
|
||||
Fedora expects this partition to be mounted at `/boot/efi`.
|
||||
|
||||
[[install-the-bootloader-files]]
|
||||
Install the bootloader files
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If you don't already have the relevant packages installed, do for Fedora
|
||||
22 and later versions with link:dnf[DNF] or with YUM for older Fedora
|
||||
releases:
|
||||
|
||||
....
|
||||
dnf install grub2-efi grub2-efi-modules shim
|
||||
yum install grub2-efi grub2-efi-modules shim
|
||||
....
|
||||
|
||||
If you do, then try:
|
||||
|
||||
....
|
||||
dnf reinstall grub2-efi grub2-efi-modules shim
|
||||
yum reinstall grub2-efi grub2-efi-modules shim
|
||||
....
|
||||
|
||||
instead.
|
||||
|
||||
Make sure that /boot/efi is mounted when you do this.
|
||||
|
||||
This installs the signed shim and the GRUB 2 binary.
|
||||
|
||||
[[create-a-grub-2-configuration]]
|
||||
Create a GRUB 2 configuration
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Under EFI, GRUB 2 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 (i.e. `/boot/efi/EFI/fedora/grub.cfg`).
|
||||
|
||||
If you already have a grub 2 EFI config file, you should be okay. If
|
||||
not, grub2-mkconfig can help, but your mileage may vary.
|
||||
|
||||
` grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg`
|
||||
|
||||
[[create-a-boot-menu-entry]]
|
||||
Create a boot menu entry
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
TL;DR: This should happen automatically. If it doesn't, read on.
|
||||
|
||||
When you power on your system, your firmware will look for EFI variables
|
||||
that tell it how to boot. If you're already booted in EFI mode and EFI
|
||||
runtime services are working correctly, you can configure your boot menu
|
||||
with `efibootmgr`. If not, you'll have to bootstrap the process.
|
||||
|
||||
Fortunately, `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, *if such
|
||||
entries do not already appear to exist*. `shim` provides a `BOOT.CSV`
|
||||
file that will add an entry for `grub2-efi` for you. So just using the
|
||||
EFI Shell to invoke `fallback.efi` should do the trick. You can do this
|
||||
with commands like:
|
||||
|
||||
....
|
||||
> fs0:
|
||||
> cd EFI\BOOT
|
||||
> fallback.efi
|
||||
....
|
||||
|
||||
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.
|
||||
|
||||
[[adding-other-operating-systems-to-the-grub-2-menu]]
|
||||
Adding Other operating systems to the GRUB 2 menu
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
grub2-mkconfig will add entries for other operating systems it can find.
|
||||
That will be done based on the output of the os-prober tool.
|
||||
|
||||
That might however not work so well, especially not for booting other
|
||||
Linux operating systems, and especially not on UEFI systems. See
|
||||
http://www.gnu.org/software/grub/manual/grub.html#Multi_002dboot-manual-config
|
||||
.
|
||||
|
||||
[[setting-default-entry]]
|
||||
Setting default entry
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Due to `grub2-mkconfig` (and os-prober) we cannot predict the order of
|
||||
the entries in `/boot/grub2/grub.cfg`, so we set the default by
|
||||
name/title instead.
|
||||
|
||||
Open `/etc/default/grub` and ensure this line exists:
|
||||
|
||||
....
|
||||
GRUB_DEFAULT=saved
|
||||
....
|
||||
|
||||
and ensure this line not exists:
|
||||
|
||||
....
|
||||
GRUB_SAVEDEFAULT=true
|
||||
....
|
||||
|
||||
or ensure this line exists:
|
||||
|
||||
....
|
||||
GRUB_SAVEDEFAULT=false
|
||||
....
|
||||
|
||||
Apply the change to `grub.cfg` by running:
|
||||
|
||||
....
|
||||
grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
....
|
||||
|
||||
Now list all possible menu entries
|
||||
|
||||
....
|
||||
grep -P "submenu|^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
|
||||
....
|
||||
|
||||
Now set the desired default menu entry
|
||||
|
||||
....
|
||||
grub2-set-default "<submenu title><menu entry title>"
|
||||
....
|
||||
|
||||
Verify the default menu entry
|
||||
|
||||
....
|
||||
grub2-editenv list
|
||||
....
|
||||
|
||||
If you understand the risks involved and still want to directly modify
|
||||
/boot/grub2/grub.cfg, here's how you can do it:
|
||||
|
||||
Edit /boot/grub2/grub.cfg, and change the line
|
||||
|
||||
....
|
||||
set default="0"
|
||||
....
|
||||
|
||||
to
|
||||
|
||||
....
|
||||
set default="5"
|
||||
....
|
||||
|
||||
[[encountering-the-dreaded-grub-2-boot-prompt]]
|
||||
Encountering the dreaded GRUB 2 boot prompt
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If improperly configured, GRUB 2 may fail to load and subsequently drop
|
||||
to a boot prompt. To address this issue, proceed as follows:
|
||||
|
||||
\0. Load the XFS and LVM modules
|
||||
|
||||
....
|
||||
insmod xfs
|
||||
insmod lvm
|
||||
....
|
||||
|
||||
\1. List the drives which GRUB 2 sees:
|
||||
|
||||
....
|
||||
grub2> ls
|
||||
....
|
||||
|
||||
\2. The output for a dos partition table /dev/sda with three partitons
|
||||
will look something like this:
|
||||
|
||||
....
|
||||
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
|
||||
....
|
||||
|
||||
\3. While the output for a gpt partition table /dev/sda with four
|
||||
partitions will look something like this:
|
||||
|
||||
....
|
||||
(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
|
||||
....
|
||||
|
||||
\4. With this information you can now probe each partition of the drive
|
||||
and locate your vmlinuz and initramfs files:
|
||||
|
||||
....
|
||||
ls (hd0,1)/
|
||||
....
|
||||
|
||||
Will list the files on /dev/sda1. If this partition contains /boot, the
|
||||
output will show the full name of vmlinuz and initramfs.
|
||||
|
||||
\5. Armed with the location and full name of vmlinuz and initramfs you
|
||||
can now boot your system.
|
||||
|
||||
5a. Declare your root partition:
|
||||
|
||||
....
|
||||
grub> set root=(hd0,3)
|
||||
....
|
||||
|
||||
5b. Declare the kernel you wish to use:
|
||||
|
||||
....
|
||||
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 have need of them
|
||||
# NOTE : change the numbers to match your system
|
||||
....
|
||||
|
||||
5c. Declare the initrd to use:
|
||||
|
||||
....
|
||||
|
||||
grub> initrd (hd0,1)/initramfs-3.0.0-1.fc16.i686.img
|
||||
# NOTE : change the numbers to match your system
|
||||
....
|
||||
|
||||
5d. Instruct GRUB 2 to boot the chosen files:
|
||||
|
||||
....
|
||||
grub> boot
|
||||
....
|
||||
|
||||
\6. After boot, open a terminal.
|
||||
|
||||
\7. Issue the grub2-mkconfig command to re-create the grub.cfg file
|
||||
grub2 needed to boot your system:
|
||||
|
||||
....
|
||||
grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
....
|
||||
|
||||
\8. Issue the grub2-install command to install grub2 to your hard drive
|
||||
and make use of your config:
|
||||
|
||||
....
|
||||
grub2-install --boot-directory=/boot /dev/sda
|
||||
# Note: your drive may have another device name. Check for it with mount command output.
|
||||
....
|
||||
|
||||
[[additional-scenario]]
|
||||
Additional Scenario
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
It's also possible to boot into a _configfile_ that's located on another
|
||||
partition. If the user is faced with such a scenario, as is often the
|
||||
case with multi-boot systems containing Ubuntu and Fedora, the following
|
||||
steps in the grub rescue shell might become useful to know:
|
||||
|
||||
....
|
||||
insmod part_msdos
|
||||
insmod xfs
|
||||
insmod lvm
|
||||
set root='hd0,msdos1'
|
||||
configfile /grub2/grub.cfg
|
||||
....
|
||||
|
||||
Where, *hd0,msdos1* is the pertinent _boot_ partition, which holds the
|
||||
grub.cfg file.
|
||||
|
||||
[[other-grub-2-issues]]
|
||||
Other GRUB 2 issues
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
''' Absent Floppy Disk ''': It has been reported by some users that GRUB
|
||||
2 may fail to install on a partition's boot sector if the computer
|
||||
floppy controller is activated in BIOS without an actual floppy disk
|
||||
drive being present. A possible workaround is to run (post OS install)
|
||||
from rescue mode:
|
||||
|
||||
....
|
||||
grub2-install <target device> --no-floppy
|
||||
....
|
||||
|
||||
[[setting-a-password-for-interactive-edit-mode]]
|
||||
Setting a password for interactive edit mode
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you wish to password-protect GRUB2's interactive edit mode *but* you
|
||||
do not want to require users to enter a password to do a plain, simple,
|
||||
ordinary boot, create /etc/grub.d/01_users with the following lines:
|
||||
|
||||
....
|
||||
cat << EOF
|
||||
set superusers="root"
|
||||
export superusers
|
||||
password root secret
|
||||
EOF
|
||||
....
|
||||
|
||||
To apply your changes run:
|
||||
|
||||
....
|
||||
grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
....
|
||||
|
||||
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].
|
||||
|
||||
Starting from atleast Fedora 21, the `--md5pass` kickstart option must
|
||||
be set using output from grub2-mkpasswd-pbkdf2.
|
||||
|
||||
[[using-old-graphics-modes-in-bootloader]]
|
||||
Using old graphics modes in bootloader
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Terminal device is chosen with GRUB_TERMINAL; additional quote from
|
||||
http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration
|
||||
|
||||
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.
|
||||
|
||||
The default in Fedora is gfxterm and to get the legacy graphics modes
|
||||
you need to set GRUB_TERMINAL to right variable from the description
|
||||
above in /etc/default/grub
|
||||
|
||||
[[enable-serial-console-in-grub]]
|
||||
Enable Serial Console in Grub
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To enable Serial console in grub add the following entry's to
|
||||
/etc/default/grub
|
||||
|
||||
( Adjust baudrate/parity/bits/flow control to fit your environment and
|
||||
cables)
|
||||
|
||||
....
|
||||
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"
|
||||
....
|
||||
|
||||
And re-generate grub
|
||||
|
||||
`grub2-mkconfig -o /boot/grub2/grub.cfg`
|
||||
|
||||
[[further-reading]]
|
||||
Further Reading
|
||||
---------------
|
||||
|
||||
* http://www.gnu.org/software/grub/manual/grub.html
|
||||
* Features/Grub2
|
||||
* Anaconda/Features/Grub2Migration
|
||||
'''
|
||||
|
||||
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.
|
33
en-US/installing-software-from-source.adoc
Normal file
33
en-US/installing-software-from-source.adoc
Normal file
|
@ -0,0 +1,33 @@
|
|||
:md: ./modules
|
||||
|
||||
= Installing Software from Source
|
||||
[[installing-software-from-source]]
|
||||
|
||||
The following section contains guidelines and best practices for installing software form source on Fedora.
|
||||
The instructions below are not prescriptive, but following them minimizes the risk of errors occurring during installation.
|
||||
|
||||
// include package management concept
|
||||
include::{md}/concept_fedora-package-management.adoc[leveloffset=2]
|
||||
|
||||
//proc: setting up a development and compilation environment
|
||||
// - this includes installing missing dev packages using DNF
|
||||
include::{md}/proc_setting-up-your-local-dev-and-compilation-environment.adoc[leveloffset=2]
|
||||
|
||||
// proc: downloading the application source code
|
||||
include::{md}/proc_downloading-source-code.adoc[leveloffset=2]
|
||||
|
||||
include::{md}/proc_compiling_your_application_from_source.adoc[leveloffset=2]
|
||||
|
||||
// proc: installing the software using make
|
||||
|
||||
|
||||
////
|
||||
Fedora defaualt install is to /usr/local/
|
||||
|
||||
When make complains about missing devel packages, it is preferable to use dnf to install those packages as opposed to (the way make recommends) compiling those packages.
|
||||
|
||||
|
||||
for troubleshooting red the debug output
|
||||
|
||||
Development Tools dnf group
|
||||
////
|
0
en-US/modules/con_qemu_libvirt.adoc
Normal file
0
en-US/modules/con_qemu_libvirt.adoc
Normal file
20
en-US/modules/concept-logging-sudo-commands.adoc
Normal file
20
en-US/modules/concept-logging-sudo-commands.adoc
Normal file
|
@ -0,0 +1,20 @@
|
|||
[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 command run.
|
||||
|
||||
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:
|
||||
|
||||
----
|
||||
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.
|
13
en-US/modules/concept-sudo-timeout.adoc
Normal file
13
en-US/modules/concept-sudo-timeout.adoc
Normal file
|
@ -0,0 +1,13 @@
|
|||
[[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:
|
||||
|
||||
------------
|
||||
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.
|
8
en-US/modules/concept-using-sudo-access-docker.adoc
Normal file
8
en-US/modules/concept-using-sudo-access-docker.adoc
Normal file
|
@ -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.
|
|
@ -0,0 +1,24 @@
|
|||
[id="concept-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:
|
||||
|
||||
----
|
||||
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:
|
||||
|
||||
----
|
||||
%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.
|
12
en-US/modules/concept-using-sudo-without-password.adoc
Normal file
12
en-US/modules/concept-using-sudo-without-password.adoc
Normal file
|
@ -0,0 +1,12 @@
|
|||
[[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:
|
||||
|
||||
------------
|
||||
_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 *sudo* with a password.
|
11
en-US/modules/concept-what-is-sudo.adoc
Normal file
11
en-US/modules/concept-what-is-sudo.adoc
Normal file
|
@ -0,0 +1,11 @@
|
|||
[id=”concept-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:
|
||||
----
|
||||
sudo COMMAND
|
||||
----
|
||||
Replace _COMMAND_ with the command to run as the root user.
|
25
en-US/modules/concept_chromium-web-browser.adoc
Normal file
25
en-US/modules/concept_chromium-web-browser.adoc
Normal file
|
@ -0,0 +1,25 @@
|
|||
[id='chromium-web-browser']
|
||||
= Chromium Web Browser
|
||||
|
||||
Chromium is the upstream project for Google Chrome.
|
||||
|
||||
As of August 2016, Chromium is now 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 https://www.google.com/chrome/
|
||||
|
||||
The given link also includes downloadable RPMs that you can use to
|
||||
install Chrome.
|
||||
|
||||
|
12
en-US/modules/concept_fedora-package-management.adoc
Normal file
12
en-US/modules/concept_fedora-package-management.adoc
Normal file
|
@ -0,0 +1,12 @@
|
|||
[[package-management-system]]
|
||||
= Package management system
|
||||
|
||||
Fedora is a distribution that uses a package management system. This
|
||||
system is based on the http://rpm.org[RPM Package Manager], with
|
||||
several higher-level tools built on top of it, most notably
|
||||
https://www.freedesktop.org/software/PackageKit/[PackageKit] (the default
|
||||
GUI package management tool) and the 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.
|
14
en-US/modules/concept_third-party-repositories.adoc
Normal file
14
en-US/modules/concept_third-party-repositories.adoc
Normal file
|
@ -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.
|
||||
|
466
en-US/modules/concept_third-party-repositories.html
Normal file
466
en-US/modules/concept_third-party-repositories.html
Normal file
|
@ -0,0 +1,466 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="generator" content="Asciidoctor 1.5.6.1">
|
||||
<title>Third party repositories</title>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
|
||||
<style>
|
||||
/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
|
||||
/* Remove comment around @import statement below when using as a custom stylesheet */
|
||||
/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
|
||||
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
|
||||
audio,canvas,video{display:inline-block}
|
||||
audio:not([controls]){display:none;height:0}
|
||||
[hidden],template{display:none}
|
||||
script{display:none!important}
|
||||
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
|
||||
a{background:transparent}
|
||||
a:focus{outline:thin dotted}
|
||||
a:active,a:hover{outline:0}
|
||||
h1{font-size:2em;margin:.67em 0}
|
||||
abbr[title]{border-bottom:1px dotted}
|
||||
b,strong{font-weight:bold}
|
||||
dfn{font-style:italic}
|
||||
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
|
||||
mark{background:#ff0;color:#000}
|
||||
code,kbd,pre,samp{font-family:monospace;font-size:1em}
|
||||
pre{white-space:pre-wrap}
|
||||
q{quotes:"\201C" "\201D" "\2018" "\2019"}
|
||||
small{font-size:80%}
|
||||
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
|
||||
sup{top:-.5em}
|
||||
sub{bottom:-.25em}
|
||||
img{border:0}
|
||||
svg:not(:root){overflow:hidden}
|
||||
figure{margin:0}
|
||||
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
|
||||
legend{border:0;padding:0}
|
||||
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
|
||||
button,input{line-height:normal}
|
||||
button,select{text-transform:none}
|
||||
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
|
||||
button[disabled],html input[disabled]{cursor:default}
|
||||
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
|
||||
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
|
||||
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
|
||||
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
|
||||
textarea{overflow:auto;vertical-align:top}
|
||||
table{border-collapse:collapse;border-spacing:0}
|
||||
*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
|
||||
html,body{font-size:100%}
|
||||
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;tab-size:4;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
|
||||
a:hover{cursor:pointer}
|
||||
img,object,embed{max-width:100%;height:auto}
|
||||
object,embed{height:100%}
|
||||
img{-ms-interpolation-mode:bicubic}
|
||||
.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}
|
||||
img,object,svg{display:inline-block;vertical-align:middle}
|
||||
textarea{height:auto;min-height:50px}
|
||||
select{width:100%}
|
||||
.center{margin-left:auto;margin-right:auto}
|
||||
.spread{width:100%}
|
||||
p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
|
||||
.subheader,.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.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
|
||||
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
|
||||
a{color:#2156a5;text-decoration:underline;line-height:inherit}
|
||||
a:hover,a:focus{color:#1d4b8f}
|
||||
a img{border:none}
|
||||
p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
|
||||
p aside{font-size:.875em;line-height:1.35;font-style:italic}
|
||||
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
|
||||
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
|
||||
h1{font-size:2.125em}
|
||||
h2{font-size:1.6875em}
|
||||
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
|
||||
h4,h5{font-size:1.125em}
|
||||
h6{font-size:1em}
|
||||
hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
|
||||
em,i{font-style:italic;line-height:inherit}
|
||||
strong,b{font-weight:bold;line-height:inherit}
|
||||
small{font-size:60%;line-height:inherit}
|
||||
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
|
||||
ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
|
||||
ul,ol{margin-left:1.5em}
|
||||
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
|
||||
ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
|
||||
ul.square{list-style-type:square}
|
||||
ul.circle{list-style-type:circle}
|
||||
ul.disc{list-style-type:disc}
|
||||
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
|
||||
dl dt{margin-bottom:.3125em;font-weight:bold}
|
||||
dl dd{margin-bottom:1.25em}
|
||||
abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
|
||||
abbr{text-transform:none}
|
||||
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
|
||||
blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
|
||||
blockquote cite:before{content:"\2014 \0020"}
|
||||
blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
|
||||
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
|
||||
@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
|
||||
h1{font-size:2.75em}
|
||||
h2{font-size:2.3125em}
|
||||
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
|
||||
h4{font-size:1.4375em}}
|
||||
table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
|
||||
table thead,table tfoot{background:#f7f8f7;font-weight:bold}
|
||||
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
|
||||
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
|
||||
table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
|
||||
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}
|
||||
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
|
||||
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
|
||||
.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:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word}
|
||||
*:not(pre)>code.nobreak{word-wrap:normal}
|
||||
*:not(pre)>code.nowrap{white-space:nowrap}
|
||||
pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
|
||||
em em{font-style:normal}
|
||||
strong strong{font-weight:400}
|
||||
.keyseq{color:rgba(51,51,51,.8)}
|
||||
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
|
||||
.keyseq kbd:first-child{margin-left:0}
|
||||
.keyseq kbd:last-child{margin-right:0}
|
||||
.menuseq,.menuref{color:#000}
|
||||
.menuseq b:not(.caret),.menuref{font-weight:inherit}
|
||||
.menuseq{word-spacing:-.02em}
|
||||
.menuseq b.caret{font-size:1.25em;line-height:.8}
|
||||
.menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
|
||||
b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
|
||||
b.button:before{content:"[";padding:0 3px 0 2px}
|
||||
b.button:after{content:"]";padding:0 2px 0 3px}
|
||||
p a>code:hover{color:rgba(0,0,0,.9)}
|
||||
#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:.9375em;padding-right:.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{margin-top:1.25em}
|
||||
#content:before{content:none}
|
||||
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
|
||||
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
|
||||
#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
|
||||
#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
|
||||
#header .details span:first-child{margin-left:-.125em}
|
||||
#header .details span.email a{color:rgba(0,0,0,.85)}
|
||||
#header .details br{display:none}
|
||||
#header .details br+span:before{content:"\00a0\2013\00a0"}
|
||||
#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
|
||||
#header .details br+span#revremark:before{content:"\00a0|\00a0"}
|
||||
#header #revnumber{text-transform:capitalize}
|
||||
#header #revnumber:after{content:"\00a0"}
|
||||
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
|
||||
#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
|
||||
#toc>ul{margin-left:.125em}
|
||||
#toc ul.sectlevel0>li>a{font-style:italic}
|
||||
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
|
||||
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
|
||||
#toc li{line-height:1.3334;margin-top:.3334em}
|
||||
#toc a{text-decoration:none}
|
||||
#toc a:active{text-decoration:underline}
|
||||
#toctitle{color:#7a2518;font-size:1.2em}
|
||||
@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
|
||||
body.toc2{padding-left:15em;padding-right:0}
|
||||
#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
|
||||
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
|
||||
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
|
||||
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
|
||||
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
|
||||
body.toc2.toc-right{padding-left:0;padding-right:15em}
|
||||
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;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:.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:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
|
||||
#content #toc>:first-child{margin-top:0}
|
||||
#content #toc>:last-child{margin-bottom:0}
|
||||
#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
|
||||
#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
|
||||
.sect1{padding-bottom:.625em}
|
||||
@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
|
||||
.sect1+.sect1{border-top:1px solid #efefed}
|
||||
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
|
||||
#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
|
||||
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>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}
|
||||
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
|
||||
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
|
||||
.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
|
||||
.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;font-size:1rem;font-style:italic}
|
||||
table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
|
||||
.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
|
||||
table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
|
||||
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
|
||||
.admonitionblock>table td.icon{text-align:center;width:80px}
|
||||
.admonitionblock>table td.icon img{max-width:initial}
|
||||
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
|
||||
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
|
||||
.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:#fff;-webkit-border-radius:4px;border-radius:4px}
|
||||
.exampleblock>.content>:first-child{margin-top:0}
|
||||
.exampleblock>.content>:last-child{margin-bottom:0}
|
||||
.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
|
||||
.sidebarblock>:first-child{margin-top:0}
|
||||
.sidebarblock>:last-child{margin-bottom:0}
|
||||
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
|
||||
.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,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
|
||||
.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
|
||||
.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
|
||||
.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
|
||||
@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
|
||||
@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
|
||||
.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
|
||||
.listingblock pre.highlightjs{padding:0}
|
||||
.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
|
||||
.listingblock pre.prettyprint{border-width:0}
|
||||
.listingblock>.content{position:relative}
|
||||
.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
|
||||
.listingblock:hover code[data-lang]:before{display:block}
|
||||
.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
|
||||
.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
|
||||
table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
|
||||
table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
|
||||
table.pyhltable td.code{padding-left:.75em;padding-right:0}
|
||||
pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
|
||||
pre.pygments .lineno{display:inline-block;margin-right:.25em}
|
||||
table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
|
||||
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
|
||||
.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
|
||||
.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
|
||||
.quoteblock blockquote{margin:0;padding:0;border:0}
|
||||
.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
|
||||
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
|
||||
.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
|
||||
.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
|
||||
.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
|
||||
.quoteblock .quoteblock blockquote:before{display:none}
|
||||
.verseblock{margin:0 1em 1.25em 1em}
|
||||
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
|
||||
.verseblock pre strong{font-weight:400}
|
||||
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
|
||||
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
|
||||
.quoteblock .attribution br,.verseblock .attribution br{display:none}
|
||||
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
|
||||
.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
|
||||
.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
|
||||
.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
|
||||
table.tableblock{max-width:100%;border-collapse:separate}
|
||||
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.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
|
||||
table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0}
|
||||
table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}
|
||||
table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}
|
||||
table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px 0}
|
||||
table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0 0}
|
||||
table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}
|
||||
table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width: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:#f7f8f7}
|
||||
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
|
||||
p.tableblock>code:only-child{background:none;padding:0}
|
||||
p.tableblock{font-size:1em}
|
||||
td>div.verse{white-space:pre}
|
||||
ol{margin-left:1.75em}
|
||||
ul li ol{margin-left:1.5em}
|
||||
dl dd{margin-left:1.125em}
|
||||
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
|
||||
ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
|
||||
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
|
||||
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
|
||||
ul.unstyled,ol.unstyled{margin-left:0}
|
||||
ul.checklist{margin-left:.625em}
|
||||
ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
|
||||
ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em}
|
||||
ul.inline{margin:0 auto .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:400;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,td.hdlist2{vertical-align:top;padding:0 .625em}
|
||||
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
|
||||
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
|
||||
.colist>table tr>td:first-of-type{padding:.4em .75em 0 .75em;line-height:1;vertical-align:top}
|
||||
.colist>table tr>td:first-of-type img{max-width:initial}
|
||||
.colist>table tr>td:last-of-type{padding:.25em 0}
|
||||
.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
|
||||
.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
|
||||
.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
|
||||
.imageblock>.title{margin-bottom:0}
|
||||
.imageblock.thumb,.imageblock.th{border-width:6px}
|
||||
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
|
||||
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
|
||||
.image.left{margin-right:.625em}
|
||||
.image.right{margin-left:.625em}
|
||||
a.image{text-decoration:none;display:inline-block}
|
||||
a.image object{pointer-events:none}
|
||||
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
|
||||
sup.footnote a,sup.footnoteref a{text-decoration:none}
|
||||
sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
|
||||
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
|
||||
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
|
||||
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;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:-.625em;margin-bottom:0;padding:.75em 0}
|
||||
.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
|
||||
.gist .file-data>table td.line-data{width:99%}
|
||||
div.unbreakable{page-break-inside:avoid}
|
||||
.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:#000}
|
||||
.black-background{background-color:#000}
|
||||
.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}
|
||||
a span.icon>.fa{cursor:inherit}
|
||||
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
|
||||
.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
|
||||
.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
|
||||
.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
|
||||
.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
|
||||
.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
|
||||
.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
|
||||
.conum[data-value] *{color:#fff!important}
|
||||
.conum[data-value]+b{display:none}
|
||||
.conum[data-value]:after{content:attr(data-value)}
|
||||
pre .conum[data-value]{position:relative;top:-.125em}
|
||||
b.conum *{color:inherit!important}
|
||||
.conum:not([data-value]):empty{display:none}
|
||||
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
|
||||
h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
|
||||
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
|
||||
p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
|
||||
p{margin-bottom:1.25rem}
|
||||
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
|
||||
.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
|
||||
.print-only{display:none!important}
|
||||
@media print{@page{margin:1.25cm .75cm}
|
||||
*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
|
||||
a{color:inherit!important;text-decoration:underline!important}
|
||||
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
|
||||
a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
|
||||
abbr[title]:after{content:" (" attr(title) ")"}
|
||||
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
|
||||
thead{display:table-header-group}
|
||||
svg{max-width:100%}
|
||||
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
|
||||
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
|
||||
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
|
||||
#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
|
||||
.sect1{padding-bottom:0!important}
|
||||
.sect1+.sect1{border:0!important}
|
||||
#header>h1:first-child{margin-top:1.25rem}
|
||||
body.book #header{text-align:center}
|
||||
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
|
||||
body.book #header .details{border:0!important;display:block;padding:0!important}
|
||||
body.book #header .details span:first-child{margin-left:0!important}
|
||||
body.book #header .details br{display:block}
|
||||
body.book #header .details br+span:before{content:none!important}
|
||||
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
|
||||
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
|
||||
.listingblock code[data-lang]:before{display:block}
|
||||
#footer{background:none!important;padding:0 .9375em}
|
||||
#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
|
||||
.hide-on-print{display:none!important}
|
||||
.print-only{display:block!important}
|
||||
.hide-for-print{display:none!important}
|
||||
.show-for-print{display:inherit!important}}
|
||||
</style>
|
||||
</head>
|
||||
<body id="third-party-repositories" class="article">
|
||||
<div id="header">
|
||||
<h1>Third party repositories</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div id="preamble">
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph">
|
||||
<p>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 <a href="https://rpmfusion.org/FedoraThirdPartyRepos">FedoraThirdPartyRepos</a>
|
||||
The following repositories are commonly used by end users and do not conflict with each other:</p>
|
||||
</div>
|
||||
<div class="ulist">
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="http://rpmfusion.org" class="bare">http://rpmfusion.org</a></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="http://rpm.livna.org" class="bare">http://rpm.livna.org</a> (Complementary to RPM Fusion)</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_mixing_third_party_software_repositories">Mixing third party software repositories</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph">
|
||||
<p>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 <strong>--enablerepo</strong> switch for yum or dnf, or a similar method configurable in the graphical package manager.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2017-12-14 18:16:39 IST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
14
en-US/modules/concept_using-the-system-wide-trust-store.adoc
Normal file
14
en-US/modules/concept_using-the-system-wide-trust-store.adoc
Normal file
|
@ -0,0 +1,14 @@
|
|||
[[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:
|
||||
|
||||
* `/usr/share/pki/ca-trust-source/anchors/` or `/etc/pki/ca-trust/source/anchors/` - for trust anchors.
|
||||
|
||||
* `/usr/share/pki/ca-trust-source/blacklist/` or `/etc/pki/ca-trust/source/blacklist/` - for distrusted certificates.
|
||||
|
||||
* `/usr/share/pki/ca-trust-source/` or `/etc/pki/ca-trust/source/` - for certificates in the extended BEGIN TRUSTED file format.
|
||||
|
||||
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.
|
28
en-US/modules/proc_adding-new-certificates.adoc
Normal file
28
en-US/modules/proc_adding-new-certificates.adoc
Normal file
|
@ -0,0 +1,28 @@
|
|||
[[sec-Adding-New-Certificates]]
|
||||
= Adding New Certificates
|
||||
|
||||
.Before you start
|
||||
|
||||
.Procedure
|
||||
|
||||
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="macros"]
|
||||
----
|
||||
# cp pass:quotes[_~/certificate-trust-examples/Cert-trust-test-ca.pem_] pass:quotes[_/usr/share/pki/ca-trust-source/anchors/_]
|
||||
----
|
||||
|
||||
To update 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 browser's cache or restart your browser to load current system certificates configuration.
|
||||
|
||||
====
|
||||
|
||||
.More information
|
73
en-US/modules/proc_adding-new-fonts-as-superuser.adoc
Normal file
73
en-US/modules/proc_adding-new-fonts-as-superuser.adoc
Normal file
|
@ -0,0 +1,73 @@
|
|||
[[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, you have two ways to do it:
|
||||
|
||||
. You can use the `dnf` package manager to install font packages,
|
||||
. or you can manually add fonts to the system and update the font cache to make them available to the users.
|
||||
|
||||
[WARNING]
|
||||
====
|
||||
By adding systemwide fonts manually, 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 enough 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`:
|
||||
|
||||
.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].
|
||||
====
|
||||
|
||||
.Procedure
|
||||
|
||||
. List all available font packages from enabled repositories.
|
||||
+
|
||||
----
|
||||
$ sudo dnf search fonts
|
||||
----
|
||||
|
||||
. Install the package you need.
|
||||
+
|
||||
----
|
||||
$ sudo dnf install libreoffice-opensymbol-fonts.noarch
|
||||
----
|
||||
|
||||
.More information
|
||||
|
||||
* The `dnf search fonts` command lists all available font packages, as well as a 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.
|
||||
|
||||
.Procedure
|
||||
|
||||
. Create a new directory in the system's font directory `/usr/share/fonts`, where you will place the font files.
|
||||
+
|
||||
----
|
||||
$ sudo mkdir /usr/share/fonts/robofont
|
||||
----
|
||||
|
||||
. Copy the font file to the font's directory created in the previous step.
|
||||
+
|
||||
----
|
||||
$ sudo cp ~/fonts/robofont.ttf /usr/share/fonts/robofont
|
||||
----
|
||||
|
||||
. Update the font cache.
|
||||
+
|
||||
----
|
||||
$ sudo fc-cache -v
|
||||
----
|
||||
|
||||
|
60
en-US/modules/proc_adding-new-fonts-as-user.adoc
Normal file
60
en-US/modules/proc_adding-new-fonts-as-user.adoc
Normal file
|
@ -0,0 +1,60 @@
|
|||
[[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. Besides that, it also allows you to locally install fonts. To add a new font file with *Gnome Font Viewer*:
|
||||
|
||||
.Before you start
|
||||
|
||||
* Make sure you have installed the `gnome-font-viewer` package.
|
||||
|
||||
.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 you back about the result of the operation, but the font is already installed.
|
||||
====
|
||||
|
||||
.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. You have to copy the font files in the `.fonts` directory placed in the user's directory and update the font cache.
|
||||
|
||||
.Before you start
|
||||
|
||||
* If it does not exist, create a `.fonts` directory in your user's home directory.
|
||||
|
||||
|
||||
.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 in the newly created directory.
|
||||
+
|
||||
----
|
||||
$ cp robofont.ttf ~/.local/share/fonts/robofont
|
||||
----
|
||||
|
||||
. Update the font cache.
|
||||
+
|
||||
----
|
||||
$ fc-cache -v
|
||||
----
|
43
en-US/modules/proc_booting-from-usb-sticks.adoc
Normal file
43
en-US/modules/proc_booting-from-usb-sticks.adoc
Normal file
|
@ -0,0 +1,43 @@
|
|||
[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:how-to-create-and-use-a-live-CD[livecd-iso-to-disk] with --efi 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.
|
|
@ -0,0 +1,18 @@
|
|||
[[compiling-your-application-from-source]]
|
||||
= Compiling Your Application
|
||||
|
||||
// Note: It is preferable to use DNF to using source install. 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:
|
||||
+
|
||||
[bash,subs="attributes+"]
|
||||
----
|
||||
cd <your_source_dir>
|
||||
----
|
||||
+
|
||||
. Run the following command to compile and install your application:
|
||||
+
|
||||
[bash,subs="attributes+"]
|
||||
----
|
||||
./configure && make && make install
|
||||
----
|
|
@ -0,0 +1,15 @@
|
|||
= Configuration nested virtualization in virt-manager
|
||||
[[configuration-nested-virtualization-in-virt-manager]]
|
||||
|
||||
Configure your VM to use nested virtualization:
|
||||
|
||||
. Open *virt-manager*, double-click the VM, 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 *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 and just for nested virtualization purposes.
|
||||
. Click Apply.
|
||||
|
168
en-US/modules/proc_create-and-use-livecd.adoc
Normal file
168
en-US/modules/proc_create-and-use-livecd.adoc
Normal file
|
@ -0,0 +1,168 @@
|
|||
[id='how-to-create-and-use-a-live-CD']
|
||||
= How to create and use a live CD
|
||||
|
||||
[[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 link:dnf[DNF] or
|
||||
link:yum[YUM]:
|
||||
|
||||
If you are using `yum`:
|
||||
[options="nowrap"]
|
||||
----
|
||||
su -c 'yum install livecd-tools spin-kickstarts' #Versions prior to Fedora 22
|
||||
----
|
||||
|
||||
If you are using `dnf`:
|
||||
[options="nowrap"]
|
||||
----
|
||||
su -c 'dnf install livecd-tools spin-kickstarts' #Fedora 22 and beyond
|
||||
----
|
||||
|
||||
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 `su -c "dnf install system-config-kickstart"` in Fedora 22 and beyond or `su -c "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:Screenshot_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:how_to_create_and_use_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.
|
174
en-US/modules/proc_create-and-use-liveusb.adoc
Normal file
174
en-US/modules/proc_create-and-use-liveusb.adoc
Normal file
|
@ -0,0 +1,174 @@
|
|||
[id='how_to_create_live_USB']
|
||||
= How to create 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 best tool to create a Fedora USB stick is the https://github.com/MartinBriza/MediaWriter[Fedora Media Writer] utility, which was formerly known as *LiveUSB Creator*. It is available on Fedora. For other Linux distributions, Windows and macOS, this can be done using https://flatpak.org/[Flatpak].
|
||||
|
||||
[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 xref:[livecd-iso-to-disk] utility on Fedora.
|
||||
====
|
||||
|
||||
Fedora Media Writer is graphical and easy to use. It can download recent Fedora images for you as well as writing them to the USB stick.
|
||||
|
||||
On Fedora, you can use a Fedora graphical software installation tool to install the https://apps.fedoraproject.org/packages/mediawriter[mediawriter package], or use the command line:
|
||||
|
||||
[options="nowrap"]
|
||||
----
|
||||
su -c 'dnf install mediawriter'
|
||||
----
|
||||
|
||||
On Windows and macOS, you can download the installer from the https://github.com/MartinBriza/MediaWriter/releases[releases page]. On other Linux distributions, if they support the https://flatpak.org/[Flatpak] application distribution system, you can download a flatpak from the https://github.com/MartinBriza/MediaWriter/releases[releases page].
|
||||
|
||||
To run the tool, look for `Fedora Media Writer` in the system menus. When you start `Fedora Media Writer`, the three dots at the bottom will be flashing while the tool checks for a new Fedora release.
|
||||
|
||||
To write the stick:
|
||||
|
||||
* Choose which Fedora flavor you want to install or try.
|
||||
+
|
||||
On the title screen, you can choose Workstation, Server or your own .iso file. Other choices (including KDE, Cinnamon, Xfce and so on) are under the "..." button at the bottom of the list.
|
||||
|
||||
* Ensure your USB stick is plugged into the system.
|
||||
* Click Create Live USB.
|
||||
* Ensure the right stick is selected.
|
||||
* Click Write to disk and wait for the write to complete.
|
||||
* Once the stick has been written, shut the system down and boot it from the USB stick.
|
||||
|
||||
After writing, your USB stick will have a changed partition layout and some systems may report it to be about 10MB large. To return your USB stick to its factory configuration, insert the drive again while `Fedora Media Writer` is running. The application provides you with an option to restore to the factory layout. This layout includes a single `VFAT` partition.
|
||||
|
||||
[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.
|
||||
|
||||
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 `Package-x-generic-16.pngnautilus` and `Package-x-generic-16.pnggnome-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) for instance, open the *Overview* by pressing the *Start/Super* key, and type Files, then hit 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
|
||||
=== 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: `su -c '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"]
|
||||
----
|
||||
su -c "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"]
|
||||
----
|
||||
su -c "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"]
|
||||
----
|
||||
su -c "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"]
|
||||
----
|
||||
su -c "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"]
|
||||
----
|
||||
su -c "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 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"]
|
||||
----
|
||||
su -c '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
|
||||
|
||||
[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"]
|
||||
----
|
||||
su -c "livecd-iso-to-disk /run/initramfs/livedev /dev/sdX"
|
||||
----
|
||||
|
||||
|
53
en-US/modules/proc_creating_virtual_machines.adoc
Normal file
53
en-US/modules/proc_creating_virtual_machines.adoc
Normal file
|
@ -0,0 +1,53 @@
|
|||
[[creating-a-fedora-guest]]
|
||||
== Creating a Fedora guest
|
||||
|
||||
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. Refer to
|
||||
http://virt-tools.org/learning/install-with-command-line/ for
|
||||
understanding how to use this tool. Execute `virt-install --help` for
|
||||
command line help.
|
||||
|
||||
`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:
|
||||
+
|
||||
----
|
||||
$ su -c "virt-manager"
|
||||
----
|
||||
+
|
||||
[NOTE]
|
||||
====
|
||||
If you encounter an error message when starting Virtual Machine Manager, run the above command as a non-root user, without the `su -c`.
|
||||
The user interface will prompt for the root password.
|
||||
====
|
||||
+
|
||||
. 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.
|
||||
|
||||
|
||||
|
||||
|
13
en-US/modules/proc_downloading-fedora.adoc
Normal file
13
en-US/modules/proc_downloading-fedora.adoc
Normal file
|
@ -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.
|
||||
====
|
24
en-US/modules/proc_downloading-source-code.adoc
Normal file
24
en-US/modules/proc_downloading-source-code.adoc
Normal file
|
@ -0,0 +1,24 @@
|
|||
= Downloading the Source Code
|
||||
|
||||
. Navigate to the directory where you want to save the source:
|
||||
+
|
||||
[bash,subs="attributes+"]
|
||||
----
|
||||
cd <directory_name>
|
||||
----
|
||||
+
|
||||
. Download the TAR file containing the source code you want to install from:
|
||||
+
|
||||
[bash,subs="attributes+"]
|
||||
----
|
||||
wget <source_location_URL>
|
||||
----
|
||||
+
|
||||
. Extract the tarball file contents to the current working directory:
|
||||
+
|
||||
[bash,subs="attributes+"]
|
||||
----
|
||||
tar -xf <source_tar_filename>
|
||||
----
|
||||
|
||||
You can perform the same actions using the GUI.
|
31
en-US/modules/proc_enabling-chromium-packages.adoc
Normal file
31
en-US/modules/proc_enabling-chromium-packages.adoc
Normal file
|
@ -0,0 +1,31 @@
|
|||
[id='enabling-chromium-packages']
|
||||
= Enabling Chromium Packages
|
||||
|
||||
== 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: https://get.adobe.com/flashplayer/otherversions/ .
|
||||
|
||||
. Select *Linux 64-bit* from *https://get.adobe.com/flashplayer/otherversions/[Step 1]*, and select *FP 22.0* (or later) for *Linux 64-bit(.tar.gz)-PPAPI* from *https://get.adobe.com/flashplayer/otherversions/[Step 2]*. 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.
|
||||
====
|
||||
|
||||
== Additional Resources
|
||||
|
||||
* https://get.adobe.com/flashplayer/otherversions/
|
||||
|
||||
* https://fedoraproject.org/wiki/Chromium
|
|
@ -0,0 +1,56 @@
|
|||
= 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
|
||||
----
|
||||
|
15
en-US/modules/proc_enabling-third-party-repository.adoc
Normal file
15
en-US/modules/proc_enabling-third-party-repository.adoc
Normal file
|
@ -0,0 +1,15 @@
|
|||
[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=<reponame>`
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
[[installing-and-configuring-fedora-for-virtualized-guests]]
|
||||
== Installing and configuring Fedora for virtualized guests
|
||||
|
||||
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.
|
75
en-US/modules/proc_installing-chromium-web-browser.adoc
Normal file
75
en-US/modules/proc_installing-chromium-web-browser.adoc
Normal file
|
@ -0,0 +1,75 @@
|
|||
[id='installing-chromium-web-browser']
|
||||
= Installing Chromium Web Browser
|
||||
|
||||
*Chromium Web Browser* package was only available through a https://copr.fedorainfracloud.org/[COPR repository]. However, now the package is freely available in Fedora through the official repositories. Chromium can be installed using GUI and terminal.
|
||||
|
||||
== Installing Chromium using GUI:
|
||||
|
||||
. Click on Software tool in Fedora.
|
||||
|
||||
. Search Chromium Web Browser.
|
||||
|
||||
. Click on Install.
|
||||
|
||||
== Installing Chromium using terminal:
|
||||
|
||||
. Login as root:
|
||||
`# su`
|
||||
|
||||
. To install Chromium Web Browser, use the command:
|
||||
`# dnf install chromium`
|
||||
|
||||
. To upgrade Chromium, use the command: `# dnf upgrade chromium`
|
||||
|
||||
== Installing Chrome
|
||||
*Google Chrome* can be installed by downloading rpm and by creating repository.
|
||||
|
||||
== Installing Google Chrome using 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`
|
||||
|
||||
== Installing Chrome by creating repository:
|
||||
|
||||
. Login as root:
|
||||
`#su`
|
||||
|
||||
. Enable Google Chrome yum repository by using the command:
|
||||
`#cat << EOF > /etc/yum.repos.d/google-chrome.repo`
|
||||
+
|
||||
----
|
||||
[google-chrome]
|
||||
name=google-chrome - \$basearch
|
||||
baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
|
||||
EOF
|
||||
----
|
||||
|
||||
. Install stable Google Chrome version using the command:
|
||||
`#dnf install google-chrome-stable`
|
||||
|
||||
[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`
|
||||
====
|
||||
|
||||
== Additional Resources
|
||||
* https://copr.fedorainfracloud.org/[COPR repository]
|
||||
|
||||
* https://www.google.com/chrome/browser/desktop/index.html[Google Chrome rpm]
|
||||
|
||||
|
||||
|
||||
|
47
en-US/modules/proc_installing-fonts.adoc
Normal file
47
en-US/modules/proc_installing-fonts.adoc
Normal file
|
@ -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 <font name>
|
||||
----
|
||||
+
|
||||
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.
|
83
en-US/modules/proc_installing_virtualization_software.adoc
Normal file
83
en-US/modules/proc_installing_virtualization_software.adoc
Normal file
|
@ -0,0 +1,83 @@
|
|||
[[installing-the-virtualization-packages]]
|
||||
== Installing the virtualization packages
|
||||
|
||||
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:
|
||||
+
|
||||
----
|
||||
$ su -c "dnf install @virtualization"
|
||||
----
|
||||
+
|
||||
Alternatively, to install the mandatory, default, and optional packages, run:
|
||||
+
|
||||
----
|
||||
$ su -c "dnf group install with-optional virtualization"
|
||||
----
|
||||
+
|
||||
. After the packages install, start the `libvirtd` service:
|
||||
+
|
||||
----
|
||||
$ su -c systemctl start libvirtd
|
||||
----
|
||||
+
|
||||
To start the service on boot, run:
|
||||
+
|
||||
----
|
||||
$ su -c 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. See How_to_debug_Virtualization_problems#Ensuring_system_is_KVM_capable[
|
||||
Ensuring system is KVM capable] for troubleshooting tips. (NEEDS EDITING)
|
||||
|
||||
[[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.
|
||||
|
86
en-US/modules/proc_managing-trusted-system-certificates.adoc
Normal file
86
en-US/modules/proc_managing-trusted-system-certificates.adoc
Normal file
|
@ -0,0 +1,86 @@
|
|||
[[sec-Managing-Trusted-System-Certificates]]
|
||||
= Managing Trusted System Certificates
|
||||
|
||||
.Before you start
|
||||
|
||||
|
||||
|
||||
.Procedure
|
||||
|
||||
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 argument 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=<what>
|
||||
|
||||
--filter=<what> 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=<usage> 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
|
||||
----
|
125
en-US/modules/proc_managing_virtual_machines.adoc
Normal file
125
en-US/modules/proc_managing_virtual_machines.adoc
Normal file
|
@ -0,0 +1,125 @@
|
|||
[[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:
|
||||
+
|
||||
----
|
||||
$ su -c "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:
|
||||
+
|
||||
----
|
||||
$ su -c "virsh create <name of virtual machine>"
|
||||
----
|
||||
|
||||
|
||||
To list the virtual machines currently running:
|
||||
+
|
||||
----
|
||||
$ su -c "virsh list"
|
||||
----
|
||||
|
||||
To list all virtual machines, running or not:
|
||||
+
|
||||
----
|
||||
$ su -c "virsh list --all"
|
||||
----
|
||||
|
||||
To gracefully power off a guest:
|
||||
+
|
||||
----
|
||||
$ su -c "virsh shutdown <virtual machine (name | id | uuid)>"
|
||||
----
|
||||
|
||||
To non gracefully power off a guest:
|
||||
+
|
||||
----
|
||||
$ su -c "virsh destroy <virtual machine (name | id | uuid)>"
|
||||
----
|
||||
|
||||
To save a snapshot of the machine to a file:
|
||||
+
|
||||
----
|
||||
$ su -c "virsh save <virtual machine (name | id | uuid)> <filename>"
|
||||
----
|
||||
|
||||
To restore a previously saved snapshot:
|
||||
+
|
||||
----
|
||||
$ su -c "virsh restore <filename>"
|
||||
----
|
||||
|
||||
To export the configuration file of a virtual machine:
|
||||
+
|
||||
----
|
||||
$ su -c "virsh dumpxml <virtual machine (name | id | uuid)"
|
||||
----
|
||||
|
||||
For a complete list of commands available for use with `virsh`:
|
||||
+
|
||||
----
|
||||
$ su -c "virsh help"
|
||||
----
|
||||
|
||||
Or consult the manual page: `man virsh`
|
||||
|
||||
Bugs in the `virsh` tool should be reported in
|
||||
http://bugzilla.redhat.com[Bugzilla] against the `libvirt` component.
|
||||
|
||||
|
||||
[[remote-management]]
|
||||
=== Remote management
|
||||
|
||||
The following remote management options are available:
|
||||
|
||||
* If using non-root users via SSH, see the setup instructions in http://wiki.libvirt.org/page/SSHSetup
|
||||
* If using root for access via SSH, then create SSH keys for root, and
|
||||
use `ssh-agent` and `ssh-add` before launching `virt-manager`.
|
||||
* To use TLS, set up a local certificate authority and issue x509 certs
|
||||
to all servers and clients. For information on configuring this option,
|
||||
see http://wiki.libvirt.org/page/TLSSetup.
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
= Setting up a Development and Compiling Environment
|
||||
|
||||
Install packages form the _C Development Tools and Libraries_ group:
|
||||
+
|
||||
[bash,subs="attributes+"]
|
||||
----
|
||||
sudo dnf group install @c-development
|
||||
----
|
17
en-US/modules/proc_testing-nested-virtualization.adoc
Normal file
17
en-US/modules/proc_testing-nested-virtualization.adoc
Normal file
|
@ -0,0 +1,17 @@
|
|||
= Testing nested virtualization
|
||||
[[testing-nested-virtualization]]
|
||||
|
||||
. Start the virtual machine.
|
||||
. On the virtual machine, run `sudo dnf group install virtualization`.
|
||||
. Verify that the virtual machine has virtualization correctly set up:
|
||||
----
|
||||
$ sudo 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
|
||||
----
|
||||
|
||||
|
||||
|
61
en-US/modules/proc_troubleshooting-live-usb.adoc
Normal file
61
en-US/modules/proc_troubleshooting-live-usb.adoc
Normal file
|
@ -0,0 +1,61 @@
|
|||
[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 `su -c '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: `su -c "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 xref:using-fedora-media-writer[Fedora Media Writer].
|
||||
|
||||
== Testing a USB stick using qemu
|
||||
|
||||
You can test your stick using QEMU.
|
||||
[options="nowrap"]
|
||||
----
|
||||
su -c '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.
|
9
en-US/modules/procedure-run-docker-using-sudo.adoc
Normal file
9
en-US/modules/procedure-run-docker-using-sudo.adoc
Normal file
|
@ -0,0 +1,9 @@
|
|||
[[procedure-run-docker-using-sudo]]
|
||||
= Run Docker using [command]`sudo`
|
||||
|
||||
. Set up [command]`sudo` as shown in *Using sudo to give/limit admin privileges*
|
||||
. Create an alias for running the docker command:
|
||||
----
|
||||
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.
|
|
@ -0,0 +1,24 @@
|
|||
[id=”procedure-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:
|
||||
+
|
||||
----
|
||||
# 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.
|
47
en-US/modules/ref_other_virtualization_options.adoc
Normal file
47
en-US/modules/ref_other_virtualization_options.adoc
Normal file
|
@ -0,0 +1,47 @@
|
|||
[[other-virtualization-options]]
|
||||
== Other virtualization options
|
||||
|
||||
[[qemukvm-without-libvirt]]
|
||||
=== QEMU/KVM without libvirt
|
||||
|
||||
QEMU/KVM can be invoked directly without libvirt, however you cannot to use tools such as `virt-manager`, `virt-install`, or `virsh`. Plain
|
||||
QEMU (without KVM) can also virtualize other processor architectures
|
||||
like ARM or PowerPC.
|
||||
|
||||
[[xen]]
|
||||
=== Xen
|
||||
|
||||
Fedora can run as a Xen guest operating system and also be used as a Xen host (with the latter being true from Fedora 16; for using an earlier version of
|
||||
Fedora as a Xen host, check out the experimental repo available at
|
||||
http://myoung.fedorapeople.org/dom0). For a guide on how to install and
|
||||
setup a Fedora Xen host, see http://wiki.xen.org/wiki/Fedora_Host_Installation[Fedora Host Installation] page on the Xen Project wiki.
|
||||
|
||||
[[openstack]]
|
||||
=== OpenStack
|
||||
|
||||
OpenStack consists of a number of services for running infrastructure as a service (IaaS) clouds. They are the Object Store (Swift), Compute (Nova) and Image (Glance) services.
|
||||
|
||||
[[opennebula]]
|
||||
=== OpenNebula
|
||||
|
||||
OpenNebula is an open source toolkit for data center virtualization.
|
||||
|
||||
[[ovirt]]
|
||||
=== oVirt
|
||||
|
||||
The https://www.ovirt.org/[oVirt project] is an open virtualization
|
||||
project providing a end-to-end, server virtualization
|
||||
management system with advanced capabilities for hosts and guests,
|
||||
including high availability, live migration, storage management, system
|
||||
scheduler, and more.
|
||||
|
||||
[[troubleshooting-and-known-issues]]
|
||||
== Troubleshooting and known issues
|
||||
|
||||
For a list of known unresolved issues, as well as troubleshooting tips,
|
||||
see link:How_to_debug_Virtualization_problems[How to debug
|
||||
virtualization problems]
|
||||
|
||||
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.
|
||||
|
218
en-US/modules/ref_the-most-useful-dnf-commands.adoc
Normal file
218
en-US/modules/ref_the-most-useful-dnf-commands.adoc
Normal file
|
@ -0,0 +1,218 @@
|
|||
[id='the-most-useful-dnf-commands']
|
||||
= The most useful DNF commands
|
||||
|
||||
This sections lists the most useful commands provided by the *dnf* utility. For a complete list of commands, options, and their syntax, see the *dnf*(8) man page.
|
||||
|
||||
*dnf help _command_*:: Displays detailed information about a command.
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
$ *dnf help _upgrade_*
|
||||
upgrade [PACKAGE...]
|
||||
|
||||
upgrade a package or packages on your system
|
||||
alias: update
|
||||
----
|
||||
|
||||
*dnf upgrade*:: Upgrades all packages on the system to the latest version available.
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
# *dnf upgrade*
|
||||
Last metadata expiration check: 1:09:32 ago on Thu Dec 14 09:20:48 2017.
|
||||
Dependencies resolved.
|
||||
Nothing to do.
|
||||
Complete!
|
||||
----
|
||||
|
||||
*dnf upgrade _package_name_*:: Upgrades a package to the latest version available.
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
# *dnf upgrade _dia_*
|
||||
Last metadata expiration check: 1:11:26 ago on Thu Dec 14 09:20:48 2017.
|
||||
Dependencies resolved.
|
||||
Nothing to do.
|
||||
Complete!
|
||||
----
|
||||
|
||||
*dnf install _package_name_*:: Installs a package.
|
||||
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
# *dnf install _dia_*
|
||||
Last metadata expiration check: 1:07:19 ago on Thu Dec 14 09:20:48 2017.
|
||||
Dependencies resolved.
|
||||
=============================================================================
|
||||
Package Arch Version Repository Size
|
||||
=============================================================================
|
||||
Installing:
|
||||
dia x86_64 1:0.97.3-5.fc24 fedora 4.2 M
|
||||
libart_lgpl x86_64 2.3.21-15.fc25 fedora 71 k
|
||||
|
||||
Transaction Summary
|
||||
=============================================================================
|
||||
Install 2 Packages
|
||||
|
||||
Total download size: 4.2 M
|
||||
Installed size: 18 M
|
||||
Is this ok [y/N]: *y*
|
||||
[... output truncated ...]
|
||||
Installed:
|
||||
dia.x86_64 1:0.97.3-5.fc24 libart_lgpl.x86_64 2.3.21-15.fc25
|
||||
|
||||
Complete!
|
||||
----
|
||||
|
||||
*dnf remove _package_name_*:: Uninstalls a package.
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
# *dnf remove _dia_*
|
||||
Dependencies resolved.
|
||||
=============================================================================
|
||||
Package Arch Version Repository Size
|
||||
=============================================================================
|
||||
Removing:
|
||||
dia x86_64 1:0.97.3-5.fc24 @fedora 18 M
|
||||
libart_lgpl x86_64 2.3.21-15.fc25 @fedora 126 k
|
||||
|
||||
Transaction Summary
|
||||
=============================================================================
|
||||
Remove 2 Packages
|
||||
|
||||
Installed size: 18 M
|
||||
Is this ok [y/N]: *y*
|
||||
[... output truncated ...]
|
||||
Removed:
|
||||
dia.x86_64 1:0.97.3-5.fc24 libart_lgpl.x86_64 2.3.21-15.fc25
|
||||
|
||||
Complete!
|
||||
----
|
||||
|
||||
*dnf check-update*:: Checks if any updates are available for all packages in the enabled repositories.
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
389-ds-base.x86_64 1.3.7.5-11.el7 @updates
|
||||
389-ds-base-libs.x86_64 1.3.7.5-11.el7 @updates
|
||||
NetworkManager.x86_64 1:1.10.2-3.el7 @updates
|
||||
NetworkManager-config-server.noarch 1:1.10.2-3.el7 @updates
|
||||
[... output truncated ...]
|
||||
----
|
||||
|
||||
*dnf search _keyword_*:: Search package metadata in the enabled repositories for the specified keyword. By default, the commands searches only in package names and summaries.
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
# *dnf search _freeipa_*
|
||||
Last metadata expiration check: 1:12:31 ago on Thu Dec 14 09:20:48 2017.
|
||||
========================================================================
|
||||
freeipa-client.x86_64 : IPA authentication for use on clients
|
||||
freeipa-common.noarch : Common files used by IPA
|
||||
freeipa-server.x86_64 : The IPA authentication server
|
||||
freeipa-server-dns.noarch : IPA integrated DNS server with support for automatic DNSSEC signing
|
||||
freeipa-client-common.noarch : Common files used by IPA client
|
||||
freeipa-python-compat.noarch : Compatiblity package for Python libraries used by IPA
|
||||
freeipa-server-common.noarch : Common files used by IPA server
|
||||
freeipa-server-trust-ad.x86_64 : Virtual package to install packages required for Active Directory trusts
|
||||
libsss_idmap.x86_64 : FreeIPA Idmap library
|
||||
[... output truncated ...]
|
||||
----
|
||||
|
||||
*dnf info _package_name_*:: Shows details for a package.
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
[root@localhost ~]# *dnf info _freeipa-server_*
|
||||
Last metadata expiration check: 1:13:14 ago on Thu Dec 14 09:20:48 2017.
|
||||
Available Packages
|
||||
Name : freeipa-server
|
||||
Arch : x86_64
|
||||
Epoch : 0
|
||||
Version : 4.4.4
|
||||
Release : 1.fc25
|
||||
Size : 380 k
|
||||
Repo : updates
|
||||
Summary : The IPA authentication server
|
||||
URL : https://www.freeipa.org/
|
||||
License : GPLv3+
|
||||
Description : IPA is an integrated solution to provide centrally managed Identity (users,
|
||||
: hosts, services), Authentication (SSO, 2FA), and Authorization
|
||||
: (host access control, SELinux user roles, services). The solution provides
|
||||
: features for further integration with Linux based clients (SUDO, automount)
|
||||
: and integration with Active Directory based infrastructures (Trusts).
|
||||
: If you are installing an IPA server, you need to install this package.
|
||||
----
|
||||
|
||||
|
||||
*dnf provides _command_or_file_*:: Shows which package provides the specified command or file.
|
||||
+
|
||||
To specify a command:
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
# *dnf provides */_ipa-server-install_*
|
||||
Last metadata expiration check: 1:14:12 ago on Thu Dec 14 09:20:48 2017.
|
||||
freeipa-server-4.4.1-1.fc25.x86_64 : The IPA authentication server
|
||||
Repo : fedora
|
||||
|
||||
freeipa-server-4.4.4-1.fc25.x86_64 : The IPA authentication server
|
||||
Repo : updates
|
||||
----
|
||||
+
|
||||
To specify a file:
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
# *dnf provides _/etc/sssd/sssd.conf_*
|
||||
Last metadata expiration check: 1:14:58 ago on Thu Dec 14 09:20:48 2017.
|
||||
sssd-common-1.16.0-4.fc25.x86_64 : Common files for the SSSD
|
||||
Repo : @System
|
||||
|
||||
sssd-common-1.16.0-4.fc25.x86_64 : Common files for the SSSD
|
||||
Repo : updates
|
||||
|
||||
sssd-common-1.14.2-1.fc25.i686 : Common files for the SSSD
|
||||
Repo : fedora
|
||||
|
||||
sssd-common-1.14.2-1.fc25.x86_64 : Common files for the SSSD
|
||||
Repo : fedora
|
||||
----
|
||||
|
||||
*dnf history*:: Displays a report of the past *yum* transactions.
|
||||
+
|
||||
[literal,subs="+quotes,attributes"]
|
||||
----
|
||||
# *dnf history*
|
||||
ID | Command line | Date and time | Action(s) | Altered
|
||||
-------------------------------------------------------------------------------
|
||||
9 | update -y | 2017-10-17 12:35 | I, U | 17 EE
|
||||
8 | install midori | 2017-10-13 10:44 | Install | 3 >
|
||||
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 ...]
|
||||
----
|
91
en-US/procedures/spotify.adoc
Normal file
91
en-US/procedures/spotify.adoc
Normal file
|
@ -0,0 +1,91 @@
|
|||
== 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:
|
||||
|
||||
* Using unofficial repositories such as xref:install-spotify-using-negativo17[Negativo17] and xref:install-spotify-using-rpmfusion[RPMFusion].
|
||||
* Using xref:install-spotify-using-flatpak[flatpak].
|
||||
|
||||
=== Installing Spotify using third-party repositories
|
||||
|
||||
[id='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 packages 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:
|
||||
+
|
||||
[source,bash]
|
||||
----
|
||||
$ sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo
|
||||
----
|
||||
|
||||
. Install Spotify:
|
||||
+
|
||||
[source,bash]
|
||||
----
|
||||
$ sudo dnf install spotify
|
||||
----
|
||||
|
||||
[id='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
|
||||
+
|
||||
[source,bash]
|
||||
----
|
||||
$ sudo 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
|
||||
+
|
||||
[source,bash]
|
||||
----
|
||||
$ sudo dnf install spotify
|
||||
----
|
||||
|
||||
[id='install-spotify-using-flatpak']
|
||||
=== Installing Spotify using Flatpak
|
||||
To install Spotify using link:https://flatpak.org/index.html[Flatpak]:
|
||||
|
||||
. Install Flatpak using dnf:
|
||||
+
|
||||
[source,bash]
|
||||
----
|
||||
$ sudo dnf install -y flatpak
|
||||
----
|
||||
|
||||
. Install Spotify using Flatpak:
|
||||
+
|
||||
[source,bash]
|
||||
----
|
||||
$ sudo flatpak install -y --from https://flathub.org/repo/appstream/com.spotify.Client.flatpakref
|
||||
----
|
||||
|
||||
. To run Spotify:
|
||||
+
|
||||
[source,bash]
|
||||
----
|
||||
$ flatpak run com.spotify.Client
|
||||
----
|
||||
|
||||
. (Optional) Add a menu shortcut for Spotify:
|
||||
+
|
||||
[source,bash]
|
||||
----
|
||||
sudo 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
|
||||
|
||||
----
|
|
@ -1,107 +0,0 @@
|
|||
= Spotify
|
||||
|
||||
'''
|
||||
|
||||
[IMPORTANT]
|
||||
======
|
||||
|
||||
This page was automatically converted from https://fedoraproject.org/wiki/Spotify
|
||||
|
||||
It is probably
|
||||
|
||||
* Badly formatted
|
||||
* Missing graphics and tables that do not convert well from mediawiki
|
||||
* Out-of-date
|
||||
* In need of other love
|
||||
|
||||
Please fix it, remove this notice, and then add to `_topic_map.yml`
|
||||
|
||||
Pull requests accepted at https://pagure.io/fedora-docs/quick-docs
|
||||
|
||||
Once that is live, go to the original wiki page and add an `{{old}}`
|
||||
tag, followed by a note like
|
||||
|
||||
....
|
||||
{{admon/note|This page has a new home!|
|
||||
This wiki page is no longer maintained. Please find the up-to-date
|
||||
version at: https://docs.fedoraproject.org/whatever-the-url
|
||||
}}
|
||||
....
|
||||
|
||||
======
|
||||
|
||||
'''
|
||||
|
||||
|
||||
https://www.spotify.com/[*Spotify*] is a cross-platform (available for
|
||||
Ubuntu, macOS and Windows) proprietary music streaming service. It is a
|
||||
freemium product, that is, a free version of it is available, but it is
|
||||
riddled with advertisements. To use it without advertisements one needs
|
||||
to pay for Spotify premium.
|
||||
|
||||
[[installation]]
|
||||
Installation
|
||||
~~~~~~~~~~~~
|
||||
|
||||
While it is not officially supported on Fedora or any other RPM-based
|
||||
distributions it is possible to get it to work on Fedora. There are two
|
||||
main ways of installing it:
|
||||
|
||||
* Using unofficial repositories like the
|
||||
http://negativo17.org/spotify-client/[negativo17 repository].
|
||||
* Using link:Flatpak[Flatpaks]
|
||||
|
||||
[[flatpak]]
|
||||
Flatpak
|
||||
^^^^^^^
|
||||
|
||||
To install it using Flatpak one needs to get the source files required
|
||||
to build it, then build it and add it to one's Flatpak remote and
|
||||
install it. This can be done using the following set of commands:
|
||||
|
||||
....
|
||||
sudo dnf install flatpak flatpak-builder git make ostree -y
|
||||
flatpak remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo
|
||||
flatpak install gnome org.gnome.Platform 3.24
|
||||
flatpak install gnome org.gnome.Sdk 3.24
|
||||
git clone https://github.com/alexlarsson/spotify-app
|
||||
cd spotify-app
|
||||
make
|
||||
flatpak --user remote-add --no-gpg-verify local-spotify repo
|
||||
flatpak --user install local-spotify com.spotify.Client
|
||||
....
|
||||
|
||||
Please consult https://github.com/alexlarsson/spotify-app[the upstream
|
||||
instructions] in case the commands above don't work.
|
||||
|
||||
[[negativo17.org-repository]]
|
||||
Negativo17.org repository
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This repository also contains the following packages features:
|
||||
|
||||
* Required libraries for enabling local files playback and file upload
|
||||
to personal playlists
|
||||
* Firewalld rules for enabling local service discovery and Spotify
|
||||
Connect (control other devices & output location)
|
||||
|
||||
Installation for Fedora:
|
||||
|
||||
....
|
||||
dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo
|
||||
dnf install spotify
|
||||
....
|
||||
|
||||
Installation for CentOS/RHEL 7+:
|
||||
|
||||
....
|
||||
yum-config-manager --add-repo=http://negativo17.org/repos/epel-spotify.repo
|
||||
yum install spotify
|
||||
....
|
||||
|
||||
Category:Audio Category:Proprietary_software[Category:Proprietary
|
||||
software]
|
||||
'''
|
||||
|
||||
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.
|
21
en-US/using-shared-system-certificates.adoc
Normal file
21
en-US/using-shared-system-certificates.adoc
Normal file
|
@ -0,0 +1,21 @@
|
|||
:md: ./modules
|
||||
|
||||
[[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::{md}/concept_using-the-system-wide-trust-store.adoc[leveloffset=+1]
|
||||
|
||||
include::{md}/proc_adding-new-certificates.adoc[leveloffset=+1]
|
||||
|
||||
include::{md}/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)`
|
Loading…
Add table
Add a link
Reference in a new issue