Rss

  • linkedin

Archives for : Ubuntu

man – Dagens terminalkommando

Om man behöver hjälp gällande ett kommando, systemanrop, inställningsfiler (dem under /etc/) eller kanske systemadministration så finns kommandot “man” som är ett gränssnitt mot installerade programs manualer.

För att t.ex. få hjälp om just man skriver man “man man”, vill man få hjälp om ls skriver man “man ls”.

För att söka i en man-fil trycker man först “/” och sedan skriver man sökordet följt av enter.
Exempel “/files” för att söka efter sökordet “files”. För att stega till nästa träff trycker man “n” för next (nästa) eller för att backa “p” för previous (föregående).

För att avsluta trycker man på “q”.

— Johan Ryberg

ls – Dagens terminalkommando

ls är programmet som visar innehållet i en katalog och står för “list directory contents”. Om du hade använt Windows hade du fått skriva “dir” istället.

Skriver man bara “ls” får man samtliga kataloger och filer utskrivna i långa rader på skärmen vilket inte alltid är så användbart eller läsbart för den delen heller.

Oftast enklare och mer överskådligt att skriva “ls -l” där -l står för “use a long listing format”, alltså visas en mer detaljerad lista på filerna.
Som ni ser syns nu filens/katalogens rättigheter, vem som äger filen, grupptillhörighet, storlek, tidpunkt när filen senast ändrades samt om det är en länk.

Filernas storlek visas dock i bytes vilket kan bli lite svårläst och då kan man lägga till växel -h som står för “human readable” vilket skalar ner till kilobyte, megabyte, gigabyte eller annan passande storhet.

Önskar man endast visa filer som börjar på bokstaven a kan man använda jokertecken som b* som visar allt som börjar med b.
Exempel: ls -lh b*

För att t.ex. endast visa .log-filer lägger man istället till jokertecknet innan filsuffixet som t.ex. ls *.log.

Exempel: ls *.log

För att visa samtliga filer som även är dolda lägger man till -a vilket behövs i t.ex. sin hemmakatalog som ofta innehåller mängder med dolda kataloger vilket ni ser i exemplet nedan. Först kör jag ls -lh och sedan lägger jag till a för att visa samtliga och då ser man ett gäng kataloger som börjar med . (punkt) vilket är ett sätt att dölja filer och kataloger i Linux

— Johan Ryberg

cd – Dagens terminalkommando

cd som står för Change Directory – byt katalog är det kommando man använder för att navigera sig i sitt filträd. För att få hjälp om cd skriver man “help cd” eftersom cd inte är ett program utan en funktion i bash som är Ubuntus standardskal

johan@crm:~$ help cd
cd: cd [-L|-P] [dir]
Change the current directory to DIR. The variable $HOME is the
default DIR. The variable CDPATH defines the search path for
the directory containing DIR. Alternative directory names in CDPATH
are separated by a colon (:). A null directory name is the same as
the current directory, i.e. .'. If DIR begins with a slash (/),
then CDPATH is not used. If the directory is not found, and the
shell option
cdable_vars’ is set, then try the word as a variable
name. If that variable has a value, then cd to the value of that
variable. The -P option says to use the physical directory structure
instead of following symbolic links; the -L option forces symbolic links
to be followed.

När man startar en ny terminalsession så hamnar man som standard i sin hemmakatalog vilket är /home/”användarnamn”.

johan@crm:~$ pwd
/home/johan

För att gå upp en nivå till /home skriver man “cd ..”

johan@crm:~$ cd ..
johan@crm:/home$ pwd
/home

Som ni även ser använder jag kommandot pwd för att verifiera att jag står i rätt katalog

Om man vill byta till en katalog man vet sökvägen till skriver man cd “sökväg” och enklast är ange sökvägen från botten av katalogstrukturen. Botten, här efter root-katalogen anges som / och det är under denna alla samtliga kataloger och filer finns på hela systemet. För att då förflytta sig till /var/log skriver man följande “cd /var/log”

johan@crm:/home$ cd /var/log
johan@crm:/var/log$ pwd
/var/log

Det finns en smidig genväg för att förflytta sig hem igen till sin hemmakatalog och för att göra det skriver man endast “cd”

johan@crm:/var/log$ cd
johan@crm:~$ pwd
/home/johan

–Johan Ryberg

pwd – Dagens terminalkommando

Vi börjar serien “dagens terminalkommando” med ett mycket grundläggande kommando som heter pwd vilket står för “Print Working Directory”. Kommandots enda uppgift är att skriva ut aktuell katalog som man står i just för tillfället.

johan@crm:/var/log$ pwd
/var/log
johan@crm:/var/log$

Vid en normalinstallation så ser man i bash vart man befinner sig eftersom prompten anpassar sig allt eftersom man byter katalog, innan ovan stod jag i /var/log vilket man ser efter användarnamn@maskinnamn: men det finns tillfällen då detta saknas eller att man vill säkerhetsställa att man står i rätt katalog innan man t.ex. raderar samtliga filer i t.ex. /tmp

En liten “lustig” sak men pwd är att man-filen är trasig i Ubuntu. Enligt hjälpen skall –version samt –help fungera att ange som växel men det gillar inte pwd som ger följande felmeddelande:

johan@crm:/var/log$ pwd –version
-bash: pwd: –: invalid option
pwd: usage: pwd [-LP]

Som vanligt är det mycket viktigt att anmäla samtliga buggar man hittar, stora som små och det är vår skyldighet att anmäla dem så att utvecklarna får chansen att åtgärda eventuella problem. Buggar för Ubuntu anmäler man hos Launchpad på följande adress https://bugs.launchpad.net/

edit: Det var ingen bugg utan en “feature”. När man skriver pwd exekveras en internt funktion i bash och inte det som finns under /bin/pwd vilket är beskrivet i man-filen och därför stämmer inte man-filen överens med kommandot. Tack “anonym” för rättningen och min bugg i Launchpad stängdes av precis samma anledning.

— Johan Ryberg

Dagens terminalkommando

Bara i en standardinstallation av Ubuntu 8.10 server finns det runt 1300 program som går att starta i en terminal och där vissa är riktigt användbara även för en standardanvändare som normalt bara använder grafiskt gränssnitt.

Jag har tänkt gå igenom de mest vanligt förekommande samt mest användbara programmen genom att skriva om var och ett av dessa lite kortfattat med några exempel och förhoppningsvis blir det ungefär ett per dag tills dess att dem är avhandlade.

Även om Canonicals plan med Ubuntu är att leverera den mest användarvänliga grafiska Linux-distributionen så kommer man förr eller senare behöva använda terminalen för att reda ut ett problem eller så kanske du startar en server en vacker dag och där vill man inte använda X vilket gör att terminalen är enda utvägen och då är det väldigt bra att kunna lite kommandon.

Fråga gärna allt eftersom om du har några frågor eller kom med bra exempel på hur du använder det kommandon som jag går igenom för ibland missar man användbara exempel som kan vara bra att ha.

— Johan Ryberg

Felmeddelande "CRITICAL: cannot initialize libpolkit" i /var/log/daemon?

Om du kör Ubuntu Server 8.10 så är chansen stor att din daemon.log är nedlusad av följande rad som återupprepas i absurdum:
Feb 11 20:39:01 crm console-kit-daemon[23243]: CRITICAL: cannot initialize libpolkit

Detta åtgärdas lätt genom att installera policykit som av någon anledning fattas men som systemet tar för givet att det finns.

Skriv följande i konsolen

sudo apt-get install policykit

Starta sedan om och meddelanden är borta för gott

Få e-post vid tillgängliga uppdateringar med apticron

Om du kör en maskin med Debian eller Ubuntu så finns det ett mycket trevligt verktyg som skickar e-postmeddelande när det finns tillgängliga uppdateringar. Detta är mycket bra om man har ett gäng maskiner att underhålla och man kanske inte vill få dem installerade automatiskt vilket gör att detta system skickar e-post en gång per dygn till önskad e-postadress(er).

Grundkrav
Någon form av MTA som t.ex. Postfix, Sendmail eller Exim4 så att du kan skicka iväg e-post samt apticron

Om du redan har en MTA kan du hoppa över första punkten

Installera MTA

sudo apt-get install postfix

Följ instruktioner och välj “Internet site”

Installera apticron

sudo apt-get install apticron

Konfigurera aliases
Normalt levereas meddelande om tillgängliga uppdateringar till root, men genom att modifiera aliases så kan man få meddelanden skickat till önskad e-postadress

sudo nano /etc/aliases

Lätt till följande rad och spara (ersätt epost@server.net) med din e-postadress

root: epost@server.net

För att aktivera inställningarna måste kommandot newaliases köras

sudo newaliases

Nu skall du bli meddelad om nya uppdateringar när dem finns tillgänliga

Vid problem undersök /var/log/mail.err, mail.log, mail.info eller övriga filer.

Installera SugarCRM i Ubuntu Server 8.10

SugarCRM är ett webbaserat kundhanteringssystem (Customer Relationship Management) som finns både som Open Source men även som en kommersiell produkt.

För denna installationen tänkte jag använda SugarCRM Sugar Community Edition 5.2.0a och som databas blir det MySQL i Ubuntu Server 8.10

Installera program

Börja med att installera Apache

sudo apt-get install apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-perl2 libapache2-mod-php5 libapache2-reload-perl libapr1 libaprutil1 libbsd-resource-perl libdevel-symdump-perl libmysqlclient15off libperl5.10 libpq5 mysql-common openssl-blacklist php5-common ssl-cert libapache2-mod-php5 libapache2-mod-perl2

Installera sedan PHP

sudo apt-get install php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-imap php5-ldap autoconf automake automake1.4 autotools-dev binutils defoma fontconfig-config gcc gcc-4.3 libc-client2007b libc6-dev libcurl3 libfontconfig1 libfreetype6 libgd2-xpm libgomp1 libjpeg62 libltdl7 libltdl7-dev libpng12-0 libssl-dev libt1-5 libtool libxpm4 linux-libc-dev m4 mlock shtool ttf-dejavu ttf-dejavu-core ttf-dejavu-extra zlib1g-dev php5-mhash php5-mysql php5-odbc php5-mysql

och installera lite tillbehör som behövs (curl, unzip, imagemagic )

sudo apt-get install unzip curl libwww-perl imagemagick fontconfig ghostscript gsfonts hicolor-icon-theme libatk1.0-0 libatk1.0-data libcairo2 libcroco3 libcups2 libcupsimage2 libdatrie0 libdjvulibre21 libfontenc1 libgraphviz4 libgs8 libgsf-1-114 libgsf-1-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libice6 libilmbase6 libjasper1 liblcms1 libmagick10 libopenexr6 libpango1.0-0 libpango1.0-common libpaper-utils libpaper1 libpixman-1-0 librsvg2-2 libsm6 libthai-data libthai0 libtiff4 libwmf0.2-7 libxcb-render-util0 libxcb-render0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxfont1 libxft2 libxi6 libxinerama1 libxrandr2 libxrender1 libxt6 psfontmgr x-ttcidfont-conf xfonts-encodings xfonts-utils

Installera till sist MySQL 5.0

sudo apt-get install libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl mysql-client-5.0 mysql-server-5.0

Under installationen av MySQL skall man ange root-lösenord, använd med fördel
GRC’s Ultra High Security Password Generator (https://www.grc.com/passwords.htm) och använd runt 20 tecken under rubriken “63 random alpha-numeric characters (a-z, A-Z, 0-9):”. Glöm inte att antecka dem på ett säkert ställe.

Skapa sedan en databas för SugarCRM

johan@crm:~$ mysql -uroot -p
mysql> create database sugarcrm;
mysql> exit

Installera SugarCRM

Kontrollera först på http://www.sugarcrm.com/crm/download/sugar-suite.html vilket version som är den senaste, i skrivande stund är det 5.2.0a av Sugar Community Edition. Om det är någon annan kopiera länken för nedladdningen och ersätt med denna i steget nedan.

Gå till katalogen där du vill lägga webbsidan, förslagsvis i standardkatalogen /var/www

cd /var/www
sudo wget http://www.sugarforge.org/frs/download.php/5087/SugarCE-5.2.0a.zip

Sedan skall paketet extraheras och döpas om

sudo unzip SugarCE-5.2.0a.zip
sudo mv SugarCE-Full-5.2.0a sugarcrm

Apache måste sedan få skrivrättigheter i vissa kataloger

cd /var/www/sugarcrm
sudo chown -R www-data:www-data /var/www/sugarcrm
sudo chmod 766 config.php
sudo chmod 766 custom
sudo chmod -R 766 data
sudo chmod -R 766 cache
sudo chmod -R 766 modules

Konfiguera PHP
Editera php.ini

sudo nano /etc/php5/apache2/php.ini

Ändra följande

memory_limit = 16M
till
memory_limit = 50M

och

upload_max_filesize = 2M
till
upload_max_filesize = 10M

För att ändringarna skall ta måsta Apache startas om

sudo /etc/init.d/apache2 restart

Konfigurera SugarCRM
Surfa in på http://localhost/sugarcrm/install.php och följ sedan instruktionerna.

Att tänka på är att inte köra med root-användaren som SugarCRM-användaren i kapitlet “Database Configuration”. Välj att skapa en ny användare som t.ex. sugaruser och skapa ett lösenord via https://www.grc.com/passwords.htm på samma sätt som ovan.

Guide för USB-modem som t.ex. Huawei till Ubuntu

Bossieman skrev i sin blogg “Mobilt bredband II” om programmet gnome-ppp vilket fungerar ganska så bra. Den finns att hämta via Ubuntus repositories genom att skriva i konsolen “sudo apt-get install gnome-ppp”. Enda problemet är att det finns en irriterande bug (https://bugs.launchpad.net/ubuntu/+source/gnome-ppp/+bug/121487) som gör att programmet hänger kvar och vägrar att docka samt att bli minimerat. Det ser ut som att man aldrig blir ansluten fast man i själva verket har blivit det och buggen är endast kosmetisk. Det verkar som att ingen kommer göra något åt detta vilket känns tråkigt då det är ett mycket enkelt sätt att få igång sitt mobila bredband.

Lösningen är att själv åtgärda felet genom att hämta hem källkoden, ersätta gnome-ppp-wvdial.c som innehåller buggen med en rättad version som är åtgärdad av nowshining för att sedan kompilera programmet och installera det.

Följ nowshinings anvisningar som ni hittar här: https://bugs.launchpad.net/ubuntu/+source/gnome-ppp/+bug/121487/comments/42