Кіріспе
Архив файл пішімі cpio – бұл жалпы файлдарды архивтеуге арналған құрал және оған байланысты файл пішімі. Ол негізінен Unix-тің сияқты компьютерлік операциялық жүйелерінде орнатылады. Бұл бағдарламалық құрал бастапқыда Бағдарламашының жұмыс ортасының (PWB/UNIX) бір бөлігі ретінде магниттік лентаға архивтеу бағдарламасы ретінде жоспарланған және содан бері шығарылған барлық Unix операциялық жүйелерінің құрамдас бөлігіне айналды. Оның атауы бағдарламаның стандартты кіріс және стандартты шығысты пайдалануын дәл сипаттау үшін «көшіру және шығару» деген сөздерден алынған. Unix-тің барлық түрлері басқа да резервтік көшірмелер жасау және архивтеу бағдарламаларын, мысалы, кеңінен танымал tar сияқты қолдайды. RPM пакеттік менеджерінің cpio-ны пайдалануы, Linux ядросының 2.6 нұсқасынан бері initramfs-інде және Apple-дің орнатушысында (pax) cpio-ны маңызды архивтеу құралына айналдырды. Бастапқы жобасынан бері cpio және оның архивтік файл пішімі бірнеше рет, кейде үйлесімсіздіктерге алып келетін өзгерістерге ұшырады. Ең маңыздысы – қазір операциялық опция болып табылатын, архивтік файлдың метадеректердің екілік пішімінен ASCII негізіндегі көрсетіліміне ауысу. POSIX стандарты cpio-дан бас тартып, pax-ты қолдануды ұсынды.
cpio is a general file archiver utility and its associated file format. It is primarily installed on Unix like computer operating systems. The software utility was originally intended as a tape archiving program as part of the Programmer's Workbench (PWB/UNIX), and has been a component of virtually every Unix operating system released thereafter. Its name is derived from the phrase copy in and out, in close description of the program's use of standard input and standard output in its operation. All variants of Unix also support other backup and archiving programs, such as tar, which has become more widely recognized. The use of cpio by the RPM Package Manager, in the initramfs of the Linux kernel since version 2.6, and in Apple's Installer (pax) make cpio an important archiving tool. Since its original design, cpio and its archive file format have undergone several, sometimes incompatible, revisions. Most notable is the change, now an operational option, from the use of a binary format of archive file meta information to an ASCII based representation. The POSIX standard abandoned cpio in favor of pax.
Тарих
cpio Unix 7-ші нұсқасында Programmer's Workbench жобасының құрамында пайда болды.
Жұмыс істеу және архивтік пішім
cpio бастапқыда архив файлдарын тізбектеліп, үздіксіз түрде таспа құрылғысында сақтау үшін әзірленген. Ол ешқандай мазмұнды қысқармайды, бірақ алынған архивтер көбінесе gzip немесе басқа сыртқы қысқыштарды пайдаланып қысылады.
Экстракциялау
Копиялау операциясы кезінде, командалық жолдың опциясымен басталады, cpio стандарттық кірістен архивті оқиды және операциялық жүйенің файлдық жүйесінде архивтелген файлдарды қайта жасайды. $ cpio i vd < архив.cpio Командалық жол опциясы cpio-ға қажет болған жағдайда каталогтарды құруды айтады. Опция (verbose) файлдардың аттарын олар шығарылған кезде тізімдейді. Опциялардың орнына қалған командалық жол аргументтері – бұл globbing үлгілеріне ұқсас; архивтен тек сәйкес атаулары бар файлдар ғана көшіріледі. Мысалы, /etc/fstab файлын архивтен шығару үшін: $ cpio i d /etc/fstab < архив.cpio
Command line flag tells cpio to construct directories as necessary. Flag (verbose) lists file names as they are extracted. Any remaining command line arguments other than the option flags are shell like globbing patterns; only files in the archive with matching names are copied from the archive. The following example extracts the file /etc/fstab from the archive:
$ cpio i d /etc/fstab < archive. cpio
POSIX стандарттау
cpio құралы POSIX.1 1988 стандартында келтірілген, бірақ файл мөлшері мен басқа да шектеулерге байланысты POSIX.1 2001-ден алынып тасталды. Мысалы, GNU нұсқасы әртүрлі шығару форматтарын ұсынады, мысалы "bin" (дефолтты және қолданыстан шыққан) және "ustar" (POSIX tar), олардың файл мөлшері шектеулері тиісінше 2,147,483,647 байт (2 ГБ) және 8,589,934,591 байт (8 ГБ) құрайды. cpio, ustar және pax файл форматтары POSIX.1 2001 бойынша pax құралы үшін анықталған, ол қазіргі уақытта POSIX 1003.1 2008 стандартымен үйлеседі, сондықтан ол cpio және ustar форматталған архивтерді оқи және жаза алады.
Қолданылу
Linux дистрибутивтерінің көпшілігі GNU нұсқасындағы cpio-ны қамтамасыз етеді. FreeBSD және macOS libarchive жинағымен бірге келетін BSD лицензиясымен берілген bsdcpio-ны пайдаланады.