forked from artix/iso-profiles
10 changed files with 48 additions and 879 deletions
Binary file not shown.
@ -1,5 +1,45 @@
|
||||
[Default Applications] |
||||
x-content/audio-player=clementine.desktop |
||||
x-scheme-handler/http=firefox.desktop |
||||
x-scheme-handler/https=firefox.desktop |
||||
text/html=firefox.desktop |
||||
x-scheme-handler/about=firefox.desktop |
||||
x-scheme-handler/mailto=sylpheed.desktop |
||||
application/x-extension-eml=sylpheed.desktop |
||||
message/rfc822=sylpheed.desktop |
||||
inode/directory=caja-folder-handler.desktop |
||||
text/plain=leafpad.desktop |
||||
audio/mpeg=mpv.desktop |
||||
audio/x-mpegurl=mpv.desktop |
||||
audio/x-scpls=mpv.desktop |
||||
audio/x-vorbis+ogg=mpv.desktop |
||||
audio/x-wav=mpv.desktop |
||||
video/mp4=mpv.desktop |
||||
video/mpeg=mpv.desktop |
||||
video/mp2t=mpv.desktop |
||||
video/msvideo=mpv.desktop |
||||
video/quicktime=mpv.desktop |
||||
video/webm=mpv.desktop |
||||
video/x-avi=mpv.desktop |
||||
video/x-flv=mpv.desktop |
||||
video/x-matroska=mpv.desktop |
||||
video/x-mpeg=mpv.desktop |
||||
video/x-ogm+ogg=mpv.desktop |
||||
image/bmp=eom.desktop |
||||
image/gif=eom.desktop |
||||
image/jpeg=eom.desktop |
||||
image/png=eom.desktop |
||||
image/tiff=eom.desktop |
||||
application/pdf=atril.desktop |
||||
application/vnd.oasis.opendocument.text=libreoffice-writer.desktop |
||||
application/rtf=libreoffice-writer.desktop |
||||
application/msword=libreoffice-writer.desktop |
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop |
||||
application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop |
||||
application/vnd.ms-excel=libreoffice-calc.desktop |
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop |
||||
application/xhtml+xml=firefox.desktop |
||||
|
||||
[Added Associations] |
||||
x-content/audio-player=clementine.desktop; |
||||
application/xhtml+xml=firefox.desktop; |
||||
|
@ -1,109 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head> |
||||
<title>Artix Wiki | Main / Configuration</title> |
||||
<link rel="stylesheet" href="print.css" type="text/css"> |
||||
<!--HTMLHeader--><style type="text/css"><!-- |
||||
ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; } |
||||
code.escaped { white-space: nowrap; } |
||||
.vspace { margin-top:1.33em; } |
||||
.indent { margin-left:40px; } |
||||
.outdent { margin-left:40px; text-indent:-40px; } |
||||
a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; } |
||||
a.createlink { text-decoration:none; position:relative; top:-0.5em; |
||||
font-weight:bold; font-size:smaller; border-bottom:none; } |
||||
img { border:0px; } |
||||
|
||||
.rtl, .rtl * {direction:rtl; unicode-bidi:bidi-override;} |
||||
.ltr, .ltr * {direction:ltr; unicode-bidi:bidi-override;} |
||||
.rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { |
||||
margin-left:0; margin-right: 40px; |
||||
} |
||||
.ltplus{cursor:pointer; opacity:.3; font-weight:bold; padding: 0 .3em;} |
||||
.ltplus:hover{ color: white; background: blue; opacity: 1; }.TCprogress {background-color:#5af; min-height:13px; width:13px; color:#fff; margin-left:auto; margin-right:auto;} |
||||
table.TotalCounter td {font-size:x-small; text-align:center}.editconflict { color:green; |
||||
font-style:italic; margin-top:1.33em; margin-bottom:1.33em; } |
||||
|
||||
table.markup { border:2px dotted #ccf; width:90%; } |
||||
td.markup1, td.markup2 { padding-left:10px; padding-right:10px; } |
||||
table.vert td.markup1 { border-bottom:1px solid #ccf; } |
||||
table.horiz td.markup1 { width:23em; border-right:1px solid #ccf; } |
||||
table.markup caption { text-align:left; } |
||||
div.faq p, div.faq pre { margin-left:2em; } |
||||
div.faq p.question { margin:1em 0 0.75em 0; font-weight:bold; } |
||||
div.faqtoc div.faq * { display:none; } |
||||
div.faqtoc div.faq p.question |
||||
{ display:block; font-weight:normal; margin:0.5em 0 0.5em 20px; line-height:normal; } |
||||
div.faqtoc div.faq p.question * { display:inline; } |
||||
td.markup1 pre { white-space: pre-wrap; } |
||||
|
||||
.frame |
||||
{ border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; } |
||||
.lfloat { float:left; margin-right:0.5em; } |
||||
.rfloat { float:right; margin-left:0.5em; } |
||||
a.varlink { text-decoration:none;} |
||||
|
||||
--></style><link rel="icon" href="https://wiki.artixlinux.org/favicon.ico" type="image/x-icon"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
||||
<script async="" src="Artix%20Wiki%20-%20Main%20_%20Configuration_files/analytics.js"></script><script> |
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); |
||||
|
||||
ga('create', 'UA-105345407-1', 'auto'); |
||||
ga('send', 'pageview'); |
||||
|
||||
</script> <meta name="robots" content="noindex,nofollow"> |
||||
<link rel="stylesheet" type="text/css" href="local.css"> |
||||
<meta name="description" content="System configuration and fine tuning"> |
||||
|
||||
</head> |
||||
<body> |
||||
<div id="printhead"> |
||||
<h3>From Artix Wiki</h3> |
||||
<h1 class="pagename"><a href="https://wiki.artixlinux.org/Main">Main: Configuration</a></h1> |
||||
</div> |
||||
<!--PageText--> |
||||
<div id="wikitext"> |
||||
<div class="vspace"></div><h3>OpenRC</h3> |
||||
<h4>OpenRC settings</h4> |
||||
<p>Various parameters are controlled by <code>/etc/rc.conf</code>. Most common tweaks include setting <strong>rc_parallel</strong> and<strong> rc_logger</strong> to <strong>YES</strong> and <strong>rc_depend_strict</strong> to <strong>NO</strong>. |
||||
</p> |
||||
<div class="vspace"></div><h4>Networking</h4> |
||||
<p>Most people will do fine with <strong>NetworkManager</strong>. For static network configuration it's preferable to install <strong>netifrc</strong> and edit <code>/etc/conf.d/net</code> for their setup. |
||||
</p> |
||||
<div class="vspace"></div><h4>User permissions</h4> |
||||
<p>You can control who has access to and control of what by assigning |
||||
them to groups. A more than full permission set for the primary user is |
||||
granted by the following, consider reducing it to only necessary ones: |
||||
</p><pre> usermod -a -G video,audio,input,power,storage,optical,lp,scanner,dbus,adbusers,uucp,vboxusers USER |
||||
</pre><div class="vspace"></div><h4>Hostname</h4> |
||||
<p><a class="wikilink" href="https://wiki.artixlinux.org/Main/OpenRC?action=print">OpenRC</a> can set the host name either from <code>/etc/hostname</code> or from <code>/etc/conf.d/hostname</code>, with the former taking precedence. Their syntax differs somewhat:<br><code>/etc/hostname</code> |
||||
</p><pre> reallycoolhostname |
||||
</pre><p class="vspace"><code>/etc/conf.d/hostname</code> |
||||
</p><pre> hostname="reallycoolhostname" |
||||
</pre><div class="vspace"></div><h3>Runit</h3> |
||||
<h4>Keyboard configuration in console</h4> |
||||
<p>A persistent keymap can be set in <code>/etc/vconsole.conf</code>, |
||||
which is read by runit-rc on start-up. The KEYMAP variable is used for |
||||
specifying the keymap. If the variable is empty or not set, the us |
||||
keymap is used as default value. See vconsole.conf(5) (coming soon, but |
||||
in the meantime you can see <a class="urllink" href="https://jlk.fjfi.cvut.cz/arch/manpages/man/vconsole.conf.5" rel="nofollow">Arch's manual which refers to systemd</a>, but is compatible with runit) for all options. For example: |
||||
</p> |
||||
<p class="vspace"><code>/etc/vconsole.conf</code> |
||||
</p><pre> KEYMAP=uk |
||||
... |
||||
</pre><div class="vspace"></div><h4>Hostname</h4> |
||||
<p>You can set it in <code>/etc/hostname</code>. |
||||
</p> |
||||
<p class="vspace"><code>/etc/hostname</code> |
||||
</p><pre> reallycoolhostname |
||||
</pre> |
||||
</div> |
||||
|
||||
<div id="printfoot"> |
||||
<div class="from">Retrieved from https://wiki.artixlinux.org/Main/Configuration</div> |
||||
<div class="lastmod">Page last modified on September 07, 2018, at 01:47 AM</div></div> |
||||
<!--HTMLFooter--> |
||||
|
||||
|
||||
</body><div id="simple-translate-button" style="display: none;"></div><div id="simple-translate-panel" style="display: none;"><p>...</p></div></html> |
@ -1,176 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head> |
||||
<title>Artix Wiki | Main / Installation</title> |
||||
<link rel="stylesheet" href="print.css" type="text/css"> |
||||
<!--HTMLHeader--><style type="text/css"><!-- |
||||
ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; } |
||||
code.escaped { white-space: nowrap; } |
||||
.vspace { margin-top:1.33em; } |
||||
.indent { margin-left:40px; } |
||||
.outdent { margin-left:40px; text-indent:-40px; } |
||||
a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; } |
||||
a.createlink { text-decoration:none; position:relative; top:-0.5em; |
||||
font-weight:bold; font-size:smaller; border-bottom:none; } |
||||
img { border:0px; } |
||||
|
||||
.rtl, .rtl * {direction:rtl; unicode-bidi:bidi-override;} |
||||
.ltr, .ltr * {direction:ltr; unicode-bidi:bidi-override;} |
||||
.rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { |
||||
margin-left:0; margin-right: 40px; |
||||
} |
||||
.ltplus{cursor:pointer; opacity:.3; font-weight:bold; padding: 0 .3em;} |
||||
.ltplus:hover{ color: white; background: blue; opacity: 1; }.TCprogress {background-color:#5af; min-height:13px; width:13px; color:#fff; margin-left:auto; margin-right:auto;} |
||||
table.TotalCounter td {font-size:x-small; text-align:center}.editconflict { color:green; |
||||
font-style:italic; margin-top:1.33em; margin-bottom:1.33em; } |
||||
|
||||
table.markup { border:2px dotted #ccf; width:90%; } |
||||
td.markup1, td.markup2 { padding-left:10px; padding-right:10px; } |
||||
table.vert td.markup1 { border-bottom:1px solid #ccf; } |
||||
table.horiz td.markup1 { width:23em; border-right:1px solid #ccf; } |
||||
table.markup caption { text-align:left; } |
||||
div.faq p, div.faq pre { margin-left:2em; } |
||||
div.faq p.question { margin:1em 0 0.75em 0; font-weight:bold; } |
||||
div.faqtoc div.faq * { display:none; } |
||||
div.faqtoc div.faq p.question |
||||
{ display:block; font-weight:normal; margin:0.5em 0 0.5em 20px; line-height:normal; } |
||||
div.faqtoc div.faq p.question * { display:inline; } |
||||
td.markup1 pre { white-space: pre-wrap; } |
||||
|
||||
.frame |
||||
{ border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; } |
||||
.lfloat { float:left; margin-right:0.5em; } |
||||
.rfloat { float:right; margin-left:0.5em; } |
||||
a.varlink { text-decoration:none;} |
||||
|
||||
--></style><link rel="icon" href="https://wiki.artixlinux.org/favicon.ico" type="image/x-icon"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
||||
<script async="" src="Artix%20Wiki%20-%20Main%20_%20Installation_files/analytics.js"></script><script> |
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); |
||||
|
||||
ga('create', 'UA-105345407-1', 'auto'); |
||||
ga('send', 'pageview'); |
||||
|
||||
</script> <meta name="robots" content="noindex,nofollow"> |
||||
<link rel="stylesheet" type="text/css" href="local.css"> |
||||
<meta name="description" content="Fresh Artix Installation"> |
||||
|
||||
</head> |
||||
<body> |
||||
<div id="printhead"> |
||||
<h3>From Artix Wiki</h3> |
||||
<h1 class="pagename"><a href="https://wiki.artixlinux.org/Main">Main: Installation</a></h1> |
||||
</div> |
||||
<!--PageText--> |
||||
<div id="wikitext"> |
||||
<p class="vspace"><big>It is possible to use runit iso to install OpenRC-based system, and vice-versa.</big> |
||||
</p> |
||||
<div class="vspace"></div><h3>Fresh Artix installation from bootable media</h3> |
||||
<p>Artix can either be installed through the console or the GUI |
||||
installer. The GUI install is quite straightforward, we'll focus on the |
||||
console installation procedure here. |
||||
</p> |
||||
<p class="vspace">NOTE: The Artix ISO does not seem to support UEFI only |
||||
systems. On such a system, a successfull Artix install is possible by |
||||
booting an <a class="urllink" href="http://archlinux.org/download/" rel="nofollow">Arch Linux ISO</a>, converting the Arch live system to Artix as <a class="wikilink" href="https://wiki.artixlinux.org/Main/Migration?action=print">described here</a>, and then continuing with the installation steps below. |
||||
Before migrating the Arch Live system to Artix it is necessary to increase the size of the overlay tmpfs; this is done by |
||||
</p><pre> mount -o remount,size=4G / |
||||
</pre><p>(make sure your system has enough RAM). Adapt the size to what |
||||
you need; the pacman commands will show what they need to download and |
||||
install, the sum of both plus something more is needed. |
||||
</p> |
||||
<div class="vspace"></div><h4>Partition your disk (BIOS)</h4> |
||||
<p>Partition your hard drive (<code>/dev/sda</code> will be used in this guide) with <strong>fdisk</strong> or <strong>cfdisk</strong>, the partition numbers and order are at your discretion: |
||||
</p><pre> cfdisk /dev/sda |
||||
</pre><p>If you want to install side-by-side with other operating |
||||
systems, you must make some space on the disk by resizing the existing |
||||
partitions. You may use <strong>gparted</strong> for this, however |
||||
detailed instructions are out of the scope of this guide. Next, format |
||||
the new partitions, for example as ext4: |
||||
</p><pre> mkfs.ext4 -L ROOT /dev/sda2 <- root partition |
||||
mkfs.ext4 -L HOME /dev/sda3 <- home partition, optional |
||||
mkfs.ext4 -L BOOT /dev/sda4 <- boot partition, optional |
||||
mkswap -L SWAP /dev/sda1 <- swap partition |
||||
</pre><p>The -L switch assigns labels to the partitions, which helps referring to them later through <code>/dev/disk/by-label</code> without having to remember their numbers. Now, mount your partitions: |
||||
</p><pre> swapon /dev/sda1 |
||||
mount /dev/sda2 /mnt |
||||
mount /dev/sda3 /mnt/home (if created) |
||||
mount /dev/sda4 /mnt/boot (if created) |
||||
</pre><div class="vspace"></div><h4>Install base system</h4> |
||||
<p>A working internet connection is required and assumed. A wired |
||||
connection is setup automatically, if found. Wireless ones must be |
||||
configured by the user. Verify your connection and update the |
||||
repositories: |
||||
</p><pre> ping artixlinux.org |
||||
pacman -Syy |
||||
</pre><p class="vspace">Use <strong>basestrap</strong> to install the <strong>base</strong> and optionally the <strong>base-devel</strong> package groups and your preferred init (currently available: <code>openrc</code> and <code>runit</code>): |
||||
</p><pre> basestrap /mnt base base-devel openrc |
||||
</pre><p>or |
||||
</p><pre> basestrap /mnt base base-devel runit |
||||
</pre><p class="vspace">Use <strong>fstabgen</strong> to generate <code>/etc/fstab</code>, use -U for UUIDs and -L for partition labels: |
||||
</p><pre> fstabgen -L /mnt >>/mnt/etc/fstab |
||||
</pre><p class="vspace">Check the resulting fstab for errors before rebooting. Now, you can chroot into your new Artix system with: |
||||
</p><pre> artools-chroot /mnt |
||||
</pre><div class="vspace"></div><h4>Configure the base system</h4> |
||||
<p>First, install <strong>grub</strong> and <strong>os-prober</strong> (for detecting other installed operating systems): |
||||
</p><pre> pacman -S grub os-prober |
||||
grub-install --recheck /dev/sda |
||||
grub-mkconfig -o /boot/grub/grub.cfg |
||||
</pre><p>Create a user and password: |
||||
</p><pre> useradd -m user |
||||
passwd user |
||||
</pre><p>Set root password: |
||||
</p><pre> passwd |
||||
</pre><p class="vspace">Install <strong>networkmanager</strong>: |
||||
</p><pre> pacman -S networkmanager networkmanager-openrc network-manager-applet |
||||
rc-update add NetworkManager default |
||||
</pre><p class="vspace">Generate locales: |
||||
</p><pre> nano /etc/locale.gen <- uncomment your locale |
||||
locale-gen |
||||
</pre><p>To set the locale systemwide, edit <code>/etc/profile.d/locale.sh</code> (which is sourced by <code>/etc/profile</code>) or <code>/etc/bash/bashrc.d/artix.bashrc</code> or <code>/etc/bash/bashrc.d/local.bashrc</code>; user-specific changes may be made to their respective <code>~/.bashrc</code>, for example: |
||||
</p><pre> export LANG="en_US.UTF-8" |
||||
export LC_COLLATE="C" |
||||
</pre><div class="vspace"></div><h4>Post installation configuration</h4> |
||||
<p>Now, you can reboot and enter into your new installation: |
||||
</p><pre> exit <- exit chroot environment |
||||
umount -R /mnt |
||||
reboot |
||||
</pre><p>Once shutdown is complete, remove your installation media. If |
||||
all went well, you should boot into your new system. Log in as your root |
||||
to complete the post-installation configuration. |
||||
To get a graphical environment you need to install the xorg group: |
||||
</p><pre> pacman -S xorg |
||||
</pre><p>Choose your packages, or just install all of them. For the closed-source nvidia drivers you can use the <strong>nvidia-lts</strong> package, as our default kernel is <strong>linux-lts</strong>: |
||||
</p><pre> pacman -S nvidia-lts |
||||
</pre><p>Older nvidia cards work with the legacy series, <strong>nvidia-340xx-lts</strong> and <strong>nvidia-304xx-lts</strong>. |
||||
If you want to run a custom kernel, you can install the respective |
||||
nvidia dkms package which ensures all installed kernels get their nvidia |
||||
modules. |
||||
AMD and Intel cards enjoy excellent (or near-excellent) 3D support with |
||||
open-source drivers. Read the Arch wiki, for information on how Xorg |
||||
chooses the best available video driver and which one is optimal for |
||||
your hardware. |
||||
</p> |
||||
<p class="vspace">Install a desktop environment, for example <strong>MATE</strong>, <strong>LXQt</strong> or <strong>XFCE4</strong>: |
||||
</p><pre> pacman -S mate mate-extra xfce4 xfce4-goodies lxqt |
||||
</pre><p>And optionally a display manager, like <strong>LXDM</strong> or <strong>SDDM</strong>: |
||||
</p><pre> pacman -S lxdm displaymanager-openrc |
||||
rc-update add xdm default |
||||
nano /etc/conf.d/xdm <- edit and set DISPLAYMANAGER="lxdm" |
||||
</pre><p>Or you can use .xinitrc to launch your DE manually; edit (or create) <code>~/.xinitrc</code> and add <strong>exec mate-session</strong>. |
||||
Notice: <strong>mate-session</strong> and quite a few other packages |
||||
from the Arch repositories are compiled against systemd even if they |
||||
don't actually use it, at least not as PID1; to satisfy the library link |
||||
you may install <strong>libsystemd-dummy</strong> and <strong>systemd-dummy</strong>. |
||||
</p><pre> pacman -S systemd-dummy libsystemd-dummy |
||||
</pre> |
||||
</div> |
||||
|
||||
<div id="printfoot"> |
||||
<div class="from">Retrieved from https://wiki.artixlinux.org/Main/Installation</div> |
||||
<div class="lastmod">Page last modified on August 24, 2018, at 10:56 AM</div></div> |
||||
<!--HTMLFooter--> |
||||
|
||||
|
||||
</body><div id="simple-translate-button"></div><div id="simple-translate-panel"><p>...</p></div></html> |
@ -1,196 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head> |
||||
<title>Artix Wiki | Main / OpenRC</title> |
||||
<link rel="stylesheet" href="print.css" type="text/css"> |
||||
<!--HTMLHeader--><style type="text/css"><!-- |
||||
ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; } |
||||
code.escaped { white-space: nowrap; } |
||||
.vspace { margin-top:1.33em; } |
||||
.indent { margin-left:40px; } |
||||
.outdent { margin-left:40px; text-indent:-40px; } |
||||
a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; } |
||||
a.createlink { text-decoration:none; position:relative; top:-0.5em; |
||||
font-weight:bold; font-size:smaller; border-bottom:none; } |
||||
img { border:0px; } |
||||
|
||||
.rtl, .rtl * {direction:rtl; unicode-bidi:bidi-override;} |
||||
.ltr, .ltr * {direction:ltr; unicode-bidi:bidi-override;} |
||||
.rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { |
||||
margin-left:0; margin-right: 40px; |
||||
} |
||||
.ltplus{cursor:pointer; opacity:.3; font-weight:bold; padding: 0 .3em;} |
||||
.ltplus:hover{ color: white; background: blue; opacity: 1; }.TCprogress {background-color:#5af; min-height:13px; width:13px; color:#fff; margin-left:auto; margin-right:auto;} |
||||
table.TotalCounter td {font-size:x-small; text-align:center}.editconflict { color:green; |
||||
font-style:italic; margin-top:1.33em; margin-bottom:1.33em; } |
||||
|
||||
table.markup { border:2px dotted #ccf; width:90%; } |
||||
td.markup1, td.markup2 { padding-left:10px; padding-right:10px; } |
||||
table.vert td.markup1 { border-bottom:1px solid #ccf; } |
||||
table.horiz td.markup1 { width:23em; border-right:1px solid #ccf; } |
||||
table.markup caption { text-align:left; } |
||||
div.faq p, div.faq pre { margin-left:2em; } |
||||
div.faq p.question { margin:1em 0 0.75em 0; font-weight:bold; } |
||||
div.faqtoc div.faq * { display:none; } |
||||
div.faqtoc div.faq p.question |
||||
{ display:block; font-weight:normal; margin:0.5em 0 0.5em 20px; line-height:normal; } |
||||
div.faqtoc div.faq p.question * { display:inline; } |
||||
td.markup1 pre { white-space: pre-wrap; } |
||||
|
||||
.frame |
||||
{ border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; } |
||||
.lfloat { float:left; margin-right:0.5em; } |
||||
.rfloat { float:right; margin-left:0.5em; } |
||||
a.varlink { text-decoration:none;} |
||||
|
||||
--></style><link rel="icon" href="https://wiki.artixlinux.org/favicon.ico" type="image/x-icon"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
||||
<script async="" src="Artix%20Wiki%20-%20Main%20_%20OpenRC_files/analytics.js"></script><script> |
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); |
||||
|
||||
ga('create', 'UA-105345407-1', 'auto'); |
||||
ga('send', 'pageview'); |
||||
|
||||
</script> <meta name="robots" content="noindex,nofollow"> |
||||
<link rel="stylesheet" type="text/css" href="local.css"> |
||||
<meta name="description" content="The OpenRC init system"> |
||||
|
||||
</head> |
||||
<body> |
||||
<div id="printhead"> |
||||
<h3>From Artix Wiki</h3> |
||||
<h1 class="pagename"><a href="https://wiki.artixlinux.org/Main">Main: OpenRC</a></h1> |
||||
</div> |
||||
<!--PageText--> |
||||
<div id="wikitext"> |
||||
<p class="vspace"><strong><big>OpenRC</big></strong> |
||||
</p> |
||||
<p class="vspace">OpenRC is a dependency-based init system that |
||||
initially maintained compatibility with sysvinit (/sbin/init) and, |
||||
beginning with OpenRC 0.25, provided its own. OpenRC was written by <a class="urllink" href="https://gentoo.org/" rel="nofollow">Gentoo</a> developers and it is designed to be used by other distributions and BSD systems. |
||||
</p> |
||||
<div class="vspace"></div><h4>Features</h4> |
||||
<p>OpenRC provides features such as hardware initiated initscripts or cgroups support. |
||||
</p> |
||||
<div class="vspace"></div><h4>Configuration</h4> |
||||
<p><code>/etc/rc.conf</code> is the global OpenRC configuration file. |
||||
</p> |
||||
<div class="vspace"></div><h4>Network management</h4> |
||||
<p>OpenRC can be used with one of several network managers or even with none, see <code>/etc/conf.d/net</code> for examples of static or dynamic network configuration. The <strong>netifrc</strong> |
||||
package provides a collection of modules for configuring and managing |
||||
network interfaces via individual, per-interface scripts located in the |
||||
/etc/init.d/ directory. Its presence is not mandatory or it can be left |
||||
unused in favour of another network manager. |
||||
</p> |
||||
<div class="vspace"></div><h4>Dependency behavior</h4> |
||||
<p>Changing the default dependencies of init scripts might be needed to fit more complex setups. See <code>/etc/rc.conf</code> for how to change the default behavior; notice the <strong>rc_depend_strict</strong> option. In addition, the following networking examples show how flexible OpenRC can be. |
||||
</p> |
||||
<div class="vspace"></div><h4>Selecting a specific runlevel at boot</h4> |
||||
<p>OpenRC reads the kernel command-line used at boot time, and will start the runlevel specified by the <strong>softlevel</strong> parameter if provided, instead of <strong>default</strong>. For instance, you can choose whether to boot into the <strong>default</strong>, <strong>nonetwork</strong> or <strong>single-user</strong> runlevels with the following example grub.conf configuration: |
||||
</p><pre> /boot/grub/grub.conf |
||||
title=Regular start-up |
||||
kernel (hd0,0)/boot/vmlinuz-linux root=/dev/sda3 |
||||
title=Start without networking |
||||
kernel (hd0,0)/boot/vmlinuz-linux root=/dev/sda3 softlevel=nonetwork |
||||
title=Single-user mode |
||||
kernel (hd0,0)/boot/vmlinuz-linux root=/dev/sda3 softlevel=single |
||||
</pre><div class="vspace"></div><h3>Usage</h3> |
||||
<h4>Runlevels</h4> |
||||
<p>OpenRC uses runlevels in very much the same way as sysvinit (or BSD |
||||
init). At any given time the system is in one of the defined runlevels. |
||||
There are three internal runlevels and four user defined runlevels. |
||||
</p> |
||||
<div class="vspace"></div><ul><li>Internal runlevels, the names are self-explanatory: |
||||
<ul><li><code>sysinit</code> |
||||
</li><li><code>shutdown</code> |
||||
</li><li><code>reboot</code> |
||||
</li></ul><div class="vspace"></div></li><li>User Runlevels: |
||||
<div class="vspace"></div><ul><li><code>boot</code>: Starts all system-necessary services for other runlevels |
||||
</li><li><code>default</code>: Used for day-to-day-operations |
||||
</li><li><code>nonetwork</code>: Used when no network connectivity is required |
||||
</li><li><code>single</code>: Single-user mode |
||||
</li></ul></li></ul><p class="vspace">The system can switch to a runlevel with the <strong>openrc <runlevel></strong> command, e.g.: |
||||
</p><pre> openrc nonetwork |
||||
</pre><div class="vspace"></div><h4>Control</h4> |
||||
<p>OpenRC can be controlled and configured using <strong>openrc</strong>, <strong>rc-service</strong>, <strong>rc-update</strong> and <strong>rc-status</strong> commands. |
||||
</p> |
||||
<div class="vspace"></div><h4>Adding/removing services to/from runlevels</h4> |
||||
<pre> # rc-update add net.eth0 boot |
||||
# rc-update del dropbox default |
||||
</pre><div class="vspace"></div><h4>Listing</h4> |
||||
<p>Use <strong>rc-update show -v</strong> to display all available init scripts and their their current runlevel (if they have been added to one): |
||||
</p><pre> # rc-update show -v |
||||
</pre><p>Running <strong>rc-update</strong> or <strong>rc-update show</strong> will display only the init scripts that have been added to a runlevel. |
||||
</p> |
||||
<div class="vspace"></div><h4>Named runlevels</h4> |
||||
<p>OpenRC runlevels are directories living in <code>/etc/runlevels</code> to create additional runlevels is enough to issue: |
||||
</p><pre> # install -d /etc/runlevels/$runlevel |
||||
</pre><div class="vspace"></div><h4>Stacked runlevels</h4> |
||||
<p>It is possible to manage variants using <strong>rc-update -s</strong>. An example for using stacked runlevels on laptop to group networking services based on location is at <a class="urllink" href="https://wiki.gentoo.org/wiki/OpenRC/StackedRunlevel" rel="nofollow">OpenRC/StackedRunlevel</a>. |
||||
</p> |
||||
<div class="vspace"></div><h4>Hotplug</h4> |
||||
<p>OpenRC monitors and can be triggered by external events, such as new hardware from udev. See <a class="urllink" href="https://wiki.gentoo.org/wiki/Iphone_USB_Tethering#udev_trigger" rel="nofollow">OpenRC/Event Driven</a> for details. |
||||
</p> |
||||
<div class="vspace"></div><h4>Automatic respawning of crashed services</h4> |
||||
<p>OpenRC can return the state of services to the runlevel's setting |
||||
state, provide stateful init scripts and automatic respawning. If one |
||||
issues <strong>openrc</strong> as root (for default runlevel), crashed |
||||
services will start and manually launched services will stop. To prevent |
||||
the latter you can run <strong>openrc -n</strong> (--not-stop) |
||||
By default openrc will attempt just to start crashed services, not restart. This сontrolled by <strong>rc_crashed_stop</strong> (default NO) and <strong>rc_crashed_start</strong> (default YES) options in <code>/etc/rc.conf</code>. |
||||
</p> |
||||
<div class="vspace"></div><h4>CGroups support</h4> |
||||
<p>OpenRC has extended cgroups support. See <a class="urllink" href="https://wiki.gentoo.org/wiki/OpenRC/CGroups" rel="nofollow">OpenRC/CGroups</a> for details. |
||||
</p> |
||||
<div class="vspace"></div><h4>rc.local</h4> |
||||
<p>OpenRC doesn't execute <code>/etc/rc.local</code> by default; instead, it executes scripts from <code>/etc/local.d</code> ending in .start when local service starts and .stop when it stops. To mimic the good old <code>rc.local</code> behaviour, create <code>/etc/rc.local/rc.local.start</code> with the following and make it executable with <strong>chmod +x</strong>: |
||||
</p><pre> : |
||||
# /etc/local.d/rc.local.start |
||||
[ -e /etc/rc.local ] && /etc/rc.local |
||||
</pre><p>Make sure that the <strong>local</strong> service is enabled. The scripts in <code>/etc/local.d</code> are executed in lexical order and the example above assumes <code>/etc/rc.local</code> has got execute permissions. |
||||
</p> |
||||
<div class="vspace"></div><h3>Examples</h3> |
||||
<h4>Multiple network interfaces</h4> |
||||
<p>The SSH service must come up with the internal network, for instance eth0 and never wlan0. |
||||
Override the <strong>net</strong> dependency from <code>/etc/init.d/sshd</code>, and refine it to depend on <strong>net.eth0</strong>: |
||||
</p><pre> /etc/conf.d/sshd |
||||
rc_need="!net net.eth0" |
||||
</pre><div class="vspace"></div><h4>Multiple network interfaces in multiple runlevels</h4> |
||||
<p>The SSH service must start with <strong>eth0</strong> (not <strong>wlan0</strong>) in "default" runlevel, but in "office" runlevel it must start with <strong>wlan0</strong> (not <strong>eth0</strong>). |
||||
</p><pre> /etc/rc.conf |
||||
#rc_depend_strict="YES" |
||||
</pre><p>Make additional symlinks to sshd with the network interface names: |
||||
</p><pre> # ln -s sshd /etc/init.d/sshd.eth0 |
||||
# ln -s sshd /etc/init.d/sshd.wlan0 |
||||
</pre><p>Settings are read from <code>/etc/conf.d/sshd.eth0</code> and <code>/etc/conf.d/sshd.wlan0</code> now: |
||||
</p><pre> # cp /etc/conf.d/sshd /etc/conf.d/sshd.eth0 |
||||
# cp /etc/conf.d/sshd /etc/conf.d/sshd.wlan0 |
||||
</pre><p>Add the dependencies: |
||||
</p><pre> # echo 'rc_need="!net net.eth0"' >> /etc/conf.d/sshd.eth0 |
||||
# echo 'rc_need="!net net.wlan0"' >> /etc/conf.d/sshd.wlan0 |
||||
</pre><p>In this example net.eth0 and net.wlan0 read their settings from <code>/etc/conf.d/net</code>, or <code>/etc/conf.d/net.office</code>, depending on the active runlevel. Add all runscripts to the different runlevels: |
||||
</p><pre> # rc-update add sshd.eth0 default |
||||
# rc-update add sshd.wlan0 office |
||||
# rc-update add net.eth0 default office |
||||
# rc-update add net.wlan0 default office |
||||
</pre><p>To switch between "default" runlevel and "office" runlevel |
||||
without rebooting the computer, change to "nonetwork" runlevel in |
||||
between. The network interfaces will be stopped this way, and re-read |
||||
their runlevel specific configuration. This works best when "nonetwork" |
||||
is a stacked runlevel in both the "default" and "office" runlevels, and |
||||
the display manager and other non-network services are added to the |
||||
"nonetwork" runlevel only. |
||||
<br> <em>default runlevel <---> nonetwork runlevel <---> office runlevel</em> |
||||
</p><pre> # rc nonetwork && rc office |
||||
# rc nonetwork && rc default |
||||
</pre> |
||||
</div> |
||||
|
||||
<div id="printfoot"> |
||||
<div class="from">Retrieved from https://wiki.artixlinux.org/Main/OpenRC</div> |
||||
<div class="lastmod">Page last modified on June 29, 2018, at 09:59 PM</div></div> |
||||
<!--HTMLFooter--> |
||||
|
||||
|
||||
</body><div id="simple-translate-button"></div><div id="simple-translate-panel"><p>...</p></div></html> |
@ -1,164 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head> |
||||
<title>Artix Wiki | Main / Troubleshooting</title> |
||||
<link rel="stylesheet" href="print.css" type="text/css"> |
||||
<!--HTMLHeader--><style type="text/css"><!-- |
||||
ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; } |
||||
code.escaped { white-space: nowrap; } |
||||
.vspace { margin-top:1.33em; } |
||||
.indent { margin-left:40px; } |
||||
.outdent { margin-left:40px; text-indent:-40px; } |
||||
a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; } |
||||
a.createlink { text-decoration:none; position:relative; top:-0.5em; |
||||
font-weight:bold; font-size:smaller; border-bottom:none; } |
||||
img { border:0px; } |
||||
|
||||
.rtl, .rtl * {direction:rtl; unicode-bidi:bidi-override;} |
||||
.ltr, .ltr * {direction:ltr; unicode-bidi:bidi-override;} |
||||
.rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { |
||||
margin-left:0; margin-right: 40px; |
||||
} |
||||
.ltplus{cursor:pointer; opacity:.3; font-weight:bold; padding: 0 .3em;} |
||||
.ltplus:hover{ color: white; background: blue; opacity: 1; }.TCprogress {background-color:#5af; min-height:13px; width:13px; color:#fff; margin-left:auto; margin-right:auto;} |
||||
table.TotalCounter td {font-size:x-small; text-align:center}.editconflict { color:green; |
||||
font-style:italic; margin-top:1.33em; margin-bottom:1.33em; } |
||||
|
||||
table.markup { border:2px dotted #ccf; width:90%; } |
||||
td.markup1, td.markup2 { padding-left:10px; padding-right:10px; } |
||||
table.vert td.markup1 { border-bottom:1px solid #ccf; } |
||||
table.horiz td.markup1 { width:23em; border-right:1px solid #ccf; } |
||||
table.markup caption { text-align:left; } |
||||
div.faq p, div.faq pre { margin-left:2em; } |
||||
div.faq p.question { margin:1em 0 0.75em 0; font-weight:bold; } |
||||
div.faqtoc div.faq * { display:none; } |
||||
div.faqtoc div.faq p.question |
||||
{ display:block; font-weight:normal; margin:0.5em 0 0.5em 20px; line-height:normal; } |
||||
div.faqtoc div.faq p.question * { display:inline; } |
||||
td.markup1 pre { white-space: pre-wrap; } |
||||
|
||||
.frame |
||||
{ border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; } |
||||
.lfloat { float:left; margin-right:0.5em; } |
||||
.rfloat { float:right; margin-left:0.5em; } |
||||
a.varlink { text-decoration:none;} |
||||
|
||||
--></style><link rel="icon" href="https://wiki.artixlinux.org/favicon.ico" type="image/x-icon"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
||||
<script async="" src="Artix%20Wiki%20-%20Main%20_%20Troubleshooting_files/analytics.js"></script><script> |
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); |
||||
|
||||
ga('create', 'UA-105345407-1', 'auto'); |
||||
ga('send', 'pageview'); |
||||
|
||||
</script> <meta name="robots" content="noindex,nofollow"> |
||||
<link rel="stylesheet" type="text/css" href="local.css"> |
||||
<meta name="description" content="Troubleshooting your Artix issues"> |
||||
|
||||
</head> |
||||
<body> |
||||
<div id="printhead"> |
||||
<h3>From Artix Wiki</h3> |
||||
<h1 class="pagename"><a href="https://wiki.artixlinux.org/Main">Main: Troubleshooting</a></h1> |
||||
</div> |
||||
<!--PageText--> |
||||
<div id="wikitext"> |
||||
<div class="vspace"></div><h3>Updating icu/ncurses/whatever breaks a ton of packages</h3> |
||||
<p>Make sure you have the correct repositories activated in <code>/etc/pacman.conf</code>. |
||||
Testing [gremlins] repositories should be disabled by default. If you |
||||
want to use them, you should also uncomment [testing] from Arch. These <strong>must</strong> be above all other repositories. |
||||
<strong>Note:</strong> [gremlins] is Artix equivalent of Arch [testing] |
||||
</p><pre> #[gremlins] |
||||
#Include = /etc/pacman.d/mirrorlist |
||||
#[galaxy-gremlins] |
||||
#Include = /etc/pacman.d/mirrorlist |
||||
#[lib32-gremlins] |
||||
#Include = /etc/pacman.d/mirrorlist |
||||
|
||||
[system] |
||||
Include = /etc/pacman.d/mirrorlist |
||||
[world] |
||||
Include = /etc/pacman.d/mirrorlist |
||||
[galaxy] |
||||
Include = /etc/pacman.d/mirrorlist |
||||
# If you want to run 32 bit applications on your x86_64 system, |
||||
# enable the multilib repositories as required here. |
||||
[lib32] |
||||
Include = /etc/pacman.d/mirrorlist |
||||
</pre><p>Since we still depend on some of Arch packages from [extra] and |
||||
most of [community], some version mismatches during updates and until |
||||
we fully sync may cause problems. In such case, enabling temporarily the |
||||
testing repositories might just give you the right package to fix your |
||||
situation. |
||||
</p> |
||||
<p class="vspace">The list below might not be updated, always check the <a class="urllink" href="https://gitea.artixlinux.org/packages/artix-mirrorlist/src/branch/master/repos/core-any/mirrorlist" rel="nofollow">Gitea repository</a>. |
||||
</p><pre> ## Artix Linux repository mirrorlist |
||||
## Generated on 2017-10-21 |
||||
## |
||||
# Artix mirrors |
||||
Server = <a class="urllink" href="https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch" rel="nofollow">https://mirror.clarkson.edu/artix-linux/repos/$repo/os/$arch</a> |
||||
Server = <a class="urllink" href="https://ftp.sh.cvut.cz/artix-linux/$repo/os/$arch" rel="nofollow">https://ftp.sh.cvut.cz/artix-linux/$repo/os/$arch</a> |
||||
Server = <a class="urllink" href="https://ftp.cc.uoc.gr/mirrors/linux/artixlinux/$repo/os/$arch" rel="nofollow">https://ftp.cc.uoc.gr/mirrors/linux/artixlinux/$repo/os/$arch</a> |
||||
Server = <a class="urllink" href="https://artix.wheaton.edu/repos/$repo/os/$arch" rel="nofollow">https://artix.wheaton.edu/repos/$repo/os/$arch</a> |
||||
Server = <a class="urllink" href="http://mirror.strits.dk/artix-linux/repos/$repo/os/$arch" rel="nofollow">http://mirror.strits.dk/artix-linux/repos/$repo/os/$arch</a> |
||||
Server = <a class="urllink" href="https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch" rel="nofollow">https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch</a> |
||||
Server = <a class="urllink" href="http://mirror1.artixlinux.org/repos/$repo/os/$arch" rel="nofollow">http://mirror1.artixlinux.org/repos/$repo/os/$arch</a> |
||||
</pre><div class="vspace"></div><h3>Invalid or corrupted packages (PGP signature)</h3> |
||||
<p>If pacman warns you about invalid or corrupted packages, it may be |
||||
due to obsolete PGP keys or Arch-signed packages in the repos. Make sure |
||||
the Artix repos are above the Arch ones and: |
||||
</p> |
||||
<p class="vspace">1. Reinstall keyrings including the latest keys: |
||||
</p><pre> sudo pacman -Sy gnupg archlinux-keyring artix-keyring --force |
||||
</pre><p>If you can't install the artix-keyring because of , perform step 2 and repeat 1, otherwise proceed to step 3. |
||||
</p> |
||||
<p class="vspace">2. Remove old and possibly expired, revoked or invalid keys by issuing this command: |
||||
</p><pre> sudo rm -r /etc/pacman.d/gnupg |
||||
</pre><p>3. Initialize the pacman keyring: |
||||
</p><pre> sudo pacman-key --init |
||||
</pre><p>4. Load the signature keys: |
||||
</p><pre> sudo pacman-key --populate archlinux artix |
||||
</pre><p>5. Clear out the software packages downloaded during the aborted installation: |
||||
</p><pre> sudo pacman -Scc |
||||
sudo pacman -Syyu |
||||
</pre><p>6. In a pinch, install the package with the -U pacman switch: |
||||
</p><pre> pacman -U /var/cache/pacman/pkg/package-1.3.9-1.x86_64.pkg.tar.xz |
||||
</pre><div class="vspace"></div><h3>Can't play games, run Steam etc!</h3> |
||||
<p>You must enable [lib32] from Artix and [multilib] from Arch in <code>/etc/pacman.conf</code> and install relevant packages for 32bit executables. Make sure [lib32] is above [multilib] (as a matter of fact <strong>all</strong> Artix repos must be above Arch's). |
||||
</p><pre> [lib32] |
||||
Include = /etc/pacman.d/mirrorlist |
||||
[multilib] |
||||
Include = /etc/pacman.d/mirrorlist-arch |
||||
</pre><div class="vspace"></div><h3>Warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.</h3> |
||||
<p>Install parted and execute: |
||||
</p><pre> parted -s /dev/sdx set 1 bios_grub on |
||||
</pre><div class="vspace"></div><h3>I'm having <strong>dbus-related</strong> problems and I keep seeing messages about <code>/etc/machine-id</code></h3> |
||||
<p>This file originated from dbus development and was adopted by systemd |
||||
as a universally unique machine identifier. Ergo, it is a useless (for |
||||
the end user) tag but apparently of some use to dbus because <a class="urllink" href="https://dbus.freedesktop.org/doc/dbus-uuidgen.1.html" rel="nofollow">"<em>The |
||||
important properties of the machine UUID are that 1) it remains |
||||
unchanged until the next reboot and 2) it is different for any two |
||||
running instances of the OS kernel. That is, if two processes see the |
||||
same UUID, they should also see the same shared memory, UNIX domain |
||||
sockets, local X displays, localhost.localdomain resolution, process |
||||
IDs, and so forth.</em>"</a> Also, <a class="urllink" href="https://www.freedesktop.org/software/systemd/man/machine-id.html" rel="nofollow">"<em>The |
||||
simple configuration file format of /etc/machine-id originates in the |
||||
/var/lib/dbus/machine-id file introduced by D-Bus. In fact, this latter |
||||
file might be a symlink to /etc/machine-id.</em>"</a> and <a class="urllink" href="https://www.freedesktop.org/software/systemd/man/machine-id.html" rel="nofollow"><em>This |
||||
ID uniquely identifies the host. It should be considered |
||||
"confidential", and must not be exposed in untrusted environments, in |
||||
particular on the network.</em></a> Privacy-conscious people <em>might</em> want to regenerate their machine-ids frequently; a new ID can be generated with |
||||
</p><pre> dbus-uuidgen >| /etc/machine-id |
||||
</pre><p>or |
||||
</p><pre> dbus-uuidgen >| /var/lib/dbus/machine-id |
||||
</pre> |
||||
</div> |
||||
|
||||
<div id="printfoot"> |
||||
<div class="from">Retrieved from https://wiki.artixlinux.org/Main/Troubleshooting</div> |
||||
<div class="lastmod">Page last modified on August 12, 2018, at 01:15 PM</div></div> |
||||
<!--HTMLFooter--> |
||||
|
||||
|
||||
</body><div id="simple-translate-button"></div><div id="simple-translate-panel"><p>...</p></div></html> |
@ -1,157 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head> |
||||
<title>Artix Wiki | Main / runit</title> |
||||
<link rel="stylesheet" href="print.css" type="text/css"> |
||||
<!--HTMLHeader--><style type="text/css"><!-- |
||||
ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; } |
||||
code.escaped { white-space: nowrap; } |
||||
.vspace { margin-top:1.33em; } |
||||
.indent { margin-left:40px; } |
||||
.outdent { margin-left:40px; text-indent:-40px; } |
||||
a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; } |
||||
a.createlink { text-decoration:none; position:relative; top:-0.5em; |
||||
font-weight:bold; font-size:smaller; border-bottom:none; } |
||||
img { border:0px; } |
||||
|
||||
.rtl, .rtl * {direction:rtl; unicode-bidi:bidi-override;} |
||||
.ltr, .ltr * {direction:ltr; unicode-bidi:bidi-override;} |
||||
.rtl .indent, .rtl.indent, .rtl .outdent, .rtl.outdent { |
||||
margin-left:0; margin-right: 40px; |
||||
} |
||||
.ltplus{cursor:pointer; opacity:.3; font-weight:bold; padding: 0 .3em;} |
||||
.ltplus:hover{ color: white; background: blue; opacity: 1; }.TCprogress {background-color:#5af; min-height:13px; width:13px; color:#fff; margin-left:auto; margin-right:auto;} |
||||
table.TotalCounter td {font-size:x-small; text-align:center}.editconflict { color:green; |
||||
font-style:italic; margin-top:1.33em; margin-bottom:1.33em; } |
||||
|
||||
table.markup { border:2px dotted #ccf; width:90%; } |
||||
td.markup1, td.markup2 { padding-left:10px; padding-right:10px; } |
||||
table.vert td.markup1 { border-bottom:1px solid #ccf; } |
||||
table.horiz td.markup1 { width:23em; border-right:1px solid #ccf; } |
||||
table.markup caption { text-align:left; } |
||||
div.faq p, div.faq pre { margin-left:2em; } |
||||
div.faq p.question { margin:1em 0 0.75em 0; font-weight:bold; } |
||||
div.faqtoc div.faq * { display:none; } |
||||
div.faqtoc div.faq p.question |
||||
{ display:block; font-weight:normal; margin:0.5em 0 0.5em 20px; line-height:normal; } |
||||
div.faqtoc div.faq p.question * { display:inline; } |
||||
td.markup1 pre { white-space: pre-wrap; } |
||||
|
||||
.frame |
||||
{ border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; } |
||||
.lfloat { float:left; margin-right:0.5em; } |
||||
.rfloat { float:right; margin-left:0.5em; } |
||||
a.varlink { text-decoration:none;} |
||||
|
||||
--></style><link rel="icon" href="https://wiki.artixlinux.org/favicon.ico" type="image/x-icon"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
||||
<script async="" src="Artix%20Wiki%20-%20Main%20_%20runit_files/analytics.js"></script><script> |
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); |
||||
|
||||
ga('create', 'UA-105345407-1', 'auto'); |
||||
ga('send', 'pageview'); |
||||
|
||||
</script> <meta name="robots" content="noindex,nofollow"> |
||||
<link rel="stylesheet" type="text/css" href="local.css"> |
||||
|
||||
</head> |
||||
<body> |
||||
<div id="printhead"> |
||||
<h3>From Artix Wiki</h3> |
||||
<h1 class="pagename"><a href="https://wiki.artixlinux.org/Main">Main: runit</a></h1> |
||||
</div> |
||||
<!--PageText--> |
||||
<div id="wikitext"> |
||||
<p class="vspace">runit is a suite of tools which provides an init (PID |
||||
1) as well as daemontools-compatible process supervision framework, |
||||
along with utilites which streamline creation and maintenance of |
||||
services. |
||||
</p> |
||||
<div class="vspace"></div><h3>Installation</h3> |
||||
<p>Install the <code>runit</code> package. |
||||
</p> |
||||
<div class="vspace"></div><h4>Installation of services</h4> |
||||
<p>runit service packages are named <code><em>package_name</em>-runit</code> and, when installed, will be available in <code>/etc/runit/sv</code>. |
||||
</p> |
||||
<div class="vspace"></div><h3>Programs</h3> |
||||
<p>Runit has several programs, but usually you will only interact directly with one program only. |
||||
</p> |
||||
<div class="vspace"></div><ul><li><code>sv</code> - used for controlling services, getting status of services, and dependency checking. |
||||
</li><li><code>chpst</code> - control of a process environment, |
||||
including memory caps, limits on cores, data segments, environments, |
||||
user/group privileges, and more. |
||||
</li><li><code>runsv</code> - supervises a process, and optionally a log service for that process. |
||||
</li><li><code>svlogd</code> - a simple but powerful logger, includes |
||||
auto-rotation based on different methods (time, size, etc), |
||||
post-processing, pattern matching, and socket (remote logging) options. |
||||
Say goodbye to logrotate and the need to stop your services to rotate |
||||
logs. |
||||
</li><li><code>runsvchdir</code> - changes service levels (runlevels, see below) |
||||
</li><li><code>runsvdir</code> - starts a supervision tree |
||||
</li><li><code>runit-init</code> - PID 1, does almost nothing besides being the init |
||||
</li></ul><div class="vspace"></div><h3>Files</h3> |
||||
<p>There are several files that will be installed by <code>runit</code>. |
||||
</p> |
||||
<div class="vspace"></div><ul><li><code>/etc/runit/1</code> - stage 1, system’s one-time initialization tasks |
||||
</li><li><code>/etc/runit/2</code> - stage 2, Normally runs <code>runsvdir</code>, should not return until the system is going to halt or reboot. |
||||
</li><li><code>/etc/runit/3</code> - stage 3, system’s shutdown tasks |
||||
</li><li><code>/etc/runit/ctrlaltdel</code> - Runit will execute this when receiving a <code>SIGINT</code> signal |
||||
</li><li><code>/etc/runit/runsvdir/*</code> - Runlevels |
||||
</li><li><code>/etc/runit/sv/*</code> - directory containing subdirectories of available service files |
||||
</li><li><code>/run/runit/service</code> - always symlinked to active runlevel, <code>sv</code> will search for running service here |
||||
</li></ul><p class="vspace">However, since <code>runit</code> itself depends on <code>runit-rc</code>, there will be several extra rc files installed, most contained in <code>/etc/rc</code> and <code>/usr/lib/rc</code>. |
||||
</p> |
||||
<div class="vspace"></div><h3>Basic usage</h3> |
||||
<p>Unlike other distros using runit, Artix doesn’t store its service directory in <code>/var/service</code> or <code>/service</code>, but in <code>/run/runit/service</code> instead. |
||||
</p> |
||||
<div class="vspace"></div><ul><li>Enable service (in runlevel <em>default</em>)<code># ln -s /etc/runit/sv/<em>service_name</em> /run/runit/service</code> |
||||
</li><li>Disable service <code> # rm /run/runit/service/<em>service_name</em></code> |
||||
</li><li>Stop immediately <code> # sv down <em>service_name</em></code> or <code> # sv stop <em>service_name</em></code> |
||||
</li><li>Start (if not running) <code> # sv up <em>service_name</em></code> or <code> # sv restart <em>service_name</em></code> |
||||
</li><li>Restart <code> # sv restart <em>service_name</em></code> |
||||
</li><li>Reload <code> # sv restart <em>service_name</em></code> |
||||
</li><li>Status check <code> # sv status <em>service_name</em></code> |
||||
</li><li>Switch runlevels (this will stop all services that are currently running and will start all services in the new runlevel) <code> # runsvchdir <em>runlevel</em></code> |
||||
</li></ul><div class="vspace"></div><h3>Runlevel</h3> |
||||
<p>By default, runit has 2 runlevels, <code>default</code> and <code>single</code>. You can make your own runlevels just by creating a new folder in <code>/etc/runit/runsvdir/</code> and symlinking your desired service to that runlevel. |
||||
</p><pre> ln -s /etc/runit/sv/service /etc/runit/runsvdir/<em>runlevel</em>@@ |
||||
</pre><div class="vspace"></div><h3>Service directory structure</h3> |
||||
<p>This is a tree of a complete service directory structure (aka <code>/etc/runit/sv/<em>servicedir</em></code>), in some run scripts, typically only <code>run</code> will be available as usually it's the only file needed. |
||||
</p> |
||||
<div class="vspace"></div><pre> servicedir |
||||
├── run (755) |
||||
├── check (755) |
||||
├── conf (644) |
||||
├── finish (755) |
||||
└── log (directory) |
||||
├── config (644) |
||||
└── run (755) |
||||
</pre><p class="vspace">A runit (or any daemontools-compatible) run script service directory usually contains only one executable file, <code>run</code>, which runs process in the <strong>foreground</strong>. Processes that run in the background cannot be supervised by runit. |
||||
</p> |
||||
<p class="vspace">If a service directory contains another directory named <code>log</code>, the output of the <code>run</code> process in the service directory will be piped to the input of the <code>run</code> process in the log directory. If the log service uses <code>svlogd</code>, it may be configured by using the file <code>config</code>. How <code>svlogd</code> can be configured is explained in the <code>svlogd(1)</code> manpage. |
||||
</p> |
||||
<p class="vspace">A run script may also contain executables like <code>finish</code> and <code>check</code>. <code>finish</code> will be executed when a service is stopped, and <code>check</code> will be executed (if exists) by <code>sv check</code> or <code>sv status</code>. |
||||
</p> |
||||
<p class="vspace">A run script may also contain a <code>conf</code> file (which is not executable) that modifies the variables available to the script. |
||||
</p> |
||||
<div class="vspace"></div><h3>Service dependencies</h3> |
||||
<p>Some services may depend on other services. For example, <code>NetworkManager</code> depends on <code>dbus</code>. To ensure that required dependencies are satisfied, check the service's <code>run</code> file. For example, for NetworkManager: |
||||
</p> |
||||
<div class="vspace"></div><pre> # /etc/runit/sv/NetworkManager/run |
||||
sv check dbus >/dev/null || exit 1 |
||||
</pre><p class="vspace">This means you have to enable <code>dbus</code> for NetworkManager to start. |
||||
</p> |
||||
<div class="vspace"></div><h3>See also</h3> |
||||
<ul><li><a class="urllink" href="http://smarden.org/runit" rel="nofollow">http://smarden.org/runit</a> - Official runit documentation |
||||
</li><li><a class="urllink" href="https://voidlinux.eu/wiki/Runit" rel="nofollow">https://voidlinux.eu/wiki/Runit</a> - Void Linux wiki on runit |
||||
</li></ul> |
||||
</div> |
||||
|
||||
<div id="printfoot"> |
||||
<div class="from">Retrieved from https://wiki.artixlinux.org/Main/Runit</div> |
||||
<div class="lastmod">Page last modified on June 21, 2018, at 05:32 AM</div></div> |
||||
<!--HTMLFooter--> |
||||
|
||||
|
||||
</body><div id="simple-translate-button"></div><div id="simple-translate-panel"><p>...</p></div></html> |
@ -1,69 +0,0 @@
|
||||
/*********************************************************************** |
||||
** print.css |
||||
** Copyright 2004 Patrick R. Michaud (pmichaud@pobox.com) |
||||
** This file is part of PmWiki; you can redistribute it and/or modify |
||||
** it under the terms of the GNU General Public License as published |
||||
** by the Free Software Foundation; either version 2 of the License, or |
||||
** (at your option) any later version. See pmwiki.php for full details. |
||||
***********************************************************************/ |
||||
|
||||
/*********************************************************************** |
||||
** These settings are part of the ?action=print skin. If you want |
||||
** to change these settings, create a new print template and set |
||||
** $PrintTemplateFmt in the config.php file to point to your new |
||||
** printing skin. |
||||
***********************************************************************/ |
||||
|
||||
body { |
||||
width:auto; |
||||
background-color: #1a1a1a; |
||||
color: #dedede; |
||||
font-family:serif; |
||||
} |
||||
|
||||
#printhead { |
||||
font-family:sans-serif; |
||||
border-top:3px solid #a0a0a0; |
||||
border-bottom:5px solid #a0a0a0; |
||||
margin-bottom:1em; |
||||
} |
||||
#printhead h3 { margin-top:0px; } |
||||
#printhead h1 { margin-bottom:0px; } |
||||
|
||||
#printtitle { |
||||
} |
||||
|
||||
#printfoot { |
||||
clear:both; |
||||
margin-top:1em; |
||||
border-top:5px solid #a0a0a0; |
||||
font-size:smaller; |
||||
} |
||||
|
||||
|
||||
a:link { color:#4444ee; font-weight:bold; text-decoration:none; } |
||||
a:visited { color:#4444ee; font-weight:bold; text-decoration:none; } |
||||
a.wikilink:hover { color: #4444ee; text-decoration:underline; } |
||||
a.createlink { color:#4444ee; } |
||||
a.createlink:visited { color:#4444ee; } |
||||
a.createlink:hover { color:#ff2222; } |
||||
|
||||
.mini { padding:2px; border:1px solid #c6c6c6; background-color:#1a1a1a; } |
||||
.miniH, .miniF {display:block;} |
||||
|
||||
a {color: #80d3fc; text-decoration: none;} |
||||
|
||||
a:visited {color: #cc77cc;} |
||||
|
||||
code {color: #99aabb;} |
||||
|
||||
wikitrail {background-color: #232423;} |
||||
|
||||
.container-fluid { |
||||
padding-right: 2px; |
||||
padding-left: 2px; |
||||
} |
||||
|
||||
.well { |
||||
padding: 5px; |
||||
} |
Loading…
Reference in new issue