Category Archives: Data memory - Page 2

Packa upp .tar.gz

Det stör mig att jag glömmer bort vilka växlar som gäller för detta

tar -xzf [fil]

Anpassad .vimrc (tex per projekt)

Hittade en trevlig plugin till VIM där man med hjälp av denna kan läsa in en anpassad .vimrc-fil, som tillägg till den globala .vimrc-filen som sourcas av VIM varje gång man öppnar det.

Detta plugin letar efter en fil vid namn _vimrc_local.vim från den mapp man står i och sen borrar den sig rekursivt nedåt.

Detta innebär alltså att man tex skulle kunna anpassa sina indrag på ett projekt-baserat sätt, utan att behöva tänka efter och aktivera funktioner på egen hand. Om ett projekt kräver 2 teckens mellanslag som indrag, anpassar man _vimrc_local.vim efter det. Om ett annat projekt kräver 4 teckens tab som indentering, då anpassar man _vimrc_local.vim efter det. Den mapp-lokala filen bestämmer alltså hur VIM ska bete sig beroende på dess innehåll.

Pluggen kan ni skaffa här

http://code.google.com/p/lh-vim/source/browse/misc/trunk/plugin/local_vimrc.vim

och en tillhörande VIM-boll (och källa) kan ni skaffa här:

http://lh-vim.googlecode.com/files/lh-vim-lib-2.2.5.vba
http://code.google.com/p/lh-vim/wiki/lhVimLib

local_vimrc.vim placerar man i ~/.vim/plugin och VIM-bollen laddar man hem, öppnar med VIM och skriver

:so %

WordPress-rättigheter

Bök, bök, bök. www-data, grupper, wp-content/uploads, FTP-access, osv…

Den här gången skulle jag en gång för alla se till att min WP-installation hade de rättigheter jag ville. Varför? För att jag vill låta min WP-installation uppdatera saker och ting på egen hand utan att fråga efter fruktansvärt frutstrerande FTP-uppgifter (1980, anyone?), plus ge de användare jag vill, rättigheter till olika delar av webinstallationen i övrigt. Det tog tid. Och jag fick det inte som jag ville slutändan ändå. Jag sitter inne med följande konfiguration:

  • Debian
  • Apache 2
  • PHP 5
  • WordPress 3.x

För att göra en historia kort och koncis:

  • Se till att mapparna wp-admin och wp-content ägs av www-data (dvs samma användare som apache kör) och att denna användare får läsa och skriva dit
sudo chown -R www-data:web wp-admin/ wp-content/
sudo chmod -R 775 wp-admin/ wp-content/

Internet: Hur i helsefyr kan jag få den här WP-installationen att köra som root:webdev och fortfarande låta uppgraderingar av WP vara FTP-lös. Jag vill inte köra med FTP bara för att rättigheterna inte är WP-kompatibla, men jag ser inte att jag ska behöva installera ACL och suPHP och suExec, osv… I mitt sinne borde det här fungera med “chown root:web…” eller “chown mickemus:web…” så länge www-data ingår i gruppen web och gruppen web får släsa/skriva till mapparna wp-admin och wp-content. Kommentera gärna!

MySQL-specifikt

Okej, nu har jag gjort det här tillräckligt sällan och behövt det tillräckligt många gånger (som så mycket annat som kommer läggas till senare)

# Lägg till en användare

CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';

# Lägg till rättigheter åt en användare

GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' WITH GRANT OPTION;

# Ta bort rättigheter från en användare

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

# Ta bort en användare

DROP USER user;

# Ändra namn på en användare

RENAME USER old_user TO new_user

# Ändra lösenord på en användare

SET PASSWORD FOR 'bob'@'*' = PASSWORD('newpass');

# Återställ root-lösen (the *nix-way)

  1. Logga in på boxen där ‘mysqld’ kör
  2. Hitta .pid-filen som innehåller serverns ‘process ID’. Den exakta platsen och namnet kan variera. Vanliga platser är:
    /var/lib/mysql
    /var/run/mysqld/
    /usr/local/mysql/data/
    Generellt har filen en ändelse .pid och börjar med ‘mysqld’ eller boxens namn.
    Du kan stoppa mysqld med ett normalt kill-kommando (inte kill -9), genom att använda hela sökvägen till .pid-filen, enligt:
    $ kill `cat /mysql-data-katalog/boxnamn.pid`
    Notera “backostroferna”.
  3. Skapa en textfil som innehåller följande (byt ut löesnord med ett egenvalt lösenord):
    UPDATE mysql.user SET Password=PASSWORD(lösenord’) WHERE User=’root’;
    FLUSH PRIVILEGES;
  4. Spara filen. Kalla den ‘mysql-init’ och lägg den i din egen hem-mapp, där ingen annan kan komma åt den. Se till att mysql har möjlighet att läsa filen.
  5. Starta MySQL-servern med växeln ‘–init-file’:
    $ mysqld_safe –init-file=[sökväg till]/mysql-init &
    MySQL-server kommer att starta upp, läsa in filens innehåll, vilket effektivt ändrar root:s lösenord till det du skrivit in.
  6. När servern har startat, radera filen mysql-init.

# Återställ root-lösen (the Mac-way med mysql-5.7.9-osx10.10)

  1. Stop the MySQL service if it’s running
  2. Start a shell
  3. Type in:
    sudo mysqld-safe –skip-grant-tables
  4. Start another shell
  5. Type in:
    mysql -u root
    update user set authentication_string=password(‘1111′) where user=’root’;
    FLUSH PRIVILEGES;
    exit
  6. Kill mysqld_safe by typing in:
    sudo kill -11 [PID of mysqld_safe]
  7. Restart the MySQL service

Ubuntu och Primär/Sekundär-skärmsuppsättning

Satt på jobbet och försökte reda ut hur man får Ubuntu att förstå att en skärm är primär och en är sekundär. Jag försökte med det standardinära Monitor-verktyget som följer med, men det fanns inget sätt att byta mellan skärmarna för att få till en enkel flytt av alla paneler. Jag hittade däremot ett par xrandr-kommandon som ser till att åstadkomma till 95% det som jag behöver och kan läggas i ett skript.

Använd ‘xrandr’ för att ta reda på vad skärmarnas id:n är, pussla sedan ihop en skript-fil lik denna:

xrandr --output VGA1 --off
xrandr --output HDMI1 --auto --primary
xrandr --output VGA1 --auto --left-of HDMI1

(Förutsättning, bara två skärmar. Har man fler får man utöka och pussla lite till) Detta kommer nu att stänga av din nuvarande “primärskärm” som du vill göra om till sekundär. Därefter kommer den skärm som är igång att sättas till primärskärm och slutligen den som precis stängts av, sätts som sekundärskärm.

Nå, vad är det som inbegrips i de övriga 5%:en? Ja, det är väl ett rätt schysst skript och fungerar så vitt jag kan se så länge man har xrandr och håller koll på id:n. Men jag vet inte om det är så himla elegant och när man sätter det som en del av uppstarten till sin inloggning så blinkar det till lite extra i skärmarna. Jag vet inte heller om det gör att applikationer blir lite förvirrade över växlingen, men det återstår att undersöka.

Redmine. Bra men (serveradmin)klurigt

Installerar Redmine på min Debian-burk som jag så snällt fick ärva av goda vänner.

Det är ett kanonverktyg som utökar Trac:s funktionalitet rejält, bla med möjligheten att köra fler projekt i ett och samma verktyg.

Men, jag hade stooora problem att få attachments att lira och har nu efter ett litet tag börjat förstå var problemet ligger;

Redmine kör Ruby on Rails och jag använder mig av en komponent kallad Passenger. Denna komponent fungerar på något sätt som en hand mellan Apache och Redmine/Ruby och iochmed detta är det lite speciell hantering av bland annat användare och rättigheter som är viktiga att hålla reda på.

Kort sagt, det verkar som om, när Ruby startas upp av Apache, Passenger ärver den användare som Apache startats med enligt den här dokumentationen. Det lustiga är att användaren som startar Apache på min box inte alls motsvarar den som Passenger sen kör (som i ps aux får namnet “nobody”). Efter massvis med bök i rättigheter och dessutom letande i Redmine:s källfiler (var fan står det egentligen var någonstans filer sparas, herrarna och fröknarna Redmineutvecklare???) kom jag till slut fram till att om man chownar hela redmine-mappen till www-data:www-data, så mår Redmine helt plötsligt mycket bättre vad gäller attachments och plugins.

Nu ska jag bara luska ut vilka negativa sidoeffekter och vad fasen den här Passenger-komponenten gör och så kallad user switching, men det blir en annan femma.

EDIT! En sak som kan vara jääääkligt bra att veta; /etc/apache2/mods-available/passenger.conf kan tilläggas en rad som säger

PassengerDefaultUser www-data

Detta gör alltså att passenger startas upp med användaren www-data istället för att som default ärva upp en användarstatus.
/EDIT!

256 färger i konsollen

Detta är ett bra tips om man vill ha lite vettiga alternativ till 8 färger som Squeeze-terminalen erbjuder som standard. Mycket kort och koncist förklarat här:

256 colors on the Linux terminal

Flytta alla filer och mappar

Ett sätt att flytta samtliga filer och mappar till mappen ovanför den du står i.

find . -maxdepth 1 -exec mv {} .. ;

Alternativt (med kopieringskommando, som inte flyttar filer)

cp -r ./.* ../charlesdickens/

Alternativt (som är både kort och fungerar finfint i Debian)

mv {*,.*} ..

Söka text i mappar och filer med Grep

Här är ett kort tips om hur man kan göra sökningar på sin Linux-box med hjälp av grep

This is for future use,

In case if you dont have permission to get into a directory or a file, then you will get a permission denied error amidst the correct matches. You can use the following command to avoid all those errors

find / -name “*” 2>/dev/null | xargs grep -i “search string” 2>/dev/null

By using this, you will get only what matches and saves time. Hope this helps. -Tiger75

Installera Dina programmeringsfont i Gnome

Link: http://www.donationcoder.com/Forums/bb/index.php?topic=7857.0

Från snubben som konverterade fonten: I don’t know about emacs font handling, but getting Dina to show up in X11 should not be a problem following my instructions given at the link you cited.

However, there’s one small catch involved with Debian-based distributions like (K)Ubuntu. You need to tell fontconfig to enable bitmapped fonts (“dpkg-reconfigure fontconfig-config” [no typo here!]), because bitmapped fonts are disabled in (K)Ubuntu by default. That’s why you probably did not come across it in X yet.

After having packed the Dina files into a directory which is in the font path (tex /usr/share/fonts/X11/misc), just run “dpkg-reconfigure fontconfig” which on Debian-based systems does the xset fp rehash and all that stuff automatically. When done, an “fc-list | grep Dina” should show Dina. At least it did on my Kubuntu Gutsy installation.

 

Good luck -bpcw001

Uppdatering:

Så, den totala steglistan blir som följer

1: Placera Dina-fonterna (tex Dina-PCF och Dina-BDF mapparna) i ~/.fonts
2: Kör kommandot nedan för att möjliggöra scanning av bitmapfonter och sedan rensa cachen.

I Ubuntu Lucid Lynx kan det vara värt att köra igenom följande två kommandon

sudo rm /etc/fonts/conf.d/70-no-bitmaps.conf
sudo fc-cache -f -v

Det ser till att bitmappade fonter blir tillåtna och drar igenom font-cachen.