VPS:n hakemisto näkyviin Linux Mintiin

You are currently viewing VPS:n hakemisto näkyviin Linux Mintiin

Olen tehnyt pitkään töitäni iPadillä. Saan sillä siedettävästi tehtyä tekstit, ulkoisella bluetooth-näppäimistöllä tosin. Koska podcastini ovat yksinkertaisia monologeja, enkä hae erinomaista äänenlaatua, niin saan nekin editoitua iPadissä — tosin maksullisten appien kautta. Sama pätee videoiden suhteen. Apple on valinnut olla tarjoamatta terminaalia, joten siihenkin jouduin hankkimaan maksullisen, ja valintana oli Blink-app.

On minulla läppäri. Mutta se oli vanha ja väsynyt, ja eniten käytetyistä kirjaimista oli näppäinhatut hajonneet. Ulkoinen näppäimistö on pieni kiusa, mutta merkityksetön Windows 11 tuomaan hitautueeseen sekä käytön hankaluuteen verrattuna. Joten heivasin Microsoftin (mukaanlukien Ofiicen ja SkyDriven) ja vaihdoin linuxpuoleen. Mintiin tarkemmin sanottuna.

Osa asioista on vaan hieman näppärämpää tehdä isommalla ruudulla ja ilman Applen (keinotekoisia) käytön rajoituksia.

Minulla on hieman yhteistä historiaa linux-distrojen kanssa. Ensimmäinen varsinainen desktop-hankinta taisi olla Mandrake. Sitä ei taida enää ollakaan. Olen antanut mahdollisuuden jotakuinkin aina kolmen vuoden välein, mutta tähän asti niissä on aina ollut omat ongelmansa, eivätkä täyttäneet omia hyvinkin kevyitä tarpeita. Mutta ehkä nyt tekniikka on kehittynyt riittävästi.

Minulla oli kuitenkin yksi tarve. Halusin desktopin graafiselle puolelle suoran kuvakkeen VPS:n yhteen hakemistoon. Tarkemmin sanottuna /root-kansioon. Blink tarjoaa iPadissä (ja toki myös iPhonessa) kytkeä jonkun hakemiston niin, että se näkyy iPadOS:n Tiedostot-appissa. se helpottaa elämää huomattavasti. Varsinkin kun ei halua leikkiä komentoriviketjujen kanssa joka välissä.

Ai root-kansiota ei saisi käyttää, eikä ylipäätään esiintyä rootin ominaisuudessa? Niin varmaan, mutta minä olen VPS:eni ainoa käyttäjä ja ainoa sallittu kirjautuminen on SSH-key. Jos se murretaan, niin hyökkääjä ei hidasta enää siinä vaiheessa edes tavanomaisen käyttäjän sudo tai su - vaatimus. Joten se siitä aiheesta.

Jos sanon, että VPS:n yhden kansion tuominen työpöydälle tai desktopin muihin valikoihin on triviaalia, niin se ei pidä paikkaansa. Varmasti he, jotka kykenevät lennosta kirjoittamaan kolmen rivin komentoketjuja, osaavat tuon silmät kiinni. Mutta minä olen onnistunut tekemään bash-scriptin, joka muutti koko serverin kaikkien hakemistojen ja tiedostojen omistajuuden, kun yritin vain saada aikaiseksi chown -R www-data:www-data /var/www/.

Joten minä kulutin uskomattomia määriä Googlen datakeskusten jäähdytysvettä, kun etsin netin syövereistä neuvoja, vinkkejä ja ohjeita VPS:n hakemiston mountaamiseen Mintiin. Eikä ratkaisun löytyminen onnistunut ihan minuuteissa. Siihen meni useampi tunti. Oikeammin täysi työpäivä ja ylityötunnit päälle

Tekoälyt ovat usein 80 prosenttisesti oikeassa, ja 20 % on se osa, joka työllistää. Webin ohjeet ovat usein haarukassa 0 – 20 % oikein. Tarkoittaa siitä, että iso materiaalista ei ole koskaan toiminut, vaan sisältö on tehty SEO-ajatukselle, jotta saataisiin maksimoitua mainosnäytöt.

Kirjoittaja on copypeistannut jotain, eikö ole koskaan edes vaivautunut testaamaan toimivatko ohjeet. Joten kun sanotaan, että AI pilaa kaiken, niin tämänkaltaisissa asioissa muutos 0 % onnistumisesta 80 % onnistumiseen olisi parannus. Luultavasti seuraavassa samankaltaisessa urakassa annan AI:lle mahdollisuuden.

Joten näin tein ja minulla se toimii. Olisiko saman voinut tehdä helpomminkin? Luultavasti, koska minä en tiedä mitä teen, mutta minulla on tohtorintutkinto kopypeistaamisessa.

Parametrit ovat

  • Linux Mint 22.1
  • VPS: Ubuntu 24.04 (jos se mitenkään asiaan vaikuttaa)

Kaikki allaoleva tehdä Mintissä omalla käyttäjällä. Root-kysymys koskee vain työnteon helppoutta VPS:ssä.

Koska käytän itselle helpompia host nimiä, niin SSH tarvitsee config-tiedoston.

mkdir -p ~/.ssh
nano ~/.ssh/config

Sinne lisätään tällaista, jokaiselle hostille omansa:

Host hub
    HostName vps.ip.numero
    User root
    Port 22
    IdentityFile ~/.ssh/id_site.key
    IdentitiesOnly yes
    Compression yes
    ServerAliveInterval 15
    ServerAliveCountMax 3

Hostin nimen ei tarvitse olla se mikä VPS:ssä on. Se saa olla mikä tahansa, helposti muistettava. Ja minulla on User root, koska — kuten on jo mainittu — kirjaudun VPS:ään rootina. Joten käytä siinä sitä mille käyttäjälle SSH-avain on luotu.

Sitten täytyy useamman lähteen mukaan tehdä näin terminaalissa:

ssh hub true

Vaihda hub käyttämäksesi hostiksi. Olin tuossa vaiheessa täydessä leikkaa/liimaa -moodissa, joten en edes tiedä mitä tuo tekee. mutta sen pitäsi ilmeisesti jollain tavalla estää mountin kaatuminen ensimmäisellä kerralla.

Huomaa: älä ole kuin minä ja kopioi kaikkea mitä netistä löytää; selvitä ensin mitä jokin tekee.

Tehdään mountille hakemisto:

mkdir -p ~/hubroot

Älä käytä väli- ja alaviivoja. Kirjoita kaikki yhteen. Helpottaa elämää automount-vaiheessa, oikeammin sen rakentamissa.

Tarvitaan sellainen namiskuukkeli kuin SSHFS:

sudo apt update
sudo apt install sshfs

Testataan tässä välissä, että ylipäätään kytkentä toimii. Vaihda host ja hakemisto käyttämiisi:

sshfs hub:/root ~/hubroot -o reconnect -o ServerAliveInterval=15 -o ServerAliveCountMax=3

Työpöydälle pitäisi ilmestyä kuvake, jonka nimi minulla on hub-root ja kun sen klikkaa auki, niin pitäisi näkyä sama sisältö kuin VPS:n vastaavassa hakemistossa.

Jos ei toimi, niin… onnea vaan etsimään vikaavikaa. Minä en osaa auttaa. mutta tarkista ensimmäiseksi, että nimet ja sijainnit ovat varmasti oikein.

Kun se kuitenkin toimii, niin irrota mount häiritsemästä jatkoa:

fusermount -u ~/hubroot

Aletaan rakentamaan automountia, ja siihen tarvitaan systemd ja jokin user unit.

mkdir -p ~/.config/systemd/user

Luodaan tarvittava .mount tiedosto:

nano ~/.config/systemd/user/$(systemd-escape -p --suffix=mount "$HOME/hubroot")

Kyllä, sen täytyy olla tuollainen hirviö. jostain minulle oudosta syystä muutoin sitä mountattavaa hakemistoa ei kyetä löytämään. Tai ilmeisesti tätä tiedostoa ei löydetä, jollei sitä nimetä jotenkin ehdottoman tiukan säännön mukaisesti. Tässä vaiheessa väliviivat sun muut olisivat aiheuttaneen tiedostonimeen hipsut ja nimen keskelle \2x merkinnän. Rumaa ja hankalaa kirjoittaa.

Lisää sinne tämä (mutta taas kerran, vaihda hostiksi jne. omasi):

[Unit]
Description=Mount VPS /root via SSHFS (using alias)
After=network-online.target
Wants=network-online.target

[Mount]
What=hub:/root
Where=%h/hubroot
Type=fuse.sshfs
Options=reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,_netdev

[Install]
WantedBy=default.target

Miksikö kirjoitan kuvauksen englanniksi? Vanha tapa. Käytä suomea tai vaikka swahilia, jos haluat.

Toki voit vilkaista .mount-tiedoston nimen perinteiseen tapaan ls-komennolla, mutta tämäkin toimii:

systemd-escape -p --suffix=mount "$HOME/hubroot"

Hassuus on siinä, että systemctl komentojen kanssa sitten käytetään tuota nimeä – joten kertauksena: älä laita nimeen viivoja.

Minulla se olisi:

home-jakke-hubroot.mount

Jos olet tehnyt VPS-hommia, jossa kaikki tapahtuu komentoriviltä, niin tämä viimeistely on tuttua:

systemctl --user daemon-reload
systemctl --user enable --now home-jakke-hubroot.mount

Minulla toimi tällä tavalla. Ja kuvake näkyy työpöydällä sekä Nemossa.

Koska kyseessä on systemd-toiminto, niin tutut stop, restart jne. toimivat — kunhan muistaa laittaa mukaan --user. Sitten kun tulee ongelmia, niin journalctl löytyy tällä:

journalctl --user -u home-jakke-hubroot.mount -e

 

Jakke Lehtonen

Teen B2B-markkinoille sisällöntuottoa sekä UX-testauksia. Samaan liittyy myös koulutukset yrityksille ja webmaailman kanssa muutoin painiville. Serverien sielunelämää on joutunut ohessa opettelmaan. Toinen puoli toiminnasta on koirien ravitsemuksen ja ruokinnan suunnittelua sekä varsinkin omistajien kouluttamista hoitamaan koiriaan oikein ja vielä paremmin. Profiili: Jakke Lehtonen

Keskustele foorumilla Katiskan foorumi

WordPressin kommentit: