Digitālais klaidonis

Mēs dzīvojam, kamēr lidojam

Konsoles Linux problēmas – 2

Iepriekšējo reizi es rakstīju par konsoles Linux problēmām.  Tēma ir aktuāla, saņēma veselu kalnu  komentāru (maniem, nevienam nepazīstama blogera, mērogiem).

Nolēmu turpināt.

1. binfmt un binfmt-support

Agrāk tas bija kodola modulis, bet tagad – kodolā iebūvēts mehānisms. Tas ļauj sasaistīt failus ar to izpildes vidi bez tām kroplīgajām “#!/usr/bin/bash” konstrukcijām faila iekšienē. Sasaistīt var pēc failā esošajiem “magic numbers” vai paplašinājuma. Un lūk  - interfeiss šai padarīšanai ir ļoti dīvains (neiesvētītajam). Ir jāizvada (echo) cipari 1 vai 0 vai arī iestatījumi uz “pseidofailiem” īpašā failu sistēmas vietā. Turklāt pēc restarta visi šie iestatījumi pazūd, un kurā ielādes brīdī tos korekti izsaukt, lai atkal parādītos, bez bieza sējuma “Linux administrēšana” netiksi skaidrībā . Lai to atrisinātu, ir atsevišķa pakotne binfmt-support, ko, spriežot pēc visa, rakstījis cits cilvēks, taču par tās eksistenci vēl ir jāprot iedomāties.

2. apache “order deny,allow”

Apache konfigos ir komanda “order deny,allow”, kas kalpo piekļuves tiesību darbības secības noteikšanai. Un tātad, no konfiga parsera viedokļa “deny,allow” – tas ir viens vārds. No jebkura normāla cilvēka viedokļa aiz komata ir jāliek atstarpe. Taču linuksoīdiem ir nospļauties par noteikumiem, nospļauties par to, kā cilvēks intuitīvi uztver valodas konstrukcijas. Tas ir, “deny,allow” pat jebkurā programmēšanas valodā tiktu parsēts atsevišķi. Apache konfiga parsers, protams, uzskata, ka “deny, allow” – tie ir divi atsevišķi izteicieni bez jēgas, kas atdalīti ar komatu.

3. bugzilla

Uzliku es bagtrekeri bugzilla. (Tā izrādījās neērta un nesaprotama, piedevām vēl pēc noklusējuma spamo, bet nu labi). Vai nu es slikti meklēju, vai arī komplektā nav instrukcijas priekš Debian. Mājaslapā saka: “lieciet mūsējo, mēs par Debian neatbildam”. Ar grūtībām atradu kaut kādus kreisos ierakstus no kāda nelaimīgā, kurš nomocījās, bet tomēr nokonfigurēja no pakotnes uzinstalēto, un nokopēju viņa konfigu. “Lieciet mūsējo” – lieliska ideja. Tā vajag uzlikt vēl simts citus softus, parakstīties uz drošības paziņojumiem un pēc tam visu dzīvi tērēt ielāpu un atjauninājumu instalēšanai. Nu, vai arī lūgties, lai hakeriem tavs nožēlojamais serveris nav vajadzīgs. (Kas ir maz ticams, jo botnetam noderēs jebkurš). Vispār jau Linux pamatīgi čakarē smadzenes – pat ar uzinstalētiem atjauninājumiem (nu, precīzāk, softu no pakotnes) mūsu admins pieprasa aizvērt piekļuvi no kreisajām IP. Tad nav saprotama jēga uztraukties par atjauninājumiem, ja ērtība ielogoties no jebkura kompja pazūd.

Bonuss: lai kādam nozīmētu bagu, ir no galvas jāzina cilvēka e-pasts! Pēc logina nevar, izvēles saraksta nav, automātiskās priekšāteikšanas nav. Murgs un šausmas, nav ko vairāk piebilst.

4. Atkal bugzilla

Instalācijas laikā izlīda šāds te.

Software error:
Error in tempfile() using /etc/bugzilla3/sites/bugzilla.izvne.com/params.XXXXX: Parent directory (/etc/bugzilla3/sites/bugzilla.izvne.com/) is not writable
at /usr/share/perl5/Bugzilla/Config.pm line 266bugzilla add to favs

Nu pasakiet man, vai normāls softs rakstīs konfigu mapē /etc/ ? Es nekad neko tādu neesmu redzējis nedz iekš Linux, nedz iekš Windows. Windows, piemēram, .net lietotne nevarēs un arī negribēs rakstīt savā app.Config, ja tā ir palaista zem jūzera, nevis zem admina, kas ir loģiski. app.Config rediģē vai nu admins, vai arī lietotne raksta iekš user settings.

5. apf-firewall

Stāv mums ugunsmūrim pa virsu uzlikts apf, lai vieglāk būtu administrēt. Un te man raksta, ka cilvēki nevar tikt iekšā lapā. Nu, man tie risinājumi vienmēr ir vienkārši – uz laiku atslēdzu ugunsmūri, kamēr admins vakarā nav atnācis. Tad lūk, sekoja šāds dialogs.

[22:02:55] rk13: curie:~# iptables -L -n | grep 95
DROP       all  --  95.0.0.0/8           0.0.0.0/0          
DROP       all  --  0.0.0.0/0            95.0.0.0/8
[22:03:52] Vladislav Kugelevich: un kas tas ir?
[22:15:26] rk13: to mūsu fairvols uzskata par unassigned space
[22:15:32] rk13  Unassigned/reserved address space

Izrādījās, ka noteikts IP adrešu diapazons ir nobloķēts, jo fiksēts kā “nenozīmēts”. Teorijā sarakstam pašam būtu jāatjauninās, taču linuksoīdi tak nicina automātisko atjaunināšanos, tā ka skaidrs, kāpēc tas bija atslēgts. Iemesls, kāpēc unassigned apakštīklu vispār būtu jābloķē, paliek miglā tīts.

4. ncftp

It kā skaitās labs (pareizāk sakot, labākais) komandrindas FTP klients. Ja parametrus komandā ncftpput  saliek nepareizā secībā, tā nevar savienoties. Noklusējuma taimauts ir ļoti liels, kļūdu paziņojumus līdz tā beigām vispār nekādus neizvada. Kāpēc nestrādā – uzminēt nav iespējams. Kur jūs vispār esat redzējuši normālu programmu, kurai ir svarīga atslēgu secība komandrindā?

5. Trac

Pēc neveiksmēm ar mozillu nolēmu uzlikt bagtrekeri trac. Oficiālajā mājaslapā rakstīts, ka “konfigurēšana ir vienkārša”. Šī ir diezgan ironiska piezīme. Konfigurēšana nav pārāk sarežģīta, tā ir taisnība. Bet, lai pievienotu jaunu projektu, ir jādod komanda no konsoles!

Tas ir, laikā, kad visa progresīvā pasaule tiecas pēc web-interfeisiem, linuksoīdiem joprojām viss ir kā senlaikos: konsole, un neiedrošinieties te zīmēties! Kaut vai vismaz ne AJAXīgs web-UI? Paskat, ko izdomājuši, iztiksiet tāpat!

6. Midnight Commander

Mēģinājums pielikt konsolei cilvēcīgu seju tā arī palika tikai mēģinājums. Rekursīvi taisīt chmod un chown neprot. Mēģini sarēķināt direktoriju izmēru – nekāda progresbāra, vienkārši uzkaras un viss, kamēr nepabeidz. Ievadi FTP adresi – nesaprot protokola prefiksu ftp://. Ja nevarēja savienoties, aizver logu un atkal no jauna jāatver izvēlnes punkts, no jauna jāievada adrese. Lai rediģētu izvēlnes punktus, ir jāmeklē speciāls fails ar savu formātu, tā vietā, lai nospiestu “edit”, kā tas, piemēram, ir izdarīts iekš far manager (domāju, ka arī norton commander bija tāpat).

Labs piemērs, starp citu, tiem, kam patīk C valoda kur vajag un kur nevajag. Failu pārvaldnieka darbības ātrums augsta līmeņa valodā neatšķirtos no ātruma iekš C. Toties, pateicoties C izmantošanai, var rakstīt tik lēni un gļukaini, ka elementāras funkcijas gadiem netiek pievienotas.

7. Mono

Negribas lamāt gaismas stariņu tumšajā Linux karaļvalstī, bet nākas. Es neatradu veidu, kā atslēgt warnings, kurus Mono izvada apaches logā. Ja vēl tie būtu reti, bet man ir tāda situācija, ka warning lec ārā katru minūti, un ne jau viens vien. Rezultātā logs ir nelasāms, admins raksta dusmīgas vēstules (bagtrekerim, par laimi, nevis man)