Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Viestit - teele

Sivuja: [1] 2 3 ... 44
1
Jos käynnistää pilvikoneessa ohjelman taustalle, niin jääkö käynnistetty ohjelma käyntiin pilvikoneella, kun käynnistänyt pääteyhteys katkeaa.

Nyt käynnistyksessä on käytetty byobua, mutta onnistuisiko myös pelkillä bash-komennoilla.

Sitten tietysti ohjelma pitäisi saada pysäytettyä uudessa pääteikkunassa, kun joskus myöhemmin kirjautuu pilvikoneelle. Onnistuuko tavallsilla bash-konsteilla.

2

Alustin uuden tikun ubuntu 24.04 -koneella fat-muotoiseksi tai oikeastaan taitaa olla extfat. Tikku on kotikäytössä näyttänyt toimivan, mutta kun sitä kokeiltiin win-koneessa, tuli tavalliset virheilmoitukset ja windows ehdotti alustmista, koska ei tunnnistanut tikkua.

Ehkä tikku pitääkin alustaa win-koneessa. Pitää kokeilla, kun sopiva kone löytyy, kirjaston koneella ei viitsisi alustella, kun ei ole tietoa, mitä se oikeasti tekee tai kuka siihen mitäkin on asennellut.

Kätevämpää olisi, jos omalla koneellakin voisi yleiset tietomuodot alustella.

Mutta onko tilanne nyt todella sellainen, että yleiseen tallenteluun käytettävä tikku pitää alustaa win-puolella?


3

Käytössä on ollut meiliboxi.fi -palvelun sähköposti ja sattumalta tuli ilmi, että otulook.com: iin menevien viestien ilmoitetaan olevan estolistalla. Ilmoituksesta, joka ilmestyy tulleisiin sähköposteihin, olisin ymmärtävinäni, että outlook on laittanut meiliboxin estolistalle.

onko tämä yleistä ja miten mahtaisi käydä, jos lähettäisi sähköpostin suoraan php:stä, tulisiko silloin varmenteiden tms. kanssa ongelmia?

4
Tässä win-koneen käyttömahdollisuutta odotellessa on tullut mieleen, kannattaisiko muistitikku laittaa suoraan ext4-muotoon.

Windowsin kanssa ei paljon oikeassa elämässä ole ollut tekemistä. Kirjaston kopiokoneiden kanssa jo ntfs-muotoisella tikulla on ollut ongelmia ja kopioitavaksi halutut tekstit olisi jo nyt pitänyt laittaa sähköpostin kautta kirjaston tikulle.

Yksi vaihtoehto olisi kopioida tikun tiedostot väliaikaisesti levylle, alustaa vanha tikku ext4-muotoon ubuntu 24.04-koneella ja laittaa tiedostot sinne takaisin. Voisiko tämän tehdä ubuntu 22.04-koneessa niin, että mahdollisesti uudemman ext4-version kanssa ei tulisi sitten samanlaisia ongelmia kuin nyt ntfs-muotoisen tikun kanssa.

Tikku on käytössä varmuuskopioita ja tiedostojen siirtämistä ubuntu-koneiden välillä varten.Koneissa voi olla eri versiopäivitykset. Onko olemassa joku syy, jota en keksi, miksi ext-muotoinen tikku ei olisi hyvä ratkaisu.



5

ehkä viikolla löydän jostain win-koneen, jolla voisi päästä korjaamaan levyä.

tikusta saa hieman enemmän tietoa valitsemalle sen devices valikosta ja kaksoisnapsauttamalla, mutta en vielä ole keksinyt, missä olisi gpartedin mount-komento.


6

gparted näyttää

/dev/ntfs 

ja tikun koon käytetyn ja käyttämättömän muistin

tikkua ei saa liitetyksi, mutta kun sen laittaa paikalleen, se tunnistuu eli pieni äänimerkki kuuluu, niin kuin varmaan kaikkia tikkuja usb-koloon laitettaessa

tikku ei näy tiedostoselaimessa eikä sitä voi sieltä liittää


7
Valitettavasti meni vähän aikaa, kun piti päästä toiselle koneelle tutkimaan sitä tikkua, mutta se näyttäisi olevan ntfs-alustettu liitospiste /media/konenimi/......  , polku on /dev/sdc

8

Ubuntun ehdottaman päivityksen 22.04 -> 24.04 jälkeen yksi muistitikku ei tunnistu. Virheilmoituksena tulee varmaan kaikki mahdolliset syyt ikkunaan, josta en saanut tekstiä kopioiduksi.

Toinen tikku tunnistuu tässä ongelmakoneessa ja  "ongelmatikku" tunnistuu 22.04 -koneessa. Muuten päivitetty kone näyttää toimivan tavallisesti.

Epäilys siis on, että päivityksessä meni jotain pieleen. Miten asiaa voisi alkaa selvittää?


9

Päivitin juuri kotikoneen 24.04 -versioon vain napsauttamalla asiasta muistuttaneen ikkunan ponnahdettua auki, ja kaikki näyttää menneen hyvin ja helposti. Mutta kun aloitin versiopäivityksen ssh:n kautta pilvikoneella pilvikoneen bashilla, tuli varoitus

Koodia: [Valitse]
Checking package manager

Continue running under SSH?

This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?

Continue [yN]

Miten tässä kohdassa pitäisi toimia, mikä olisi mahdollinen toinen tapa, jos ssh:ta ei käytä. Muistelen, että versiopäivitys on ehkä onnistunut aikaisemmin helposti ssh:n kautta samalla pilvikoneella.




10

" Eikö siihen sarakkeeseen voi valita tuontitoiminnossa päivämäärämuotoa?   "

Kylllä voi, jos osaa niin tehdä, nyt toivottavasti jonkin aikaa osaan  :)

Kiitois neuvoista ääkkös- ja päivämääräasioissa.


11

Se merkistö toimi, ääkköset näkyvät laskentataulukossa nyt oikein.

Mutta sitten huomasin vielä, että päivämäärät eivät tule luetuiksi calcin ymmärtämään muotoon. Ne ovat 14.3.2024 -muotoisina teksteinä eikä aikaeroja voi niistä laskea. Niiden muuttaminen tekstinkäsittelykomennoilla on jo vähän hankalampaa.

Osaisiko calc lukea nekin oikein vai joudunko regex-hommiin, mikä on kyllä paljon hankalampaa.
Numeroformaatin muuttaminen calcissa ei onnistu, koska calc ei tunnista soluja numeroiksi.

23.3.2024
4.6.2024
10.3.2024

päivämäärät ovat siis tällaisina sarakkeessa.

 



12
Pitäisi lukea calciin pieni csv-tiedosto, jossa on ääkkösiä. Ääkköset näkyvät mustina salimakkeina, joiden keskellä on kysymysmerkki.

Oma calcini on englantilainen, koska haluan tutut funktionimet. Kokeilin myös valita kieleksi suomen ja/tai englannin, kun calc esitti valikon lukuoptioista csv-tiedostoa avattaessa. Kummallkaan valinnalla en saanut ääkkösiä näkymään oikein.

Merkistö on tiedostossa utf-8, ja se näkyy oikein kun avaan tiedoston geditillä. Calc ikkunaan voi kirjoittaa näppäimistöltä ääkkösiä ja ne näkyvät oikein.

Luultavasti etsi - ja -korvaa -toiminnolla voi tunnistamattomat salmiakit korvata, mutta olisiko olemassa joku keino, millä calcin saisi lukemaan ne suoraan oikein ääkkösinä, kun kuitenkin ääkköset toimivat ihan hyvin calc laskentataulukoissa.

En haluaisi suomentaa calcin funktionimiä eli vaihtaa maa- tms. asetuksia.

 

13

Mikä olisi edullinen ja helppokäyttöinen pilvikonepalvelu, josta saisi oman pilvikoneen, jossa voisi  ajaa ubuntua päätemuodossa.

Tarkoitus on vain pitää helppoja php-avusteisia html-sivuja vakio-osoitteessa. Luuisin jopa 2 Gt muistin olevan riittävän ja ehkä parikymmentä gt :tä levytilaa olisi sopiva tai riittävä.

Pilvikoneiden luonti ei ole milllään tavalla tuttua ja toivoisin pilvikoneiden hallinnoinnin olevan yksinkertaista, yksi kone voisi olla käytössä koko ajan. Onko pilvikoneissa kyse lxd- tai docker-systeemistä eli niitä voisi olla kotikoneellakin, mutta sehän ei ole päällä kuin silloin, kun itse sitä käytän eikä sen osoitekaan varmaan ole vakio.


14

Taas tuli hyvää ja selkeää tietoa tämän foorumin kautta. Näillä tiedoilla voinen merkitä asian ratkaistuksi.

     :)

 

15

Pieni jatkokysymys vielä: Jos käytän https-yhteyttä selaimella ja oma sivuni pilvipalvelimella kysyy salasanaa, sen voinee lähettää turvallisesti. Sitten palvelimelta tulee jotain selaimessa avoimena olevalle sivulle vastauksena. Https-yhteydellä tämäkin lienee turvallista eikä ulkopuolinen voi lukea tullutta tietoa.

Entä jos käytän tiedostonhallinnan yhteyttä kohdasta Muu sijainti ja annan palvelimelle kirjautuessa sen vaatiman salasanan sftp yhteyden kautta. Voinko käyttää turvallisesti yhteyttä, vai koskeeko https-vain selaimen kautta kulkevaa tietoa.

16
Onko avoimen wifin käyttöön esimerkiksi kirjastossa tai liiketilassa liittyviä tietoturvariskejä, jos esimerkiksi lukee omaa sähköpostia tai vaikkapa kirjautuu näille sivuille omalla tunuksella, voiko joku ulkopuolinen lukea tunnuksen ja salasanan wifistä.

17
 curlilla

Koodia: [Valitse]
curl -D - --user käyttäjänimi:salasana https://www.dy.fi/nic/update?hostname=omasivu1.dy.fi,omasivu2.dy.fi

ja käyttäjänimeksi sähköposti ja salasanaan oma salasana.

Kiitoksia taas neuvoista   :)

18

Eipäs vielä näytäkään ratkeavan. Kokeilin pilvikoneen päätteessä

Koodia: [Valitse]
curl -D - --user käyttäjänimi:salasana https://www.dy.fi/nic/update?hostname=omasivu1.dy.fi,omasivu2.dy.fi

jossa ajatuksena oli päivittää kahden sivuston osoitetiedot dy.fi -palveluun.

Vastauksena tuli

Koodia: [Valitse]
HTTP/1.1 401 Unauthorized
Server: nginx/1.10.3 (Ubuntu)
Date: Sun, 13 Oct 2024 10:19:59 GMT
Content-Type: text/plain;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=10
Last-Modified: Sun, 13 Oct 2024 10:19:59 GMT
Cache-Control: no-cache
Pragma: no-cache
WWW-Authenticate: Basic realm="dy.fi update"

badauth

eli luultavasti salasana tai käyttäjätunnus ovat väärin. Yritin selvittää, mikä voisi olla käyttäjätunnukseni parin vuoden takaisista paperilapuista, mutta eei ehkä onnistunut sittenkään, salasana näytti ainakin olleen selvästi merkittynä.

Pääsen kyllä kirjautumaan käyttäjänä dy.fi -palveluun. Kirjautuduttaessa kysytään sp-osoite ja salasana. Salasana lienee siis oikein, vaikka sp-osoite ei enää olekaan käytössä.

Kirjauduttuani näin, että varaamani sivuilla oli voimassaoloaikaa 6 päivää ja 22 tuntia ja minuutteja päälle, vaikka en ollut ymmärtääkseni päivittänyt niitä ainakaan pariin päivään. Päivittäisikö dy.fi sivut sittenkin jostain syystä ihen itse?

Toisaalta olisiko hetznerin pilvipalvelin käynnistynyt hetznerin omien syiden takia uudestaan, jolloin myös pilvikoneeni olisi käynnistynyt uudestaan?

Pitäisikö curlissa laittaa käyttäjänimeksi sittenkin se sähköpostiosoite, jota käytetään kirjautumissa? (kokeilin tässä jo pari kertaa eri vaihtoehtoja, enkä viitsisi ihan heti yrittää osoitepäivitystä uudelleen, koska dy.fi -sivulla olevasta tekstistä päätellen näyttää siltä, että siellä ei tykätä liian usein tehtävistä päivityksistä, vaikka omat päivitykseni ovat ilmeisesti jääneet vain yrityksiksi)


19

anacron on myös hyvä vihje. Olen nähnyt siitä ohjeita jossain, oikeastaan on monia asioita, joista on jotain hämärää mielikuvaa, mutta niiden harjoittelu puuttuu.

Alkuperäinen ongelma oli, että tiesin vain suunnilleen, miten pilvikoneella olevien osotteiden päivitys dy.fi -palvelussa menee, mutta ohjelmakoodin osalta asia oli täysin mysteeri. wget ja curl tuovat lisävalaistusta asiaan ja sitten, kun opin anacronin, asia hoitunee sillä ja curlilla tai wgetillä tai ehkä sopivalla c++ -ohjelmalla.

Ideana on tosiaan vähän opiskella asioita, niin kuin kirjoitit   :)

20
 juu, kokeilin tällaista

Koodia: [Valitse]
write an equivalent program in pure c++ that performs wget -q -O - --http-user=tunnus --http-passwd=salasana https://www.dy.fi/nic/update?hostname=omakone.dy.fi  and shows socket interactions expicitely


tekoäly vastasi näin

Koodia: [Valitse]
Creating a C++ program that mimics the behavior of wget with explicit socket interactions involves using low-level socket programming. Below is a simple example that demonstrates how to perform an HTTP GET request with basic authentication. This example uses the standard C++ libraries along with POSIX socket functions.

Please note that this code is for educational purposes and may require additional error handling and features for production use.

`cpp
#include
#include
#include
#include
#include
#include
#include
#include
#include

std::string base64_encode(const std::string &in) {
static const std::string base64_chars =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789+/";

std::string out;
int val = 0, valb = -6;
for (unsigned char c : in) {
val = (val << 8) + c;
valb += 8;
while (valb >= 0) {
out.push_back(base64_chars[(val >> valb) & 0x3F]);
valb -= 6;
}
}
while (valb >= 0) {
out.push_back(base64_chars[(val >> valb) & 0x3F]);
valb -= 6;
}
while (out.size() % 4) out.push_back('=');
return out;
}

void http_get(const std::string &hostname, const std::string &path, const std::string &user, const std::string &pass) {
int sockfd;
struct sockaddr_in server_addr;
struct hostent *host;

// Create socket
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
throw std::runtime_error("Socket creation failed");
}

// Get host information
if ((host = gethostbyname(hostname.c_str())) == nullptr) {
close(sockfd);
throw std::runtime_error("Host not found");
}

// Set up the server address structure
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(80); // HTTP port
std::memcpy(&server_addr.sin_addr.s_addr, host->h_addr, host->h_length);

// Connect to the server
if (connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
close(sockfd);
throw std::runtime_error("Connection failed");
}

// Prepare the HTTP GET request
std::ostringstream request;
std::string auth = user + ":" + pass;
std::string encoded_auth = base64_encode(auth);

request << "GET " << path << " HTTP/1.1\r\n"
<< "Host: " << hostname << "\r\n"
<< "Authorization: Basic " << encoded_auth << "\r\n"
<< "Connection: close\r\n"
<< "\r\n";

// Send the request
std::string req_str = request.str();
send(sockfd, req_str.c_str(), req_str.size(), 0);

// Receive the response
char buffer[4096];
while (true) {
ssize_t bytes_received = recv(sockfd, buffer, sizeof(buffer) - 1, 0);
if (bytes_received <= 0) break; // Connection closed or error
buffer[bytes_received] = '\0'; // Null-terminate the buffer
std::cout << buffer; // Print the response
}

// Close the socket
close(sockfd);
}

int main() {
try {
std::string hostname = "www.dy.fi";
std::string path =


eli taitaa kyllästyä vastauksen pituuteen ihan loppumatkalla. Mutta nyt tuli kuitenkin esille http-request ihan uutena, mielenkiintoisena asiana. Pitänee varmaan tutustua siihen, niin pääsee vähän enenmmän kärryille nettiviesteistä ja niitten kirjoittamisesta ja lähettämisesta ja vastaan ottamisesta.

Tekoaly oli hyvä vihje, se oli jo melkein unohtunut, kun kesällä sitä kokeillessa se kirjoitti aika levotonta koodia.   Kiitos  :)

Sivuja: [1] 2 3 ... 44