Beste antwoord
Vier vragen … en geen antwoorden zijn noodzakelijk kort.
“Wat is een union-bestandssysteem in Unix? ”
Een union-bestandssysteem is een structuur die het mogelijk maakt dat bestandssystemen in lagen samenwerken. Normaal gesproken is alleen de bovenste laag lezen / schrijven. Als een bestand moet worden gelezen, zoekt de evaluatie van de open systeemoproep eerst naar het bestand op de bovenste laag. Als het ontbreekt, kijkt het naar de volgende laag. Als het ontbreekt… tot de laatste laag. Een union-bestandssysteem doet zelf niets anders dan de bestandsbewerkingen doorgeven aan een ander bestandssysteem (of de “white out” afhandelen die hieronder wordt besproken).
Een van de belangrijke kenmerken is dat het mogelijk is om de union mount om bestanden naar de bovenste laag te kopiëren wanneer ze open staan voor schrijven. En dat omvat het kopiëren van mappen naar de bovenste laag om te spiegelen wat op de andere wordt gebruikt.
Het eindresultaat is dat de union-mount de inhoud toont van alle bestandssystemen die zo gestapeld zijn. En ze lijken allemaal dezelfde directorystructuur te hebben.
De problemen die dit met zich meebrengt, zijn wat er gebeurt als een bestand (of directory) wordt verwijderd? Aangezien alleen de bovenste laag beschrijfbaar is, vereist dat een vorm van “white out” die het gebruik van verwijderde mappen / bestanden blokkeert, ook al bestaan diezelfde directiories / bestanden nog steeds in de onderste lagen van de union. Dit introduceert extra problemen (zoals race conditions…) bij het proberen om de integriteit van het bestandssysteem en de atomaire bewerkingen erop te behouden.
In sommige opzichten is dit vergelijkbaar met een checkpointing bestandssysteem. Het belangrijkste verschil is dat de bestandssystemen waaruit de union-mount bestaat, zich op verschillende partities kunnen bevinden.
Een van de grote voordelen van een union-bestandssysteem is dat het de beheerder in staat stelt een bestandssysteem te migreren vanuit een bestaande opslag (die mogelijk zijn limiet bereikt) naar een nieuw bestandssysteem dat veel groter is, terwijl het tegelijkertijd online en actief blijft.
Dit is een van de benaderingen die ik gebruikte om te migreren van een 9 TB bestandssysteem met 50 miljoen bestanden naar een nieuw bestandssysteem 16 TB groot.
“Wat is het bestandssysteem dat wordt gebruikt in Windows?”
NTFS is het standaard gebruikte bestandssysteem, met FAT / VFAT / FAT32 ook beschikbaar.
“Hoe verschilt het van elkaar?”
Geen andere vergelijking dat “ze allemaal bestanden opslaan”. NTFS is niet zo goed in toewijzing als Ext3 / 4, dus vereist een meegeleverde defragmentatietool. FAT en zijn varianten zijn foutgevoelig zonder helemaal geen beveiligingsmaatregelen.
“Wat zijn de voordelen / nadelen ten opzichte van de andere?”
Ik heb Linux-bestandssystemen betrouwbaarder gevonden, met minder fouten (gemiddeld – nieuwe bestandssystemen hebben vaak bugs), en minder vereiste overhead en betere beveiligingscontroles.
Antwoord
Bij het verzenden van binaire gegevens via een modem of in e-mail, is nodig om de 8-bits bytes naar 7-bits ASCII-codes te converteren om te voorkomen dat er controlecodes worden verzonden die de verbinding zouden verbreken of andere ongewenste functies zouden uitvoeren.
uuencode en uudecode (de UU staat voor Unix-to- Unix) voorbereide bestanden door de binaire stroom op te splitsen in zes-bits chunks die een opzoektabel van 64 alfanumerieke tekens en leestekens adresseren, gerangschikt in regels met een vaste lengte met nieuwe-regeltekens. Als conventie kregen gecodeerde bestanden de extensie .uue.
Bij het decoderen wordt de tekenstroom samengesteld tot 8-bit bytes uit de 6-bit indexen van de opzoektabel om het binaire bestand te reconstrueren. / p>
Deze commandos maken deel uit van een reeks programmas die werden gebruikt in de dagen van inbel- of huurlijnmodemverbindingen vóór TCP / IP: uucp (Unix-naar-Unix CoPy), uux (Unix-naar-Unix eXecute ), uucico (Unix-naar-Unix Copy In Copy Out) en de uuxqt-daemon. Deze kunnen worden geconfigureerd om via TCP / IP te werken, maar worden zelden gebruikt en worden niet meegeleverd met de meeste Linux distro-basisinstallaties. Ze kunnen worden gebruikt tussen twee machines die met een seriële kabel zijn verbonden.
Maar base-64-codering wordt nog steeds gebruikt om bestandsbijlagen voor e-mail te coderen / decoderen, als onderdeel van de Multipurpose Internet Mail Extensions (MIME) -specificatie . uuencode en uudecode zijn grotendeels vervangen door de mpack- en munpack-opdrachten, die in staat zijn om meerdere gecodeerde segmenten in een bestand te verwerken of een e-mailbericht te coderen en verzenden, of de bijlagen in een e-mailbericht te decoderen en de uuencode uudecode single- bestandsbewerkingen.