Centos bekijken cpu laden vanaf de opdrachtregel. Bestanden en mappen. De database installeren

Systemd - systeem- en servicemanager in de operatiekamer Linux-systeem... Bij de ontwikkeling ervan was het de bedoeling om het achterwaarts compatibel te maken met SysV init-scripts en te voorzien in: handige functies, zoals de parallelle lancering systeemservices tijdens het opstarten, activering van daemons op aanvraag, ondersteuning voor momentopnamen van systeemstatus en op afhankelijkheid gebaseerde logica voor servicebeheer. In CentOS 7 vervangt systemd Upstart als het standaard init-systeem.

In dit artikel zullen we u door het proces leiden van het beheren van services in systemd to door CentOS-gebruiker 7. Deze kennis zal ook nuttig zijn in andere distributies, aangezien systemd al heel lang in Fedora wordt gebruikt en gepland is voor Ubuntu 14.10 en Debian 8. Laten we het achter de schermen laten.

Terwijl je dit artikel leest, kun je systemd uitproberen op klassieke VPS en cloud-VPS van Infobox. We streven ernaar om ondersteuning voor moderne besturingssystemen tijdig toe te voegen, zodat u kunt gebruiken nieuwste technologieën voor meer effectief werk... Het idee om een ​​artikel te schrijven is geboren na een andere vraag van gebruikers over het gebruik van services in CentOS 7.

Invoering

Systemd brengt het concept van systemd-eenheden. Eenheden worden weergegeven door configuratiebestanden die zich in een van de mappen bevinden:
  • / usr / lib / systemd / systeem /- eenheden van geïnstalleerde RPM-pakketten.
  • / uitvoeren / systemd / systeem /- eenheden gemaakt tijdens runtime. Deze directory heeft voorrang op de directory met geïnstalleerde eenheden uit pakketten.
  • / etc / systemd / systeem /- eenheden aangemaakt en beheerd systeem administrator... Deze map heeft voorrang op de map met eenheden die tijdens runtime is gemaakt.
Eenheden bevatten informatie over systeemservices, luistersockets, opgeslagen momentopnamen van systeemstatussen en andere objecten die verband houden met het init-systeem.

Typen systeemeenheden:

  • .dienst- systeemservice
  • .doel- een groep systemd-eenheden
  • .autom t - bestandssysteem automount punt
  • .apparaat- bestand van het apparaat dat door de kernel wordt herkend
  • .mount- aankoppelpunt van het bestandssysteem
  • .pad- een bestand of map in het bestandssysteem
  • .domein- een extern gecreëerd proces
  • .plak- een groep hiërarchisch georganiseerde eenheden die systeemprocessen beheren
  • .momentopname- opgeslagen status van systemd manager
  • .stopcontact- socket interprocescommunicatie
  • .ruil- Wissel apparaat of wisselbestand (wisselbestand)
  • .timer- systeemtimer

Belangrijkste kenmerken van systemd in CentOS 7

  • Socket-gebaseerde activering... Tijdens het opstarten luistert systemd naar sockets voor alle systeemservices, ondersteunt dit type activering en draagt ​​sockets direct na het starten van de services over naar deze services. Hierdoor kan systemd niet alleen services parallel starten, maar biedt het ook de mogelijkheid om services opnieuw te starten zonder berichten te verliezen die ernaar zijn verzonden terwijl de services niet beschikbaar waren. De bijbehorende socket blijft beschikbaar en alle berichten worden in de wachtrij geplaatst.
  • D-Bus-gebaseerde activering... Systeemservices die D-Bus gebruiken voor communicatie tussen processen kunnen op aanvraag worden gestart wanneer: client applicatie proberen contact met hen op te nemen.
  • Apparaatgebaseerde activering... Systeemservices die apparaatgebaseerde activering ondersteunen, kunnen worden gestart wanneer een bepaald type apparatuur wordt aangesloten of beschikbaar wordt gesteld.
  • Padgebaseerde activering... Systeemservices kunnen dit type activering ondersteunen als de status van een map of directory verandert.
  • Momentopnamen van systeemstatus... Het systeem kan de status van alle units opslaan en de vorige status van het systeem herstellen.
  • Beheer van aankoppelpunten en automatisch koppelen... Systemd bewaakt en beheert mount- en automount-punten.
  • Agressieve parallellisatie Systemd start systeemservices parallel vanwege het gebruik van socketgebaseerde activering. In combinatie met services die activering op aanvraag ondersteunen, verkort gelijktijdige activering de opstarttijd van het systeem aanzienlijk.
  • Transactielogica voor het activeren van eenheden... Alvorens eenheden te activeren en te deactiveren, berekent systemd hun afhankelijkheden, creëert een tijdelijke transactie en verifieert de integriteit van die transactie. Als een transactie inconsistent is, probeert systemd deze automatisch te herstellen en onnodige taken te verwijderen voordat een foutmelding wordt gegenereerd.
  • Achterwaarts compatibel met SysV-initialisatie... SystemD ondersteunt volledig SysV init-scripts zoals beschreven in de Linux Standard Base (LSB)-specificatie, waardoor het gemakkelijk is om naar systemd te migreren.

Servicebeheer

Eerdere versies van CentOS gebruikten SysV of Upstart. Initialisatiescripts bevonden zich in de directory /etc/rc.d/init.d/... Dergelijke scripts werden meestal in Bash geschreven en stelden de beheerder in staat de status van services en daemons te beheren. In CentOS 7 zijn init-scripts vervangen door service-eenheden.

Door gebruik te maken van service units .dienst lijken op init-scripts. Gebruik de opdracht om de systeemservices te bekijken, starten, stoppen, opnieuw opstarten, in- of uitschakelen systeemctl... Commando's dienst en chkconfig zijn nog steeds in het systeem opgenomen, maar alleen om compatibiliteitsredenen.


De bestandsextensie is optioneel bij gebruik van systemctl.

Hieronder staan ​​de basiscommando's: systeemctl:

  • systemctl startnaam.service- dienstlancering.
  • systemctl stop naam.service- servicestop
  • systemctl herstart naam.service- service opnieuw opstarten
  • systemctl try-restart name.service- de service alleen herstarten als deze actief is
  • systemctl herlaad naam.service- de serviceconfiguratie opnieuw laden
  • systemctl-statusnaam.service- controleren of de service actief is met een gedetailleerde uitvoer van de servicestatus
  • systemctl is-actieve naam.service- controleren of de service actief is met een eenvoudig antwoord: actief of inactief
  • systemctl list-units --type service --all- de status van alle services weergeven
  • systemctl naam.service inschakelen- activeert de service (u kunt starten tijdens het opstarten van het systeem)
  • systemctl naam.service uitschakelen- deactiveert de service
  • systemctl naam.service opnieuw inschakelen- deactiveert de service en activeert deze onmiddellijk
  • systemctl is – ingeschakeld naam.service- controleert of de dienst is geactiveerd
  • systemctl lijst-eenheid-bestanden --type service- geeft alle services weer en controleert welke zijn geactiveerd
  • systemctl mask name.service- vervangt het servicebestand door een symbolische link naar / dev / null, waardoor het apparaat ontoegankelijk wordt voor systemd
  • systemctl ontmasker naam.service- retourneert een servicebestand, waardoor de unit beschikbaar is voor systemd

Werken met Systemd-doelen

Vorig CentOS-versies met SysV bevatte init of Upstart een vooraf gedefinieerde set runlevels, die specifieke modi voor bewerkingen vertegenwoordigden, genummerd 0 tot en met 6. In CentOS 7 werd het concept van runlevels vervangen door systemd-doelen.

Systemd-doelbestanden .doel zijn ontworpen om andere systemd-eenheden te groeperen via een keten van afhankelijkheden. bijvoorbeeld eenheid grafisch.doel, die wordt gebruikt om een ​​grafische sessie te starten, start de GNOME Display Manager-systeemservices ( gdm.service) en Accountservice ( accounts – daemon.service) en activeert doel voor meerdere gebruikers... Beurtelings doel voor meerdere gebruikers start andere systeemservices zoals Network Manager ( NetworkManager.service) of D-bus ( dbus.service) en activeert andere doeleenheden basis.doel.

CentOS 7 heeft vooraf gedefinieerde doelen vergelijkbaar met: standaard set niveaus lopen. Om compatibiliteitsredenen hebben ze ook aliassen voor deze doeleinden, die direct zijn toegewezen aan de SysV-runlevels.

  • poweroff.target (runlevel0.target)- afsluiten en afsluiten van het systeem
  • redding.doel (runlevel1.target)- de herstelshell aanpassen
  • multi–user.target (runlevel2.target, runlevel3.target, runlevel4.target)- opzetten van een niet-grafisch multi-user systeem
  • grafisch.doel (runlevel5.target)- opzetten van een grafisch multi-user systeem
  • reboot.target (runlevel6.target)- sluit het systeem af en start het opnieuw op
De opdrachten runlevel en telinit zijn nog steeds beschikbaar, maar zijn om compatibiliteitsredenen op het systeem achtergelaten. Het wordt aanbevolen om systemctl te gebruiken om systeemdoelen te wijzigen of aan te passen.

De volgende opdracht is handig om te bepalen welke doeleenheid de standaardeenheid is: systemctl get – standaard.

Gebruik het commando . om alle geladen doeleenheden te bekijken systemctl lijst-eenheden --type doel, en om alle doeleenheden in het algemeen te bekijken met het commando: systemctl list-units --type target --all.

Om het standaarddoel te wijzigen, helpt de opdracht systemctl set-default naam.doel.

Om uw huidige doel te wijzigen: systemctl isoleer naam.doel... Het commando start de doeleenheid en al zijn afhankelijkheden en stopt onmiddellijk alle andere.

In CentOS 7 vervangt systemctl een aanzienlijk aantal energiebeheeropdrachten. Eerdere commando's zijn behouden voor compatibiliteit, maar het wordt aanbevolen om systemctl te gebruiken:
systemctl stop- stopt het systeem
systemctl poweroff- schakelt het systeem uit
systemctl reboot- herstart het systeem

Systeembeheer op een externe computer

Met Systemd kunt u een externe machine via SSH besturen. Gebruik de opdracht om te beheren:
systemctl --host [e-mail beveiligd] _name commando, waarbij gebruikersnaam de gebruikersnaam is, hostnaam de naam van de host die wordt uitgevoerd afstandsbediening en command is de systemd-opdracht die moet worden uitgevoerd.

Typische systemd .service

Deze sectie helpt u als u snel servicebeheer van systemd moet ondersteunen. gedetailleerde informatie servicebestandsopties zijn beschikbaar in de juiste sectie van de systemd-documentatie.

Beschrijving = Daemon om crashende apps te detecteren After = syslog.target ExecStart = / usr / sbin / abrtd Type = forking WantedBy = multi-user.target
Laten we eens kijken naar de sectie ... Het bevat algemene informatie over de dienst. Deze sectie is niet alleen beschikbaar in service-eenheden, maar ook in andere eenheden (bijvoorbeeld bij het beheren van apparaten, koppelpunten, enz.). In ons voorbeeld geven we een beschrijving van de service en geven we aan dat de daemon moet worden gestart na Syslog.

In de volgende sectie bevat direct informatie over onze service. Gebruikte parameter: ExecStart wijst naar uitvoerbaar bestand onze service. V Type we specificeren hoe de service systemd meldt dat het klaar is met starten.

laatste deel bevat informatie over het doel waarvoor de dienst dient te starten. V in dit geval we zeggen dat de service moet worden gestart wanneer het doel is geactiveerd doel voor meerdere gebruikers.

Dit is een minimaal werkend systemd-servicebestand. Zodra u uw eigen hebt geschreven, kopieert u deze naar /etc/systemd/system/service_name.service om te testen. Voer de opdrachten uit systemctl daemon-reload... Systemd is op de hoogte van de service en u kunt deze starten.

Extra informatie

Een uitstekende gids voor systemd van RedHat, die de basis vormt van dit artikel.
Documentatie voor het schrijven van uw eigen systemd service unit.
"Systemd for Administrators" van de systemd-ontwikkelaar in het Russisch.

Gevolgtrekking

In dit artikel hebben we geleerd hoe u CentOS 7-services beheert. Dit is natuurlijk niet de enige functie van systemd en andere aspecten ervan zullen in de toekomst worden besproken. Het besturingssysteem zelf is bijna vanaf het moment van release beschikbaar geweest op klassieke VPS en cloud-VPS van Infobox. Probeer systemd nu. Deze kennis zal nuttig zijn in verband met de migratie van veel distributies naar systemd.

Als u een fout in het artikel aantreft, lost de auteur deze graag op. Schrijf naar de PM of e-mail erover.
Als je geen reacties op Habré kunt achterlaten, kun je ze op de blog schrijven

Ik zal het hebben over de initiële instellingen van het CentOS-systeem, die de veiligheid en bruikbaarheid van de server vergroten. Merk op dat er in de 7e versie van het systeem enkele wijzigingen zijn aangebracht ten opzichte van eerdere versies.

Nogmaals, ik vestig uw aandacht op het feit dat ik deze instellingen op virtuele server... Als je een ijzeren server hebt, is het aan te raden om nog wat instellingen uit te voeren, die ik hier niet vermeld. Deze omvatten bijvoorbeeld het configureren en controleren van fouttolerantie wanneer een van de schijven wordt afgesloten. Schakel regelmatige controle van de mdadm-array uit, enz.

CentOS 7 initiële installatie

We hebben dus: # uname -a Linux zeroxzed.ru 3.10.0-123.20.1.el7.x86_64 # 1 SMP do 29 jan 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

De eerste stap is updaten basissysteem:

# jammie update

Voor het gemak van de administratie installeer ik altijd Midnight Commander, of gewoon mc:

# yum installeer mc

En onmiddellijk daarvoor zet ik de syntaxisaccentuering aan van alle bestanden die niet expliciet in het bestand zijn aangegeven / usr / delen / mc / syntaxis / Syntaxis syntaxis voor sh en bash-scripts... Deze generieke syntaxis is prima voor configuratiebestanden die het meest worden gebruikt op een server. Overschrijf het bestand onbekende.syntaxis... Dit is de sjabloon die wordt toegepast op .conf- en .cf-bestanden, aangezien er geen expliciete syntaxis aan is gekoppeld.

# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

# ifconfig

En je zult het antwoord zien:

Bash: ifconfig: commando niet gevonden

Door minstens Toen ik het voor het eerst zag, was ik behoorlijk verrast. Ik dacht dat ik me vergist had bij het schrijven van de opdracht, ik heb alles verschillende keren opnieuw gecontroleerd, maar zonder resultaat. Het bleek dat je het pakket apart moet installeren om ifconfig en andere netwerkhulpprogramma's uit te voeren.

In plaats van ifconfig op CentOS 7 is er nu een hulpprogramma ik p... Ik begrijp niet waarom we aparte programma's moeten schrappen voor het beheren van netwerkinstellingen, als ifconfig sowieso uitstekend werk levert. Trouwens, ik vond het altijd leuk dat in verschillende Linux-distributies alles ongeveer hetzelfde is. Met ifconfig kunt u het netwerk niet alleen in linux configureren, maar ook in freebsd. Het is comfortabel. En wanneer elke distributie zijn eigen tool heeft, is dat onhandig. Dus ik raad aan om het bekende ifconfig te installeren.

Laten we het doen:

# yum installeer net-tools

Om nu nslookup-opdrachten of bijvoorbeeld host te hebben, moeten we het pakket bind-utils installeren. Als dit niet wordt gedaan, dan naar het commando:

# nslookup

De uitvoer zal zijn:

Bash: nslookup: opdracht niet gevonden

Dus installeer bind-utils:

# yum install bind-utils

Schakel SELinux uit. Het gebruik ervan en het opzetten van een apart gesprek. Nu zal ik dit niet doen. Dus we schakelen uit:

# mcedit / etc / sysconfig / selinux

verander de waarde
SELINUX = uitgeschakeld
Start opnieuw op om de wijzigingen door te voeren:

# opnieuw opstarten

Je kunt SElinux uitschakelen zonder opnieuw op te starten:

# setenforce 0

Netwerkparameters specificeren

Gebruik niet tegelijkertijd chrony- en ntp-tijdsynchronisatiedaemons. Kies er een. Persoonlijk zie ik het verschil er niet in, ik zet zelf meestal de gebruikelijke ntp.

Opslagplaatsen toevoegen

Voor de installatie van verschillende software heb je nodig. De meest populaire zijn EPEL en rpmforge, dus laten we ze toevoegen. Installeer eerst EPEL. Alles is er eenvoudig mee, het wordt toegevoegd vanuit de standaard repository:

# yum install epel-release

Installeer rpmforge:

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt # yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1 .el7.rf.x86_64.rpm

# yum install http://repository.it4i.cz/mirrors/repoforge/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

Geschiedenisopslag instellen in bash_history

Het is handig om enkele wijzigingen aan te brengen in het standaardmechanisme voor het opslaan van de opdrachtgeschiedenis. Hij helpt vaak als je een van de eerder ingevoerde commando's moet onthouden. De standaardinstellingen hebben enkele beperkingen die onhandig zijn. Hier is een lijst van hen:

  1. Standaard worden alleen de laatste 1000 opdrachten opgeslagen. Als er meer zijn, worden de oudere verwijderd en vervangen door nieuwe.
  2. De uitvoeringsdata van opdrachten zijn niet gespecificeerd, alleen hun lijst in de volgorde van uitvoering.
  3. Het bestand met de opdrachtenlijst wordt bijgewerkt nadat de sessie is beëindigd. Tijdens parallelle sessies kunnen sommige opdrachten verloren gaan.
  4. Absoluut alle commando's worden opgeslagen, hoewel het geen zin heeft om er enkele op te slaan.

De lijst met de laatst uitgevoerde commando's wordt opgeslagen in de homedirectory van de gebruiker in het bestand .bash_geschiedenis(bij het beginpunt). Het kan door elke editor worden geopend en bekeken. Voor een gemakkelijkere weergave van de lijst, kunt u de opdracht in de console invoeren:

# geschiedenis

en zie een genummerde lijst. U kunt snel een specifieke opdracht vinden door alleen te filteren de vereiste regels, bijvoorbeeld als volgt:

# geschiedenis | grep jammie

We zullen dus alle opties zien voor het uitvoeren van de opdracht yum, die in de geschiedenis zijn opgeslagen. Laten we de vermelde tekortkomingen van de standaardinstellingen voor het opslaan van opdrachtgeschiedenis in CentOS 7 oplossen. Om dit te doen, moet u het bestand bewerken .bashrc die zich in dezelfde map bevindt als het geschiedenisbestand. Voeg er de volgende regels aan toe:

Export HISTSIZE = 10000 export HISTTIMEFORMAT = "% h% d% H:% M:% S" PROMPT_COMMAND = "geschiedenis -a" export HISTIGNORE = "ls: ll: geschiedenis: w: htop"

De eerste parameter vergroot de bestandsgrootte tot 10.000 regels. Er kan meer worden gedaan, hoewel deze maat meestal voldoende is. De tweede parameter specificeert om de datum en tijd op te slaan waarop de opdracht is uitgevoerd. De derde regel dwingt het om onmiddellijk na het uitvoeren van de opdracht in de geschiedenis te worden opgeslagen. In de laatste regel maken we een lijst met uitzonderingen voor die opdrachten die niet naar de geschiedenis hoeven te worden geschreven. Ik gaf zelf een voorbeeld eenvoudige lijst... Je kunt het naar eigen inzicht toevoegen.

Om de wijzigingen toe te passen, moet u uitloggen en opnieuw verbinding maken of de opdracht uitvoeren:

# bron ~ / .bashrc

Automatische systeemupdate

Om de beveiliging van de server op het juiste niveau te houden, is het op zijn minst nodig om deze tijdig bij te werken - net als de kernel zelf met systeemhulpprogramma's en de rest van de pakketten. Je kunt het handmatig doen, maar voor efficiënter werk is het beter om te automatiseren Routine activiteiten... Het is niet nodig om updates automatisch te installeren, maar controleer ze in ieder geval. Ik volg meestal deze strategie.

Voor automatische controle updates worden geholpen door het hulpprogramma yum-cron... Het wordt traditioneel geïnstalleerd via yum vanuit de standaard repository.

# yum installeer yum-cron

Nadat de installatie is gemaakt automatische toewijzing om het hulpprogramma uit te voeren /etc/cron.daily en /etc/cron.hourly... Het hulpprogramma downloadt standaard de gevonden updates, maar past ze niet toe. In plaats daarvan, de beheerder op de lokale postbus updatemelding wordt naar root gestuurd. Vervolgens ga je naar de handmatige modus en beslis je of je updates wilt installeren of niet op een voor jou geschikt moment. Deze bedieningsmodus lijkt mij het handigst, dus ik verander deze instellingen niet.

De yum-cron-configuratiebestanden bevinden zich op /etc/yum/yum-cron.conf en yum-cron-hourly.conf... Ze zijn goed becommentarieerd, dus ze hebben geen gedetailleerde uitleg nodig. Let op de sectie , waar u parameters kunt opgeven voor het verzenden van berichten. De standaardinstelling is om e-mail via de lokale host te verzenden. U kunt hier de parameters wijzigen en berichten verzenden via een derde partij mail server... Maar in plaats daarvan geef ik er persoonlijk de voorkeur aan om het doorsturen van lokale root-mail naar een externe mailbox globaal voor de hele server te configureren via autorisatie op een andere smtp-server.

Schakel het overstromen van berichten in / var / log / messages uit

In de standaardinstallatie van CentOS 7 is uw volledige systeemlogboek: / var / log / berichten na een tijdje zal de server verstopt raken met de volgende vermeldingen.

16 okt 14:01:01 xs-files systemd: Slice user-0.slice gemaakt. 16 okt 14:01:01 xs-files systemd: Starten van user-0.slice. 16 okt 14:01:01 xs-files systemd: Sessie 14440 van gebruiker root gestart. 16 okt 14:01:01 xs-files systemd: Sessie 14440 van gebruiker root starten. 16 okt 14:01:01 xs-files systemd: slice gebruiker-0.slice verwijderd. 16 okt 14:01:01 xs-files systemd: Stoppen van user-0.slice. 16 okt 15:01:01 xs-files systemd: Slice user-0.slice gemaakt. 16 okt 15:01:01 xs-files systemd: Start user-0.slice. 16 okt 15:01:01 xs-files systemd: Sessie 14441 van gebruiker root gestart. 16 okt 15:01:01 xs-files systemd: Sessie 14441 van gebruiker root starten. 16 okt 15:01:01 xs-files systemd: Sessie 14442 van gebruiker root gestart. 16 okt 15:01:01 xs-files systemd: Sessie 14442 van gebruiker root starten. 16 okt 15:01:01 xs-files systemd: Slice user-0.slice verwijderd. 16 okt 15:01:01 xs-files systemd: Stoppen van user-0.slice. 16 okt 16:01:01 xs-files systemd: Slice user-0.slice gemaakt. 16 okt 16:01:01 xs-files systemd: Start user-0.slice. 16 oktober 16:01:01 xs-files systemd: Sessie 14443 van gebruiker root gestart. 16 oktober 16:01:01 xs-files systemd: Sessie 14443 van gebruiker root starten. 16 okt 16:01:01 xs-files systemd: Slice user-0.slice verwijderd.

Ze hebben geen praktisch nut, dus laten we ze uitschakelen. Om dit te doen, zullen we een aparte regel maken voor rsyslog, waar we alle berichtsjablonen zullen vermelden die we zullen knippen. Laten we deze regel in een apart bestand plaatsen /etc/rsyslog.d/ignore-systemd-session-slice.conf.

# cd /etc/rsyslog.d && mcedit negeer-systemd-session-slice.conf if $ programname == "systemd" en ($ msg bevat "Starting Session" of $ msg bevat "Started Session" of $ msg bevat "Created slice "of $ msg bevat" Beginnende gebruiker- "of $ msg bevat" Beginnende Gebruiker Segment van "of $ msg bevat" Verwijderde sessie "of $ msg bevat" Verwijderd slice Gebruiker Segment van "of $ msg bevat" Stoppen Gebruiker Segment van " ) stop dan

Sla het bestand op en start rsyslog opnieuw om de instellingen toe te passen.

# systemctl herstart rsyslog

Het is noodzakelijk om te begrijpen dat we in dit geval de overstroming naar het logbestand alleen uitschakelen op lokale server... Als u aanmeldingen opslaat, dan: deze regel je zult het erop moeten configureren.

Iftop, atop, htop, lsof installeren op CentOS 7.

En tot slot, laten we er een paar toevoegen handige hulpprogramma's, wat handig kan zijn tijdens de werking van de server.

iftop toont in realtime de belasting van de netwerkinterface, deze kan met verschillende sleutels worden gestart, ik zal hier niet in detail op ingaan, er is informatie over dit onderwerp op internet. We zetten:

# yum installeer iftop

En twee interessante taakbeheerders, ik gebruik meestal htop, maar soms is atop handig. We zetten beide, kijk zelf, zoek uit wat je het leukst vindt, past bij:

# yum -y installeer htop # yum -y installeer atop

Zo ziet htop eruit:

Om informatie weer te geven over welke bestanden door bepaalde processen worden gebruikt, raad ik u aan het hulpprogramma te installeren lsof... Het zal hoogstwaarschijnlijk vroeg of laat van pas komen wanneer u de serverwerking diagnosticeert.

# yum install wget bzip2 traceroute gdisk

Dat is alles voor mij. De basisconfiguratie van CentOS 7 is voltooid, u kunt beginnen met het installeren en configureren van de belangrijkste functionaliteit.

Systeemmail instellen

Aan het einde van de installatie CentOS-server 7 laten we ervoor zorgen dat mail geadresseerd aan de lokale root via een externe mailserver naar de geselecteerde mailbox wordt gestuurd. Als dit niet wordt gedaan, wordt het lokaal aan een bestand toegevoegd / var / spool / mail / root... En er kan een belangrijke en hulpvolle informatie... Laten we het configureren om naar de mailbox van de systeembeheerder te worden verzonden.

Ik heb hier in een apart artikel uitgebreid over gesproken -. Hier kort alleen commando's en snelle setup. We zetten vereiste pakketten:

# yum install mailx cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

We tekenen zoiets als deze configuratie voor postfix.

Cat /etc/postfix/main.cf ## DEFAULT CONFIG BEGIN ############################### queue_directory = / var / spool / postfix command_directory = / usr / sbin daemon_directory = / usr / libexec / postfix data_directory = / var / lib / postfix mail_owner = postfix inet_interfaces = localhost inet_protocols = all unknown_local_recipient_reject_code = 550 alias_maps = hash = debiah: / etc / com = / bin: / usr / bin: / usr / local / bin: / usr / X11R6 / bin ddd $ daemon_directory / $ process_name $ process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = / usr / bin / newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = geen manpage_directory = / usr / share / man sample_directory = /usr/share/doc/postfix-2.10.1/samples readme_directory = / usr / share / doc / postfix-2.10.1 / README_FILES ## DEFAULT CONFIG END ###################### # Servernaam weergegeven hostnaam myhostname = centos7-test.xs.local # Hier logischerwijs moet alleen het domein worden overgelaten, maar in dit geval is het beter om de volledige servernaam te laten staan ​​zodat de volledige servernaam in het veld afzender # verschijnt, dus het is handiger om serviceberichten te ontleden mydomain = centos7-test. xs.local mijnbestemming = $ mijnhostnaam mijnoorsprong = $ mijndomein # Serveradres waarlangs we e-mail verzenden relayhost = mailsrv.mymail.ru:25 smtp_use_tls = ja smtp_sasl_auth_enable = ja smtp_sasl_password_maps = hash: / etc / postfix / sastlptions_ anonieme smtp

Maak een bestand aan met informatie over de gebruikersnaam en het wachtwoord voor autorisatie.

# mcedit / etc / postfix / sasl_passwd mailsrv.mymail.ru:25 [e-mail beveiligd]: wachtwoord

Maak een db-bestand aan.

# postmap / etc / postfix / sasl_passwd

Nu kunt u postfix opnieuw opstarten en controleren of het werkt.

# systemctl herstart postfix

Naar de standaard alias voor root in / etc / aliassen, toevoegen extern adres waar e-mail die aan root is geadresseerd, wordt gedupliceerd. Om dit te doen, bewerkt u het gespecificeerde bestand door te wijzigen laatste lijn.

#root: marc

wortel: wortel, [e-mail beveiligd]

De certificaatbasis bijwerken:

# nieuwealiassen

Laten we een brief via de console naar de lokale root sturen:

# df -h | mail -s "Schijfgebruik" root

De brief moet naar een externe mailbox gaan. Hiermee is de configuratie van lokale e-mail voltooid. Nu worden alle brieven die aan de lokale root zijn geadresseerd, bijvoorbeeld rapporten van cron, gedupliceerd naar een externe mailbox en verzonden via een normale mailserver. E-mails worden dus normaal afgeleverd zonder in spam te komen (hoewel niet noodzakelijkerwijs, er zijn ook heuristische filters).

Gevolgtrekking

We hebben enkele van de eerste stappen gevolgd voor het opzetten van een CentOS 7-server die ik meestal doe bij het voorbereiden van een server. Ik pretendeer niet de absolute waarheid te zijn, misschien mis ik iets of doe ik het niet helemaal goed. Ik zou graag redelijke en zinvolle opmerkingen en suggesties hebben.

Nuttig na standaard instelling verbind de server onmiddellijk met het monitoringsysteem. Of pas het aan als je het nog niet hebt. Ik heb een gedetailleerde reeks artikelen over het instellen van monitoring:

  1. , of gewoon centos verbinden met monitoring door er een agent op te installeren.
  2. In een apart gedeelte van de auteur

Systeem Linux is een multi-tasking, multi-user besturingssysteem, wat betekent dat een aanzienlijk aantal mensen vele verschillende toepassingen tegelijkertijd op dezelfde computer. Dit systeem Linux is anders dan MS-DOS-systemen bijvoorbeeld waar slechts één persoon tegelijkertijd op de computer kan werken.

Opties Linux-opdrachten beginnen meestal met een - teken, waarna u meerdere opties tegelijk kunt specificeren. In plaats van de opdracht ls -l -F kunt u bijvoorbeeld de opdracht ls -lF invoeren.

Als opdrachtargumenten Linux lijsten met namen van bestanden of mappen kunnen verschijnen. De argumenten voor het cp-commando zijn bijvoorbeeld de namen van de bestanden die moeten worden gekopieerd. De lijst met gekopieerde bestanden wordt afgesloten door de naam van het bestand (of de directory) waar de bestanden naartoe worden gekopieerd. Als u meer dan één bestand kopieert, moet er aan het einde een mapnaam staan.

Gebruikersnaam aanmaken

Voordat u aan een nieuw geïnstalleerd systeem gaat werken Linux je moet naam maken voor je dagelijkse werk. Het is ongewenst om hiervoor te gebruiken stamnaam, die is gereserveerd voor het uitvoeren van speciale opdrachten en voor werkzaamheden om de gezondheid van het systeem te behouden.

Om een ​​gebruikersnaam aan te maken, moet u inloggen als root gebruiker en gebruik de opdracht useradd (of adduser).

Log in op het systeem

Wanneer u zich aanmeldt, verschijnt meestal de volgende prompt op het scherm:

Na het invoeren van de gebruikersnaam en het indrukken van de toets Binnenkomen u wordt gevraagd een wachtwoord in te voeren:

login localhost: oleg Wachtwoord:

Daarna moet u het wachtwoord invoeren (de gekozen tekens zijn niet zichtbaar op het scherm). Als het wachtwoord onjuist is ingevoerd, verschijnt het volgende bericht op het scherm:

localhost login: oleg Wachtwoord: Login incorrect login:

Na het invoeren van de juiste gebruikersnaam en wachtwoord bent u ingelogd.

Virtuele console

De systeemconsole is een monitor en toetsenbord die rechtstreeks op de computer zijn aangesloten. Systeem Linux net als andere versies van het systeem UNIX, biedt toegang tot virtuele consoles van waaruit u meerdere sessies tegelijk in het systeem kunt uitvoeren.

Om kennis te maken met het werk in virtuele consoles, logt u in en drukt u op de Alt-F2-toetscombinatie. De login: prompt verschijnt opnieuw (dit is de tweede virtuele console). Om terug te keren naar de eerste virtuele console, drukt u op de toetsencombinatie Alt-F1 (er is een terugkeer naar een reeds gestarte werksessie).

Alleen maar geïnstalleerd systeem L inux biedt doorgaans toegang tot de eerste zes virtuele consoles, die toegankelijk zijn met Alt-Fx-toetscombinaties. Dus al in de beginfase ontvangt de gebruiker krachtig gereedschap, zodat u tegelijkertijd in meerdere sessies tegelijk kunt werken.

Shells en commando's

De meeste communicatie met het systeem Linux gebeurt door opdrachtshells (schelp). Commandoshell is een programma dat de vanaf het toetsenbord ingevoerde commando's opneemt en omzet in instructies voor het besturingssysteem.

Na het inloggen wordt het besturingssysteem gestart commando shell, waarna u opdrachten kunt invoeren. Commando is het eerste woord op de commandoregel. Al het andere op de opdrachtregel wordt als argumenten voor die opdracht genomen. Laten we als voorbeeld (mkdir) de map met opdrachten maken:

$ mkdir-opdrachten

Afmelden

Om het systeem te verlaten, voert u de opdracht in na de shell-prompt:

wachtwoord wijzigen

Voer de opdracht passwd in om het wachtwoord te wijzigen. De opdracht zal u vragen om in te voeren Oud Wachtwoord en dan een nieuwe. Dan zal het commando je vragen om in te voeren Nieuw paswoord nogmaals om te bevestigen:

Bestanden en mappen

In het besturingssysteem Linux het concept van een bestand wordt gebruikt ( het dossier). Een bestand is een bepaald "stukje" informatie met een eigen naam ( bestandsnaam). Houd er rekening mee dat informatie alleen in de vorm van afzonderlijke bestanden op de schijf wordt opgeslagen.

De namen van reguliere bestanden in Linux kan maximaal 255 tekens lang zijn en kan elk ander teken zijn dan het codewoord en / (slash). Er zijn echter een aantal andere symbolen in de shell schelp speciale betekenis en die daarom niet wordt aanbevolen om in namen op te nemen. Dit zijn de volgende symbolen:

! @ # $ & ~ % * () { } " " \ : ; >

Het concept van een bestand is nauw verwant aan het concept van een directory ( map). Een directory is een verzameling bestanden. Gebruikers ramen een map "map" genoemd, naar analogie met een map die veel verschillende bladen bevat. Deze analogie is echter onjuist, aangezien: de map bevat niet de eigenlijke bestanden, maar koppelingen naar de bestanden, evenals naar andere mappen. De mappen krijgen namen waaraan ze kunnen worden herkend. Daarnaast vormen de mappen een boomstructuur; met andere woorden, er is een enkele hoofdmap met daarin alle andere mappen.

Bij het benaderen van een bestand wordt het pad (pad) opgegeven, dat kan bestaan ​​uit de naam van de map (de namen van in elkaar geneste mappen), gevolgd door de naam van het bestand. De namen worden van elkaar gescheiden door een schuine streep (/). Bijvoorbeeld:

In het bovenstaande voorbeeld kunt u zien dat de namen worden gescheiden door een /. Het is om deze reden dat ze het niet kunnen bevatten.

Directory boom

Op de meeste systemen Linux er wordt een standaard bestandslocatie gebruikt, zodat de locatie van de belangrijkste systeembestanden en programma's gemakkelijk te vinden is. De directory's vormen een boomstructuur die begint met de directory /. Deze directory wordt ook wel de rootdirectory genoemd. De belangrijke subdirectories / bin, / etc, / dev, / usr en andere bevinden zich naast de / directory.

Huidige map

Op elk willekeurig moment verwijst de opdracht naar de huidige map ( huidige map). Wanneer u inlogt, wordt de huidige map ingesteld op de thuismap (in ons geval / home / oleg). Wanneer u naar een bestand verwijst, kunt u ofwel het volledige pad naar dit bestand specificeren, of alleen het pad van de huidige map.

Het vorige voorbeeld, wanneer het bijvoorbeeld wordt gevonden in de map / home / oleg / docs, ziet er als volgt uit:

$ minder mokshadharma / index.xml

Als een bestandspad (bijvoorbeeld mokshadharma / index.xml) begint met een ander teken dan /, dan wordt het bestand benaderd in verhouding tot de huidige map. Deze manier van aanspreken heet relatieve manier (relatief pad).

Als de bestandsnaam begint met een /, dan interpreteert het systeem dit als een volledig pad, dat wil zeggen een pad dat leidt naar het bestand vanaf de hoofdmap / (/home/oleg/docs/mokshadharma/index.xml) . .. Het wordt ook wel absolute weg (absoluut pad).

Verwijzend naar de homedirectory

In een opdrachtshell bash inbegrepen in bijna alle nieuw geïnstalleerde systemen Linux, kan de homedirectory worden aangeduid met ~. Bijvoorbeeld het commando:

$ minder ~ / docs / mokshadharma / index.xml

is gelijk aan het commando:

$ minder /home/oleg/docs/mokshadharma/index.xml

Door de mappenboom bladeren

Het commando dat wordt gebruikt om door de mappenboom te navigeren heet cd, een afkorting voor directory wijzigen(wijzig map). Als een voorbeeld van het gebruik van het cd-commando, ga naar de / home / oleg / docs / mokshadharma / directory:

$ cd ~ / docs / mokshadharma

Nu kunt u vanuit de huidige map naar het bestand verwijzen met de volgende opdracht:

$ minder index.xml

Om naar de dichtstbijzijnde directory op een hoger niveau te gaan, is er een opdracht:

Om naar de homedirectory te gaan, kun je het cd-commando geven zonder argumenten:

De inhoud van mappen bekijken

Ls-opdracht (afkorting van lijst) geeft een lijst met bestanden en mappen weer (de optie -F zorgt voor meer volledige informatie):

$ ls -F ~ / docs / mokshadharma ch / ch01.html ch02.html ch03.html cron.sh * docbook.xsl index.html index.xml pr01.html pt01.html stijl /

In de lijst zien we dat het teken / is gekoppeld aan het einde van de naam van de submappen en aan het einde van de naam van het uitvoerbare bestand ( uitvoerbaar) krijgt het *-teken.

Nieuwe mappen maken

Om een ​​nieuwe map aan te maken, gebruik je het mkdir-commando (afkorting van map maken). Laten we bijvoorbeeld een nieuwe map maken en deze invoeren:

$ mkdir voorbeeld $ cd voorbeeld

Nieuwe bestanden maken

De aanraak- en kat-commando's worden gebruikt om bestanden te maken.

Het touch-commando maakt een leeg bestand aan:

$ raak bestandsnaam aan

Om een ​​bestand te maken met de opdracht cat, ontworpen om de uitvoer om te leiden, worden gegevens van de standaardinvoer (toetsenbord) naar de invoer gestuurd en wordt de uitvoer van de opdracht naar een nieuw bestand gestuurd:

$ cat> nieuw_bestand

Nadat de gewenste tekst is ingevoerd, wordt de combinatie ingedrukt Toetsen invoeren en Ctrl-D of Enter en Ctrl-C en wat u ook typt, wordt naar nieuw_bestand geschreven. Natuurlijk worden op deze manier meestal korte tekstbestanden gemaakt.

De eigenaar van een bestand of groep van een bestand wijzigen

Alleen de supergebruiker kan de eigenaar wijzigen, de bestandseigenaar of de supergebruiker kan de groep wijzigen. Om het recht te hebben om de groep te wijzigen, moet de eigenaar bovendien lid zijn van de groep waaraan hij rechten op dit bestand wil geven.

Om bestanden te vernietigen, gebruikt u het rm-commando (afkorting van verwijderen):

$ rm index.xml $

Standaard is de opdracht rm niet altijd geconfigureerd om waarschuwingen te geven voordat een bestand wordt verwijderd.

Gebruik . om mappen te vernietigen rmdir commando die alleen de lege map vernietigt.

$ cd .. $ rmdir voorbeeld $ ls -F $

Om mappen met bestanden en submappen te vernietigen, gebruik je het rm -rf commando, dat met uiterste voorzichtigheid moet worden gebruikt. de inhoud wordt zonder waarschuwing door haar vernietigd.

Bestandsinhoud bekijken

De commando's more en cat worden gebruikt om de inhoud van de bestanden te bekijken. Hoe meer commando voert de inhoud van het bestand uit in brokken (één scherm per keer), en het commando kat voert het hele bestand in één keer uit. Een verbeterde versie van meer wordt minder genoemd.

Gebruik de toetsen B en Spatie om de inhoud te bekijken die wordt weergegeven door de opdracht less (u kunt ook Page Up en Page Down gebruiken).

Schermdocumentatie

Bijna alle systemen in de familie UNIX inclusief systeem Linux, documentatie op het scherm hebben ( man-pagina's). De teksten bevatten documentatie over systeemcommando's, bronnen, configuratiebestanden, enz. en kunnen tijdens het gebruik op het scherm worden weergegeven.

Om toegang te krijgen tot de documentatie op het scherm, gebruikt u het man-commando (afkorting van handleiding). Als u bijvoorbeeld de opties voor de opdracht ls wilt bekijken, voert u de opdracht in.

CentOS is een gratis distributie gebaseerd op: broncode rode Hoed Enterprise Linux is in feite gemaakt op basis van deze bronnen met weinig of geen aanpassingen, de ontwikkelaars hebben alleen alle Red Hat-branding weggelaten. Maar in tegenstelling tot Red Hat is CentOS volledig gratis en ontvangt het regelmatig updates kort nadat ze voor Red Hat zijn uitgebracht, omdat ze ook vanuit de broncode zijn gebouwd.

CentOS wordt vaak gebruikt als besturingssysteem voor servers. In een van de vorige artikelen hebben we gekeken hoe het moet. Vandaag zullen we kijken naar het opzetten van een CentOS 7-server na installatie. We zullen alle basisparameters behandelen die u moet wijzigen om uw server gebruiksklaar te maken.

1. Een statisch IP-adres instellen

Het eerste dat u moet doen, is uw netwerk instellen. Op pc's wordt het verkrijgen van een IP-adres via DHCP gebruikt, en de computer zal elke keer dat deze wordt gestart een ander adres hebben, de server moet altijd op hetzelfde adres werken, daarom kennen we er een statisch IP-adres aan toe. U moet ook DNS en standaardgateway configureren. Maar installeer eerst het hulpprogramma net-tools:

yum installeer net-tools

Laten we eerst eens kijken naar de beschikbare Netwerk interfaces en het huidige IP-adres:

Nu kunt u de interface configureren via het bestand / etc / sysconfig / network-scripts / ifcfg-enp0s3, bijvoorbeeld met behulp van de vi-editor:

vi / etc / sysconfig / netwerk-scripts / ifcfg-enp0s3

Ipaddr = uw_ip
GATEWAY = gateway_for_network_access
DNS1 = IP_Address_DNS1
DNS2 = DNS_IP_adres

Na het aanbrengen van wijzigingen ziet dit bestand er als volgt uit:

Daarna blijft het netwerk opnieuw opstarten om de nieuwe instellingen toe te passen:

herstart servicenetwerk

Vervolgens kunt u, indien nodig, het IP-adres op dezelfde manier wijzigen.

2. Computernaam

Het volgende dat we moeten doen, is de computernaam wijzigen. De huidige computernaam wordt opgeslagen in de variabele HOSTNAME:

Om het te wijzigen, moet u het bestand / etc / hostnaam bewerken en de oude naam daar vervangen door de nieuwe.

vi / etc / hostnaam

Als alternatief kunt u de opdracht hostnamectl gebruiken:

hostnamectl set-hostnaam "hostnaam"

3. CentOS upgraden

Na installatie is het gebruikelijk om te updaten software tot het allerlaatste nieuwe versie om alle beveiligingsupdates te installeren. Voer de volgende opdracht uit om de lijst met pakketten in de repository's bij te werken en nieuwe versies te installeren:

yum update && yum upgrade

4. Installeer de browser

In veel gevallen moet u CentOS vanaf de opdrachtregel gebruiken zonder grafische interface, dus u hebt mogelijk een browser nodig om iets op internet te vinden of om de functionaliteit van sites vanaf de opdrachtregel te controleren. Om de linksbrowser te installeren, typt u:

yum installatie links

U kunt andere consolebrowsers voor Linux vinden, zoals Lynx of Elinks.

5. Tijdzone-instelling

De juiste tijdzone-instelling is erg belangrijk voor de server. Dit verwijdert de verwarring in de logboeken en zorgt ervoor dat uw applicaties kunnen worden weergegeven juiste datum en tijd. Het hulpprogramma timedatectl wordt gebruikt voor de configuratie.

Krijg eerst een lijst met tijdzones:

timedatectl lijst-tijdzones

Installeer vervolgens degene die u wilt, bijvoorbeeld Europa / Kiev:

timedatectl set-timezone Europa / Kiev

Controleer dan:

7. De landinstelling instellen

De landinstelling bepaalt de taal en codering die op uw systeem worden gebruikt. Om bijvoorbeeld de Russische taal in te schakelen, stelt u de waarde ru_RU.UTF-8 in

localectl set-locale LANG = ru_RU.UTF-8

Dan zien we wat er is gebeurd:

Vervolgens stellen we de toetsenbordindeling in:

localectl set-keymap us

8. Schakel SELinux uit

Een set SELinux-beleidsregels is ontworpen om de toegang tot bestanden op een Linux-systeem te regelen, maar als u niet van plan bent ze te gebruiken, kan deze functie worden uitgeschakeld. Voer hiervoor het volgende uit:

sed -i "s / (^ SELINUX =). * / SELINUX = uitgeschakeld /" / etc / selinux / config

Start vervolgens uw computer opnieuw op en controleer of de functie daadwerkelijk is uitgeschakeld:

9. Maak een gebruiker aan

Het is onveilig om het systeem namens de supergebruiker te gebruiken, en des te onveiliger om te vertrekken vrije toegang naar het root-account via ssh. Maak eerst gewone gebruiker en stel er een wachtwoord voor in:

useradd gebruikersnaam
# passwd wachtwoord

Voeg vervolgens de gebruiker toe aan de wielgroep zodat de gebruiker als beheerder kan worden uitgevoerd:

usermod -G wiel gebruikersnaam

Nu blijft het om de sudo-instellingen aan te passen, voeg hiervoor de volgende regel toe, als deze er nog niet is:

% wiel ALL = (ALL) ALL

10. Schakel opslagplaatsen van derden in

Toevoegen opslagplaatsen van derden naar de productieserver is niet erg goed idee en kan in sommige gevallen tot slechte gevolgen leiden. Soms heb je echter programma's nodig die niet in de officiële repositories staan. Laten we daarom eens kijken hoe u meerdere repositories kunt toevoegen.

Voer het volgende uit om de Enterprise Linux Repository (EPEL) toe te voegen:

yum installeer epel-release
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

10. SSH . configureren

Meestal moeten we niet rechtstreeks met servers werken, maar via het netwerk, via SSH. Meestal is SSH al geïnstalleerd en geactiveerd, maar het heeft een paar aanpassingen nodig om het goed te laten werken. Eerst moet u het gebruik van alleen een beveiligd protocol configureren, hiervoor opent u het bestand / etc / ssh / ssh_config en verwijdert u de regel Protocol 2,1. En voeg in plaats daarvan toe:

U moet ook inloggen als superuser uitschakelen:

PermitRootLogin nr

11. Installeer de Apache-webserver

Als u van plan bent de machine als webserver te gebruiken, heeft u Apache nodig. Hiermee kunt u websites, multimedia-inhoud, client programma's en nog veel meer. Voer het volgende uit om te installeren:

yum installeer httpd

Wanneer de installatie is voltooid, moet u HTTP in de firewall inschakelen voordat u aan de slag kunt:

firewall-cmd --add-service = http
# firewall-cmd -permanent -add-port = 3221 / tcp
# firewall-cmd --reload

Nu blijft het om Apache toe te voegen aan autoload:

systemctl start httpd.service
# systemctl httpd.service inschakelen

12. Installeer PHP

PHP is een moderne webapplicatie en scripttaal. Het wordt vaak gebruikt als programmeertaal voor algemene doeleinden. Voer het volgende uit om te installeren:

Na de installatie moet je Apache opnieuw opstarten:

echo -e ""> /var/www/html/phpinfo.php

Open vervolgens het gegenereerde bestand in een browser:

links http://127.0.0.1/phpinfo.php

13. De database installeren

MariaDB is een database gebaseerd op MySQL-broncode. Op Red Hat gebaseerde Linux-distributies gebruiken MariaDB in plaats van MySQL. Databases zijn onmisbaar op een server, dus de installatie van CentOS na de installatie moet ook de installatie ervan omvatten. Voor MariaDB-installaties type:

yum installeer mariadb-server mariadb

Voer vervolgens uit en voeg toe aan automatisch laden:

systemctl start mariadb.service
# systemctl zet mariadb.service aan

En sta toe om de service in de firewall te gebruiken:

firewall-cmd --add-service = mysql

Het blijft om het configuratiescript uit te voeren:

/ usr / bin / mysql_secure_installation

14. Installeer GCC

GCC staat voor GNU Compiler Collection en is een verzameling compilers die wordt beschouwd als de standaard voor het bouwen van programma's op Linux. Maar het wordt niet standaard met CentOS geleverd, dus typ om te installeren:

Dan kun je de GCC-versie bekijken:

15. Java installeren

Java is een algemene doelgeoriënteerde programmeertaal. Het is niet standaard geïnstalleerd, dus het configureren van CentOS 7 na installatie kan ook het installeren ervan inhouden. Voer hiervoor het volgende uit:

yum installeer java

Controleer dan de versie:

conclusies

In dit artikel hebben we gekeken hoe je de CentOS 7-server na installatie kunt configureren. Zoals u kunt zien, zijn er veel elementaire stappen die u moet nemen voordat u de server in productie gaat gebruiken. Als je vragen hebt, stel ze dan in de comments!

Het artikel van vandaag is geheel gewijd aan beginners die net hun eerste stappen zetten in het stadium waarin ze het CentOS-besturingssysteem leren kennen. In dit artikel hebben we de 20 beste opdrachten verzameld die nuttig zullen zijn bij het dagelijkse werk, serverbeheer en eenvoudige probleemoplossing.

Commando's

  • Beginnen bestandsbewerking druk op O
  • Opslaan druk op Esc en: x!
  • Om bestanden te kopiëren is er het cp (copy) commando. Als voorbeeld cp /etc/asterisk/extensions_custom.conf / home / admin /. Hiermee wordt het bestand extensions_custom.conf toegevoegd aan de map / home / admin.
  • Gebruik chown (wijzig eigenaar) om de eigenaar van een bestand te wijzigen. Om de eigenaar van alle bestanden in de map / etc / asterisk te wijzigen in de gebruiker asterisk geef commando chown -R asterisk: asterisk / etc / asterisk
  • Geven bepaalde rechten bestand is er een chmod-opdracht. Laten we bijvoorbeeld maximale rechten geven aan het /etc/asterisk/extensions_custom.conf bestand met het chmod 777 /etc/asterisk/extensions_custom.conf commando.
  • Gebruik het commando ln om een ​​"symbolische" link naar een bestand te maken. Bijvoorbeeld ln –s / opslag / test / etc / test. Belangrijk! Het /etc/test-bestand mag niet worden aangemaakt voordat het commando wordt uitgevoerd.
  • De directory /etc/init.d/ wordt gebruikt om de vereiste services opnieuw te starten. Bijvoorbeeld, het commando /etc/init.d/httpd restart zal de WEB - server herstarten.
  • Om een ​​proces uit te schakelen, kunt u de PID gebruiken. Om het te vinden, geef je het commando ps axu | grep -i sterretje | grep -v grep. De PID van het proces staat in de tweede kolom.
  • Nu je de PID van het proces kent, geef je het commando kill -0 # process_number. Dood bijvoorbeeld -9 1738.
  • Gebruik de opdracht top om erachter te komen welk proces de meeste CPU-bronnen gebruikt.
  • Als u moet aanpassen: DNS-servers wijzig vervolgens het bestand /etc/resolv.conf. Open bijvoorbeeld het bestand met het commando vim /etc/resolv.conf en voeg de DNS-server eraan toe:
    • naamserver 8.8.8.8
  • Om de download van de medewerker te bekijken: RAM-geheugen gebruik op CentOS de opdracht free -m. De uitvoer wordt weergegeven in megabytes met totaal geheugen, gebruikte ruimte en vrije ruimte.
  • Geheugengebruik controleren op harde schijven geef het commando df -h. U ziet ook de totale, gebruikte en vrije ruimte.
  • Gebruik het commando du om de grootte van een specifieke map te zien. Gebruik bijvoorbeeld du -sh / etc / asterisk / om de grootte van de map / etc / asterisk / te bepalen.
  • Als u de versie wilt weten: geïnstalleerd pakket, gebruik het rpm-commando. Bijvoorbeeld versiecontroles jammie geef het commando rpm -qa | grep-ik lekker.