Uspijem pronaći kantu.

30.01.2024

Internet

Imam problema sa pokretanjem moje Linux mašine.

Tokom faze učitavanja pokretanja skripte / žali se da nije mogao pronaći mount . Moj PATH je postavljen na /sbin i /bin .

Pokušao sam direktno pozvati /bin/mount, što također nije uspjelo, rekavši da ne postoji.

Onda sam uključio find . koji je pronađen i pokazao da je /bin/mount u stvari bio dostupan.

Nisam siguran šta da radim sa ovim. Pročitao sam da je initramfs u osnovi omotač busyboxa, pa može li problem biti tu?

UPDATE

Čini se da je mount jedina komanda/fajl koji nije pronađen. Počeo sam raditi na procesu preuzimanja; na kartici je instalacija završena i pronađena putem find .

Međutim, kada sam pokušao da ga izvršim, dobio sam grešku "nije pronađeno" kao što je prikazano ispod.

AŽURIRANJE 2

Privremeno sam riješio problem zamjenom svake instance mount u mom /init sa /bin/busybox mount. To je tačno kako to funkcionira.

2 Rješenja prikupljaju web obrazac za “/init ne može pronaći /bin/mount, ali može pronaći /?”

Sačuvali ste skriptu u DOS (windows) modu, što znači da se na kraju svakog reda nalazi dodatni znak za povratak.

Najlakši način da to popravite je vjerovatno da učitate datoteku u vim, promijenite način rada sa :set notx i zatim sačuvate datoteku kao :wq . Moguće je da je /bin/mount pokvarena simbolna veza. Ovo se može pronaći pomoću find . jer ovo prikazuje sve unose direktorija, ali ako pokušate pokrenuti ovaj program neće raditi jer nema datoteke na kraju duge. BusyBox asembleri su obično linkovi na izvršnu datoteku

BusyBox: mount -> busybox ili mount -> /bin/busybox (ako je busybox u /bin). Druga mogućnost je to binarni fajl

mount je jedan od vaših živih sistema. Ova binarna datoteka je dinamički povezana biblioteka koja koristi dinamički učitavač koji možda nije prisutan u initramfs-u. Pogledajte Dobijanje poruke "Nije pronađeno" prilikom pokretanja 32-bitnog binarnog sistema na 64-bitnom sistemu za objašnjenje sličnog slučaja.

sa opcijama (11)

Pokušavam kompajlirati svoj program i vraća ovu grešku:

Usr/bin/ld: ne mogu pronaći -l

u svom makefileu koristim g++ naredbu i vezu do moje biblioteke koja je simbolična veza do moje biblioteke koja se nalazi u drugom direktoriju.

Odgovori

Provjerite lokaciju svoje biblioteke, na primjer lxxx.so:

Locirajte lxxx.so

Ako se ne nalazi u folderu /usr/lib, unesite sljedeće:

Sudo cp yourpath/lxxx.so /usr/lib

Ova greška se također može pojaviti ako je simbolička veza na dinamičku biblioteku.so, ali iz starih razloga - -statična se pojavljuje među zastavicama veze. Ako jeste, pokušajte ga ukloniti.

Moj problem je bio u tome što sam preimenovao roditeljski direktorij programa koji sam pokretao (mpicc iz MVAPICH-a) i to je nekako pokvarilo binarni fajl. Čak ni doping LD_LIBRARY_PATH nije bio dovoljan i morao sam ga ponovo kompajlirati na ispravnu putanju.

Biblioteka na koju sam pokušavao da povežem pokazalo se da ima nestandardno ime (tj. nije imala prefiks "lib"), pa su preporučili korišćenje naredbe poput ove za prevođenje -

gcc test.c -Uključuje lib/cspice.a -lm

Čini se da ne postoji odgovor koji se bavi vrlo uobičajenim problemom početnika koji uopće ne mogu instalirati pravu biblioteku.

Na Debianish platformama, ako nedostaje libfoo, često ga možete instalirati s nečim poput

Apt-get install libfoo-dev

Za -dev verzija paketa -dev, čak i trivijalni razvoj kao što je kompilacija izvorni kod za komunikaciju sa bibliotekom.

Naziv paketa ponekad zahtijeva neko uljepšavanje (libfoo0-dev ? foo-dev bez prefiksa lib, itd.), ili jednostavno možete koristiti grupnu pretragu vaše distribucije da odredite koji paketi pružaju određenu datoteku.

(Ako ih ima više od jednog, morat ćete shvatiti koje su njihove razlike. Odabir najboljeg ili najpopularnijeg je generalna prečica, ali nije prihvatljiva procedura za bilo koji ozbiljan razvojni posao.)

Druge arhitekture (posebno RPM) prate slične procedure, iako će se detalji razlikovati.

Da biste saznali šta linker traži, pokrenite ga detaljan način rada.

Na primjer, naišao sam na ovaj problem kada sam pokušavao kompajlirati MySQL sa podrškom za ZLIB. Tokom kompilacije dobijam ovu grešku:

/usr/bin/ld: ne može pronaći -lzlib

Malo sam proguglao i nastavio naletati razni problemi isti tip gde bi ljudi rekli da se uverite da .so fajl zaista postoji, a ako ne postoji, onda kreirajte simboličku vezu do verzionisane datoteke, kao što je zlib. tako.1.2.8. Ali, kada sam provjerio, zlib.so DID postoji. Pa sam mislio da ovo ne može biti problem.

Naišao sam na još jedan post na internetu koji je predložio pokretanje make sa LD_DEBUG=all:

LD_DEBUG=sve marke

Iako sam dobio tonu izlaza za otklanjanje grešaka, to nije bilo baš korisno. Ovo je dodalo više konfuzije nego bilo šta drugo. Tako da sam se spremao odustati.

Onda sam imao bogojavljenje. Odlučio sam provjeriti tekst pomoći za komandu ld:

Ld --pomoć

Iz ovoga sam shvatio kako pokrenuti ld u opširnom načinu (zamislite):

Ld -lzlib -- opširno

Ovo je rezultat koji sam dobio:

=================================================== === pokušaj otvaranja /usr/x86_64-linux-gnu/lib64/libzlib.so neuspješan pokušaj otvaranja /usr/x86_64-linux-gnu/lib64/libzlib.a neuspješan pokušaj otvaranja /usr/local/lib64/libzlib .so neuspjeli pokušaj otvaranja /usr/local/lib64/libzlib.a neuspjeli pokušaj otvaranja /lib64/libzlib.so neuspjeli pokušaj otvaranja /lib64/libzlib.a neuspjeli pokušaj otvaranja /usr/lib64/libzlib.so neuspjeli pokušaj za otvaranje /usr/lib64/libzlib.a neuspjeli pokušaj otvaranja /usr/x86_64-linux-gnu/lib/libzlib.so neuspjeli pokušaj otvaranja /usr/x86_64-linux-gnu/lib/libzlib.a neuspješan pokušaj otvaranja /usr/ local/lib/libzlib.so neuspjeli pokušaj otvaranja /usr/local/lib/libzlib.a neuspjeli pokušaj otvaranja /lib/libzlib.so neuspjeli pokušaj otvaranja /lib/libzlib.a neuspješan pokušaj otvaranja /usr /lib/ libzlib.so neuspješan pokušaj otvaranja /usr/lib/libzlib.a neuspješan /usr/bin/ld.bfd.real: ne može pronaći -lzlib

Ding, ding, ding...

Dakle, da to konačno popravim, mogao bih kompajlirati MySQL sa svojom verzijom ZLIB-a (ne u paketu):

Sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so

Vrijeme kompajliranja

Kada G++ kaže ne može pronaći -l , to znači da je G++ tražio datoteku lib(nameOfTheLibrary).so, ali je nije mogao pronaći u putanji pretraživanja dijeljene biblioteke, koja po defaultu ukazuje na /usr/lib i /usr/local/lib i negdje više .

Da biste riješili ovaj problem, morate ili obezbijediti datoteku biblioteke (lib(nameOfTheLibrary).so) u ovim stazama pretraživanja ili koristiti naredbu -L. -L(putanja) govori G++ (zapravo ld) da traži datoteke biblioteke u putanji pored podrazumevanih putanja.

Primjer. Pod pretpostavkom da imate biblioteku na /home/taylor/libswift.so i želite da povežete svoju aplikaciju sa tom bibliotekom. U ovom slučaju, morate dati G++-u sljedeće opcije:

G++ main.cpp -o glavni -L/home/taylor -lswift

    Napomena 1: -l dobija ime biblioteke bez lib i .tako na početku i na kraju.

    Napomena 2: U nekim slučajevima, ime datoteke biblioteke prati njena verzija, na primjer libswift.so.1.2. U ovim slučajevima, G++ također ne uspijeva pronaći datoteku biblioteke. Jednostavno rješenje za libswift.so.1.2 da se ovo popravi je kreiranje simbolične veze na libswift.so.1.2 koja se zove libswift.so .

vrijeme isporuke

Kada svoju aplikaciju povežete sa dijeljenom bibliotekom, zahtijevate da biblioteka ostane dostupna kad god pokrenete aplikaciju. U vrijeme izvođenja, vaša aplikacija (zapravo dinamički linker) traži svoje biblioteke u LD_LIBRARY_PATH. Ovo varijabla okruženja, koji pohranjuje listu staza.

Primjer. U slučaju našeg primjera libswift.so, dinamički linker ne može pronaći libswift.so u LD_LIBRARY_PATH (koji ukazuje na zadane staze pretraživanja). Da biste riješili problem, morate dodati ovu varijablu koristeći stazu libswift.so.

Izvezi LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/taylor

Ako se naziv vaše biblioteke zove libxyz.so i nalazi se na putanji, recite:

/home/user/myDir

zatim ga povežite sa svojim programom:

G++ -L/home/user/myDir -lxyz myprog.cpp -o myprog

Prvo, morate znati lxxx konvenciju imenovanja:

/usr/bin/ld: ne mogu pronaći -lc /usr/bin/ld: ne mogu pronaći -lltdl /usr/bin/ld: ne mogu pronaći -lXtst

lc znači libc.so, lltdl znači libltdl.so, lXtst znači libXts.so.

Dakle, to je lib + lib-name + .so

Kada saznamo ime, možemo koristiti locate da pronađemo putanju do ove datoteke lxxx.so

$ locate libiconv.so /home/user/anaconda3/lib/libiconv.so #<-- right here /home/user/anaconda3/lib/libiconv.so.2 /home/user/anaconda3/lib/libiconv.so.2.5.1 /home/user/anaconda3/lib/preloadable_libiconv.so /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/libiconv.so /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/libiconv.so.2 /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/libiconv.so.2.5.1 /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/preloadable_libiconv.so

Ako ga ne možete pronaći, morate ga instalirati na yum (ja koristim CentOS). Obično imate ovu datoteku, ali se ne povezuje na pravu lokaciju.

Povežite ga sa željenom lokacijom, obično /lib64 ili /usr/lib64

$ sudo ln -s /home/user/anaconda3/lib/libiconv.so /usr/lib64/

Kada kompajlirate sa g++ preko make, definišite LIBRARY_PATH ako možda nije praktično modifikovati Makefile sa -L opcijom. Stavio sam svoju dodatnu biblioteku u /opt/lib pa sam uradio:

$ izvoz LIBRARY_PATH=/opt/lib/

a zatim pokrenite make za uspješno prevođenje i povezivanje.

Da biste pokrenuli program sa dijeljenom bibliotekom, definirajte:

$ izvoz LD_LIBRARY_PATH=/opt/lib/

prije izvršavanja programa.

Vaš ubuntu definitivno ima relativno noviju verziju g++. Korištena zastava: -std=c++0x .

Do greške pri pokretanju igre dolazi prilikom pokretanja Warface-a u datoteci D:\GamesMailRu\Warface\Bin2Release\Game.exe. Sam tekst greške može biti različit: pristup je odbijen, uređaj ne prepoznaje naredbu, nema dovoljno sistemskih resursa za dovršetak operacije, jedan ili više argumenata su netačni, navedena datoteka se ne može pronaći. U svakom konkretnom slučaju, rješenje se može razlikovati. Prije svega, preporučujemo:

  1. Pokrenite Warface kao administrator. Kliknite desnim tasterom miša na prečicu igre i izaberite „Pokreni kao administrator“. Ovo rješenje pomaže u slučajevima grešaka u pristupu izvršnim datotekama.
  2. Ponovo instalirajte ili ažurirajte Microsoft Visual C++, Microsoft .NET Framework i VCredist. kako to učiniti, pročitajte u nastavku ili pratite link: Kako ažurirati MS Visual C++, MS .NET, VCredist. Rješenje često pomaže kod greške: jedan ili više argumenata su netačni.
  3. Također je moguće da antivirusni programi mogu oštetiti datoteke. Pokušajte ponovo instalirati igru ​​u potpunosti.

Greška "Nedovoljni sistemski resursi".

Razlog greške leži u nedostatku sistemskih resursa. Možda nema dovoljno memorije na tvrdom disku, nema dovoljno RAM-a ili je datoteka stranice puna. Oslobodite prostor na tvrdom disku i povećajte veličinu datoteke stranice Windows.

Greška "Navedeni fajl nije moguće pronaći"

U ovom slučaju možemo sa sigurnošću reći da su datoteke igre oštećene. Morate potpuno ponovo instalirati Warface igru.

Poruka o grešci da sistem iz nekog razloga ne može pronaći navedenu datoteku najčešće se pojavljuje u Windows 7, iako se s pravom smatra jednim od najstabilnijih i najpopularnijih OS na svijetu. S čime je to povezano i kako eliminirati takav problem, sada ćemo razgovarati.

Kada se pojavljuje sistemska greška "Greška: Navedenu datoteku nije moguće pronaći"?

Na osnovu opisa i prirode samog kvara, lako je zaključiti da iz nekog razloga sistem ne može pronaći datoteku zbog njenog odsustva na računaru ili udaljenom serveru. U najjednostavnijem slučaju, ovo se može objasniti na primjeru deinstalacije nekih programa koji zahtijevaju ponovno pokretanje sistema da bi se deinstalacija završila. Ali ako pokušate pokrenuti program prije ponovnog pokretanja, korisnik će dobiti obavijest da Windows ne može pronaći navedenu datoteku aplikacije.

Međutim, najčešći problem je funkcionisanje Centra za ažuriranje i sistemske usluge odgovorne za njegov rad. Jednostavno je nemoguće razmotriti sve razloge, jer se čak iu opisima koje je dao Microsoft može pronaći više od pet hiljada njih. Ponekad se greška koja ukazuje na nenađene datoteke može pojaviti tokom instalacije, prilikom kreiranja sigurnosne kopije i prilikom vraćanja. O rješavanju ovog problema bit će riječi odvojeno.

Greška "Navedena datoteka nije pronađena": instaliranje ažuriranja

Budući da je najčešći razlog neuspjeh u instalaciji ažuriranja, ovdje morate početi. U Windows-u, da biste riješili problem, morate koristiti odgovarajući odjeljak koji se može pozvati sa kontrolne table.

Ako korisnik uoči grešku upravo pri pokušaju preuzimanja potrebnih ažuriranja, potrebno je samo aktivirati ručno pretraživanje jer ih sistem ne može automatski pronaći. Ako se pronađu, sve što trebate učiniti je pristati na njihovu instalaciju. Ponekad razlog može biti i prekid internetske veze, ali iz očiglednih razloga takve situacije se sada ne uzimaju u obzir.

Podešavanje postavki datuma i vremena

Prilikom traženja najnovijih ažuriranja može se pojaviti i zbog činjenice da sistemsko vrijeme ne odgovara stvarnom.

Ne biste trebali pokušavati promijeniti vrijeme i datum direktno u sistemu, jer to možda neće dati željeni efekat. Najbolja opcija je da postavite ispravne parametre u BIOS-u prilikom pokretanja računara ili laptopa.

Ponovno pokretanje usluge ažuriranja

Radnje sa "Centrom za ažuriranje" možda neće dovesti do željenog rezultata, jer je možda došlo do kvara softvera u službi odgovornoj za njegov rad (u ovom slučaju, tokom pretrage, može se izdati i upozorenje da sistem ne može pronaći navedena datoteka za ažuriranje). U tom slučaju, morat ćete ručno ponovo pokrenuti ovaj sistemski proces.

Da biste izvršili takve radnje, koristite odjeljak usluga, koji se može pozvati preko menija administracije računala, ali je bolje koristiti konzolu „Pokreni“ (Win + R), gdje treba uneti kombinaciju services.msc.

Ovdje morate pronaći odgovarajući proces i jednostavno ga zaustaviti posebnim gumbom u izborniku za uređivanje parametara i postavki.

Ne možete odmah ponovo pokrenuti uslugu ili to učiniti nakon trenutnog ponovnog pokretanja (u ovom slučaju, poruka da sistem ne može pronaći navedenu datoteku će se ponovo pojaviti kada pokušate ažurirati). Možete zaustaviti odgovarajući proces (wuauserv) iz komandne linije koristeći naredbu net stop, i ponovo ga pokrenuti koristeći net start.

U drugoj fazi, trebali biste otvoriti “Explorer” ili bilo koji drugi upravitelj datoteka koji koristite i pronaći poddirektorij SoftwareDistibution u glavnom direktoriju sistema (Windows). Ovdje postoje dvije opcije. Možete pokušati potpuno ukloniti njegov sadržaj, ali je malo vjerojatno da će to uspjeti. Ili možete jednostavno preimenovati folder dodavanjem Old imenu. Tek nakon takvih manipulacija možete se vratiti u odjeljak usluga i ponovo aktivirati zaustavljeni proces.

Provjerite tokom oporavka sistema

Kao što je već spomenuto, greška u vezi sa činjenicom da sistem ne može pronaći navedenu datoteku može se pojaviti prilikom kreiranja rezervnih kopija ili prilikom vraćanja sistema u prethodno stanje. U prvom slučaju možete odmah pokrenuti komandnu konzolu, u drugom - samo prilikom pokretanja s prenosivog medija.

U najjednostavnijoj verziji, kada imate stabilnu internet vezu, prvo možete koristiti provjeru integriteta sistemske komponente (sfc /scannow), a zatim direktno primijeniti naredbu za skeniranje statusa i popravku, kao što je prikazano na gornjoj slici.

Uslužni programi za automatsko ispravljanje grešaka

Za slučajeve kada sistem iz nekog razloga ne može pronaći navedenu datoteku (ako je to zaista povezano s gore opisanim procesima), možete koristiti neke automatizirane alate da riješite problem bez intervencije korisnika.

Najjednostavniji i najpopularniji uslužni program je Fix It Center, koji je direktno razvio Microsoft. Paralelno s tim, preporučljivo je koristiti program za pretraživanje DLL Suite za nedostajuće sistemske biblioteke. Samo u ovom slučaju možete biti sigurni da se poruka o grešci više neće izdati. Inače, prvi program rješava ne samo kvarove Update Center-a, već i gomilu drugih problema, na primjer, onih koji se odnose na povezivanje na Internet.

Šta bi još moglo uzrokovati grešku?

Što se tiče instalacije ažuriranja, kvar može biti uzrokovan ne samo ažuriranjem samog sistema. Često se identične greške mogu pojaviti kada pokušavate da potražite ili instalirate ažuriranja za druge Microsoft softverske proizvode. Prije svega, ovo se odnosi na MS Office. Ako korisnik vidi da se instaliraju ažuriranja za Windows, ali nisu potrebna za druge programe, potrebno je samo onemogućiti njihovu pretragu i naknadnu integraciju u sistem.

Ostaje dodati da izbor lijeka za problem direktno ovisi o uzroku koji ga je izazvao. A alati za uslugu ažuriranja nisu uvijek prikladni za rješavanje problema prilikom kreiranja rezervnih kopija ili prilikom vraćanja na prethodno stanje.


Ponekad bin64.bin i druge BIN sistemske greške mogu biti povezane s problemima u Windows registru. Nekoliko programa može koristiti datoteku bin64.bin, ali kada se ti programi deinstaliraju ili modificiraju, ponekad ostaju "siroteći" (netačni) unosi u BIN registrator.

U osnovi, to znači da iako se stvarna putanja datoteke možda promijenila, njena pogrešna prijašnja lokacija je i dalje zabilježena u Windows Registry. Kada Windows pokuša da pronađe ove netačne reference datoteka (lokacije datoteka na vašem računaru), može doći do greške bin64.bin. Osim toga, infekcija zlonamjernim softverom može oštetiti unose u registru povezane s aplikacijom Third-Party Application. Stoga, ovi oštećeni BIN unosi registra moraju biti ispravljeni da bi se riješio problem u korijenu.

Ručno uređivanje Windows registra radi uklanjanja nevažećih ključeva bin64.bin se ne preporučuje osim ako ste stručnjak za PC servis. Greške napravljene prilikom uređivanja registra mogu učiniti vaš računar neispravnim i uzrokovati nepopravljivu štetu vašem operativnom sistemu. Zapravo, čak i jedan zarez stavljen na pogrešno mjesto može spriječiti pokretanje vašeg računara!

Zbog ovog rizika, toplo preporučujemo korištenje pouzdanog čistača registra kao što je WinThruster (razvijen od strane Microsoft Gold Certified Partner) za skeniranje i popravak svih problema registra koji se odnose na bin64.bin. Koristeći čistač registra, možete automatizirati proces pronalaženja oštećenih unosa registra, referenci datoteka koje nedostaju (kao što je ona koja uzrokuje grešku bin64.bin) i neispravnih veza unutar registra. Prije svakog skeniranja automatski se kreira sigurnosna kopija koja vam omogućava da poništite sve promjene jednim klikom i štiti vas od mogućeg oštećenja vašeg računala. Najbolji dio je to što uklanjanje grešaka u registru može dramatično poboljšati brzinu i performanse sistema.


Upozorenje: Osim ako niste iskusan korisnik računara, NE preporučujemo ručno uređivanje Windows registra. Neispravno korištenje Registry Editora može uzrokovati ozbiljne probleme zbog kojih ćete možda morati ponovo instalirati Windows. Ne garantujemo da se problemi koji su rezultat nepravilne upotrebe Registry Editora mogu ispraviti. Uređivač registra koristite na vlastitu odgovornost.

Prije nego što ručno popravite Windows registrator, morate kreirati sigurnosnu kopiju izvozom dijela registra povezanog s bin64.bin (na primjer, aplikacija treće strane):

  1. Kliknite na dugme Počni.
  2. unesite " komanda" V traka za pretragu... NE KLIKNI JOŠ ENTER!
  3. Dok držite pritisnute tipke CTRL-Shift na tastaturi pritisnite ENTER.
  4. Prikazaće se dijaloški okvir za pristup.
  5. Kliknite Da.
  6. Crna kutija se otvara treptavim kursorom.
  7. unesite " regedit" i pritisnite ENTER.
  8. U uređivaču registra odaberite ključ koji se odnosi na bin64.bin (na primjer, aplikacija treće strane) za koji želite da napravite sigurnosnu kopiju.
  9. Na meniju File izaberite Izvoz.
  10. Na listi Sačuvaj u Odaberite fasciklu u koju želite da sačuvate rezervnu kopiju ključa aplikacije treće strane.
  11. Na terenu Ime datoteke Unesite naziv datoteke sigurnosne kopije, na primjer "Rezervna kopija aplikacije treće strane".
  12. Pobrinite se za polje Opseg izvoza odabrana vrijednost Odabrana grana.
  13. Kliknite Sačuvaj.
  14. Fajl će biti sačuvan sa ekstenzijom .reg.
  15. Sada imate sigurnosnu kopiju vašeg unosa u registru koji se odnosi na bin64.bin.

Sljedeći koraci za ručno uređivanje registra neće biti opisani u ovom članku, jer će vjerovatno oštetiti vaš sistem. Ako želite više informacija o ručnom uređivanju registra, pogledajte donje veze.